:root{--bg: #e9ebf4;--surface: #ffffff;--ink: #1b1f3b;--ink-soft: #565c80;--line: #d3d7e8;--accent: #e8432f;--font-display: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--tab-h: 66px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}h1,h2,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--ink-soft)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;font-size:15px;font-weight:800;letter-spacing:-.03em}.brand-name{font-size:20px;letter-spacing:-.01em}.brand.lg .brand-mark{width:52px;height:52px;border-radius:14px;font-size:22px}.brand.lg .brand-name{font-size:30px}.splash{min-height:100vh;display:grid;place-items:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:960px;margin:0 auto;padding:14px 16px 0;padding-top:calc(14px + env(safe-area-inset-top))}.page{max-width:960px;margin:0 auto;padding:16px 16px calc(var(--tab-h) + 32px + env(safe-area-inset-bottom))}.page-title{font-family:var(--font-display);font-size:34px;font-weight:800;letter-spacing:-.03em;margin-bottom:14px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar-inner{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);height:var(--tab-h)}.tabbar button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.tabbar button.on{color:var(--ink)}.tabbar button.on .tab-icon{background:var(--ink);color:#fff}.tab-icon{position:relative;display:grid;place-items:center;width:52px;height:30px;border-radius:999px;transition:background .15s}.tab-badge{position:absolute;top:-6px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.btn{border:0;border-radius:999px;padding:13px 22px;min-height:48px;font-weight:600;background:var(--ink);color:#fff;cursor:pointer;transition:transform .1s,opacity .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.accent{background:var(--accent)}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.light{background:#fff;color:var(--ink)}.btn.ghost-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff59}.btn.big{padding:16px 34px;font-size:18px;min-height:56px}.btn.wide{width:100%;margin-top:18px}.btn.icon{width:48px;padding:0;font-size:24px;line-height:1}.btn.sm{padding:8px 16px;min-height:36px;font-size:14px}.form,.inline-form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600;font-size:14px}input,select{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:500}input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);border-color:var(--accent)}.row{display:flex;gap:10px;flex-wrap:wrap}.msg{padding:10px 14px;border-radius:12px;font-size:14px;font-weight:500}.msg.error{background:#fde6e2;color:#8f1f10}.msg.info{background:#e2f0e8;color:#17543a}.fine{font-size:13px;color:var(--ink-soft)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:999px;background:#dadef0;margin-bottom:16px}.segmented button{border:0;background:none;border-radius:999px;min-height:42px;font-weight:600;color:var(--ink-soft);cursor:pointer}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1b1f3b2e}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:100%;max-width:420px;display:grid;gap:16px;background:var(--surface);padding:28px 24px;border-radius:24px;box-shadow:0 18px 50px -24px #1b1f3b59}.auth-lead{color:var(--ink-soft)}.pack-stage{display:grid;justify-items:center;gap:14px;text-align:center;padding-top:6px}.pack-button{border:0;background:none;padding:0;cursor:pointer}.pack-button:disabled{cursor:not-allowed}.pack-wrap{--pk-a: #323b9e;--pk-b: #14173f;--pk-band: #e8432f;--pk-crimp: #2a3189;--pk-text: #ffffff;--pk-bandtext: #ffffff;width:min(54vw,230px);filter:drop-shadow(0 22px 22px rgba(20,23,63,.35))}.pack-wrap svg{display:block;width:100%;height:auto;overflow:visible}.pack-wrap.dim{filter:grayscale(1) opacity(.45)}.pack-button:not(:disabled):hover .pack-wrap{transform:translateY(-4px) rotate(-1.5deg)}.pack-wrap{transition:transform .2s}.stock{font-size:20px}.stock strong{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.03em}.refill{max-width:36ch}.clock{font-variant-numeric:tabular-nums}.pack-wrap.shake{animation:shake .6s ease-in-out infinite}.pack-wrap.tear{animation:none}.pack-wrap.tear .pack-top{transform-box:fill-box;transform-origin:0% 100%;animation:tear .65s ease-in forwards}.pack-wrap.tear .pack-body{animation:packfade .55s .25s ease-in forwards}@keyframes shake{0%,to{transform:rotate(0)}15%{transform:rotate(-5deg)}35%{transform:rotate(5deg)}55%{transform:rotate(-4deg)}75%{transform:rotate(3deg)}}@keyframes tear{to{transform:translate(40px,-70px) rotate(24deg);opacity:0}}@keyframes packfade{to{transform:scale(.9) translateY(14px);opacity:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:radial-gradient(circle at 50% 28%,#262b63,#10122c 72%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:18px;padding:24px 16px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto;text-align:center}.overlay-title{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.03em}.overlay-hint{color:#ffffffb8}.overlay-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.reveal-line{font-size:19px;min-height:28px}.reveal-line strong{font-family:var(--font-display);font-size:22px}.flip{perspective:1200px;width:min(66vw,280px);aspect-ratio:5 / 7;cursor:pointer;position:relative}.flip-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,.7,.2,1)}.flip.is-flipped .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.flip-front{transform:rotateY(180deg)}.summary-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:560px}.summary-grid li{width:min(28vw,150px)}.detail{display:grid;justify-items:center;gap:14px}.detail-card{width:min(66vw,280px)}.card{--c1: #f3efe6;--c2: #cfc8b8;--ct: #3a3630;container-type:inline-size;display:block;width:100%;aspect-ratio:5 / 7;position:relative;padding:0;border:0;background:none;text-align:inherit}.card.clickable{cursor:pointer;transition:transform .15s}.card.clickable:hover{transform:translateY(-3px)}.card.foil .card-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.45) 48%,transparent 62%);background-size:280% 100%;background-position:130% 0}.card.foil:hover .card-face:after,.card.foil.shine .card-face:after{animation:sheen 1.2s ease-out 1}@keyframes sheen{0%{background-position:130% 0}to{background-position:-40% 0}}.card-back-face{background:linear-gradient(155deg,#323b9e,#14173f);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4cqw}.card-back-face:before{border-color:#ffffff4d}.card-back-face:after{content:"";position:absolute;left:-10%;right:-10%;top:58%;height:16cqw;background:var(--accent);transform:rotate(-13deg)}.back-mark{position:relative;z-index:1;font-family:var(--font-display);font-weight:800;font-size:40cqw;letter-spacing:-.05em;line-height:1}.back-name{position:relative;z-index:1;font-family:var(--font-display);font-weight:700;font-size:9cqw;margin-top:36cqw}.collection-head{margin-bottom:16px}.collection-count{font-size:17px;margin-bottom:8px}.collection-count strong{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.03em}.progress{height:8px;border-radius:99px;background:#d4d8ea;overflow:hidden}.progress span{display:block;height:100%;border-radius:99px;background:var(--accent);min-width:0}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:0 -16px 12px;padding-left:16px;padding-right:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:14px;cursor:pointer}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chip .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--dot),var(--dot2));box-shadow:inset 0 0 0 1px #0000002e}.chip-count{font-weight:500;opacity:.7;font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.select{width:auto}.select select{min-height:42px;width:auto;padding-right:8px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}.empty{display:grid;gap:4px;padding:36px 20px;text-align:center;background:var(--surface);border-radius:18px;color:var(--ink-soft)}.empty strong{color:var(--ink)}.more{display:grid;place-items:center;margin-top:18px}.album-nav{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}.album-input{flex:1}.album-input input{text-align:center;font-weight:700;font-size:18px}.album-grid{margin-top:12px}.slot{aspect-ratio:5 / 7;display:grid;place-items:center;border-radius:12px;border:2px dashed #bcc2dc;color:#98a0c4;font-family:var(--font-display);font-weight:700;font-size:22px}.panel{background:var(--surface);border-radius:20px;padding:18px;margin-bottom:14px;display:grid;gap:12px}.identity{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.identity-name{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.stats div{background:var(--surface);border-radius:18px;padding:14px 16px}.stats dt{color:var(--ink-soft);font-size:14px}.stats dd{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.03em}.rarest{grid-auto-flow:column;grid-template-columns:84px 1fr;align-items:center}@media (min-width: 720px){.stats{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.flip,.detail-card{width:300px}.page-title{font-size:40px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.coin-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 8px;border:0;border-radius:999px;background:var(--surface);font-weight:700;font-size:15px;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line)}.coin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#f7d774,#c8932a);color:#4a3205;font-style:normal;font-family:var(--font-display);font-size:13px;font-weight:800;box-shadow:inset 0 0 0 2px #ffffff73}.wallet{font-size:18px;margin-bottom:14px}.wallet strong{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.03em}.card.taken .card-face{opacity:.3;filter:grayscale(.7);box-shadow:none}.card.taken .card-face:after{display:none}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:4px 0 12px;font-size:13px;color:var(--ink-soft)}.legend li{display:inline-flex;align-items:center;gap:6px}.sw{display:inline-block;width:14px;height:18px;border-radius:4px}.sw.mine{background:linear-gradient(155deg,#3fcf8e,#12804f)}.sw.taken{background:#9aa0bd;opacity:.35}.sw.free{border:2px dashed #bcc2dc}button.slot{width:100%;background:none;cursor:pointer}button.slot:hover{border-color:var(--ink-soft);color:var(--ink-soft)}.fireworks{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:60;pointer-events:none}.detail{margin:auto;width:100%;max-width:420px}.detail .detail-card{width:min(52vw,220px)}.sheet{width:100%;display:grid;gap:18px;text-align:left;background:var(--surface);color:var(--ink);border-radius:20px;padding:18px}.sheet section{display:grid;gap:10px}.sheet section+section{padding-top:18px;border-top:1px solid var(--line)}.sheet h3{margin:0;font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.02em}.sheet-line{font-size:17px}.sheet-line.urgent{color:#b42a18}.segmented.small{margin-bottom:0}.segmented.small button{min-height:38px;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}.tile{width:100%;display:grid;gap:4px;padding:10px;border:0;border-radius:16px;background:var(--surface);text-align:left;cursor:pointer;transition:transform .15s;box-shadow:0 1px 2px #1b1f3b14}.tile:hover{transform:translateY(-3px)}.tile .card{margin-bottom:4px}.tile-kind{font-size:12.5px;color:var(--ink-soft);font-weight:600}.tile-price{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:-.02em}.tile-time{font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}.tile-time.urgent{color:#b42a18}.tile-flag{justify-self:start;padding:2px 8px;border-radius:99px;background:#dadef0;font-size:12px;font-weight:700}.tile-flag.good{background:#cfeedd;color:#0d5a35}.mine-list{display:grid;gap:10px}.mine-row{width:100%;display:flex;gap:14px;align-items:center;padding:10px;border:0;border-radius:16px;background:var(--surface);text-align:left;cursor:pointer}.mine-row:disabled{cursor:default;opacity:.85}.mine-card{width:64px;flex:none}.mine-text{display:grid;gap:2px;font-size:14.5px}.mine-text strong{font-family:var(--font-display);font-size:17px}@media (min-width: 720px){.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.pack-wrap.golden{--pk-a: #fbe9a0;--pk-b: #b07a12;--pk-band: #7a3b06;--pk-crimp: #d6a02e;--pk-text: #3b2503;--pk-bandtext: #ffe9a8}.pack-wrap.golden svg{animation:goldglow 1.1s ease-in-out infinite}@keyframes goldglow{0%,to{filter:drop-shadow(0 0 10px rgba(255,214,102,.55)) brightness(1)}50%{filter:drop-shadow(0 0 36px rgba(255,214,102,1)) brightness(1.18)}}.overlay-title.gold{background:linear-gradient(90deg,#f7d774,#fff3bf,#d9a53a);-webkit-background-clip:text;background-clip:text;color:transparent}.reveal-card{width:min(66vw,280px);cursor:pointer;animation:cardin .35s cubic-bezier(.2,.8,.2,1)}@keyframes cardin{0%{opacity:0;transform:translateY(16px) scale(.88)}to{opacity:1;transform:none}}@media (min-width: 720px){.reveal-card{width:300px}}.stock-bonus{font-size:15px;font-family:var(--font-body);font-weight:500;letter-spacing:0}.shop{width:100%;max-width:440px;display:grid;gap:12px;justify-items:center;margin-top:10px;padding:18px;border-radius:20px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}.shop strong{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.02em}.link{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:#10122cb8}.legal-panel{display:grid;gap:14px;width:100%;max-width:640px;max-height:calc(100vh - 32px);overflow-y:auto;padding:22px 20px;border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 24px 60px -20px #00000080}.legal-panel.consent{max-width:460px}.legal-panel h2{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}.legal-text{display:grid;gap:10px;font-size:15px}.legal-text h2{margin-top:6px}.legal-text h2:not(:first-child){margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.legal-text h3{margin:8px 0 0;font-family:var(--font-display);font-size:17px;font-weight:700}.legal-text p{margin:0}.todo{padding:0 6px;border-radius:6px;background:#fff0b8;color:#6b4a00;font-weight:600}.check{display:flex;align-items:flex-start;gap:12px;font-size:15px;font-weight:500;line-height:1.4;cursor:pointer}.check input[type=checkbox]{flex:none;width:24px;min-height:24px;height:24px;margin:1px 0 0;padding:0;accent-color:var(--accent)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:7cqw;border:2.6cqw solid transparent;color:var(--ct);background:linear-gradient(160deg,var(--c1),var(--c2)) padding-box,linear-gradient(135deg,var(--r1),var(--r2)) border-box;box-shadow:0 .8cqw #0000001a,0 4cqw 7cqw -4cqw #14193c80}.card-rarity{position:absolute;top:2.4cqw;left:50%;transform:translate(-50%);padding:.7cqw 4.4cqw;border-radius:99px;background:linear-gradient(135deg,var(--r1),var(--r2));color:var(--rt);font-size:6.2cqw;font-weight:700;white-space:nowrap}.card-art{position:absolute;left:6cqw;right:6cqw;top:14cqw;height:66cqw;display:grid;place-items:center;overflow:hidden;border-radius:5cqw;background:#ffffff8c}.card-art .type-art{font-size:42cqw;line-height:1}.card-art img.type-art{width:84%;height:84%;object-fit:contain}.card-type{position:absolute;left:6cqw;right:6cqw;top:83cqw;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center;font-size:7cqw;font-weight:700;line-height:1.15}.card-num{position:absolute;left:0;right:0;bottom:4cqw;display:flex;justify-content:center;align-items:baseline;gap:2cqw;font-family:var(--font-display);line-height:1}.card-num .n{font-size:20cqw;font-weight:800;letter-spacing:-.04em}.card-num .m{font-size:10cqw;font-weight:500;opacity:.75}.card-listed{position:absolute;top:15.5cqw;left:8cqw;padding:1cqw 3.6cqw;border-radius:99px;background:#fff;color:var(--ink);font-size:6.6cqw;font-weight:700;white-space:nowrap;box-shadow:0 .6cqw 2cqw #00000040}.card.sm .card-rarity,.card.sm .card-type{display:none}.card.sm .card-art{top:7cqw;height:70cqw}.card.sm .card-art .type-art{font-size:44cqw}.card.sm .card-num{bottom:5cqw}.card.sm .card-num .n{font-size:23cqw}.card.sm .card-listed{top:9cqw;font-size:10cqw}.card-favorite{position:absolute;top:15.5cqw;right:8cqw;display:grid;place-items:center;width:9.4cqw;height:9.4cqw;border-radius:50%;background:#fff;color:var(--accent);font-size:6.4cqw;box-shadow:0 .6cqw 2cqw #00000040}.card.sm .card-favorite{top:9cqw;width:13cqw;height:13cqw;font-size:9cqw}.card.glow .card-face{box-shadow:0 0 0 .8cqw color-mix(in srgb,var(--r1) 80%,#fff),0 0 9cqw 2cqw color-mix(in srgb,var(--r1) 65%,transparent),0 4cqw 7cqw -4cqw #14193c80}.card.sm.glow .card-face{box-shadow:0 .8cqw #0000001a,0 4cqw 7cqw -4cqw #14193c80}.card.mine .card-art{background:#ffffff38}.type-art{display:inline-block}.type-tile-art img.type-art,.album-art img.type-art,.admin-type-art img.type-art{width:100%;height:100%;object-fit:contain}.pack-name{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.02em}.category-done{max-width:36ch;padding:10px 14px;border-radius:14px;background:#ffffff24}.cat-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 12px;padding:0 16px 6px;scrollbar-width:none}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{flex:none;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:8px 14px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);text-align:left;font-weight:700;cursor:pointer}.cat-tab small{grid-column:2;font-size:12px;font-weight:500;color:var(--ink-soft)}.cat-tab.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cat-dot{grid-row:span 2;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--cat1),var(--cat2));box-shadow:inset 0 0 0 1px #0000002e}.admin-card-head .cat-dot{grid-row:auto}.type-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.type-tile{display:grid;justify-items:center;gap:4px;width:100%;padding:14px 10px;border:0;border-radius:18px;background:var(--surface);text-align:center;cursor:pointer;box-shadow:0 1px 2px #1b1f3b14;transition:transform .15s}.type-tile:hover{transform:translateY(-3px)}.type-tile-art{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--bg);font-size:42px;line-height:1;overflow:hidden}.type-tile-name{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.2}.type-tile-count{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.progress.small{width:100%;height:5px}.album-title{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}.album-art{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface);font-size:26px;line-height:1;overflow:hidden}.back{margin-bottom:4px;color:var(--ink-soft);font-weight:600}.toolbar-selects{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.tile-name{font-size:12.5px;font-weight:600;line-height:1.2}textarea{width:100%;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-weight:500}.legal-panel.admin{max-width:760px}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-tabs{margin:0;padding:0 0 4px}.admin-list{display:grid;gap:12px}.admin-list h3{margin:8px 0 0;font-family:var(--font-display);font-size:18px;font-weight:700}.admin-card{display:grid;gap:10px;padding:14px;border:1.5px solid var(--line);border-radius:16px;background:#fbfbfe}.admin-card.slim{grid-template-columns:1fr auto;align-items:center}.admin-card.slim.stack{grid-template-columns:1fr}.admin-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.admin-colors{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.color-field{display:grid;gap:4px;font-size:13px}.color-field input{width:56px;min-height:40px;padding:2px}.badge{padding:2px 8px;border-radius:99px;background:#e4e7f4;font-size:12px;font-weight:700}.badge.done{background:#cfeedd;color:#0d5a35}.btn.danger{color:#a3200f}.file-btn{display:inline-flex;align-items:center;cursor:pointer}.config-key{font-family:var(--font-display)}.row.nowrap{flex-wrap:nowrap}.admin-card.slim input[type=number]{width:130px}.admin-type-art{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--bg);font-size:24px;line-height:1;overflow:hidden}.check.inline{align-items:center;padding-bottom:8px}.odds{width:100%;max-width:440px;padding:0 16px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left}.odds summary{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-weight:700;cursor:pointer;list-style:none}.odds summary::-webkit-details-marker{display:none}.odds summary:after{content:"+";font-size:22px;line-height:1;color:var(--ink-soft)}.odds[open] summary:after{content:"−"}.odds[open]{padding-bottom:14px}.odds-list{margin:8px 0}.odds-list li{display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.odds-list .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--dot),var(--dot2));box-shadow:inset 0 0 0 1px #0000002e}.odds-name{font-weight:700}.odds-val{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.odds-left{grid-column:2 / 4;font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.odds-list li.gone{opacity:.55}.odds .fine{margin-top:6px}.btn.gold{background:linear-gradient(135deg,#f7d774,#c8932a);color:#3b2503;box-shadow:inset 0 0 0 1.5px #ffffff80}.golden-reward{width:100%;max-width:440px;display:grid;gap:8px;justify-items:center;padding:16px;border-radius:20px;text-align:center;background:linear-gradient(160deg,#fff6d6,#ffe9a3);box-shadow:inset 0 0 0 2px #e3b53f;color:#3b2503}.golden-reward strong{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.02em}.golden-reward .muted{color:#6b4a00;font-size:14px}.msg.warn{background:#fff4d1;color:#6b4a00}.reward-list{display:grid;gap:10px}.reward-list li{display:flex;align-items:center;gap:12px}.reward-list small{display:block;color:var(--ink-soft)}.reward-art{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:12px;background:var(--bg);font-size:30px;line-height:1;overflow:hidden}.reward-art img.type-art{width:100%;height:100%;object-fit:contain}.legal-panel.reward h2{background:linear-gradient(90deg,#c8932a,#f0c64f,#c8932a);-webkit-background-clip:text;background-clip:text;color:transparent}.env-banner{position:sticky;top:0;z-index:90;padding:6px 12px;padding-top:calc(6px + env(safe-area-inset-top));background:repeating-linear-gradient(135deg,#ffd23f 0,#ffd23f 14px,#f5c000 14px,#f5c000 28px);color:#3b2a00;font-size:13px;text-align:center}.topbar-actions{position:relative;display:flex;align-items:center;gap:8px}.bell-wrap{display:contents}.bell-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line)}.bell-badge{position:absolute;top:-4px;right:-4px}.bell-popup{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(92vw,360px);max-height:min(70vh,480px);overflow-y:auto;background:var(--surface);border-radius:16px;box-shadow:0 10px 30px #14193c38;padding:10px;display:grid;gap:8px}.bell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px}.bell-empty{padding:14px 6px}.bell-list{display:grid;gap:2px}.bell-item{width:100%;display:flex;align-items:flex-start;gap:10px;padding:10px 8px;border:0;border-radius:12px;background:none;text-align:left;cursor:pointer}.bell-item:hover{background:var(--bg)}.bell-item.unread{background:color-mix(in srgb,var(--accent) 8%,transparent)}.bell-icon{flex:none;font-size:18px;line-height:1.3}.bell-text{display:grid;gap:2px;font-size:14px}.bell-time{color:var(--ink-soft);font-size:12px}.btn-heart{justify-self:start;border:0;background:none;padding:6px 4px;font-weight:600;color:var(--ink-soft);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-heart span{font-size:20px;color:var(--accent)}.btn-heart.on{color:var(--ink)}.slot.favorite{position:relative;border-color:var(--accent);color:var(--accent)}.slot-favorite{position:absolute;top:4px;right:4px;font-size:12px;color:var(--accent)}.offer-row{cursor:default}
