@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(./manrope-700-BZp_XxE4.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(./manrope-800-BfWYOv1c.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(./poppins-400-cpxAROuN.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(./poppins-500-C8OXljZJ.woff2)format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(./jost-600-C497H-z9.woff2)format("woff2")}:root{--accent:#ffb300;--accent-deep:#eb9500;--rose:#c14e68;--mint:#72cab2;--bg:#15111c;--panel:#241d30;--panel-2:#30273f;--line:#4d416280;--ink:#f4f2f8;--ink-dim:#b8b2c7;--ink-faint:#9c95ac;--heading:"Manrope", system-ui, sans-serif;--body:"Poppins", system-ui, sans-serif;--accent-font:"Jost", system-ui, sans-serif;--t-air:#7ecbe8;--t-earth:#c99a5b;--t-electric:#f4d03f;--t-fire:#f0713a;--t-flora:#7ac974;--t-water:#5aa7e8;--t-plasma:#b57ae8;--err:#ff6b6b;--warn:#ffb347;--ok:#69d3a7;--info:#7ecbe8;--radius:14px;--coach-h:44px;--tabs-h:58px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}html{touch-action:manipulation}body{font-family:var(--body);color:var(--ink);background:radial-gradient(1100px 500px at 80% -80px, #2e1f4799, transparent 60%), radial-gradient(800px 420px at -5% 40%, #3e1e2559, transparent 55%), var(--bg);overscroll-behavior-y:none;line-height:1.55}#root{flex-direction:column;height:100dvh;display:flex}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#1a1622e6;border-radius:9px;padding:.5em .8em}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--heading);letter-spacing:-.01em;margin:0;font-weight:800}.app-header{padding:10px clamp(12px,2vw,22px);padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#15111ce6;flex-wrap:wrap;align-items:center;gap:14px;display:flex}.app-logo{width:auto;height:40px}.app-title{font-family:var(--accent-font);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:600}.header-spacer{flex:1}.deck-switch{align-items:center;gap:8px;min-width:0;display:flex}.deck-switch select{text-overflow:ellipsis;max-width:200px;font-weight:500}.icon-btn{width:36px;height:36px;color:var(--ink-dim);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;place-items:center;transition:all .15s;display:inline-grid}.icon-btn:hover{color:var(--accent);border-color:var(--accent)}.icon-btn.danger:hover{color:var(--err);border-color:var(--err)}.app-main{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr) minmax(300px,.75fr);min-height:0;display:grid}.pane{min-height:0;padding:16px;overflow-y:auto}.pane+.pane{border-left:1px solid var(--line)}.pane-title{font-family:var(--accent-font);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 12px;font-size:.78rem;font-weight:600}.tabs{display:none}@media (max-width:1000px){.app-main{padding-bottom:calc(var(--tabs-h) + var(--coach-h));grid-template-columns:1fr}.pane{display:none}.pane.active{display:block}.pane+.pane{border-left:0}.tabs{height:var(--tabs-h);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:40;padding-bottom:env(safe-area-inset-bottom);background:#131019f5;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{font-family:var(--accent-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.68rem;display:flex;position:relative}.tab.active{color:var(--accent)}.tab .badge{position:absolute;top:6px;right:22%}}.lib-controls{background:linear-gradient(180deg, var(--bg) 82%, transparent);z-index:5;flex-direction:column;gap:10px;margin-bottom:14px;padding:4px 0 10px;display:flex;position:sticky;top:-16px}.lib-search{width:100%}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--accent-font);letter-spacing:.05em;color:var(--ink-dim);background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.4em;padding:.34em .8em;font-size:.74rem;font-weight:500;transition:all .14s;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--ink)}.chip.on{background:var(--accent);border-color:var(--accent);color:#1c1503;font-weight:600}.chip .dot{background:var(--tc,var(--accent));width:.62em;height:.62em;box-shadow:0 0 6px var(--tc,transparent);border-radius:50%}.chip.on .dot{box-shadow:none;outline:1px solid #0006}.lib-meta{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:10px;font-size:.8rem;display:flex}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;display:grid}@media (max-width:480px){.lib-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}}.card-tile{border-radius:6px;position:relative}.card-tile>img{cursor:pointer;aspect-ratio:5/7;background:#211b2c;border-radius:4.5%/3.2%;width:100%;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 10px #09060e99}.card-tile:hover>img{transform:translateY(-4px)scale(1.025);box-shadow:0 10px 26px -6px #06040be6}.card-tile .in-deck{background:var(--accent);color:#1c1503;font-family:var(--heading);pointer-events:none;border-radius:999px;place-items:center;min-width:1.7em;height:1.7em;padding-inline-start:.3em;padding-inline-end:.3em;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:6px;left:6px;box-shadow:0 2px 8px #0008}.card-tile .owned-tag{color:#d9fff1;pointer-events:none;background:#2a6f5deb;border-radius:7px;padding:.12em .5em;font-size:.68rem;font-weight:600;position:absolute;top:6px;right:6px}.tile-actions{opacity:0;pointer-events:none;gap:6px;transition:all .16s;display:flex;position:absolute;bottom:6px;left:6px;right:6px;transform:translateY(4px)}.card-tile:hover .tile-actions,.card-tile:focus-within .tile-actions{opacity:1;pointer-events:auto;transform:none}@media (hover:none){.tile-actions{opacity:1;pointer-events:auto;transform:none}}.tile-btn{height:30px;font-family:var(--heading);color:var(--ink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#130f19d9;border:1px solid #fff3;border-radius:9px;flex:1;place-items:center;font-size:1rem;font-weight:800;display:grid}.tile-btn.add:hover{background:var(--accent);color:#1c1503;border-color:var(--accent)}.tile-btn.sub:hover{background:var(--rose);border-color:var(--rose)}.deck-progress{gap:14px;margin-bottom:14px;display:flex}.progress-pill{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex:1;padding:10px 14px}.progress-pill .label{font-family:var(--accent-font);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.progress-pill .value{font-family:var(--heading);font-size:1.3rem;font-weight:800}.progress-pill .value.over{color:var(--err)}.progress-pill .value.full{color:var(--ok)}.progress-bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.progress-bar>div{background:var(--accent);border-radius:2px;height:100%;transition:width .25s}.progress-bar>div.over{background:var(--err)}.deck-group{margin-bottom:18px}.deck-group-title{font-family:var(--accent-font);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:5px;font-size:.74rem;display:flex}.deck-row{cursor:pointer;border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:5px 6px;transition:background .12s;display:grid}.deck-row:hover{background:#ffffff0d}.deck-row img{aspect-ratio:5/7;background:#211b2c;border-radius:3px;width:34px}.deck-row .info{min-width:0}.deck-row .name{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:500;overflow:hidden}.deck-row .meta{color:var(--ink-faint);align-items:center;gap:.5em;font-size:.7rem;display:flex}.deck-row .meta .tdot{background:var(--tc,var(--ink-faint));border-radius:50%;width:.6em;height:.6em}.deck-row .missing{color:var(--warn)}.count-ctl{align-items:center;gap:7px;display:flex}.count-ctl button{width:24px;height:24px;color:var(--ink-dim);background:#ffffff12;border:1px solid #ffffff21;border-radius:7px;place-items:center;font-size:.9rem;font-weight:700;line-height:1;display:grid}.count-ctl button:hover{color:var(--ink);border-color:var(--accent)}.count-ctl .n{font-family:var(--heading);text-align:center;min-width:1.2em;font-weight:800}.deck-empty{color:var(--ink-faint);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:2.5em 1em;font-size:.88rem}.coach-bar{z-index:35;min-height:var(--coach-h);cursor:pointer;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c1726f7;align-items:center;gap:12px;padding:6px 14px;display:flex;position:sticky;bottom:0}@media (max-width:1000px){.coach-bar{left:0;right:0;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom));position:fixed}}.coach-status{font-family:var(--accent-font);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.5em;font-size:.8rem;font-weight:600;display:inline-flex}.coach-status .lamp{border-radius:50%;width:.75em;height:.75em;box-shadow:0 0 8px}.coach-status.legal{color:var(--ok)}.coach-status.errors{color:var(--err)}.coach-status.warnings{color:var(--warn)}.coach-headline{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.badge{min-width:1.55em;height:1.55em;font-size:.7rem;font-weight:700;font-family:var(--heading);border-radius:999px;place-items:center;padding-inline-start:.3em;padding-inline-end:.3em;display:inline-grid}.badge.err{background:var(--err);color:#2b0505}.badge.warn{background:var(--warn);color:#2b1a00}.badge.info{color:#e8f7ff;background:#3d748f}.coach-panel{border-top:1px solid var(--line);background:#1a1523;max-height:46dvh;overflow-y:auto}@media (max-width:1000px){.coach-panel{left:0;right:0;bottom:calc(var(--tabs-h) + var(--coach-h) + env(safe-area-inset-bottom));z-index:34;position:fixed;box-shadow:0 -14px 40px #000a}}.issue{border-bottom:1px solid #3c334d80;grid-template-columns:34px 1fr;gap:10px;padding:12px 16px;display:grid}.issue:last-child{border-bottom:0}.issue-icon{border-radius:9px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.issue-icon.error{color:var(--err);background:#82171780}.issue-icon.warn{color:var(--warn);background:#8a570f73}.issue-icon.info{color:var(--info);background:#1f5c7a66}.issue .msg{font-size:.88rem;font-weight:500}.issue .guide{color:var(--ink-faint);margin-top:2px;font-size:.8rem}.coach-all-clear{color:var(--ok);align-items:center;gap:.6em;padding:18px 16px;font-size:.88rem;display:flex}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:18px;display:grid}.stat-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px}.stat-tile .label{font-family:var(--accent-font);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);font-size:.64rem}.stat-tile .value{font-family:var(--heading);font-size:1.35rem;font-weight:800}.chart-block{margin-bottom:20px}.chart-title{font-family:var(--accent-font);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:9px;font-size:.72rem}.hbar-row{grid-template-columns:74px 1fr 2em;align-items:center;gap:9px;margin-bottom:6px;font-size:.8rem;display:grid}.hbar-row .lbl{color:var(--ink-dim);align-items:center;gap:.45em;display:flex}.hbar-row .lbl .tdot{background:var(--tc,var(--accent));border-radius:50%;flex:none;width:.6em;height:.6em}.hbar-track{background:#ffffff0f;border-radius:4px;height:12px;overflow:hidden}.hbar-fill{background:var(--tc,var(--accent));border-radius:0 4px 4px 0;min-width:2px;height:100%}.hbar-row .num{font-family:var(--heading);text-align:right;color:var(--ink-dim);font-size:.78rem;font-weight:700}.curve{align-items:flex-end;gap:6px;height:110px;padding-top:16px;display:flex}.curve .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.curve .bar{background:linear-gradient(#ffbc1f,#eb9500);border-radius:4px 4px 0 0;width:100%;max-width:34px;min-height:3px}.curve .n{font-size:.68rem;font-family:var(--heading);color:var(--ink-dim);font-weight:700}.curve .x{color:var(--ink-faint);font-size:.68rem}.missing-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.missing-row{border-bottom:1px solid #3c334d73;justify-content:space-between;gap:10px;padding:8px 12px;font-size:.82rem;display:flex}.missing-row:last-child{border-bottom:0}.missing-row .need{color:var(--warn);white-space:nowrap;font-weight:600}.shop-cta{font-family:var(--accent-font);letter-spacing:.08em;text-transform:uppercase;color:#1c1503;background:linear-gradient(#ffbc1f,#eb9500);border-radius:999px;align-items:center;gap:.5em;margin-top:12px;padding:.6em 1.3em;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.switch{cursor:pointer;color:var(--ink-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:#ffffff24;border-radius:999px;flex:none;width:34px;height:19px;transition:background .18s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .18s;position:absolute;top:2px;left:2px}.switch input:checked+.track{background:var(--mint)}.switch input:checked+.track:after{transform:translate(15px)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:60;background:#09070ed1;place-items:center;padding:18px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.card-sheet{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;grid-template-columns:minmax(230px,330px) minmax(260px,1fr);gap:24px;width:100%;max-width:780px;padding:clamp(16px,3vw,28px);display:grid;position:relative;box-shadow:0 30px 80px -20px #000}@media (max-width:640px){.card-sheet{grid-template-columns:1fr;justify-items:center}}.holo-wrap{perspective:900px}.holo-card{will-change:transform;border-radius:4.5%/3.2%;width:100%;transition:transform .12s ease-out}.sheet-close{color:var(--ink-faint);font-size:1.7rem;line-height:1;position:absolute;top:10px;right:14px}.sheet-close:hover{color:var(--ink)}.sheet-info{width:100%;min-width:0}.sheet-info h2{margin-bottom:4px}.sheet-meta{flex-wrap:wrap;gap:7px;margin:8px 0 14px;display:flex}.sheet-meta .chip{pointer-events:none}.stat-line{gap:20px;margin-bottom:12px;display:flex}.stat-line div{flex-direction:column;display:flex}.stat-line .k{font-family:var(--accent-font);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:.64rem}.stat-line .v{font-family:var(--heading);font-size:1.15rem;font-weight:800}.ability{border-left:3px solid var(--accent);background:#ffffff0a;border-radius:0 9px 9px 0;margin-bottom:8px;padding:7px 11px;font-size:.84rem}.ability .head{justify-content:space-between;gap:8px;font-weight:600;display:flex}.ability .kind-tag{font-family:var(--accent-font);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.64rem}.ability.passive{border-color:var(--mint)}.ability.support{border-color:var(--t-water)}.ability.text{border-color:var(--ink-faint)}.ability .txt{color:var(--ink-dim);margin-top:2px;font-size:.78rem}.placeholder-note{color:var(--ink-faint);margin:8px 0 12px;font-size:.7rem;font-style:italic}.lineage-note{color:var(--ink-dim);margin:4px 0 8px;font-size:.78rem}.printings-note{font-family:var(--accent-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 10px;font-size:.7rem}.sheet-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.own-ctl{color:var(--ink-dim);align-items:center;gap:8px;font-size:.78rem;display:flex}.own-ctl input{text-align:center;width:4.2em;padding:.3em}.toasts{z-index:80;flex-direction:column;gap:8px;width:min(460px,100vw - 24px);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line);background:#1f1929f7;border-radius:13px;grid-template-columns:30px 1fr auto;align-items:start;gap:10px;padding:10px 12px;animation:.22s toast-in;display:grid;box-shadow:0 14px 40px -8px #000c}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.toast .t-icon{border-radius:8px;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.toast.block .t-icon{color:var(--err);background:#82171780}.toast.warn .t-icon{color:var(--warn);background:#8a570f73}.toast.ok .t-icon{color:var(--ok);background:#19664d80}.toast .t-msg{font-size:.84rem;font-weight:500}.toast .t-guide{color:var(--ink-faint);margin-top:2px;font-size:.75rem}.toast .t-close{color:var(--ink-faint);font-size:1.1rem}.menu{background:var(--panel-2);border:1px solid var(--line);z-index:50;border-radius:12px;min-width:210px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 18px 50px -12px #000}.menu button{text-align:left;align-items:center;gap:9px;width:100%;padding:10px 14px;font-size:.85rem;display:flex}.menu button:hover{background:#ffffff0f}.menu .sep{background:var(--line);height:1px;margin:4px 0}.menu button.danger{color:var(--err)}.empty-state{text-align:center;color:var(--ink-faint);padding:3em 1em}.spin{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:24vh auto 0;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hover-preview{z-index:70;pointer-events:none;perspective:1000px;animation:.16s ease-out hp-in;position:fixed}.hover-preview img{transform-origin:50%;border-radius:4.5%/3.2%;width:340px;height:auto;transition:transform .25s;box-shadow:0 24px 70px -14px #000e,0 0 0 1px #ffffff14}@keyframes hp-in{0%{opacity:0;transform:scale(.92)}}@media (hover:none),(max-width:1000px){.hover-preview{display:none}}.card-tile[draggable],.deck-row[draggable]{-webkit-user-drag:element}.card-tile:active{cursor:grabbing}.pane.drop-add{outline:2px dashed var(--accent);outline-offset:-6px;background:#ffb3000a}.pane.drop-remove{outline:2px dashed var(--rose);outline-offset:-6px;background:#c14e680d}.pane.drop-add .deck-empty{border-color:var(--accent);color:var(--accent)}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media print{img{visibility:hidden!important}}.view-toggle{font-family:var(--accent-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;border:1px solid #ffffff2e;border-radius:999px;padding:.5em 1.1em;font-size:.78rem;font-weight:600;transition:all .15s}.view-toggle:hover{border-color:var(--accent);color:var(--accent)}.view-toggle.on{background:var(--accent);border-color:var(--accent);color:#1c1503}.collection-main{grid-template-columns:1fr!important}.collection-main .pane{width:100%;max-width:1100px;margin:0 auto;display:block}.card-tile.unowned>img{filter:grayscale(.85)brightness(.55)}.card-tile.unowned:hover>img{filter:grayscale(.4)brightness(.8)}.own-stepper{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#130f19d9;border:1px solid #ffffff29;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:3px 6px;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.own-stepper button{width:26px;height:24px;font-family:var(--heading);color:var(--ink-dim);border-radius:7px;place-items:center;font-weight:800;display:grid}.own-stepper button:hover:not(:disabled){color:var(--accent);background:#ffffff14}.own-stepper button:disabled{opacity:.3;cursor:default}.own-stepper span{font-family:var(--heading);text-align:center;min-width:1.6em;color:var(--ink-faint);font-weight:800}.own-stepper span.have{color:var(--mint)}.scan-btn{font-family:var(--accent-font);letter-spacing:.07em;text-transform:uppercase;color:#1c1503;background:linear-gradient(#ffbc1f,#eb9500);border-radius:999px;align-items:center;gap:.5em;padding:.65em 1.2em;font-size:.82rem;font-weight:600;transition:transform .15s;display:inline-flex;box-shadow:0 4px 16px -4px #ffb30080}.scan-btn:hover{transform:translateY(-2px)}.scanner-backdrop{align-items:flex-start}.scanner{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;width:min(560px,100%);margin-top:4vh;padding:16px;box-shadow:0 30px 80px -20px #000}.scanner-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.scanner-head strong{font-family:var(--heading);font-size:1.1rem}.scan-counter{font-family:var(--accent-font);letter-spacing:.06em;color:#1c1503;background:var(--mint);border-radius:999px;margin-left:auto;padding:.3em .9em;font-size:.8rem;font-weight:600}.scanner-stage{aspect-ratio:4/3;background:#000;border-radius:14px;position:relative;overflow:hidden}.scanner-stage video{object-fit:cover;width:100%;height:100%}.scan-guide{aspect-ratio:5/7;border:3px dashed #ffffffa6;border-radius:12px;place-items:center;height:86%;transition:border-color .2s,box-shadow .2s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-guide.hit{border-color:var(--ok);box-shadow:0 0 0 4000px #29a37a1f, 0 0 24px var(--ok);border-style:solid}.scan-hint{color:var(--ink-dim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#130f19bf;border-radius:999px;padding:.4em .9em;font-size:.78rem}.scan-match{color:#dcfff0;white-space:nowrap;background:#19664df2;border-radius:999px;padding:.5em 1.2em;font-size:.9rem;font-weight:600;animation:.2s toast-in;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.scanner-error{color:var(--warn);padding:1.5em .5em;font-size:.9rem}.scanner-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.scanner-manual{flex-direction:column;gap:6px;margin-top:10px;display:flex}.manual-row{text-align:left;border-radius:10px;align-items:center;gap:10px;padding:6px 8px;font-size:.86rem;display:flex}.manual-row:hover{background:#ffffff12}.manual-row img{border-radius:3px}.manual-add{color:var(--mint);font-family:var(--heading);margin-left:auto;font-weight:800}.scanner-note{color:var(--ink-faint);margin:12px 0 0;font-size:.7rem}.scan-fly{z-index:90;pointer-events:none;opacity:0;object-fit:cover;border-radius:8px;position:fixed;box-shadow:0 18px 50px -10px #000}.auth-sheet{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;width:min(420px,100%);max-height:92dvh;padding:clamp(20px,4vw,30px);position:relative;overflow-y:auto;box-shadow:0 30px 80px -20px #000}.auth-sheet h2{margin-bottom:4px}.auth-sub{color:var(--ink-dim);margin:0 0 16px;font-size:.86rem}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form label{font-family:var(--accent-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;gap:5px;font-size:.72rem;display:flex}.auth-form input{font-size:1rem}.totp-input{font-family:var(--heading);letter-spacing:.35em;text-align:center;font-size:1.3rem!important}.auth-error{color:var(--err);margin:0;font-size:.84rem}.auth-submit{font-family:var(--accent-font);letter-spacing:.07em;text-transform:uppercase;color:#1c1503;background:linear-gradient(#ffbc1f,#eb9500);border-radius:999px;padding:.8em 1.4em;font-weight:600;transition:transform .15s;box-shadow:0 4px 16px -4px #ffb30080}.auth-submit:hover:not(:disabled){transform:translateY(-2px)}.auth-submit:disabled{opacity:.6}.auth-submit.danger{color:#fff;box-shadow:none;background:linear-gradient(#cf5974,#b03b56)}.auth-or{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:12px;margin:16px 0;font-size:.75rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.google-btn-slot{justify-content:center;min-height:44px;display:flex}.auth-links{flex-direction:column;gap:6px;margin-top:16px;display:flex}.auth-links button{color:var(--mint);text-align:left;padding:2px 0;font-size:.82rem}.auth-links button:hover{color:var(--accent)}.sec-title{color:var(--ink);margin:20px 0 6px;font-size:1rem}.mfa-qr{background:#fff;border-radius:10px;width:180px;margin:0 auto;padding:8px}.mfa-secret{color:var(--ink-faint);text-align:center;word-break:break-all;font-size:.72rem}.mfa-secret code{color:var(--mint)}.acct-btn{color:#1c1503;width:38px;height:38px;font-family:var(--heading);background:linear-gradient(#ffbc1f,#eb9500);border-radius:50%;place-items:center;font-weight:800;display:grid;position:relative;overflow:visible}.acct-btn img{object-fit:cover;border-radius:50%;width:38px;height:38px}.sync-dot{border:2px solid var(--bg);background:var(--ink-faint);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.sync-dot.synced{background:var(--ok)}.sync-dot.syncing{background:var(--warn);animation:1s infinite pulse}.sync-dot.error{background:var(--err)}@keyframes pulse{50%{opacity:.4}}.menu-user{flex-direction:column;gap:2px;padding:10px 14px;display:flex}.menu-user strong{font-size:.9rem}.menu-user span{color:var(--ink-faint);font-size:.74rem}.sync-label.synced{color:var(--ok)}.sync-label.syncing{color:var(--warn)}.sync-label.error{color:var(--err)}.signin-btn{color:#1c1503;background:linear-gradient(#ffbc1f,#eb9500);border:0}.signin-btn:hover{color:#1c1503}.testdraw{background:var(--panel-2);border:1px solid var(--line);border-radius:20px;width:min(680px,100%);padding:18px;position:relative;box-shadow:0 30px 80px -20px #000}.td-meta{color:var(--ink-faint);margin-left:auto;font-size:.76rem}.td-hand{flex-wrap:wrap;justify-content:center;row-gap:20px;min-height:170px;padding:26px 8px 14px;display:flex}.td-card{width:clamp(72px,13%,108px);transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 4deg)) translateY(calc(((var(--i) - (var(--n) - 1) / 2) * (var(--i) - (var(--n) - 1) / 2)) * 2.2px));z-index:var(--i);animation:.3s backwards td-deal;animation-delay:calc(var(--i) * 60ms);margin-inline-start:calc(-1*min(1.2vw,8px));margin-inline-end:calc(-1*min(1.2vw,8px));padding:0;transition:transform .18s,z-index;position:relative}.td-card:hover{z-index:30;transform:translateY(-14px)scale(1.12)}.td-card:focus-visible{z-index:30;transform:translateY(-14px)scale(1.12)}.td-card img{border-radius:6px;box-shadow:0 6px 18px -4px #000c}@keyframes td-deal{0%{opacity:0;transform:translateY(30px)scale(.7)rotate(0)}}.td-info{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px;display:flex}.td-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.td-handsize{font-family:var(--accent-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:8px;font-size:.72rem;display:inline-flex}.td-handsize select{padding:.35em .6em}.testdraw-btn{font-family:var(--accent-font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;border:1px solid #ffffff2e;border-radius:999px;padding:.45em 1em;font-size:.72rem;font-weight:600;transition:all .15s}.testdraw-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.testdraw-btn:disabled{opacity:.4;cursor:default}.rating-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-tile-label{font-family:var(--accent-font);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);font-size:.64rem}.rating-score{font-family:var(--heading);background:linear-gradient(#ffc233,#eb9500);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.4rem;font-weight:800;line-height:1}.rating-best{text-align:right;flex-direction:column;gap:2px;display:flex}.rating-best strong{font-family:var(--heading);color:var(--mint);font-size:1.25rem;font-weight:800}.serial-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.serial-hint{color:var(--ink-dim);margin:0 0 10px;font-size:.8rem}.serial-form{gap:10px;display:flex}.serial-form input{font-family:var(--heading);letter-spacing:.08em;text-transform:uppercase;flex:1}.serial-form .auth-submit{padding:.6em 1.3em}.td-mulligan{border:1px solid var(--warn);color:var(--warn);background:#8a570f59;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:8px 14px;font-size:.86rem;font-weight:500;display:flex}.td-mulligan .view-toggle{border-color:var(--warn);color:var(--warn)}.serial-prompt{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1523f7;border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:auto;bottom:10px;left:10px;right:10px}.serial-prompt-head{align-items:center;gap:10px;display:flex}.serial-prompt-head img{border-radius:4px}.serial-prompt-head strong{font-size:.9rem;display:block}.serial-prompt-head span{color:var(--ink-faint);font-size:.74rem}.serial-prompt-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:1000px){.app-header .view-toggle:not(.signin-btn){display:none}}@media (pointer:coarse){.count-ctl{gap:4px}.count-ctl button{border-radius:11px;width:42px;height:42px;font-size:1.15rem}.own-stepper{gap:4px;padding:4px}.own-stepper button{width:42px;height:40px;font-size:1.1rem}.tile-btn{height:44px;font-size:1.15rem}.icon-btn{width:44px;height:44px}.chip,.fchip{min-height:40px;padding:.45em 1.05em;font-size:.82rem}.sheet-close{place-items:center;width:44px;height:44px;display:grid}.testdraw-btn{min-height:42px;padding:.5em 1.1em}.switch{padding:8px 0}.switch .track{width:42px;height:24px}.switch .track:after{width:20px;height:20px}.switch input:checked+.track:after{transform:translate(18px)}.auth-links button{align-items:center;min-height:42px;display:flex}.gallery-thumbs button{width:64px;height:64px}.deck-row{padding:8px 6px}.menu button{min-height:46px}.hero-dots button{width:14px;height:14px}.td-handsize select{min-height:42px}.scanner-actions .chip{flex:1;justify-content:center}}@media (max-width:640px){.modal-backdrop{place-items:flex-end center;padding:0}.card-sheet,.auth-sheet,.scanner,.testdraw{width:100%;max-width:none;max-height:92dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-bottom:0;border-radius:22px 22px 0 0;margin:0;animation:.28s cubic-bezier(.2,.8,.3,1) sheet-up;overflow-y:auto}.card-sheet:before,.auth-sheet:before,.scanner:before,.testdraw:before{content:"";background:#ffffff40;border-radius:2px;width:42px;height:4px;margin:0 auto 14px;display:block}.scanner{margin-top:0}.sheet-actions,.td-actions,.scanner-actions{background:linear-gradient(180deg, transparent, var(--panel-2) 30%);padding-top:10px;position:sticky;bottom:0}.td-actions .auth-submit{flex:100%;order:-1;min-height:48px}.buy-row .btn{min-height:48px}}@keyframes sheet-up{0%{opacity:.4;transform:translateY(40%)}}@media (prefers-reduced-motion:reduce){@keyframes sheet-up{0%{transform:none}}}.collection-fab{right:18px;bottom:calc(var(--coach-h) + 18px);z-index:38;font-family:var(--accent-font);letter-spacing:.07em;text-transform:uppercase;color:#1c1503;background:linear-gradient(#ffbc1f,#eb9500);border-radius:999px;align-items:center;gap:.55em;min-height:52px;padding:.95em 1.5em;font-size:.92rem;font-weight:600;transition:transform .15s;display:inline-flex;position:fixed;box-shadow:0 10px 30px -6px #e6a1008c,0 4px 14px #0008}.collection-fab:hover{transform:translateY(-2px)}.collection-fab:active{transform:scale(.97)}@media (max-width:1000px){.collection-fab{bottom:calc(var(--tabs-h) + var(--coach-h) + 16px + env(safe-area-inset-bottom))}}.scanner-note,.deck-row .meta,.menu-user span,.mfa-secret{font-size:.78rem}.stat-tile .label,.chart-title,.filter-title,.progress-pill .label{font-size:.7rem}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.card-tile img:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.deck-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.collection-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@media (max-width:640px){.scanner-stage{aspect-ratio:3/4}.scan-guide{height:78%}.scanner-head{flex-wrap:wrap;row-gap:4px}}.collection-main .pane{padding-bottom:110px}.filters-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters-toggle{font-family:var(--accent-font);letter-spacing:.06em;min-height:40px;color:var(--ink-dim);background:#ffffff0f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.5em;padding:.5em 1em;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.filters-toggle:hover{border-color:var(--accent);color:var(--ink)}.filters-toggle.has-active{border-color:var(--accent);color:var(--accent)}.filters-clear{color:var(--rose);min-height:40px;padding:0 .5em;font-size:.78rem}.filters-clear:hover{text-decoration:underline}.lib-count{color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:.8rem}.filters-bar .switch{flex:none}@keyframes tp-pop{0%{opacity:0;transform:scale(.85)}}@keyframes fade-in{0%{opacity:0}}.card-tile.peek{z-index:45}.card-tile.peek>img{transform-origin:var(--peek-origin,center bottom);transition:transform .24s cubic-bezier(.2,.8,.3,1.15),box-shadow .24s;transform:translateY(-14px)scale(1.9);box-shadow:0 26px 60px -8px #000e,0 0 0 1px #ffffff1f}.deck-row.peek{z-index:45;background:#ffffff0d}.deck-row.peek img{transform-origin:0;z-index:46;border-radius:4px;transition:transform .24s cubic-bezier(.2,.8,.3,1.15);position:relative;transform:scale(3.6)translate(4px);box-shadow:0 14px 40px -6px #000e}.deck-row img{transition:transform .2s}.td-card.peek{z-index:40;transform:translateY(-36px)scale(2.05)!important}.touch-full-backdrop{z-index:66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09070ec7;place-items:center;padding:20px;animation:.16s fade-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.touch-full{flex-direction:column;align-items:center;gap:14px;animation:.24s cubic-bezier(.2,.8,.3,1.12) tp-pop;display:flex}.touch-full img{object-fit:contain;border-radius:4.5%/3.2%;width:min(88vw,420px);max-height:74dvh;box-shadow:0 34px 90px -12px #000,0 0 0 1px #ffffff1a}.touch-full-actions{gap:12px;display:flex}.touch-full-actions .view-toggle{min-height:44px;padding:.6em 1.6em}@media (hover:none){.card-tile:hover>img{transform:none;box-shadow:0 2px 10px #09060e99}.tile-btn.add:hover{color:var(--ink);background:#130f19d9;border-color:#fff3}.tile-btn.sub:hover{background:#130f19d9;border-color:#fff3}.deck-row:hover{background:0 0}.deck-row.peek:hover,.deck-row.peek{background:#ffffff0d}.chip:hover{color:var(--ink-dim);border-color:#ffffff24}.chip.on:hover{border-color:var(--accent);color:#1c1503}.fchip:hover{color:var(--ink-dim);border-color:#ffffff26}.icon-btn:hover{color:var(--ink-dim);border-color:#ffffff1f}.view-toggle:hover{color:var(--ink-dim);border-color:#ffffff2e}.view-toggle.on:hover{border-color:var(--accent);color:#1c1503}.signin-btn:hover{color:#1c1503}.filters-toggle:hover{color:var(--ink-dim);border-color:#ffffff29}.filters-toggle.has-active:hover{border-color:var(--accent);color:var(--accent)}.count-ctl button:hover{color:var(--ink-dim);border-color:#ffffff21}.own-stepper button:hover:not(:disabled){color:var(--ink-dim);background:0 0}.testdraw-btn:hover:not(:disabled){color:var(--ink-dim);border-color:#ffffff2e}.collection-fab:hover,.auth-submit:hover:not(:disabled){transform:none}.td-card:hover{transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 4deg)) translateY(calc(((var(--i) - (var(--n) - 1) / 2) * (var(--i) - (var(--n) - 1) / 2)) * 2.2px));z-index:var(--i)}.td-card:focus-visible{transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * 4deg)) translateY(calc(((var(--i) - (var(--n) - 1) / 2) * (var(--i) - (var(--n) - 1) / 2)) * 2.2px));z-index:var(--i)}.td-card.peek,.td-card.peek:hover{z-index:40;transform:translateY(-36px)scale(2.05)!important}.menu button:hover,.manual-row:hover{background:0 0}.dl-card:hover{color:var(--ink);transform:none}.gallery-thumbs button:hover{border-color:#0000}.gallery-thumbs button.on{border-color:var(--accent)}.qty-btn:hover{border-color:var(--line);color:var(--ink)}.sheet-close:hover,.modal-close:hover,.t-close:hover{color:var(--ink-faint)}.auth-links button:hover{color:var(--mint)}.filters-clear:hover{text-decoration:none}.social a:hover{transform:none}.tile-btn:active,.chip:active,.fchip:active,.icon-btn:active,.count-ctl button:active,.own-stepper button:active{filter:brightness(1.3);transform:scale(.94)}.collection-fab:active{transform:scale(.97)}}.card-tile.peek>img,.card-tile.peek:hover>img{transform-origin:var(--peek-origin,center bottom);transform:translateY(-14px)scale(1.9);box-shadow:0 26px 60px -8px #000e,0 0 0 1px #ffffff1f}.deck-row.peek img,.deck-row.peek:hover img{transform-origin:0;transform:scale(3.6)translate(4px)}.card-tile.peek .tile-actions,.card-tile.peek .own-stepper{opacity:0;pointer-events:none}.card-tile.peek .in-deck,.card-tile.peek .owned-tag{opacity:0}.card-tile.peek>img{z-index:5;position:relative}.tab-icon{object-fit:contain;filter:grayscale(.75)brightness(1.6)contrast(.9)opacity(.65);width:24px;height:24px;transition:filter .18s,transform .18s}.tab.active .tab-icon{filter:none;transform:scale(1.12)}.btn-icon{object-fit:contain;vertical-align:-3px;width:17px;height:17px;margin-right:2px;display:inline-block}.view-toggle,.testdraw-btn{align-items:center;gap:5px;display:inline-flex}.scan-suggest{border:1px solid var(--warn);white-space:nowrap;background:#1a1523f5;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 16px);padding:6px 8px 6px 6px;font-size:.8rem;animation:.2s toast-in;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.scan-suggest img{border-radius:4px}.scan-suggest span{text-overflow:ellipsis;overflow:hidden}.scan-debugline{color:#7f7;background:#000a;border-radius:6px;padding:2px 6px;font-family:monospace;font-size:10px;position:absolute;top:6px;left:6px}
/*$vite$:1*/