/* Duskroom site. Tokens from design/duskroom-tokens.json. Dark only. */
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader.ttf") format("truetype");font-weight:200 800;font-display:swap}
@font-face{font-family:"Albert Sans";src:url("/fonts/albert_sans.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"DM Mono";src:url("/fonts/dm_mono_regular.ttf") format("truetype");font-weight:400;font-display:swap}

:root{
  color-scheme:dark;
  --bg-top:#0E121A;--bg-mid:#11151D;--bg-bottom:#0B0D12;
  --sheet:#161A22;--card:#181C24;
  --ink:#ECEAE5;--ink2:#B8B5AD;--muted:#8D8A84;--on-accent:#1F1408;
  --accent:#F4A95E;--accent-fill:rgba(244,169,94,.16);--accent-line:rgba(244,169,94,.6);--glow:rgba(244,169,94,.24);
  --hair:rgba(236,234,229,.07);--control:rgba(236,234,229,.14);
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --ui:"Albert Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"DM Mono",ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box}
html{background:var(--bg-bottom);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;font-family:var(--ui);font-size:1.0625rem;line-height:1.6;color:var(--ink);
  background:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-mid) 52%,var(--bg-bottom) 100%) fixed}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:#F6DDB8}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--on-accent);padding:.75rem 1rem;z-index:10}
.skip:focus{left:0}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.label{font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem}

header.site{padding:1.25rem 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none;font-family:var(--display);font-size:1.5rem;min-height:48px}
.brand img{width:36px;height:36px;border-radius:9px}
nav.top a{display:inline-flex;align-items:center;min-height:48px;padding:0 .75rem;color:var(--ink2);text-decoration:none}
nav.top a:hover{color:var(--ink)}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;margin:0 0 .75em;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,7vw,4.25rem);font-weight:300}
h2{font-size:clamp(1.75rem,4vw,2.5rem)}
h3{font-size:1.5rem}
p{margin:0 0 1em}

.hero{padding:3rem 0 4rem;display:grid;gap:2.5rem;align-items:center}
.hero .icon{width:96px;height:96px;border-radius:22px;box-shadow:0 0 60px var(--glow);margin-bottom:1.5rem}
.hero p.lead{font-size:1.25rem;color:var(--ink2);max-width:34rem}
.hero-art{border-radius:24px;border:1px solid var(--hair);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.75rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:1rem;text-decoration:none}
.btn:hover{background:#F6DDB8;color:var(--on-accent)}
.todo{display:block;margin-top:.75rem;font-family:var(--mono);font-size:.75rem;color:var(--muted)}

section.block{padding:3rem 0}
.features{display:grid;gap:1rem;grid-template-columns:1fr}
.card{background:var(--card);border:1px solid var(--hair);border-radius:24px;padding:1.5rem}
.card h3{color:var(--ink);margin-bottom:.5rem}
.card p{color:var(--ink2);margin:0}

.shots{display:flex;gap:1rem;overflow-x:auto;padding:.5rem 1.25rem 1.5rem;margin:0 -1.25rem;scroll-snap-type:x proximity;list-style:none}
.shots li{flex:0 0 auto;width:min(240px,62vw);scroll-snap-align:start}
.shots img{border-radius:20px;border:1px solid var(--hair);width:100%}
.shots:focus-visible{outline-offset:-3px}

footer.site{border-top:1px solid var(--hair);margin-top:3rem;padding:2rem 0 3rem;color:var(--muted);font-size:.9375rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 .5rem}
footer.site a{display:inline-flex;align-items:center;min-height:48px;padding:0 .5rem}

/* Legal + 404 */
.doc{max-width:42rem;padding:2rem 1.25rem 3rem;margin:0 auto}
.doc h1{font-size:clamp(2.25rem,6vw,3.25rem)}
.doc h2{font-size:1.75rem;margin-top:2em}
.doc ul{padding-left:1.25rem;margin:0 0 1em}
.doc li{margin-bottom:.4em}
.doc li::marker{color:var(--accent)}
.doc strong{color:var(--ink)}
.doc p,.doc li{color:var(--ink2)}
mark.placeholder{background:var(--accent-fill);color:var(--accent);border:1px dashed var(--accent-line);border-radius:6px;padding:.05em .4em;font-family:var(--mono);font-size:.9em}
.center{text-align:center;padding:5rem 1.25rem}

@media (min-width:48rem){
  .features{grid-template-columns:repeat(2,1fr)}
  .hero{grid-template-columns:1.1fr 1fr;padding:5rem 0}
  .shots{margin:0;padding-left:0;padding-right:0}
}
@media (min-width:64rem){.features{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
