*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.layout{flex-direction:column;max-width:720px;min-height:100vh;margin:0 auto;padding:0 1rem;display:flex}.layout-main{flex:1}.logo-link{text-decoration:none}.home-header{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.home-header h1{color:#ee6123;font-size:1.6rem;font-weight:800}.header-right .login-btn{color:#ee6123;cursor:pointer;background:0 0;border:1px solid #ee6123;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.header-right .login-btn:hover{color:#fff;background:#ee6123}.header-right .login-btn:disabled{opacity:.4;cursor:not-allowed}.user-info{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.avatar{border-radius:50%;width:28px;height:28px}.user-info button{cursor:pointer;color:#666;background:0 0;border:1px solid #ccc;border-radius:6px;padding:4px 10px;font-size:.8rem}.user-info button:hover{border-color:#999}.hero{text-align:center;margin-top:3rem}.hero-title{color:#1a1a2e;margin-bottom:.5rem;font-size:1.8rem;font-weight:800}.hero-sub{color:#666;margin-bottom:2rem;font-size:1rem}.hero-sub strong{color:#ee6123}.features{margin-top:2.5rem;animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.features-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.feature-card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 1px 4px #0000000f}.feature-card svg{margin-bottom:.5rem}.feature-card h3{color:#1a1a2e;margin-bottom:.25rem;font-size:.85rem;font-weight:700}.feature-card p{color:#888;font-size:.75rem;line-height:1.5}.features-cta{text-align:center;color:#999;margin-top:1.5rem;font-size:.85rem}@media (width<=480px){.features-grid{grid-template-columns:1fr}}.env-warning{color:#856404;text-align:center;background:#fff3cd;border-radius:8px;padding:.6rem 1rem;font-size:.85rem}.link-form-wrapper{max-width:560px;margin:0 auto}.link-form{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 16px #00000014}.input-row{gap:.5rem;display:flex}.url-input{border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:12px 14px;font-size:1rem;transition:border-color .2s}.url-input:focus{border-color:#ee6123;outline:none}.shorten-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ee6123;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:700;transition:background .2s}.shorten-btn:hover:not(:disabled){background:#d4551e}.shorten-btn:disabled{opacity:.6;cursor:not-allowed}.error{color:#e53e3e;margin-top:.5rem;font-size:.85rem}.form-options{margin-top:.75rem}.options-toggle{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.options-toggle:hover{color:#555}.options-panel{background:#fafafa;border:1px solid #eee;border-radius:10px;margin-top:1rem;padding:1rem}.options-panel input[type=datetime-local]{border:1px solid #ddd;border-radius:8px;width:100%;margin-top:.25rem;padding:10px 12px;font-size:.9rem}.options-note{color:#aaa;margin-top:.35rem;font-size:.75rem}.skeleton-profile{align-items:center;gap:.75rem;display:flex}.skeleton{background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5 50%,#e8e8e8 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-avatar{border-radius:50%;width:28px;height:28px}.skeleton-name{width:80px;height:14px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.link-skeletons{flex-direction:column;gap:.5rem;display:flex}.skeleton-card{padding:.85rem 1rem}.skeleton-url{width:60%;height:16px;margin-bottom:.5rem}.skeleton-dest{width:85%;height:12px;margin-bottom:.5rem}.skeleton-row{gap:.5rem;display:flex}.skeleton-meta{width:60px;height:12px}.skeleton-meta-sm{width:40px;height:12px}.page-loading,.section-loading{color:#999;justify-content:center;align-items:center;gap:.75rem;padding:3rem 0;font-size:.9rem;display:flex}.spinner{border:2.5px solid #e0e0e0;border-top-color:#ee6123;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.links-section{margin-top:3rem;animation:.4s ease-out fadeIn}.links-section h2{color:#1a1a2e;margin-bottom:1rem;font-size:1rem;font-weight:700}.empty{color:#999;text-align:center;padding:2rem}.empty-state{text-align:center;color:#bbb;padding:3rem 1rem}.empty-state svg{margin-bottom:1rem}.empty-state p{color:#999;margin-bottom:.25rem;font-size:1rem;font-weight:600}.empty-state span{color:#bbb;font-size:.85rem}.link-list{flex-direction:column;gap:.5rem;display:flex}.link-card{background:#fff;border-radius:8px;padding:.85rem 1rem;transition:box-shadow .2s;box-shadow:0 1px 4px #0000000f}.link-card:hover{box-shadow:0 2px 12px #0000001a}.link-card.inactive{opacity:.5}.link-card.card-loading{pointer-events:none;position:relative}.card-overlay{z-index:1;color:#888;background:#ffffffd9;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex;position:absolute;inset:0}.link-card.deleted{opacity:.4;border-left:3px solid #ccc}.link-short-url{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}a.short-url-text,.short-url-text{color:#ee6123;word-break:break-all;font-size:.95rem;font-weight:700;text-decoration:none}a.short-url-text:hover{text-decoration:underline}.short-url-text.deleted-url{color:#999;text-decoration:line-through}.copy-btn{cursor:pointer;color:#888;background:0 0;border:1px solid #ddd;border-radius:5px;flex-shrink:0;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.copy-btn:hover{color:#ee6123;border-color:#ee6123}.clicks{color:#999;font-size:.8rem}.destination{color:#888;word-break:break-all;margin:.15rem 0 .35rem;font-size:.8rem}.link-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.expires{color:#888;font-size:.75rem}.expired{color:#e53e3e}.disabled-badge{color:#999;background:#f0f0f0;border-radius:3px;padding:1px 6px;font-size:.7rem}.link-actions{gap:.35rem;display:flex}.link-actions button{cursor:pointer;color:#555;background:#f5f5f5;border:none;border-radius:5px;padding:4px 10px;font-size:.75rem;transition:background .15s}.link-actions button:hover{background:#e8e8e8}.link-actions button.danger{color:#e53e3e}.link-actions button.danger:hover{background:#fef2f2}.deleted-section{margin-top:2rem}.deleted-toggle{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.deleted-toggle:hover{color:#666}.toggle-label{cursor:pointer;justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.toggle{cursor:pointer;background:#ddd;border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.toggle.active{background:#ee6123}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle.active .toggle-knob{transform:translate(18px)}.option-item{margin-bottom:1.25rem}.option-item:last-child{margin-bottom:0}.option-label{color:#555;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.cushion-badge{color:#ee6123;background:#fff3e0;border-radius:3px;padding:1px 6px;font-size:.7rem}.settings-dialog{text-align:left}.settings-slug{color:#ee6123;margin-bottom:1.25rem;font-weight:700}.settings-options{margin-bottom:1rem}.settings-actions{flex-direction:column;gap:.5rem;display:flex}.save-btn{width:100%;background:#ee6123!important}.save-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.deleted-heading{color:#999;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.deleted-list{flex-direction:column;gap:.35rem;display:flex}.deleted-empty{color:#bbb;font-size:.85rem}.load-more-btn{color:#888;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;width:100%;margin-top:.75rem;padding:8px 16px;font-size:.8rem;transition:all .15s}.load-more-btn:hover:not(:disabled){color:#555;border-color:#bbb}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:14px;width:90%;max-width:360px;padding:2rem;box-shadow:0 20px 60px #00000026}.modal-content h3{margin-bottom:.5rem;font-size:1.1rem}.short-url{color:#ee6123;word-break:break-all;margin-bottom:1rem;font-weight:600}.original-url{color:#888;word-break:break-all;margin-top:1rem;font-size:.8rem}.modal-content button{color:#fff;cursor:pointer;background:#ee6123;border:none;border-radius:8px;margin-top:.75rem;padding:8px 24px;font-weight:600}.qr-container{justify-content:center;margin:1.5rem 0;display:flex}.qr-wrapper{background:#fff;border:1px solid #eee;border-radius:12px;padding:1.5rem;display:inline-block}.qr-actions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.download-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex;background:#ee6123!important}.close-btn{color:#999!important;background:0 0!important;padding:6px 24px!important}.close-btn:hover{color:#666!important}.faq-page{max-width:640px;margin:2rem auto;padding:0 1rem}.faq-page h2{color:#1a1a2e;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.faq-item summary{cursor:pointer;color:#333;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.faq-item summary:after{content:"+";color:#999;flex-shrink:0;font-size:1.1rem}.faq-item[open] summary:after{content:"-"}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{color:#666;padding:0 1rem .85rem;font-size:.85rem;line-height:1.7}.faq-item a{color:#ee6123;text-decoration:none}.faq-item a:hover{text-decoration:underline}.faq-cta{text-align:center;margin-top:2rem}.faq-cta-btn{color:#fff;background:#ee6123;border-radius:8px;padding:12px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.faq-cta-btn:hover{background:#d4551e}.confirm-dialog{text-align:left}.confirm-dialog h3{text-align:left;margin-bottom:.5rem}.confirm-dialog p{color:#555;word-break:break-all;margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}.confirm-actions{flex-direction:column;gap:.5rem;display:flex}.confirm-btn{width:100%;font-weight:600;padding:10px!important}.confirm-danger{background:#e53e3e!important}.confirm-danger:hover{background:#c53030!important}.confirm-btn:disabled{opacity:.6!important;cursor:not-allowed!important}.login-dialog h3{color:#1a1a2e;margin-bottom:.5rem;font-size:1.2rem}.login-dialog p{color:#666;margin-bottom:1.5rem;font-size:.9rem}.google-login-btn{color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:12px 24px;font-size:1rem;font-weight:600;transition:background .2s;display:flex;background:#ee6123!important}.google-login-btn:hover{background:#d4551e!important}.cancel-btn{cursor:pointer;border:none;padding:8px 24px;font-size:.85rem;color:#999!important;background:0 0!important}.cancel-btn:hover{color:#666!important}.legal-page{max-width:700px;margin:0 auto;padding:2rem 1rem}.legal-page h1{margin-bottom:.5rem;font-size:1.8rem}.updated{color:#888;margin-bottom:2rem;font-size:.85rem}.legal-page section{margin-bottom:1.5rem}.legal-page h2{margin-bottom:.5rem;font-size:1.1rem}.legal-page h3{margin-top:.75rem;margin-bottom:.25rem;font-size:1rem}.legal-page ul,.legal-page ol{padding-left:1.5rem}.legal-page li{margin-bottom:.4rem}.external-transmission{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.85rem}.external-transmission th,.external-transmission td{text-align:left;border:1px solid #ddd;padding:.5rem .6rem}.external-transmission th{white-space:nowrap;background:#f5f5f5;font-weight:600}.legal-footer{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:1rem}.legal-footer a{color:#ee6123;text-decoration:none}.home-footer{text-align:center;color:#aaa;min-height:80px;padding:2rem 0;font-size:.8rem}.home-footer a{color:#aaa;text-decoration:none}.home-footer a:hover{color:#666}.copyright{margin-top:.5rem;font-size:.75rem}.not-found{text-align:center;padding:6rem 1rem}.not-found h2{color:#ee6123;margin-bottom:.5rem;font-size:4rem;font-weight:800}.not-found p{color:#888;margin-bottom:2rem;font-size:1.1rem}.back-link{color:#ee6123;font-size:.95rem;font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.contact-page{max-width:560px;margin:2rem auto;padding:0 1rem}.contact-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px #00000014}.contact-card h2{color:#1a1a2e;margin-bottom:.5rem;font-size:1.3rem}.contact-desc{color:#888;margin-bottom:1.5rem;font-size:.9rem}.contact-login-prompt{text-align:center;background:#fafafa;border:1px dashed #ddd;border-radius:10px;margin-bottom:1.5rem;padding:2rem 1rem}.contact-login-prompt svg{margin-bottom:.75rem}.contact-login-prompt p{color:#888;margin-bottom:1rem;font-size:.85rem}.login-prompt-btn{color:#fff;cursor:pointer;background:#ee6123;border:none;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:background .2s}.login-prompt-btn:hover:not(:disabled){background:#d4551e}.contact-auth-loading{padding:1.5rem 0}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form.form-disabled{opacity:.4;pointer-events:none}.contact-form select{appearance:none;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:.95rem}.contact-form textarea{resize:vertical;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:.95rem}.contact-form select:focus,.contact-form textarea:focus,.contact-form input:focus{border-color:#ee6123;outline:none;box-shadow:0 0 0 3px #ee61231a}.required{color:#e53e3e;margin-left:.25rem;font-size:.75rem}.agree-group{margin-top:.5rem}.checkbox-label{color:#555;cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.8rem;line-height:1.5;display:flex}.checkbox-label input[type=checkbox]{accent-color:#ee6123;flex-shrink:0;margin-top:3px}.checkbox-label a{color:#ee6123;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.submit-btn{color:#fff;cursor:pointer;background:#ee6123;border:none;border-radius:8px;width:100%;padding:12px;font-size:1rem;font-weight:600;transition:background .2s}.submit-btn:hover:not(:disabled){background:#d4551e}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.contact-success{text-align:center;padding:2rem 0}.contact-success svg{margin-bottom:1rem}.contact-success h2{margin-bottom:.75rem}.contact-success p{color:#888;margin-bottom:2rem;font-size:.9rem}.link-select-list{border:1px solid #eee;border-radius:8px;flex-direction:column;gap:.35rem;max-height:300px;padding:.5rem;display:flex;overflow-y:auto}.link-select-item{cursor:pointer;border-radius:6px;align-items:flex-start;gap:.5rem;padding:.6rem .5rem;transition:background .15s;display:flex}.link-select-item:hover{background:#f5f5f5}.link-select-item.selected{background:#fff5f0;border:1px solid #ee6123;border-radius:6px}.link-select-item.purge-done{opacity:.5;pointer-events:none}.link-select-item input[type=checkbox]{accent-color:#ee6123;flex-shrink:0;margin-top:2px}.link-select-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.link-select-slug{color:#ee6123;word-break:break-all;font-size:.85rem;font-weight:600}.link-select-url{color:#999;word-break:break-all;font-size:.75rem}.link-select-badge{color:#999;background:#f0f0f0;border-radius:3px;width:fit-content;padding:1px 5px;font-size:.65rem}.link-select-count{text-align:right;color:#ee6123;margin-top:.25rem;font-size:.8rem;font-weight:600}.purge-requested{color:#2e7d32!important;background:#e8f5e9!important}.link-select-locked{color:#bbb;background:#f8f8f8;border:1px dashed #ddd;border-radius:8px;align-items:center;gap:.5rem;padding:1rem;font-size:.85rem;display:flex}.link-select-empty{color:#bbb;text-align:center;padding:1rem 0;font-size:.85rem}@media (width<=480px){.hero-title{font-size:1.4rem}.input-row{flex-direction:column}.shorten-btn{width:100%}}
