:root{color-scheme:light;--bg: #f3f6f4;--ink: #1c2420;--muted: #5a6a62;--brand: #2f5d4a;--surface: #ffffffcc;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#d7e8df 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#e8efe4 0%,transparent 50%),var(--bg)}.shell{max-width:36rem;margin:0 auto;padding:18vh 1.5rem 3rem}.brand{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;letter-spacing:-.02em;color:var(--brand)}h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600;line-height:1.25}.lede{margin:0 0 1.25rem;font-size:1.05rem;line-height:1.5;color:var(--muted)}.meta{margin:0 0 1rem;padding:.75rem 1rem;display:inline-block;background:var(--surface);border:1px solid #d5e0d9;border-radius:.5rem;font-size:.95rem}.mode-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.mode-row a,.mode-row button{font:inherit;color:var(--brand);background:transparent;border:1px solid #c5d5cc;border-radius:.4rem;padding:.35rem .7rem;text-decoration:none;cursor:pointer}.mode-row button.active,.mode-row a:hover,.mode-row button:hover{background:#e7efe9}.panel{margin-top:1.5rem;padding-top:.5rem}.panel h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.25rem}.stack{display:grid;gap:.75rem;margin:0 0 1rem;max-width:24rem}.stack label{display:grid;gap:.35rem;font-size:.95rem;color:var(--muted)}.stack input,.stack select{font:inherit;color:var(--ink);padding:.55rem .65rem;border:1px solid #c5d5cc;border-radius:.4rem;background:#fff}.stack button[type=submit],.stack>button[type=button]{font:inherit;justify-self:start;padding:.55rem .9rem;border:0;border-radius:.4rem;background:var(--brand);color:#fff;cursor:pointer}.stack button:disabled{opacity:.65;cursor:wait}.list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.list li{padding:.75rem 0;border-top:1px solid #d5e0d9}.card{margin-top:1.25rem;padding:1rem 0 6rem}.card h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.35rem;color:var(--ink)}.card .hint{margin:0 0 1rem;color:var(--muted);line-height:1.45}.card button{font:inherit;margin:0 .5rem .5rem 0;padding:.55rem .9rem;border:0;border-radius:.4rem;background:var(--brand);color:#fff;cursor:pointer}
