:root{--bg: #0e1016;--bg-2: #151925;--panel: #1b2030;--panel-2: #222839;--line: #2c3346;--text: #e7ebf3;--muted: #8b93a7;--accent: #ffb63d;--accent-2: #ff7a59;--good: #43c67a;--warn: #f2c14e;--bad: #ef5a5a;--cash: #5fd38d;--radius: 14px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 50% -10%,#1a2136 0%,var(--bg) 60%);color:var(--text);font-family:Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.boot{display:grid;place-items:center;height:100vh;color:var(--muted);font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.8rem}.center{text-align:center}a,.link{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1rem;transition:transform .08s ease,filter .15s ease,background .15s}button:disabled{opacity:.45;cursor:not-allowed}button:not(:disabled):active{transform:translateY(1px)}.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#201400;font-weight:700}.primary:not(:disabled):hover{filter:brightness(1.08)}.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.ghost:not(:disabled):hover{background:#2a3145}.small{padding:.4rem .7rem;font-size:.82rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.75rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.9rem}.auth-brand{text-align:center;margin-bottom:.5rem}.auth-brand h1{margin:.3rem 0 .1rem}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.auth-card input,.page input{background:var(--bg-2);border:1px solid var(--line);border-radius:9px;padding:.6rem .7rem;color:var(--text);font:inherit}input:focus{outline:2px solid var(--accent);outline-offset:0}.form-error{background:#ef5a5a1f;border:1px solid rgba(239,90,90,.4);color:#ffb4b4;padding:.5rem .7rem;border-radius:8px;font-size:.85rem}.brand-mark{font-size:1.4rem}.brand-mark.big{font-size:2.6rem}.app{max-width:1120px;margin:0 auto;padding:0 1rem 4rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.8rem .4rem;background:#0e1016d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.2rem;letter-spacing:.02em}.brand-name{background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.wallet{display:flex;align-items:center;gap:1rem}.stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-value{font-weight:700;font-variant-numeric:tabular-nums}.stat-value.cash{color:var(--cash)}.tabs{display:flex;gap:.25rem;overflow-x:auto;padding:.7rem 0;position:sticky;top:57px;z-index:15;background:linear-gradient(var(--bg),rgba(14,16,22,0))}.tab{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:999px;color:var(--muted);white-space:nowrap;border:1px solid transparent}.tab:hover{color:var(--text);text-decoration:none}.tab.active{color:var(--text);background:var(--panel);border-color:var(--line)}.tab-icon{font-size:1rem}.page{display:flex;flex-direction:column;gap:1.5rem;padding-top:.5rem}.page-head h1{margin:0 0 .2rem}.page-head p{margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel-head h2{margin:0;font-size:1.15rem}.empty-note{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--muted)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.2rem}.stat-tile.accent{border-color:#ffb63d80;background:linear-gradient(160deg,rgba(255,182,61,.12),var(--panel))}.stat-tile-value{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.stat-tile.accent .stat-tile-value{color:var(--cash)}.stat-tile-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pack-thumb{position:relative;width:72px;height:100px;border-radius:8px;background:linear-gradient(150deg,var(--accent),color-mix(in srgb,var(--ink) 70%,black));border:2px solid rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:flex-end;padding:.4rem;overflow:hidden;flex-shrink:0;box-shadow:inset 0 0 20px #00000059}.pack-thumb.lg{width:96px;height:132px}.pack-thumb.box{border-radius:6px;background:linear-gradient(150deg,var(--accent),color-mix(in srgb,var(--ink) 85%,black))}.pack-foil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%);animation:foil 3.5s linear infinite}@keyframes foil{0%{transform:translate(-120%)}to{transform:translate(120%)}}.pack-game{position:relative;font-weight:800;font-size:.72rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);line-height:1}.pack-kind{position:relative;font-size:.52rem;letter-spacing:.06em;color:#ffffffd9;font-weight:700}.shelf-grid,.stock-grid,.order-grid,.open-grid,.market-grid{display:grid;gap:.9rem}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.stock-grid,.market-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.order-grid,.open-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.shelf-card,.stock-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:.85rem;display:flex;gap:.8rem}.shelf-card.empty,.shelf-card.buy-slot{flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:130px;color:var(--muted);gap:.3rem}.shelf-card.empty{border-style:dashed}.shelf-card.buy-slot{background:transparent;border:1px dashed var(--accent);color:var(--accent)}.shelf-card.buy-slot .plus{font-size:1.6rem}.shelf-info{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.shelf-name{font-weight:700;font-size:.92rem}.price-row{display:flex;align-items:center;gap:.35rem;margin-top:auto}.price-row input{width:70px;padding:.35rem .4rem}.vibe{font-size:1.1rem}.mini-controls{display:flex;gap:.5rem}.mini{display:flex;flex-direction:column;font-size:.68rem;color:var(--muted);gap:.15rem}.mini input{width:62px;padding:.3rem .4rem}.order-card,.open-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.order-info{display:flex;flex-direction:column;gap:.35rem;width:100%;align-items:center}.pricing-line{display:flex;justify-content:space-between;width:100%;font-size:.85rem}.price{font-weight:700;font-variant-numeric:tabular-nums}.price.good,.good{color:var(--good)}.margin-badge{font-size:.72rem;background:#43c67a26;color:var(--good);padding:.15rem .5rem;border-radius:999px}.qty-row{display:flex;align-items:center;gap:.35rem}.qty-row input{width:56px;text-align:center;padding:.35rem}.order-card .primary,.open-card .primary{width:100%}.open-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;width:100%}.card-art{position:relative;aspect-ratio:63 / 88;border-radius:8px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line);box-shadow:0 0 0 1px #ffffff05}.card-art img{width:100%;height:100%;object-fit:cover;display:block}.card-sm,.card-md{width:100%}.card-gem{position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px var(--glow);border:1px solid rgba(255,255,255,.6)}.card-back{width:100%;height:100%;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 30%,var(--ink)),var(--ink));display:grid;place-items:center;padding:.4rem}.card-back-frame{border:1px solid rgba(255,255,255,.25);border-radius:6px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.3rem;text-align:center}.card-back-game{font-size:.6rem;font-weight:800;color:#fffc;text-transform:uppercase;letter-spacing:.05em}.card-back-name{font-size:.78rem;font-weight:700;color:#fff;line-height:1.15}.card-back-gem{width:14px;height:14px;border-radius:50%;margin-top:.2rem}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#06080de6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1.5rem;animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.reveal-inner{width:min(880px,100%);max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow)}.reveal-head{text-align:center;margin-bottom:1.2rem}.reveal-head h2{margin:0 0 .2rem}.reveal-grid{display:grid;gap:.7rem;grid-template-columns:repeat(5,1fr)}.reveal-grid.count-6{grid-template-columns:repeat(6,1fr)}.reveal-grid.count-10{grid-template-columns:repeat(5,1fr)}@media (max-width: 640px){.reveal-grid,.reveal-grid.count-6{grid-template-columns:repeat(3,1fr)}}.flip-card{perspective:900px;cursor:pointer;aspect-ratio:63 / 88}.flip-inner{position:relative;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,1.4,.5,1);transform-style:preserve-3d}.flip-card.flipped .flip-inner{transform:rotateY(180deg)}.flip-back,.flip-front{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:8px;overflow:hidden}.flip-back{background:linear-gradient(150deg,#2a3350,#10131f);border:1px solid var(--line);display:grid;place-items:center}.flip-logo{font-size:1.6rem;opacity:.6}.flip-front{transform:rotateY(180deg);display:flex;flex-direction:column;box-shadow:0 0 0 2px var(--glow),0 0 18px color-mix(in srgb,var(--glow) 60%,transparent)}.flip-meta{padding:.3rem;background:var(--panel-2);text-align:center}.flip-name{display:block;font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flip-tier{display:block;font-size:.62rem;color:var(--muted)}.flip-card.pop .flip-inner{animation:pop .6s ease}@keyframes pop{0%{transform:rotateY(180deg) scale(1)}40%{transform:rotateY(180deg) scale(1.12)}to{transform:rotateY(180deg) scale(1)}}.reveal-foot{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.3rem}.filter-row{display:flex;gap:.4rem;flex-wrap:wrap}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .9rem;font-size:.85rem}.chip.active{color:#201400;background:var(--accent);border-color:var(--accent);font-weight:700}.binder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.binder-slot{position:relative;display:flex;flex-direction:column;gap:.35rem}.binder-slot.missing .binder-unknown{aspect-ratio:63 / 88;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;font-size:1.8rem;color:var(--line);background:var(--panel)}.binder-name{font-size:.72rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dup-badge{position:absolute;top:6px;left:6px;background:var(--accent);color:#201400;font-size:.68rem;font-weight:800;padding:.1rem .4rem;border-radius:999px}.dup-badge.sold{background:var(--muted);color:#111}.market-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:.85rem;display:flex;gap:.8rem}.market-card .card-art{width:74px;flex-shrink:0}.market-info{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.market-actions{display:flex;gap:.4rem;margin-top:auto;flex-wrap:wrap}.ranks{width:100%;border-collapse:collapse}.ranks th,.ranks td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.ranks th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.ranks tr.me{background:#ffb63d1a}.toast{position:fixed;bottom:1.3rem;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);color:var(--text);padding:.7rem 1.2rem;border-radius:999px;box-shadow:var(--shadow);z-index:60;animation:toast-in .25s ease;font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}@media (max-width: 560px){.wallet{gap:.6rem}.stat.rep-hide,.tab-label{display:none}.tab-icon{font-size:1.2rem}}
