@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-500: #2563eb;--primary-600: #1d4ed8;--primary-700: #1e40af;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-900: #0f172a;--success-500: #059669;--success-100: #d1fae5;--error-500: #dc2626;--error-50: #fef2f2;--error-600: #b91c1c;--radius: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--slate-100);color:var(--slate-900);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.2;margin:0}input{font:inherit;color:var(--slate-900);background:#fff;border:1px solid var(--slate-300);border-radius:8px;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--slate-400)}input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.btn{font:inherit;font-weight:600;font-size:14px;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-500);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-600)}.btn-ghost{background:transparent;color:var(--slate-600)}.btn-ghost:hover{background:var(--slate-200)}.btn-danger{background:var(--error-500);color:#fff}.btn-danger:hover{background:var(--error-600)}.btn-danger-text:hover{color:var(--error-500);background:var(--error-50)}.btn-block{width:100%}.form-error{background:var(--error-50);color:var(--error-600);border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0 0}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,var(--slate-100) 0%,var(--primary-50) 100%)}.login-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-md);padding:40px;width:100%;max-width:400px;display:flex;flex-direction:column;animation:rise .35s ease}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.login-logo{margin-bottom:16px}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--primary-500);color:#fff;font-weight:700;font-size:15px;letter-spacing:.5px}.login-card h1{font-size:24px;font-weight:700}.login-sub{color:var(--slate-500);font-size:14px;margin:6px 0 24px}.login-card label{font-size:13px;font-weight:600;color:var(--slate-600);margin:0 0 6px}.login-card input{margin-bottom:16px}.login-card .btn{margin-top:8px;padding:12px 16px}.topbar{background:#fff;border-bottom:1px solid var(--slate-200);position:sticky;top:0;z-index:10}.topbar-inner{max-width:920px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand .logo-mark{width:34px;height:34px;font-size:13px}.brand-name{font-weight:700;font-size:16px}.content{max-width:920px;margin:0 auto;padding:40px 24px 80px}.page-head h1{font-size:28px;font-weight:700}.page-head p{color:var(--slate-500);font-size:15px;max-width:640px;margin:8px 0 0}.add-domain{display:flex;gap:12px;margin:28px 0 32px}.add-domain input{flex:1}.empty-state{background:#fff;border:1px dashed var(--slate-300);border-radius:var(--radius);padding:48px 24px;text-align:center;color:var(--slate-500)}.empty-state h3{color:var(--slate-700);margin-bottom:6px}.empty-state p{margin:0;font-size:14px}.domain-list{display:flex;flex-direction:column;gap:24px}.domain-card{background:#fff;border:1px solid var(--slate-200);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow .2s;animation:rise .3s ease}.domain-card:hover{box-shadow:var(--shadow-md)}.domain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.domain-name{font-size:18px;font-weight:700;word-break:break-all}.domain-meta{font-size:13px;color:var(--slate-500)}.rotation-link{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px 16px;margin:16px 0 20px}.rotation-link-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500);margin-bottom:8px}.rotation-link-row{display:flex;align-items:center;gap:12px}.rotation-url{flex:1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:var(--primary-700);word-break:break-all}.btn-copy{background:#fff;border:1px solid var(--slate-300);color:var(--slate-700);padding:7px 14px;flex-shrink:0}.btn-copy:hover{border-color:var(--primary-500);color:var(--primary-600)}.btn-copy.copied{background:var(--success-100);border-color:var(--success-500);color:var(--success-500)}.slots{display:flex;flex-direction:column;gap:10px}.slot-row{display:grid;grid-template-columns:28px 200px 1fr;gap:10px;align-items:center}.slot-num{width:28px;height:28px;border-radius:50%;background:var(--slate-100);color:var(--slate-400);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.slot-num.filled{background:var(--primary-100);color:var(--primary-600)}.slot-row input{padding:8px 12px;font-size:14px}.save-bar{display:flex;align-items:center;justify-content:space-between;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s ease,opacity .25s ease,margin-top .25s ease;font-size:13px;color:var(--slate-500)}.save-bar.visible{max-height:64px;opacity:1;margin-top:18px}.save-actions{display:flex;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:14px;padding:28px;max-width:420px;width:100%;box-shadow:var(--shadow-md);animation:rise .2s ease}.modal h3{font-size:18px;margin-bottom:10px;word-break:break-all}.modal p{color:var(--slate-500);font-size:14px;margin:0 0 22px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:640px){.slot-row{grid-template-columns:28px 1fr}.slot-row .slot-url{grid-column:2}.add-domain{flex-direction:column}.rotation-link-row{flex-direction:column;align-items:stretch}.domain-card{padding:18px}}
