:root{--color-bg:#f7e8d2;--color-surface:#fff8ec;--color-border:#d9b894;--color-text:#4a2e1d;--color-text-muted:#6b4430;--color-accent:sienna;--color-on-accent:#fff8ec;--color-focus:#1d4ed8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-card:16px;--radius-chip:999px;--tap:44px;--font:"Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.page{max-width:960px;min-height:100dvh;padding:0 var(--space-4);flex-direction:column;margin:0 auto;display:flex}.header{padding:var(--space-8) 0 var(--space-4)}.name{letter-spacing:.04em;color:var(--color-accent);margin:0;font-size:2rem}.tagline{margin:var(--space-2) 0 0;font-size:1.25rem;font-weight:700}.sub{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.main{padding-bottom:var(--space-8);flex:1}.chips{gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.chip{min-height:var(--tap);padding:0 var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-chip);background:var(--color-surface);white-space:nowrap;cursor:pointer}.chip[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:700}.chip[aria-pressed=true]:before{content:"✓ "}.shelf{margin-top:var(--space-6)}.shelf-title{margin:0 0 var(--space-3);border-bottom:2px solid var(--color-border);font-size:1.25rem}.shelf-link{min-height:var(--tap);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.cards{gap:var(--space-3);grid-template-columns:1fr;display:grid}.card{gap:var(--space-1);min-height:var(--tap);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);color:inherit;flex-direction:column;text-decoration:none;display:flex}.card:hover{border-color:var(--color-accent)}.card-title{overflow-wrap:anywhere;font-size:1.125rem;font-weight:700}.card-blurb{color:var(--color-text-muted);overflow-wrap:anywhere;line-height:1.6}.card-go{margin-top:var(--space-2);color:var(--color-accent);white-space:nowrap;align-self:flex-end;font-weight:700}.empty{margin:var(--space-8) 0;padding:var(--space-8) var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-card);text-align:center;font-size:1.125rem}.footer{padding:var(--space-4) 0 var(--space-6);color:var(--color-text-muted);text-align:center;font-size:.875rem}@media (width>=640px){.cards{grid-template-columns:repeat(2,1fr)}.name{font-size:2.5rem}}@media (width>=1000px){.cards{grid-template-columns:repeat(3,1fr)}}
