@font-face { font-family: Silkscreen; src: url("assets/Silkscreen-Regular.ttf") format("truetype"); font-display: swap; }

:root { color-scheme: light; --bg:#f3f0e8; --paper:#fbfaf6; --ink:#171815; --muted:#666961; --line:rgba(23,24,21,.15); --accent:#dbaa00; --accent-ink:#211b06; --danger:#a93d36; --focus:#aa8200; }
:root[data-theme="dark"] { color-scheme: dark; --bg:#10110f; --paper:#171815; --ink:#f2f2eb; --muted:#a7aaa0; --line:rgba(242,242,235,.15); --accent:#f0be16; --accent-ink:#171407; --danger:#ed817a; --focus:#f0be16; }
* { box-sizing:border-box; }
html { min-width:0; background:var(--bg); }
body { min-width:0; min-height:100vh; margin:0; color:var(--ink); background:linear-gradient(rgba(23,24,21,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,24,21,.035) 1px,transparent 1px),var(--bg); background-size:24px 24px; font:16px/1.55 Inter,ui-sans-serif,system-ui,sans-serif; }
:root[data-theme="dark"] body { background-image:linear-gradient(rgba(242,242,235,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(242,242,235,.028) 1px,transparent 1px); }
button,input { font:inherit; } button { cursor:pointer; } a { color:inherit; text-underline-offset:.2em; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.skip-link { position:fixed; z-index:5; top:.75rem; left:.75rem; padding:.65rem .85rem; border-radius:.6rem; color:var(--accent-ink); background:var(--accent); font-weight:750; transform:translateY(-150%); transition:transform .16s ease; }.skip-link:focus { transform:translateY(0); }
.shell { width:min(720px,100%); min-height:100vh; margin:auto; padding:1.4rem clamp(1rem,5vw,3.5rem) 1.7rem; display:flex; flex-direction:column; }
.site-header,footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.site-header { min-height:3.4rem; border-bottom:1px solid var(--line); }.wordmark { font:1.08rem/1 Silkscreen,monospace; letter-spacing:-.07em; text-decoration:none; }.theme-button,.text-button { border:0; padding:.35rem 0; color:var(--ink); background:transparent; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; }.theme-button { display:inline-flex; gap:.45rem; align-items:center; text-decoration:none; font-size:.84rem; }
main { flex:1; padding:clamp(3rem,9vw,6.7rem) 0 3.2rem; }.intro { max-width:39rem; }.kicker { margin:0; color:var(--muted); font:.66rem/1.45 Silkscreen,monospace; letter-spacing:.03em; }h1,h2,h3,p { margin-top:0; }h1 { margin:.9rem 0 1.35rem; font-size:clamp(3.1rem,10vw,5.5rem); line-height:.94; letter-spacing:-.075em; } .intro>p:last-child { max-width:35rem; color:var(--muted); font-size:1.05rem; line-height:1.65; }
.panel,.account-panel { margin-top:2.1rem; padding:clamp(1.25rem,4vw,2rem); border:1px solid var(--line); border-radius:1.1rem; background:var(--paper); box-shadow:0 1.5rem 4rem rgba(0,0,0,.045); }.loading-panel { display:flex; align-items:center; gap:.7rem; color:var(--muted); }.spinner { width:1rem; height:1rem; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin { to { transform:rotate(360deg); } }
.notice { margin:1.3rem 0 -1rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:.7rem; background:var(--paper); font-size:.9rem; }.notice[data-kind="error"] { border-color:color-mix(in srgb,var(--danger) 55%,var(--line)); color:var(--danger); }.notice[data-kind="success"] { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }
.panel-heading h2,.account-welcome h2,.consent-panel h2,.dialog-card h2 { margin:.65rem 0 1.1rem; font-size:clamp(1.65rem,5vw,2.45rem); letter-spacing:-.055em; line-height:1.05; }.auth-tabs { display:flex; gap:.25rem; padding:.25rem; margin:1.7rem 0; border:1px solid var(--line); border-radius:.75rem; }.auth-tabs button { flex:1; min-height:2.5rem; border:0; border-radius:.5rem; color:var(--muted); background:transparent; font-size:.85rem; font-weight:700; }.auth-tabs button[aria-pressed="true"] { color:var(--ink); background:var(--bg); }
form { display:grid; gap:1rem; } label { display:grid; gap:.4rem; font-size:.85rem; font-weight:750; } input { width:100%; min-height:3rem; padding:.65rem .75rem; border:1px solid var(--line); border-radius:.6rem; color:var(--ink); background:var(--bg); font-size:1rem; } input:focus { outline:2px solid var(--focus); outline-offset:2px; }.field-note { margin:-.35rem 0 .1rem; color:var(--muted); font-size:.77rem; line-height:1.55; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:3rem; padding:.65rem 1rem; border:1px solid var(--line); border-radius:.7rem; color:var(--ink); background:var(--paper); font-weight:750; }.button.primary { border-color:transparent; color:var(--accent-ink); background:var(--accent); }.button.quiet { margin-top:1.5rem; }.button:disabled,.text-button:disabled { cursor:wait; opacity:.65; }.auth-panel .text-button { margin-top:1.25rem; font-size:.82rem; }.token-panel>p,.consent-panel>p,.account-welcome>p,.setting-card p,.dialog-card>p:not(.kicker) { color:var(--muted); line-height:1.6; }
.account-welcome { padding-bottom:1.6rem; border-bottom:1px solid var(--line); }.account-welcome h2 span { overflow-wrap:anywhere; }.account-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.4rem; }.setting-card { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; }.setting-card h3 { margin-bottom:.45rem; font-size:1rem; }.setting-card p { min-height:4.8em; margin-bottom:.85rem; font-size:.8rem; }.danger { color:var(--danger); }.danger-card { border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); }.consent-panel { border-color:color-mix(in srgb,var(--accent) 55%,var(--line)); }.consent-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
footer { padding-top:1.4rem; border-top:1px solid var(--line); color:var(--muted); font-size:.72rem; }footer nav { display:flex; flex-wrap:wrap; gap:1rem; }
dialog { width:min(31rem,calc(100vw - 2rem)); padding:0; border:1px solid var(--line); border-radius:1rem; color:var(--ink); background:var(--paper); box-shadow:0 1.5rem 5rem rgba(0,0,0,.3); }dialog::backdrop { background:rgba(0,0,0,.45); backdrop-filter:blur(3px); }.dialog-card { position:relative; padding:clamp(1.25rem,5vw,2rem); }.dialog-close { position:absolute; top:.8rem; right:.8rem; width:2.3rem; height:2.3rem; border:0; border-radius:50%; color:var(--ink); background:transparent; font-size:1.5rem; }.danger-button { border-color:transparent; color:#fff; background:var(--danger); }
[hidden] { display:none !important; }
@media (max-width:560px) { .account-actions { grid-template-columns:1fr; }.setting-card p { min-height:auto; }.site-header { min-height:3rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; scroll-behavior:auto !important; } }

.dialog-card .notice { margin:0; }
html:has(dialog[open]) { overflow:hidden; }
