/* BloxIDCodes: grape ink, mint copy buttons, sticker-style cards, bottom tab bar on phones. */
:root{--ink:#2b1d6e;--ink2:#51448f;--bg:#f2eeff;--card:#fff;--mint:#22d3a6;--mint2:#12a583;--sun:#ffc93c;--coral:#ff6b6b;--line:#2b1d6e;--r:16px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 Nunito,system-ui,sans-serif;padding-bottom:64px}
h1,h2,.brand,.fw{font-family:"Lilita One",Nunito,sans-serif;font-weight:400;letter-spacing:.2px}
h1{font-size:clamp(1.6rem,5.5vw,2.5rem);line-height:1.12;margin:.4em 0 .3em}
h2{font-size:1.35rem;margin:1.6em 0 .5em}
a{color:#5a3fd6;font-weight:600}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.top{background:var(--ink);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand{color:#fff;text-decoration:none;font-size:1.5rem}.brand b{color:var(--mint)}
.main{display:none;gap:4px}.main a{color:#d9d2ff;text-decoration:none;padding:6px 10px;border-radius:10px}.main a:hover{background:#3d2e8f;color:#fff}
.search{position:relative;flex:1 1 220px;min-width:0}
.search input{width:100%;border:3px solid var(--mint);background:#fff;border-radius:999px;padding:9px 16px;font:600 1rem Nunito,sans-serif;color:var(--ink)}
.results{position:absolute;left:0;right:0;top:48px;background:#fff;border:3px solid var(--ink);border-radius:var(--r);box-shadow:4px 4px 0 var(--ink);max-height:60vh;overflow:auto}
.results a{display:block;padding:10px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid #e5defa}.results small{color:var(--ink2)}.results p{margin:0;padding:12px 14px}
.crumbs{font-size:.85rem;margin-top:14px;color:var(--ink2)}.crumbs a{text-decoration:none}
.hero{background:var(--ink);color:#fff;border-radius:22px;padding:22px 20px;margin-top:16px;box-shadow:5px 5px 0 var(--mint)}
.hero h1{margin-top:0}.hero p{margin:0;color:#e4deff}
.secs,.cats,.chips,.grid{list-style:none;margin:0;padding:0}
.secs{display:grid;gap:14px;margin:20px 0}
.sec{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:3px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:5px 5px 0 var(--ink)}
.sec b{font:400 1.5rem "Lilita One",sans-serif;display:block}.sec span{font-weight:800;color:var(--mint2)}.sec em{display:block;font-style:normal;color:var(--ink2);margin-top:4px}
.sec.decals{background:#fff4d1}.sec.avatar{background:#ffe3e3}.sec.music{background:#d9fbf1}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-block;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:5px 13px;text-decoration:none;color:var(--ink);font-weight:800}
.chips a small{color:var(--ink2);font-weight:600}.chips a[aria-current]{background:var(--sun)}
.cats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cats a{display:block;background:#fff;border:3px solid var(--ink);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);padding-bottom:8px}
.cats img,.cats .tile{width:100%;aspect-ratio:1;object-fit:cover;display:grid;background:#ddd5ff}.cats b{display:block;padding:6px 10px 0;font-size:1.02rem}.cats small{padding:0 10px;color:var(--ink2);font-weight:600}
.grid{display:grid;gap:12px;margin:18px 0}
.tiles{grid-template-columns:repeat(2,1fr)}.rows{grid-template-columns:1fr}
.item{background:var(--card);border:3px solid var(--ink);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:3px 3px 0 var(--ink)}
.pic{aspect-ratio:1;background:#ddd5ff}.pic img{width:100%;height:100%;object-fit:contain;display:block}
.txt{padding:8px 10px 4px;flex:1;min-width:0}.nm{margin:0;font-weight:800;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{margin:2px 0 0;font-size:.82rem;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copy{flex-direction:column;margin:8px;border:3px solid var(--ink);background:var(--mint);color:var(--ink);border-radius:12px;padding:8px 10px;cursor:pointer;display:flex;justify-content:center;align-items:stretch;text-align:center;gap:6px;font:800 .9rem ui-monospace,Menlo,Consolas,monospace;min-height:44px;touch-action:manipulation}
.copy .cta{font:800 .8rem Nunito,sans-serif;background:var(--ink);color:#fff;border-radius:8px;padding:3px 9px}.copy:active,.copy.done{background:var(--sun)}
.cid{overflow-wrap:anywhere}
.song{flex-direction:row;align-items:center;flex-wrap:wrap}.song .tile{width:56px;height:56px;margin:8px 0 8px 8px;flex:none}.song .txt{flex:1 1 140px}.song .copy{flex:0 1 auto;margin-left:8px}
.tile{display:grid;place-items:center;border-radius:12px;color:#fff;font-size:1.6rem;background:hsl(var(--h,260) 70% 55%)}
.wide{grid-column:1/-1;list-style:none}.spot{min-height:0}
.faq details{background:#fff;border:2px solid var(--ink);border-radius:12px;margin:8px 0;padding:10px 14px}.faq summary{font-weight:800;cursor:pointer}.faq p{margin:8px 0 0}
.note{background:#fff4d1;border:2px solid var(--ink);border-radius:var(--r);padding:4px 16px 8px}.note.note{margin:16px 0}
p.note{padding:10px 16px}
.foot{background:var(--ink);color:#d9d2ff;margin-top:40px;padding:22px 0 30px;font-size:.92rem}.foot a{color:#fff}.fw{font-size:1.3rem;margin:0;color:#fff}.fw b{color:var(--mint)}.fine{opacity:.8}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:3px solid var(--ink);z-index:30}
.tabs a{flex:1;text-align:center;text-decoration:none;color:var(--ink);font-weight:800;font-size:.78rem;padding:6px 0 8px}.tabs i{display:block;font-style:normal;font-size:1.3rem;line-height:1.2}
.toast{position:fixed;left:50%;bottom:78px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:9px 18px;border-radius:999px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:40}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(min-width:620px){.tiles{grid-template-columns:repeat(3,1fr)}.rows{grid-template-columns:1fr 1fr}.cats{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){body{padding-bottom:0}.tabs{display:none}.main{display:flex}.tiles{grid-template-columns:repeat(4,1fr)}.cats{grid-template-columns:repeat(5,1fr)}.toast{bottom:24px}.search{flex:0 1 340px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.js .later{display:none}
.sortbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-weight:800}
.sortbar button,.more{border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:999px;padding:6px 14px;font:800 .9rem Nunito,sans-serif;cursor:pointer;min-height:40px}
.sortbar button[aria-pressed=true]{background:var(--ink);color:#fff}
.morewrap{text-align:center}.more{background:var(--sun);padding:10px 26px}
.ext{display:block;font-size:.78rem;margin-top:2px}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.jump a{background:var(--mint);color:var(--ink);text-decoration:none;font-weight:800;border:2px solid #fff;border-radius:999px;padding:6px 14px}
@media(min-width:900px){ul.secs{grid-template-columns:repeat(4,1fr)}}
@media(min-width:620px){.secs{grid-template-columns:repeat(2,1fr)}}
.sec.crosshair{background:#e0ecff}
.hero{background:linear-gradient(135deg,#2b1d6e,#4a35b8)}

h3{font-size:1.05rem;margin:1.2em 0 .5em;color:var(--ink2)}
.sec{height:100%}
.pic{background:repeating-conic-gradient(#e2dbff 0 25%,#f5f2ff 0 50%) 50%/18px 18px}
