@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ef5d55;--bg:#15120f;--surface:#1e1a16;--surface-2:#29231d;--line:#373027;--line-strong:#4a4136;--tooltip:#2e2820;--text:#f2ebe0;--muted:#a0968a;--accent:#d0552b;--accent-hover:#e26a40;--gold:#ffc94d;--good:#7bd88f;--radius:14px;font-family:Outfit Variable,system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}svg.lucide{vertical-align:-2px;flex:none}body{-webkit-user-select:none;user-select:none;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}.muted{color:var(--muted);font-size:.85rem}.app{min-height:100vh}.topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;max-width:1200px;margin:0 auto;padding:12px 20px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:flex}.brand-mark{background:var(--accent);border-radius:8px;place-items:center;width:30px;height:30px;font-size:1rem;display:grid}.stats{flex-wrap:wrap;gap:8px;display:flex}.stat{background:var(--surface-2);border-radius:10px;flex-direction:column;justify-content:center;min-width:92px;padding:6px 14px;display:flex}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600}.stat b{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.stat small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.stat.gold{background:color-mix(in srgb, var(--gold) 14%, var(--surface-2))}.stat.gold b{color:var(--gold)}main{flex-direction:column;gap:36px;max-width:1200px;margin:0 auto;padding:24px 20px 8px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.section-head h2{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.section-head .muted{margin-top:2px;font-weight:400;display:block}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:600;transition:background .12s,transform .12s}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.btn.small{padding:7px 12px;font-size:.82rem}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn.ghost:hover:not(:disabled){background:var(--line)}.btn.ghost:disabled{color:var(--muted)}.link{color:var(--muted);background:0 0;border:0;font-size:.8rem;text-decoration:underline}.seg{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 16px;font-size:.85rem;font-weight:700}.seg button.active{background:var(--accent);color:#fff}.seg button:not(.active):hover{color:var(--text)}.cost{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9rem;font-weight:700}.bar{background:var(--surface-2);border-radius:99px;gap:2px;height:6px;display:flex;overflow:hidden}.bar i{min-width:3px;display:block}.bonuses{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.bonuses:empty{display:none}.bonuses span{background:var(--surface-2);border-radius:99px;align-items:center;gap:5px;padding:4px 12px;font-size:.78rem;font-weight:500;display:inline-flex}.slots{flex-wrap:wrap;gap:8px;display:flex}.slot{background:color-mix(in srgb, var(--c) 10%, var(--surface));border:2px solid var(--c);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:84px;height:92px;transition:background .12s;display:flex;position:relative}.slot:hover{background:color-mix(in srgb, var(--c) 20%, var(--surface))}.slot .emoji{font-size:1.9rem;line-height:1}.slot small{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:600}.slot.empty{border:2px dashed var(--line-strong);background:var(--surface);color:var(--line-strong);font-size:1.4rem;font-weight:300}.slot.empty:hover{background:var(--surface)}.stars{color:var(--gold);letter-spacing:-1px;font-size:.68rem}.slot .stars{position:absolute;top:5px;right:6px}.ab-dot{font-size:.68rem;position:absolute;top:5px;left:6px}.equip-recap{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.equip-recap-col{flex:1;min-width:240px}.equip-recap .section-head{margin-bottom:10px}.equip-recap .section-head h3{font-size:1rem}.mini-slots{flex-wrap:wrap;gap:8px;display:flex}.mini-slots:empty:before{content:""}.slot.mini{cursor:default}.slot.mini:hover{background:color-mix(in srgb, var(--c) 10%, var(--surface))}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.card{background:var(--surface);border:2px solid var(--c);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;height:100%;padding:14px 10px 10px;transition:background .12s;display:flex;position:relative}.card.equippable{cursor:pointer}.card.equippable:hover{background:var(--surface-2)}.card.locked{border-color:var(--line);opacity:.45}.badge-emoji{background:color-mix(in srgb, var(--c) 16%, var(--surface-2));border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:4px;font-size:1.7rem;display:grid}.card .name{justify-content:center;align-items:center;height:2.4em;font-size:.82rem;font-weight:600;line-height:1.2;display:flex;overflow:hidden}.chip{text-transform:uppercase;letter-spacing:.06em;color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border-radius:99px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-block}.card .inc{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.ability{color:var(--good);margin-bottom:6px;font-size:.72rem;line-height:1.3}.pill{background:var(--surface-2);border-radius:99px;padding:2px 7px;font-size:.68rem;font-weight:700;position:absolute;top:8px}.pill.count{color:var(--gold);right:8px}.pill.eq{left:8px}.fuse{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:100%;margin-top:auto;padding:5px;font-size:.72rem;font-weight:600;position:relative;overflow:hidden}.fuse span{z-index:1;position:relative}.fuse i{background:color-mix(in srgb, var(--accent) 35%, transparent);position:absolute;inset:0 auto 0 0}.fuse:disabled{cursor:default;color:var(--muted)}.fuse:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.fuse:not(:disabled) i{display:none}.fuse:not(:disabled):hover{background:var(--accent-hover)}.total{margin-top:12px}footer{text-align:center;padding:28px 0 32px}.overlay{z-index:10;cursor:pointer;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0c0a08d6;place-items:center;display:grid;position:fixed;inset:0}.reveal{background:var(--surface);border:2px solid var(--c);text-align:center;cursor:default;border-radius:18px;flex-direction:column;align-items:center;gap:8px;width:min(340px,92vw);padding:26px 22px 22px;display:flex}.reveal-badge{background:color-mix(in srgb, var(--c) 16%, var(--surface-2));border-radius:50%;place-items:center;width:120px;height:120px;margin:6px 0;font-size:4rem;display:grid}.reveal-name{letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.reveal .chip{padding:3px 12px;font-size:.72rem}.reveal .ability{font-size:.85rem}.reveal .btn{width:100%;margin-top:10px}.new{background:var(--gold);color:#1a1400;letter-spacing:.04em;border-radius:99px;padding:2px 10px;font-size:.72rem;font-weight:800}.reveal.multi{width:min(580px,94vw)}.reveal-title{font-size:1.05rem;font-weight:700}.multi-grid{grid-template-columns:repeat(5,1fr);gap:8px;width:100%;margin:6px 0;display:grid}.mini{background:color-mix(in srgb, var(--c) 14%, var(--surface-2));border:2px solid var(--c);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 2px 6px;display:flex;position:relative}.mini .emoji{font-size:1.8rem;line-height:1.1}.mini small{color:var(--c);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;font-weight:700}.mini .ab-dot{top:4px;left:4px}.mini-new{background:var(--gold);color:#1a1400;border-radius:99px;padding:1px 5px;font-size:.55rem;font-weight:800;position:absolute;top:-7px;right:-4px}@media (width<=480px){.multi-grid{grid-template-columns:repeat(4,1fr)}.stat{min-width:80px}}.stars-row{color:var(--gold);letter-spacing:1px;height:1em;font-size:.75rem;line-height:1}.card .badge-emoji+.name+.stars-row{margin-top:2px}.topbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mute{background:var(--surface-2);border:0;border-radius:10px;width:40px;height:40px;font-size:1.1rem}.mute:hover{background:var(--line)}.tip-wrap{display:inline-flex}.tooltip{z-index:30;background:var(--tooltip);border:1px solid var(--line-strong);pointer-events:none;border-radius:10px;flex-direction:column;gap:4px;max-width:260px;padding:10px 12px;font-size:.78rem;line-height:1.4;transition:opacity .1s;display:flex;position:fixed}.tt-title{align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.tt-tags{align-items:center;gap:6px;display:flex}.tt-item{flex-direction:column;gap:4px;display:flex}.tt-row{color:var(--muted)}.tt-row b{color:var(--gold);font-weight:700}.tt-muted{color:var(--muted)}.tt-hint{border-top:1px solid var(--line);color:var(--text);margin-top:2px;padding-top:6px;font-weight:600}.tooltip .ability{margin-bottom:0}.shiny:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff38 50%,#0000 60%) 100% 0/300% 100%;animation:3.4s ease-in-out infinite shine;position:absolute;inset:0}@keyframes shine{0%,55%{background-position:100% 0}to{background-position:0 0}}.shiny-chip{color:#1a1400;background:var(--gold)}.shiny-dot{font-size:.7rem;position:absolute;bottom:5px;right:6px}.mini .shiny-dot{bottom:3px;right:4px}.stars-row b{letter-spacing:.04em;font-weight:800}.mini.shiny .mini-new{top:2px;right:2px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 4px;font-size:.82rem;font-weight:600;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{background:var(--line);border-radius:99px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.switch .track:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{background:#fff;transform:translate(16px)}.switch input:focus-visible+.track{outline:2px solid var(--accent-hover);outline-offset:2px}.prestige-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:18px;display:flex}.prestige-info{flex-direction:column;flex:320px;gap:8px;display:flex}.prestige-info h3{font-size:1rem}.progress{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.progress i{background:var(--accent);border-radius:99px;height:100%;transition:width .25s;display:block}.upgrades{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.upgrade{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.upgrade .btn{margin-top:auto}.upgrade-head{align-items:center;gap:10px;display:flex}.upgrade-head h3{font-size:.92rem}.upgrade-icon{background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:1.3rem;display:grid}.upgrade-effect{color:var(--good);font-size:.82rem;font-weight:600}.card.seen{opacity:.55}.section-head h2{font-size:1.2rem}.brand{font-size:1.25rem}.reveal.welcome{width:min(380px,92vw)}.welcome-gain{color:var(--gold);margin:6px 0;font-size:2.2rem;font-weight:700}.reveal.confirm{width:min(440px,94vw)}.confirm .reveal-title{font-size:1.3rem}.confirm-actions{gap:10px;width:100%;margin-top:8px;display:flex}.confirm-actions .btn{flex:1;margin-top:0}.btn.danger{background:var(--danger)}.btn.danger:hover:not(:disabled){background:#ff7d89}.confirm-rows{flex-direction:column;gap:6px;width:100%;display:flex}.confirm-rows>div{background:var(--surface-2);text-align:left;border-radius:10px;justify-content:space-between;gap:12px;padding:8px 12px;font-size:.85rem;display:flex}.confirm-lists{text-align:left;grid-template-columns:1fr 1fr;gap:12px;width:100%;font-size:.8rem;display:grid}.confirm-lists ul{color:var(--muted);flex-direction:column;gap:3px;margin:4px 0 0;padding-left:16px;display:flex}@media (width<=480px){.confirm-lists{grid-template-columns:1fr}}.ach-group{margin-bottom:18px}.ach-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:700}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.ach{background:var(--surface);border:1px solid var(--line);opacity:.75;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.ach.done{opacity:1;border-color:color-mix(in srgb, var(--gold) 55%, var(--line))}.ach-icon{background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid}.ach.done .ach-icon{background:color-mix(in srgb, var(--gold) 18%, var(--surface-2))}.ach-body{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.85rem;display:flex}.ach-body .muted{font-size:.75rem}.ach-body .progress{height:5px;margin-top:3px}.chip.reward{--c:var(--gold);flex:none}.ach:not(.done) .chip.reward{--c:var(--muted)}.toasts{z-index:40;pointer-events:none;flex-direction:column;gap:8px;width:min(340px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;cursor:pointer;background:var(--surface-2);border:2px solid var(--gold);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;display:flex}.toast-icon{background:color-mix(in srgb, var(--gold) 18%, var(--surface));border-radius:10px;flex:none;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid}.toast-label{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:.65rem;font-weight:700}.lvl{color:var(--gold);font-weight:800}.lvl-dot{color:var(--gold);font-size:.68rem;font-weight:800;position:absolute;bottom:5px;left:6px}.card-actions{flex-direction:column;gap:4px;width:100%;margin-top:auto;padding-top:6px;display:flex}.card-actions .fuse{margin-top:0}.fuse.enhance:not(:disabled){background:var(--surface-2);border-color:var(--line);color:var(--text)}.fuse.enhance:not(:disabled):hover{background:var(--line)}.reveal.forge{width:min(420px,94vw)}.forge .confirm-rows{text-align:left}.forge .progress{height:6px;margin:2px 0}.forge-warning{color:var(--danger);font-size:.78rem}.forge-result{border-radius:10px;width:100%;padding:8px 12px;font-size:.9rem;font-weight:700}.forge-result.ok{background:color-mix(in srgb, var(--good) 18%, var(--surface-2));color:var(--good)}.forge-result.fail{background:color-mix(in srgb, var(--danger) 18%, var(--surface-2));color:var(--danger)}.forge-busy .reveal-badge{background:color-mix(in srgb, var(--gold) 22%, var(--surface-2))}.forge-ok .reveal-badge{background:color-mix(in srgb, var(--good) 22%, var(--surface-2))}.forge-fail .reveal-badge{background:color-mix(in srgb, var(--danger) 18%, var(--surface-2))}.reveal.multi{max-height:92vh;overflow-y:auto}.multi-grid{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:min(46vh,380px);padding:8px 4px 4px;overflow-y:auto}.mini-count{color:var(--gold);font-size:.65rem;font-weight:800;position:absolute;top:3px;right:5px}.seg .locked-qty{opacity:.45;cursor:not-allowed}.seg .tip-wrap{display:inline-flex}.seg{flex-wrap:wrap}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.input,.select{background:var(--surface);border:1px solid var(--line);color:inherit;font:inherit;-webkit-user-select:text;user-select:text;border-radius:10px;padding:8px 12px;font-size:.85rem}.input{flex:200px;min-width:160px;max-width:280px}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:-1px}.select{cursor:pointer;padding-right:8px}.select option{background:var(--surface);color:var(--text)}.filters-count{margin-left:auto}.empty-note{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:12px;margin-bottom:10px;padding:24px}:root{--rainbow:#d98cff;--rb-grad:linear-gradient(90deg, #ff5c5c, #ffb340, #ffe14d, #5ee09a, #4da3ff, #b063ff, #ff5cf4, #ff5c5c);--rb-soft:linear-gradient(90deg, #ff5c5c38, #ffb34038, #ffe14d38, #5ee09a38, #4da3ff38, #b063ff38, #ff5cf438, #ff5c5c38)}@keyframes rb-slide{to{background-position:200% 0}}@keyframes rb-slide-box{to{background-position:200% 0,0 0,200% 0}}@keyframes rb-slide-tint{to{background-position:200% 0,0 0}}.rainbow-text{background:var(--rb-grad);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite rb-slide;color:#0000!important}.rainbow-fill{background-size:200% 100%;animation:3s linear infinite rb-slide;background:var(--rb-grad)!important}.card[style*=--rainbow],.slot[style*=--rainbow],.mini[style*=--rainbow],.reveal[style*=--rainbow]{background:var(--rb-soft) padding-box, linear-gradient(var(--surface), var(--surface)) padding-box, var(--rb-grad) border-box;background-size:200% 100%,100% 100%,200% 100%;border-color:#0000;animation:3s linear infinite rb-slide-box}.slot[style*=--rainbow]:hover,.card.equippable[style*=--rainbow]:hover{filter:brightness(1.15)}[style*=--rainbow] .badge-emoji,.reveal[style*=--rainbow] .reveal-badge{background:var(--rb-soft), var(--surface-2);background-size:200% 100%,100% 100%;animation:3s linear infinite rb-slide-tint}.card.locked[style*=--rainbow]{border-color:var(--line);background:var(--surface);animation:none}.card.locked[style*=--rainbow] .badge-emoji{background:var(--surface-2);animation:none}.doors{flex-direction:column;gap:8px;padding:0;display:flex;overflow:visible}.door-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:64px minmax(130px,190px) minmax(180px,1fr) minmax(140px,190px) 195px;align-items:center;gap:16px;padding:10px 16px;transition:border-color .12s;display:grid}.door-row:not(.poor):not(.hidden-door):hover{border-color:var(--line-strong)}.door-row.poor .door-mini,.door-row.poor .door-name,.door-row.poor .door-odds{opacity:.55}.door-row.hidden-door{opacity:.6;border-style:dashed}.door-mini{background:var(--surface-2);perspective:300px;border:0;border-radius:10px;justify-content:center;align-items:center;width:64px;height:76px;padding:0;display:flex}.door-mini:disabled{cursor:not-allowed}.door-mini:not(:disabled):hover .frame{transform:translateY(-2px)}.hidden-door .room{background:#1a1612}.door-name h3{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;overflow:hidden}.door-name .muted{font-size:.75rem}.door-odds{flex-direction:column;gap:6px;min-width:0;display:flex}.odds-top{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:.75rem;display:flex}.odds-top>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.odds-top i{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.odds-top b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.door-price{flex-direction:column;gap:2px;min-width:0;display:flex}.door-price .muted{font-size:.72rem}.door-row .open-btn{flex-direction:column;align-items:center;gap:1px;width:100%;margin:0;padding:5px 10px;display:flex}.door-row .open-btn .btn-label{white-space:nowrap;font-size:.88em}.door-row .open-btn .btn-price{opacity:.8;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.68em;font-weight:600}.door-row .tip-wrap{width:100%}.tt-odds{align-items:center;gap:8px;font-size:.78rem;display:flex}.tt-odds i{border-radius:50%;flex:none;width:8px;height:8px}.tt-odds b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:14px}@media (width<=900px){.door-row{grid-template-columns:76px 1fr 155px;grid-template-areas:"icon name btn""icon odds odds""icon price price";gap:6px 14px}.door-row>.door-mini{grid-area:icon;align-self:center}.door-art{transform:scale(.78)}.door-row>.door-name{grid-area:name}.door-row>.tip-wrap,.door-row>.open-btn{grid-area:btn;width:100%}.door-row>.door-odds{grid-area:odds}.door-row>.door-price{grid-area:price}}:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}main{gap:32px;max-width:1320px;padding:24px 24px 48px}.topbar-inner{flex-wrap:nowrap;gap:20px;max-width:1320px;padding:10px 24px}.brand{flex:none}.tabs{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:background .12s,color .12s;display:flex;position:relative}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.active{background:var(--accent);color:#fff}.tab-icon{font-size:1.05rem;line-height:1}.tab-badge{background:var(--gold);color:#1a1400;border-radius:99px;padding:1px 6px;font-size:.65rem;font-weight:800}.topbar-right{flex-wrap:nowrap;flex:none;gap:8px;margin-left:auto}.stats{flex-wrap:nowrap}.stat{min-width:0;padding:5px 12px}.stat.gold{min-width:116px}.cols{grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:start;gap:28px;display:grid}.cols-main,.cols-side{min-width:0}.cols-main{grid-area:1/1}.cols-side{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;grid-area:1/2;gap:28px;max-height:calc(100vh - 100px);padding-right:2px;display:flex;position:sticky;top:84px;overflow-y:auto}.cols-side .section-head{margin-bottom:10px}.cols-side .section-head h2{font-size:1.05rem}.cols-side .row{gap:6px}@media (width<=760px){.door-row{grid-template-columns:56px 1fr 135px;gap:6px 14px;padding:10px 14px}.door-mini{width:52px;height:66px}.door-art{transform:scale(.68)}.door-row .open-btn{padding:4px 8px}}.grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px}.card{gap:3px;padding:12px 8px 8px}.badge-emoji{width:46px;height:46px;font-size:1.5rem}.card .name{height:2.3em;font-size:.8rem}.card-actions{flex-direction:row;gap:4px;padding-top:4px}.card-actions .fuse{flex:1;width:auto;min-width:0}.card-actions .fuse.enhance{flex:none;padding:5px 9px}.card-actions .fuse.enhance:only-child{flex:1}.toasts{width:min(320px,100vw - 32px);bottom:20px}.toast{gap:10px;padding:8px 12px;font-size:.8rem}.toast-icon{width:34px;height:34px;font-size:1.2rem}.toast-more{pointer-events:none;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:99px;align-self:flex-end;padding:3px 12px;font-size:.72rem}@media (width<=1180px){.stat.secondary{display:none}}@media (width<=1100px){.cols{grid-template-columns:minmax(0,1fr)}.cols-main,.cols-side{grid-area:auto/1}.cols-side{max-height:none;position:static;overflow:visible}}@media (width<=760px){.topbar-inner{gap:10px;padding:8px 14px}.brand-name{display:none}.tabs{z-index:20;border:0;border-top:1px solid var(--line);background:var(--surface);padding:6px calc(8px + env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));border-radius:0;justify-content:space-around;gap:2px;position:fixed;bottom:0;left:0;right:0}.qty-row{flex:1 0 100%}.seg{justify-content:space-between;width:100%}.seg button{padding:6px 10px;font-size:.78rem}.tab{flex-direction:column;flex:1;gap:2px;padding:6px 4px;font-size:.68rem}.tab-icon{font-size:1.25rem}.tab-badge{margin-left:8px;position:absolute;top:2px;left:50%}main{gap:24px;padding:16px 14px 96px}.toasts{width:auto;bottom:78px;left:12px;right:12px}.stat.gold{min-width:0}.mute{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.topbar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.fuse:disabled{color:var(--text)}.confirm-rows>.progress{background:var(--surface-2);border-radius:99px;height:6px;padding:0;display:block}.confirm-rows>div:not(.progress){flex-wrap:wrap;align-items:baseline;row-gap:2px}.confirm-rows b{text-align:right;margin-left:auto}.confirm-actions .btn{white-space:nowrap}.ach-summary{align-items:center;gap:14px;margin:-4px 0 18px;display:flex}.ach-summary .progress{flex:1;max-width:420px}@keyframes tab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}main>.cols,main>section{animation:.2s ease-out tab-in}@media (width<=760px){.toasts .toast:nth-child(n+2),.toast-more{display:none}}.filters-extra{display:contents}.filters-toggle{display:none}.filters-toggle.has-active{border-color:var(--accent);color:var(--accent-hover)}@media (width<=760px){.filters{gap:8px}.filters .input{flex:1 1 0;min-width:0;max-width:none}.filters-toggle{display:inline-flex}.filters-extra{flex-wrap:wrap;flex-basis:100%;gap:8px;display:none}.filters-extra.open{display:flex}.filters-extra .select{flex:140px}.filters>.select{flex:100%}.filters-count{margin-left:0}}.brand-mark{background:0 0;border-radius:0;flex:none;width:36px;height:36px;display:block}.brand-name{letter-spacing:-.02em}.brand-thin{color:var(--muted);font-weight:400}@media (width>=901px){.door-row{grid-template-columns:76px minmax(110px,150px) minmax(150px,1fr) minmax(104px,136px) 170px}.door-mini{width:76px;height:100px}}.door-mini{perspective:500px;background:var(--surface-2);border-radius:12px}.door-art{flex:none;width:64px;height:88px;transition:transform .15s,filter .15s;position:relative}.door-room,.door-frame,.door-leaf{display:block;position:absolute;inset:0}.door-leaf{backface-visibility:hidden}.door-hinge-top{opacity:.2;background:#fff;border-radius:1px;width:9.4%;height:8%;position:absolute;top:0;left:45.3%}.door-mini:not(:disabled):hover .door-art{filter:brightness(1.12);transform:translateY(-2px)}.kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.kpi .muted{font-size:.75rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:1fr;align-items:stretch;gap:12px;margin-bottom:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:flex-start;gap:8px;padding:16px;display:flex}.stat-card.wide{grid-column:span 2}.stat-card h3{font-size:.95rem;font-weight:700}.stat-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:.85rem;display:flex}.stat-row:last-child{border-bottom:0}.stat-row b{font-variant-numeric:tabular-nums;text-align:right}.bars{flex-direction:column;gap:7px;display:flex}.bar-row{grid-template-columns:92px 1fr 64px;align-items:center;gap:10px;font-size:.8rem;display:grid}.bar-row b{text-align:right;font-variant-numeric:tabular-nums}.bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.bar-track{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.bar-track i{border-radius:99px;min-width:2px;height:100%;display:block}.runs{flex-direction:column;display:flex}.run-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:12px;padding:8px 4px;font-size:.85rem;display:grid}.run-row:last-child{border-bottom:0}.run-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.run-row.current{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:8px}@media (width<=760px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:1.3rem}.stat-grid{grid-template-columns:1fr}.stat-card.wide{grid-column:1/-1}.tab-label{font-size:.64rem}}@media (width<=1360px){.stat.secondary{display:none}}.confirm-rows>.confirm-subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;background:0 0;padding:4px 2px 0;font-size:.72rem;font-weight:700;display:block}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal.settings{text-align:left;width:min(520px,94vw);max-height:min(92vh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px));align-items:stretch;overflow-y:auto}.settings .reveal-title{text-align:center}.settings-group{flex-direction:column;gap:4px;display:flex}.settings-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 0 2px;font-size:.7rem;font-weight:700}.settings-row{background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.settings-label{flex-direction:column;gap:1px;min-width:0;font-size:.88rem;display:flex}.settings-label .muted{font-size:.74rem}.settings-control{flex:none;align-items:center;display:flex}.settings .seg{flex-wrap:nowrap}.settings .seg button{padding:5px 10px;font-size:.78rem}.range{width:160px;accent-color:var(--accent);cursor:pointer}.settings-close{width:100%;margin-top:8px}@media (width<=520px){.settings-row{flex-direction:column;align-items:stretch;gap:8px}.settings-control{justify-content:flex-start}.range{width:100%}}:root[data-motion=reduce] .rainbow-text,:root[data-motion=reduce] .rainbow-fill{background-position:0 0}.mini-count{inset:4px 6px auto auto}.mini-new,.mini.shiny .mini-new{top:-7px;left:50%;right:auto;transform:translate(-50%)}.mini .shiny-dot{inset:4px auto auto 5px}.mini:has(.ab-dot) .shiny-dot{top:20px}.slot .slot-effect{color:var(--good);text-align:center;max-width:100%;padding:0 4px;font-size:.66rem;line-height:1.1}.coach-backdrop{z-index:33;background:#0c0a08b8;position:fixed;inset:0}.coach-halo{z-index:34;pointer-events:none;border:2px solid var(--accent-hover);border-radius:16px;animation:1.6s ease-in-out infinite coach-pulse;position:fixed}.coach-halo.dim{box-shadow:0 0 0 9999px #0c0a089e}@keyframes coach-pulse{50%{border-color:var(--gold)}}.coach{z-index:35;background:var(--surface-2);border:2px solid var(--accent);border-radius:14px;flex-direction:column;gap:8px;width:min(340px,100vw - 24px);padding:14px 16px;transition:opacity .15s;display:flex;position:fixed}.coach-head{justify-content:space-between;align-items:baseline;gap:12px;font-size:1rem;display:flex}.coach-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.coach p{color:var(--text);margin:0;font-size:.86rem;line-height:1.45}.coach-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.coach-actions .link{text-align:left;font-size:.74rem}.coach.arrow-up:before,.coach.arrow-down:before{content:"";left:var(--arrow-left);background:var(--surface-2);border:2px solid var(--accent);width:14px;height:14px;position:absolute;transform:translate(-50%)rotate(45deg)}.coach.arrow-up:before{border-bottom:0;border-right:0;top:-9px}.coach.arrow-down:before{border-top:0;border-left:0;bottom:-9px}:root{--mono:#d0d0d0;--mono-grad:linear-gradient(90deg, #fff, #9a9a9a, #4a4a4a, #9a9a9a, #fff);--mono-soft:linear-gradient(90deg, #fff3, #96969629, #00000057, #96969629, #fff3)}.mono-text{background:var(--mono-grad);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:3.6s linear infinite rb-slide;color:#0000!important}.mono-fill{background-size:200% 100%;animation:3.6s linear infinite rb-slide;background:var(--mono-grad)!important}.card[style*=--mono],.slot[style*=--mono],.mini[style*=--mono],.reveal[style*=--mono]{background:var(--mono-soft) padding-box, linear-gradient(var(--surface), var(--surface)) padding-box, var(--mono-grad) border-box;background-size:200% 100%,100% 100%,200% 100%;border-color:#0000;animation:3.6s linear infinite rb-slide-box}.slot[style*=--mono]:hover,.card.equippable[style*=--mono]:hover{filter:brightness(1.15)}[style*=--mono] .badge-emoji,.reveal[style*=--mono] .reveal-badge{background:var(--mono-soft), var(--surface-2);background-size:200% 100%,100% 100%;animation:3.6s linear infinite rb-slide-tint}.card.locked[style*=--mono]{border-color:var(--line);background:var(--surface);animation:none}.card.locked[style*=--mono] .badge-emoji{background:var(--surface-2);animation:none}:root[data-motion=reduce] .mono-text,:root[data-motion=reduce] .mono-fill{background-position:0 0}.multi-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;gap:14px;width:100%;max-height:min(50vh,420px);padding:6px 4px 2px;display:flex;overflow-y:auto}.multi-body .multi-grid{max-height:none;margin:0;padding:8px 0 2px;overflow:visible}.multi-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;align-items:center;gap:8px;padding:0 2px;font-size:.72rem;font-weight:700;display:flex}.multi-title span{background:var(--surface-2);color:var(--text);letter-spacing:0;border-radius:99px;padding:1px 8px}html,body,*{-ms-overflow-style:none;scrollbar-width:none!important}::-webkit-scrollbar{width:0;height:0;display:none!important}html::-webkit-scrollbar{width:0;height:0;display:none!important}.multi-body{max-height:min(62vh,560px)}.tip-wrap>button:disabled{pointer-events:none}.tip-wrap,.stat,.slot,.card,.tab{-webkit-touch-callout:none}.reveal.auth{text-align:left;width:min(380px,92vw);max-height:min(92vh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px));align-items:stretch;overflow-y:auto}.auth .reveal-title{text-align:center}.auth>.muted{text-align:center;font-size:.82rem}.auth-form{flex-direction:column;gap:12px;margin-top:4px;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.auth-input{flex:none;width:100%;max-width:none;height:auto}.auth-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);border-radius:8px;padding:8px 12px;font-size:.82rem}.auth-switch{align-self:center;margin-top:10px}.auth-checking{border:3px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;align-self:center;width:32px;height:32px;margin:10px 0;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reveal.save-conflict{text-align:left;align-items:stretch;width:min(460px,92vw)}.save-conflict-grid{grid-template-columns:1fr 1fr;gap:12px;margin:6px 0;display:grid}.save-conflict-side{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}@media (width<=480px){.save-conflict-grid{grid-template-columns:1fr}}.board{flex-direction:column;display:flex}.board-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:9px 6px;font-size:.88rem;display:grid}.board-row:last-child{border-bottom:0}.board-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.board-row.me{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:8px;font-weight:700}.board-mine{margin:-6px 0 14px}
