:root{--cyan: #06ffff;--mag: #ff00ff;--ink: #000;--paper: #fff;--mute: #6b6b6b;--rule: #d6d6d6;--wash: #f2f2f2;--shelf: #17141c;--shelf-hi: #2a2632;--shelf-lo: #0c0a10;--gold: #ffd54a;--lime: #b6ff3a;--pixel: "Press Start 2P", "Silkscreen", monospace;--pixel-ui: "Silkscreen", "Press Start 2P", monospace;--term: "VT323", "Silkscreen", monospace;--display: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", "Roboto Condensed", "Liberation Sans Narrow", sans-serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--px: 3px;--radius: 0px}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:none;font-smooth:never;text-rendering:optimizeLegibility}a{color:inherit}img{max-width:100%;display:block}.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}.plabel{font-family:var(--pixel-ui);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.scanlines:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 1px,transparent 2px,transparent 3px);mix-blend-mode:multiply;opacity:.5}.app{min-height:100vh;display:flex;flex-direction:column}.wrap{width:min(1180px,100% - 32px);margin:0 auto}.content{flex:1;padding:22px 0 60px}.mast{background:var(--ink);color:var(--paper);border-bottom:var(--px) solid var(--cyan)}.mast-in{display:flex;align-items:center;gap:18px;padding:18px 0 16px}.mast-brand{display:flex;align-items:center;gap:14px;min-width:0}.dice{width:46px;height:46px;flex:none;image-rendering:pixelated}.logo{position:relative;font-family:var(--pixel);font-size:clamp(20px,4.2vw,40px);line-height:1;letter-spacing:1px;color:var(--paper);margin:0;text-transform:uppercase;-webkit-user-select:none;user-select:none}.logo:before,.logo:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden}.logo:before{color:var(--cyan);z-index:-1;animation:glitch-x 3.6s infinite steps(1)}.logo:after{color:var(--mag);z-index:-1;animation:glitch-y 2.9s infinite steps(1)}@keyframes glitch-x{0%,92%,to{transform:translate(0);clip-path:none}93%{transform:translate(-2px,-1px);clip-path:inset(10% 0 55% 0)}96%{transform:translate(2px,1px);clip-path:inset(60% 0 10% 0)}}@keyframes glitch-y{0%,90%,to{transform:translate(0);clip-path:none}91%{transform:translate(2px,1px);clip-path:inset(30% 0 40% 0)}94%{transform:translate(-2px,-1px);clip-path:inset(70% 0 5% 0)}}.sub{font-family:var(--pixel-ui);font-size:10px;letter-spacing:3px;color:var(--mute);text-transform:uppercase;margin-top:8px}.stat{margin-left:auto;text-align:right;line-height:1.1}.stat .big{font-family:var(--display);font-size:clamp(30px,7vw,56px);color:var(--cyan);text-shadow:2px 0 var(--mag)}.stat .small{font-family:var(--pixel-ui);font-size:9px;color:var(--mute);letter-spacing:1px}.authbar{background:var(--ink);color:var(--paper);border-bottom:var(--px) solid var(--paper)}.authbar-in{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;font-family:var(--pixel-ui);font-size:10px;letter-spacing:1px;text-transform:uppercase}.authbar .who{color:var(--mute)}.btn{font-family:var(--pixel-ui);text-transform:uppercase;font-size:11px;letter-spacing:1px;color:var(--ink);background:var(--paper);border:var(--px) solid var(--ink);padding:9px 12px;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .03s,box-shadow .03s,background .1s,color .1s;position:relative;white-space:nowrap}.btn:hover{background:var(--wash)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn.on{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--cyan)}.btn.pop{background:var(--ink);color:var(--cyan);box-shadow:4px 4px 0 var(--mag)}.btn.pop:hover{color:var(--paper)}.btn.mini{font-size:9px;padding:6px 8px;box-shadow:3px 3px 0 var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.authbar .btn{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--cyan)}.authbar .btn:hover{background:#111}.authbar .btn.pop{color:var(--cyan);box-shadow:3px 3px 0 var(--mag)}.toolbar{padding:18px 0 6px;display:flex;flex-direction:column;gap:12px}.search{width:100%;font-family:var(--term);font-size:22px;padding:12px 14px;border:var(--px) solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--paper);color:var(--ink);outline:none}.search::placeholder{color:var(--mute);letter-spacing:1px;text-transform:uppercase;font-size:15px}.search:focus{box-shadow:4px 4px 0 var(--cyan)}.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.spacer{flex:1 1 auto}.selectwrap{position:relative;display:inline-flex}.select{font-family:var(--pixel-ui);text-transform:uppercase;font-size:10px;letter-spacing:.5px;padding:9px 26px 9px 10px;border:var(--px) solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.selectwrap:after{content:"▼";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:8px;pointer-events:none}.toggle{display:inline-flex;align-items:center;gap:7px;font-family:var(--pixel-ui);text-transform:uppercase;font-size:10px;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle .box{width:18px;height:18px;border:var(--px) solid var(--ink);display:grid;place-items:center;background:var(--paper)}.toggle input{display:none}.toggle input:checked+.box{background:var(--ink)}.toggle input:checked+.box:after{content:"✕";color:var(--cyan);font-size:12px;line-height:1}.count{font-family:var(--pixel-ui);font-size:10px;letter-spacing:1px;color:var(--mute);text-transform:uppercase;padding-top:4px}.shelf-head{display:flex;align-items:baseline;gap:12px;margin:26px 0 12px;border-bottom:var(--px) solid var(--ink);padding-bottom:6px}.shelf-head h2{font-family:var(--pixel);font-size:14px;margin:0;text-transform:uppercase}.shelf-head .n{margin-left:auto;font-family:var(--pixel-ui);font-size:10px;color:var(--mute)}.kallax{background:var(--shelf);border:6px solid var(--shelf);box-shadow:inset 0 3px 0 var(--shelf-hi),inset 0 -4px 0 var(--shelf-lo),6px 6px #00000040;display:grid;gap:6px;padding:6px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cube{position:relative;aspect-ratio:1 / 1;background:#0c0a10;outline:2px solid var(--shelf-lo);overflow:hidden;cursor:pointer;display:block}.cube img{width:100%;height:100%;object-fit:cover;display:block}.cube .fallback{width:100%;height:100%}.cube:hover{z-index:2}.cube:hover img,.cube:hover .fallback{transform:scale(1.04);transition:transform .12s}.cube:hover:before,.cube:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;mix-blend-mode:screen;pointer-events:none}.cube:hover:before{background:var(--cyan);opacity:.12;transform:translate(-2px)}.cube:hover:after{background:var(--mag);opacity:.12;transform:translate(2px)}.cube .cap{position:absolute;left:0;right:0;bottom:0;background:#000000c7;color:var(--paper);font-family:var(--pixel-ui);font-size:8px;letter-spacing:.3px;padding:4px 5px;line-height:1.25;text-transform:uppercase;opacity:0;transform:translateY(100%);transition:opacity .12s,transform .12s}.cube:hover .cap{opacity:1;transform:translateY(0)}.cube .exp-badge{position:absolute;top:4px;right:4px;background:var(--lime);color:#000;font-family:var(--pixel-ui);font-size:8px;padding:2px 4px;border:1px solid #000}.list{display:flex;flex-direction:column;gap:10px}.card{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:var(--px) solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:var(--paper);padding:10px;cursor:pointer;border-left:8px solid var(--cyan)}.card:hover{box-shadow:4px 4px 0 var(--mag);border-left-color:var(--mag)}.card .thumb{width:64px;height:64px;object-fit:cover;outline:2px solid var(--ink)}.card .mid{min-width:0}.card h3{font-family:var(--display);font-size:22px;margin:0 0 2px;text-transform:uppercase;line-height:1}.card .meta{font-size:13px;color:var(--ink)}.card .meta b{color:var(--ink)}.card .meta .dim{color:var(--mute)}.card .tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:5px}.card .right{text-align:right;font-family:var(--display)}.card .right .num{font-size:30px;line-height:1}.card .right .lab{font-family:var(--pixel-ui);font-size:8px;color:var(--mute)}.chip{font-family:var(--pixel-ui);font-size:9px;letter-spacing:.3px;text-transform:uppercase;padding:3px 6px;border:2px solid var(--ink);background:var(--wash)}.chip.cy{border-color:var(--cyan)}.chip.mg{border-color:var(--mag)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000000b8;display:grid;place-items:start center;padding:24px 12px;overflow:auto}.modal{width:min(760px,100%);background:var(--paper);border:var(--px) solid var(--ink);box-shadow:10px 10px 0 var(--cyan),10px 10px 0 4px var(--mag);position:relative}.modal-head{background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:12px;padding:12px 14px}.modal-head h2{font-family:var(--display);font-size:26px;margin:0;text-transform:uppercase;line-height:1}.modal .x{margin-left:auto;background:none;border:none;color:var(--paper);font-size:24px;cursor:pointer;font-family:var(--pixel-ui);line-height:1}.modal .x:hover{color:var(--mag)}.modal-body{padding:16px;display:grid;grid-template-columns:200px 1fr;gap:16px}.modal-body .art{width:100%;outline:var(--px) solid var(--ink)}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 12px}.statgrid .cell{border:2px solid var(--ink);padding:6px 8px}.statgrid .k{font-family:var(--pixel-ui);font-size:8px;color:var(--mute);text-transform:uppercase}.statgrid .v{font-family:var(--display);font-size:22px;line-height:1.1}.section-title{font-family:var(--pixel-ui);font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:14px 0 6px}.exp-list{display:flex;flex-direction:column;gap:5px}.exp-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px dotted var(--rule)}.exp-row .dot{width:10px;height:10px;flex:none;border:1px solid #000}.exp-row .dot.owned{background:var(--lime)}.exp-row .dot.avail{background:var(--paper)}.weightbar{height:12px;border:2px solid var(--ink);background:var(--wash);position:relative}.weightbar>span{position:absolute;inset:0 auto 0 0;background:repeating-linear-gradient(45deg,var(--mag) 0 4px,var(--cyan) 4px 8px)}.edit{margin-top:14px;border-top:var(--px) dashed var(--ink);padding-top:12px}.edit label{display:block;font-family:var(--pixel-ui);font-size:9px;text-transform:uppercase;color:var(--mute);margin:8px 0 3px}.edit input,.edit textarea,.edit select{width:100%;font-family:var(--sans);font-size:14px;border:2px solid var(--ink);padding:7px;background:var(--paper)}.foot{background:var(--ink);color:var(--mute);font-family:var(--pixel-ui);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:16px 0}.foot a{color:var(--cyan);text-decoration:none}.foot .wrap{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.empty{text-align:center;padding:60px 20px;font-family:var(--pixel-ui);font-size:12px;color:var(--mute)}.blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media (max-width: 640px){.modal-body{grid-template-columns:1fr}.modal-body .art{max-width:220px}.card{grid-template-columns:52px 1fr auto}.card .thumb{width:52px;height:52px}.card h3{font-size:18px}.kallax{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.stat .big{text-shadow:1px 0 var(--mag)}}@media (prefers-reduced-motion: reduce){.logo:before,.logo:after{animation:none}.blink{animation:none}}
