@font-face { font-family:Lilita; src:url('/assets/LilitaOne.ttf') format('truetype'); font-display:swap; }
:root {
  color-scheme:dark;
  --base:#0b2028; --panel:#102b34; --raised:#1c3842; --line:#71878e;
  --text:#fffdf5; --muted:#d0d9da; --accent:#ffe2a5;
  --ease:cubic-bezier(.2,.8,.2,1);
  --page-gutter:clamp(20px,4cqw,90px);
  --radius-control:8px; --radius-panel:16px; --radius-action:28px;
  font:16px 'Avenir Next','Segoe UI',sans-serif;
  color:var(--text); background:var(--base);
}
* { box-sizing:border-box; }
body { margin:0; }
button, input, select { font:inherit; }
button, a, input { -webkit-tap-highlight-color:transparent; }
button, a { touch-action:manipulation; }
button { cursor:pointer; color:inherit; }
a { color:var(--accent); text-underline-offset:4px; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
[hidden] { display:none!important; }
h1, h2 { font-family:Lilita,'Arial Rounded MT Bold',sans-serif; font-weight:400; }
.wordmark { display:inline-flex; align-items:center; min-height:44px; color:var(--text); font-size:1.15rem; font-weight:800; letter-spacing:-.8px; white-space:nowrap; text-decoration:none; }
.wordmark span { font-weight:400; }
.wordmark i { color:var(--accent); font-size:1.5rem; font-style:normal; }
.wordmark::before { content:''; display:block; width:28px; height:28px; flex:0 0 28px; margin-right:7px; background:url('/assets/brand-mark.svg') center/contain no-repeat; }
.primary-action { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 24px; border:0; border-radius:var(--radius-action); color:var(--base); background:var(--text); font-weight:750; font-size:.95rem; text-decoration:none; transition:background .16s,transform .12s var(--ease); }
.primary-action:hover { background:var(--accent); }
.primary-action:active { transform:scale(.97); }
.primary-action:disabled { color:var(--text); background:#506069; cursor:progress; }
.quiet-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border:0; border-radius:var(--radius-control); color:var(--text); background:transparent; font-size:.85rem; text-decoration:none; }
.quiet-action:hover { background:var(--raised); }
.skip-link { position:absolute; top:-100px; left:20px; padding:12px; background:var(--text); color:var(--base); z-index:20; }
.skip-link:focus { top:8px; }
dialog { width:min(540px,calc(var(--stage-width,100vw) - 32px)); max-width:none; max-height:calc(var(--stage-height,100dvh) - 32px); overflow:auto; margin:auto; padding:24px; border:1px solid var(--line); border-radius:var(--radius-panel); color:var(--text); background:var(--panel); }
dialog::backdrop { background:#04141de3; }
dialog h2 { font-size:1.75rem; line-height:1.1; margin:0 0 12px; }
dialog p { color:var(--muted); font-size:.9rem; line-height:1.6; }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
body.reduced-motion *, body.reduced-motion *::before, body.reduced-motion *::after { animation:none!important; transition:none!important; }
