.cat{margin-top:3.25rem;scroll-margin-top:1rem}
.cat:first-of-type{margin-top:1.25rem}
.cat h2{margin-bottom:.15em}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem;margin-top:1.25rem}
.item{display:flex;flex-direction:column;gap:.55rem;padding:1.2rem 1.3rem;box-shadow:5px 5px 0 var(--ink)}
.item h3{font-size:1.3rem;margin:0}
.item p{margin:0}
.item .pr{font-weight:800}
.item .chosen{font-size:.92rem;min-height:1.5em}
.item .btn{align-self:flex-start;padding:.55em 1.2em;font-size:.95rem;box-shadow:4px 4px 0 var(--ink);margin-top:auto}
.sw{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0}
.sw button{width:2.1rem;height:2.1rem;border-radius:50%;border:3px solid var(--ink);padding:0;cursor:pointer}
.sw button:hover{transform:scale(1.1)}
.sw button[aria-pressed="true"]{outline:3px solid var(--ink);outline-offset:3px;transform:scale(1.1)}
.jump--ink a{border-color:var(--cream)}
.tray{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:center;padding:.75rem;pointer-events:none}
.tray[hidden]{display:none}
.tray-bar{pointer-events:auto;display:flex;align-items:center;gap:.8rem;background:var(--ink);color:var(--cream);border:3px solid var(--cream);border-radius:999px;box-shadow:5px 5px 0 var(--gold);padding:.4rem .45rem .4rem 1.2rem;font-weight:800}
.tray-bar button{border:3px solid var(--cream);background:var(--gold);color:var(--ink);border-radius:999px;padding:.45em 1.1em;font:800 .95rem "Nunito",sans-serif;cursor:pointer}
.picks{position:fixed;left:50%;bottom:5rem;transform:translateX(-50%);z-index:60;width:min(540px,100% - 2rem);max-height:62vh;overflow:auto;box-shadow:6px 6px 0 var(--gold);background:var(--cream);border-color:var(--ink)}
.picks[hidden]{display:none}
.picks h2{font-size:1.7rem;margin-bottom:.4rem}
.picks ul{list-style:none;margin:0 0 1rem;padding:0}
.picks li{display:grid;grid-template-columns:1fr auto;gap:0 .75rem;padding:.5rem 0;border-bottom:3px dotted rgba(22,17,15,.3)}
.picks .pk-name{font-weight:800}
.picks .pk-meta{grid-column:1;font-size:.92rem}
.picks .pk-rm{grid-row:1/3;grid-column:2;align-self:center;border:3px solid var(--ink);background:#fff;border-radius:999px;padding:.25em .8em;font:800 .85rem "Nunito",sans-serif;cursor:pointer}
.picks .empty{display:block;border:0}
.picks .row{display:flex;flex-wrap:wrap;gap:.75rem}
.picks .btn{box-shadow:4px 4px 0 var(--ink);padding:.6em 1.2em}
.toast{position:fixed;left:50%;bottom:5.2rem;transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--cream);border:3px solid var(--cream);border-radius:999px;padding:.5em 1.2em;font-weight:800;max-width:calc(100% - 2rem);text-align:center}
.toast[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.sw button:hover,.sw button[aria-pressed="true"]{transform:none}}
.art{height:150px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden}
.art.dark{background:#16110F}
.art svg{width:100%;height:100%;display:block}
.art.photo{height:200px;background:#fff}
.art img{width:100%;height:100%;object-fit:contain;display:block}

/* add-on clarity */
.addon-callout{margin:1.5rem 0 0;max-width:64ch;padding:1.1rem 1.35rem;background:var(--paper);border:3px solid var(--ink);border-radius:22px;box-shadow:5px 5px 0 var(--gold)}
.addon-callout p{margin:0 0 .55rem}
.addon-callout .addon-head{font-family:"Bagel Fat One","Nunito",sans-serif;font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.15}
.addon-callout .addon-fine{margin:0;font-size:.92rem;opacity:.8}
.sec-note{margin:-.2rem 0 1rem;font-weight:700}
