:root{
  --bg:#f6f1e4;--surface:#fffaf0;--ink:#2f2a3d;--muted:#5e5670;--accent:#5a8f3c;--accent-ink:#ffffff;
  --accent-2:#7a5fb0;--line:#d8c9a6;--shadow:0 10px 30px rgba(47,42,61,.12);--radius:18px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#17141f;--surface:#221d2e;--ink:#f1ecfa;--muted:#bdb4cf;--accent:#8fd45e;--accent-ink:#17210f;--accent-2:#b79cf0;--line:#3a3249;--shadow:0 10px 30px rgba(0,0,0,.35)}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--accent-2);text-underline-offset:3px}
img{max-width:100%;display:block}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}
header.site{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:800;color:var(--ink);text-decoration:none;font-size:1.1rem}
.brand img{width:36px;height:36px;border-radius:9px}
nav.site{display:flex;gap:4px;flex-wrap:wrap}
nav.site a{align-items:center;color:var(--ink);display:inline-flex;min-height:44px;text-decoration:none;padding:0 10px;border-radius:10px;font-weight:600;font-size:.95rem}
nav.site a:hover,nav.site a[aria-current="page"]{background:var(--surface)}
.hero{padding:48px 0 28px;display:grid;gap:28px;grid-template-columns:1.1fr .9fr;align-items:center}
.hero h1{font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.08;margin:0 0 12px;letter-spacing:-.02em}
.hero p.lead{font-size:1.15rem;color:var(--muted);margin:0 0 22px}
.hero .art{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:9/12;background:var(--surface)}
.hero .art img{width:100%;height:100%;object-fit:cover}
.badges{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent}
.button.primary{background:var(--accent);color:var(--accent-ink)}
.button.secondary{border-color:var(--line);color:var(--ink);background:var(--surface)}
.pill{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:.9rem}
section{padding:28px 0}
h2{font-size:1.7rem;margin:0 0 16px;letter-spacing:-.01em}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.feature h3{margin:0 0 6px;font-size:1.08rem}
.feature p{margin:0;color:var(--muted)}
.feature .icon{font-size:1.6rem;line-height:1;margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery figure{margin:0;border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.gallery img{width:100%;aspect-ratio:9/14;object-fit:cover}
.gallery figcaption{padding:8px 10px;font-size:.9rem;font-weight:600;color:var(--muted)}
footer.site{border-top:1px solid var(--line);margin-top:24px;padding:22px 0 36px;color:var(--muted);font-size:.95rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
footer.site nav{display:flex;flex-wrap:wrap;gap:4px 14px}
footer.site a{color:var(--muted);display:inline-flex;align-items:center;min-height:44px}
/* Document pages (privacy, deletion). */
.doc{max-width:760px;margin:0 auto;padding:32px 16px 8px}
.doc h1{font-size:clamp(1.9rem,5vw,2.5rem);line-height:1.15;margin:0 0 6px}
.doc .updated{color:var(--muted);margin:0 0 24px}
.doc h2{font-size:1.3rem;margin:30px 0 8px;scroll-margin-top:76px}
.page404{min-height:60vh}
.doc ul{padding-left:1.25em}
.doc li{margin:6px 0}
.doc .note{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;padding-top:28px}
  .hero .art{aspect-ratio:4/3}
  .hero .art img{object-position:50% 22%}
  .features{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  nav.site a{padding:0 8px;font-size:.9rem}
}
@media (max-width:480px){
  header.site .wrap{gap:6px;padding:0 10px}
  .brand{font-size:1rem;gap:7px;white-space:nowrap}
  .brand img{width:28px;height:28px}
  nav.site{flex-wrap:nowrap;gap:0}
  nav.site a{padding:0 7px;font-size:.875rem;white-space:nowrap}
}
@media (max-width:370px){
  .brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
