:root{--paper:#F2F0EA;--card:#FBFAF6;--ink:#1E2B27;--mute:#5F6A65;--rule:#D3D3C9;--acc:#2F5D50}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 "Source Serif 4",Georgia,serif;padding-bottom:env(safe-area-inset-bottom)}
h1,h2,h3,.brand,button,.btn,label,.tag{font-family:Archivo,system-ui,sans-serif}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:5}
.brand{color:var(--paper);text-decoration:none;font-weight:700;font-size:1.2rem;display:flex;align-items:center;gap:8px}
.dot{width:14px;height:14px;border-radius:50%;background:var(--paper);display:inline-block}
.tag{font-size:.8rem;opacity:.8}
main{max-width:640px;margin:0 auto;padding:18px}
h1{font-size:1.6rem;margin:.2em 0 .3em;font-stretch:90%}h2{font-size:1.1rem;margin:1.2em 0 .4em}
.lede{color:var(--mute);margin-top:0}
.grid{display:grid;gap:12px}
.tile{display:block;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink)}
.tile b{font-family:Archivo,sans-serif;display:block;font-size:1.05rem}.tile span{color:var(--mute);font-size:.92rem}
.card{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:14px;margin:10px 0}
input,textarea,select{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink)}
textarea{min-height:90px}
label{display:block;font-size:.85rem;color:var(--mute);margin:8px 0 3px}
.row{display:flex;gap:8px;align-items:center;margin:6px 0}.row input[type=checkbox]{width:22px;height:22px;flex:none}
.row input,.row select{flex:1}
button,.btn{font-size:.95rem;font-weight:600;border:0;border-radius:8px;padding:10px 14px;background:var(--acc);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost{background:transparent;color:var(--mute);border:1px solid var(--rule);padding:6px 10px}
.printable{display:block;text-align:center;margin:22px 0 6px;background:var(--ink)}
.back{display:inline-block;margin-bottom:6px;color:var(--acc);font-family:Archivo,sans-serif;text-decoration:none}
.big{font-family:Archivo,sans-serif;font-size:3rem;font-weight:700;text-align:center;margin:.1em 0}
.sum{font-family:Archivo,sans-serif;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}
.saved{font-size:.8rem;color:var(--mute);min-height:1.2em}
.foot{max-width:640px;margin:0 auto;padding:18px;color:var(--mute);font-size:.85rem}.foot a{color:var(--acc)}
.upsell{margin-top:24px}.upsell p{margin:0 0 8px}.note{font-size:.9rem;color:var(--mute)}.formats{display:grid;gap:8px}.ghostb{background:var(--card);color:var(--acc);border:1px solid var(--rule);text-align:center}
.sec{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:10px 14px;margin:10px 0}.sec summary{font-family:Archivo,sans-serif;font-weight:600;cursor:pointer}.off{opacity:.55;cursor:default}.cl{display:inline;margin:0;color:var(--ink);font-size:1rem}h3{font-size:1rem;font-family:Archivo,sans-serif;margin:.8em 0 .2em}.row{flex-wrap:wrap}.row input:not([type=checkbox]){min-width:110px}
.nudge{position:relative}.nudge .x{position:absolute;right:8px;top:6px}.tile.off{opacity:.6}
.cover{display:block;width:100%;height:auto;border-radius:8px;margin-bottom:8px}.hero{margin:8px 0 4px}
