
:root{--bg:#f3f6fa;--surface:#fff;--ink:#0f2740;--muted:#5a6b7d;--line:#d5dee8;--accent:#f2b705;--accent-ink:#3a2c00;--ok:#1c7c54;--warn:#b4561b;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0d1a29;--surface:#142538;--ink:#e8eff7;--muted:#9aacbf;--line:#28405a;--accent:#f2b705;--accent-ink:#2a2000;--ok:#4fc08d;--warn:#f0a066}}
:root[data-theme="dark"]{--bg:#0d1a29;--surface:#142538;--ink:#e8eff7;--muted:#9aacbf;--line:#28405a;--accent:#f2b705;--accent-ink:#2a2000;--ok:#4fc08d;--warn:#f0a066}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
main{max-width:720px;margin:0 auto;padding:20px 16px 48px}
h1{font-size:clamp(2rem,8vw,3rem);line-height:1.05;margin:8px 0 10px;font-weight:800;letter-spacing:-.02em}
h2{font-size:1.15rem;margin:26px 0 10px}
p{margin:0 0 12px}
.lead{color:var(--muted);max-width:48ch}
.banner{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--accent);padding:10px 12px;font-size:.88rem;margin:16px 0}
input[type=search]{width:100%;padding:14px 16px;font:inherit;font-size:1rem;border:2px solid var(--ink);background:var(--surface);color:var(--ink);border-radius:4px}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.chip{font:inherit;font-size:.9rem;padding:7px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.list{display:grid;gap:10px;margin-top:8px}
.item{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:4px;cursor:pointer}
.item:hover{border-color:var(--ink)}
.item b{display:block;font-size:1.1rem}
.item span{color:var(--muted);font-size:.9rem}
.tag{display:inline-block;font-size:.78rem;padding:2px 8px;border-radius:999px;margin-top:8px;border:1px solid currentColor}
.tag.ok{color:var(--ok)}.tag.warn{color:var(--warn)}
.back{font:inherit;background:none;border:0;color:var(--ink);text-decoration:underline;cursor:pointer;padding:6px 0}
.check{display:flex;gap:12px;align-items:flex-start;padding:12px;background:var(--surface);border:1px solid var(--line);margin-bottom:8px;border-radius:4px;cursor:pointer}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--ok);flex:none}
.check small{display:block;color:var(--muted)}
.check.done b{text-decoration:line-through;color:var(--muted)}
.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:6px 0 14px}
.bar i{display:block;height:100%;background:var(--ok);width:0;transition:width .25s}
ol{padding-left:20px}li{margin-bottom:6px}
.meta{background:var(--surface);border:1px solid var(--line);padding:12px;border-radius:4px;font-size:.92rem}
.meta p{margin:0 0 6px}
.empty{color:var(--muted);padding:16px 0}
a{color:inherit}
@media (prefers-reduced-motion:reduce){.bar i{transition:none}}

header.top{max-width:720px;margin:0 auto;padding:14px 16px 0;display:flex;justify-content:space-between;align-items:center}
header.top a{font-weight:800;text-decoration:none;font-size:1.1rem}
header.top nav a{font-weight:400;font-size:.95rem;margin-left:14px}
footer{max-width:720px;margin:0 auto;padding:0 16px 32px;color:var(--muted);font-size:.85rem}
.crumbs{font-size:.88rem;color:var(--muted);margin-top:8px}
.crumbs a{color:var(--muted)}
a.item{text-decoration:none}
