[hidden]{display:none!important}:root{--paper:#f6f0e4;--ink:#1d1a17;--accent:#c2412d;--card:#fffaf0;--soft:#e9dfcc;--gold:#e8b923}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font-family:ui-rounded,Trebuchet MS,system-ui,sans-serif}body{overflow-x:hidden}main{max-width:1080px;padding:max(18px, env(safe-area-inset-top)) 16px 48px;margin:0 auto}a{color:var(--ink);font-weight:800}button{font:inherit;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.top{gap:4px;display:grid}.back{background:var(--card);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:999px;justify-self:start;padding:6px 14px;text-decoration:none}h1{margin:10px 0 0;font-size:clamp(30px,7vw,50px);line-height:1.05}.lead{opacity:.85;margin:4px 0 0;font-size:17px}.progress{background:var(--card);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:18px;gap:10px;margin:18px 0 14px;padding:14px 16px;display:grid}.count{font-size:19px}.count b{font-size:26px}.pct{color:var(--accent);font-weight:800}.bar{background:var(--soft);border:2px solid var(--ink);border-radius:8px;height:14px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent), var(--gold));width:0;height:100%;transition:width 1.2s cubic-bezier(.2,.9,.25,1);display:block}.badges{flex-wrap:wrap;gap:10px;display:flex}.badge{border:2px dashed var(--ink);opacity:.55;border-radius:999px;align-items:center;gap:6px;padding:3px 12px 3px 4px;font-size:14px;font-weight:800;display:flex}.badge .ic{background:var(--soft);border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.badge .ic img{object-fit:contain;width:30px;height:30px}.badge.got{opacity:1;box-shadow:2px 2px 0 var(--ink);background:#fff3d6;border-style:solid}.badge.got .ic{background:0 0}.badge.fresh{animation:.9s cubic-bezier(.2,1.8,.4,1) badgeIn}@keyframes badgeIn{0%{transform:scale(.3)rotate(-30deg)}60%{transform:scale(1.25)rotate(6deg)}}.tabs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tabs button{background:var(--soft);border:2px solid var(--ink);border-radius:12px 12px 0 0;padding:8px 14px;font-size:16px;font-weight:800}.tabs button[aria-selected=true]{background:var(--card);box-shadow:0 -3px 0 var(--accent) inset}.tabs small{opacity:.7;font-weight:700}.filters{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.filters button{background:var(--card);border:2px solid var(--ink);border-radius:999px;padding:5px 13px;font-size:14px;font-weight:700}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}.empty{text-align:center;padding:20px;font-size:17px}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.card{background:var(--card);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;flex-direction:column;gap:5px;min-width:0;padding:10px;display:flex;position:relative}.card .pic{place-items:center;height:120px;display:grid}.card .pic img{object-fit:contain;max-width:100%;max-height:120px;transition:transform .2s}.card:hover .pic img{transform:scale(1.06)rotate(-2deg)}.card h3{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.2}.card .where{opacity:.8;font-size:12.5px;line-height:1.3}.card .links{flex-direction:column;gap:3px;margin-top:auto;font-size:13.5px;display:flex}.card .links a{border-bottom:2px solid #0000;align-self:flex-start;text-decoration:none}.card .links a:hover{border-bottom-color:var(--accent)}.card .links a.shop{color:var(--accent)}.card .tee-tag{background:var(--gold);border:1.5px solid var(--ink);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900;position:absolute;top:8px;right:8px}.card.unmet{box-shadow:none;background:#f1e9da;border-style:dashed}.card.unmet .pic{color:#1d1a1759;font-size:54px;font-weight:900}.card.unmet h3{opacity:.6}.card.unmet .where b{font-weight:800}.card.new{animation:.5s ease-out both cardIn}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}}.banner{z-index:60;pointer-events:none;text-align:center;background:var(--card);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:22px;padding:14px 26px;animation:3.2s ease-out both bannerIn;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.banner b{color:var(--accent);font-size:clamp(26px,7vw,40px);display:block}.banner small{font-size:16px;font-weight:700}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}20%,85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-60%)scale(1)}}footer{opacity:.85;margin-top:30px;font-size:15px;line-height:1.5}@media (width<=480px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:8px}.card .pic{height:96px}.card .pic img{max-height:96px}.tabs button{padding:7px 10px;font-size:14.5px}.count{font-size:17px}.count b{font-size:22px}}@media (prefers-reduced-motion:reduce){*,.banner{transition:none!important;animation:none!important}}
