:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--border: #2a2f3a;--text: #e6e8eb;--muted: #9aa3b2;--accent: #4f8cff;--accent-hover: #6ba0ff;--danger: #ff6b6b;--ok: #4ade80;--warn: #fbbf24;--brand: #40dd88;--brand-dim: #8fd3ab;--brand-text: #5fdca0;--logo-pill: #12151b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--panel-2);padding:.1em .35em;border-radius:4px;font-size:.9em}.muted{color:var(--muted)}.centered{min-height:100vh;display:grid;place-items:center;padding:2rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--panel)}.brand{display:inline-flex;align-items:center}.brand-lockup{display:inline-flex;align-items:center;gap:9px}.brand-mark{display:block}.brand-word{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--text)}.brand-word .accent{color:var(--brand-text)}.brand-flash{animation:brand-dot-flash 1.6s ease-in-out infinite;transform-origin:50px 16px}@keyframes brand-dot-flash{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.brand-flash{animation:none}}.topbar-right{display:flex;align-items:center;gap:1rem}.content{max-width:960px;margin:0 auto;padding:1.5rem}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-head h1,.page-head h2{margin:.2rem 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.25rem}.card h2{margin-top:0;font-size:1rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 720px){.grid{grid-template-columns:1fr}}label{display:block;margin:.75rem 0;font-size:.9rem;color:var(--muted)}input{display:block;width:100%;margin-top:.3rem;padding:.55rem .7rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem}button{padding:.55rem .9rem;background:var(--accent);color:#fff;border:0;border-radius:6px;font-size:.9rem;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.link-button{background:none;border:0;color:var(--accent);padding:0;font-size:.9rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:.5rem 0}.login-card{width:320px;max-width:100%}.login-card h1{margin:0}.login-card .brand-lockup{margin-bottom:.25rem}.login-card .brand-word{font-size:1.2rem}.login-switch{margin:.25rem 0 0;font-size:.85rem;text-align:center}.login-switch .link{background:none;border:0;padding:0;color:var(--accent);font:inherit;cursor:pointer}.login-switch .link:hover{text-decoration:underline}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.table th{color:var(--muted);font-weight:600}.nowrap{white-space:nowrap}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0;font-size:.9rem}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-all}.role-badge{display:inline-block;margin-left:.5rem;padding:.05rem .4rem;border-radius:4px;font-size:.75rem;background:var(--panel-2);border:1px solid var(--border)}.role-admin{color:var(--warn);border-color:var(--warn)}.slot{display:inline-block;padding:.05rem .45rem;border-radius:4px;font-size:.8rem;border:1px solid var(--border)}.slot-blue{color:#7db8ff}.slot-green{color:var(--ok)}.status{font-size:.8rem}.status-success,.status-published{color:var(--ok)}.status-pending,.status-building{color:var(--warn)}.status-rolled_back{color:var(--muted)}.error{color:var(--danger);font-size:.9rem}.notice{color:var(--ok);font-size:.9rem}.hint{font-size:.85rem}textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .7rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;font-size:.95rem;resize:vertical}button.primary{background:var(--ok);color:#06210f;font-weight:600}button.primary:hover:not(:disabled){background:#6ee79b}.btn-link{display:inline-block;padding:.5rem .9rem;background:var(--accent);color:#fff;border-radius:6px;font-size:.9rem}.btn-link:hover{background:var(--accent-hover);text-decoration:none}.btn-link--lg{padding:.7rem 1.3rem;font-size:1rem;margin-top:1rem}.page-head__right{display:flex;align-items:center;gap:1rem}.empty{text-align:center;padding:4rem 1rem;max-width:30rem;margin:0 auto}.empty h2{margin-bottom:.5rem}.status-draft{color:var(--warn)}.status-active{color:var(--ok)}.status-suspended{color:var(--danger)}.status-live{color:var(--ok)}.status-pending{color:var(--warn)}.status-attaching{color:var(--accent)}.status-failed{color:var(--danger)}.dns-table{margin:.75rem 0}.dns-table td{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.wizard{max-width:40rem;margin:0 auto}.wizard__steps{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1.5rem;font-size:.85rem}.wizard__step{color:var(--muted)}.wizard__step.is-current{color:var(--text);font-weight:600}.wizard__step.is-done{color:var(--ok)}.wizard__step-num{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:.75rem;margin-right:.35rem}.wizard__step.is-current .wizard__step-num{border-color:var(--accent);color:var(--accent)}.wizard__step.is-done .wizard__step-num{background:var(--ok);color:#06210f;border-color:var(--ok)}.wizard__card h2{margin-top:0}.wizard__nav{display:flex;align-items:center;margin-top:1.5rem;gap:.75rem}.wizard__nav-spacer{flex:1}.subdomain-field{display:flex;align-items:stretch;margin-top:.3rem}.subdomain-field input{margin:0;border-radius:6px 0 0 6px;border-right:0}.subdomain-suffix{display:flex;align-items:center;padding:0 .7rem;background:var(--panel);border:1px solid var(--border);border-radius:0 6px 6px 0;color:var(--muted);font-size:.9rem;white-space:nowrap}.sub-status{display:block;margin-top:.35rem;font-size:.8rem;min-height:1rem}.sub-status--ok{color:var(--ok)}.sub-status--bad{color:var(--danger)}.sub-status--checking{color:var(--muted)}.wizard-status{text-align:center;max-width:24rem}.spinner{width:2.5rem;height:2.5rem;margin:0 auto 1.25rem;border:3px solid var(--border);border-top-color:var(--accent);border-radius:999px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wizard-review{max-width:1000px;margin:0 auto}.wizard-review__grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width: 900px){.wizard-review__grid{grid-template-columns:1.6fr 1fr}}.wizard-preview iframe{width:100%;height:70vh;min-height:30rem;border:1px solid var(--border);border-radius:8px;background:#fff}.wizard-preview .link-button{display:inline-block;margin-top:.5rem}.wizard-review__side{display:flex;flex-direction:column;gap:1rem}.wizard-review__side .card{margin:0}.wizard-review__side button{width:100%;margin-top:.75rem}.upload-group{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.upload-label{font-size:.9rem}.upload-btn{display:inline-block;margin:0;padding:.45rem .9rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;cursor:pointer;white-space:nowrap}.upload-btn:hover{border-color:var(--accent)}.upload-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.6rem;margin-top:1rem}.thumb{position:relative;margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--panel-2)}.thumb img{width:100%;height:80px;object-fit:cover;display:block}.thumb--logo img{object-fit:contain;background:#fff}.thumb figcaption{font-size:.7rem;color:var(--muted);text-align:center;padding:.2rem}.thumb__x{position:absolute;top:2px;right:2px;width:1.3rem;height:1.3rem;padding:0;line-height:1;border-radius:999px;background:#0009;font-size:.9rem}
