:root{--bg:#ECEFF3;--surface:#FFFFFF;--sunken:#E2E6EC;--ink:#171B24;--muted:#636B7C;--line:#D5DAE2;--brand:#20263A;--brand-ink:#FFFFFF;--ok:#23845A;--ok-soft:#DDF2E7;--bad:#C23F36;--bad-soft:#F8E1DE;--gold:#C99A22;--gold-hi:#F6DE8D;--gold-lo:#8E6A10;--silver:#98A2B2;--silver-hi:#E9EDF2;--silver-lo:#5C6576;--map-empty:#EEF1F5;--bronze:#B07A44;--bronze-hi:#E2B587;--bronze-lo:#7A4B22;--map-land:#D3D9E2;--map-edge:#FFFFFF;--map-box:#B9C1CD;--card-frame:#FFFFFF;--shadow:0 1px 2px rgba(23,27,36,.08),0 6px 18px rgba(23,27,36,.08);--f-display:"Young Serif",Georgia,"Times New Roman",serif;--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12151B;--surface:#1C2029;--sunken:#252A35;--ink:#E9ECF2;--muted:#9AA2B3;--line:#2F3542;--brand:#E9ECF2;--brand-ink:#12151B;--ok:#4CC28A;--ok-soft:#173829;--bad:#EF6D62;--bad-soft:#3D1D1B;--gold:#E2B84A;--gold-hi:#F8E3A1;--gold-lo:#9A7417;--silver:#AEB6C4;--silver-hi:#E6EAF0;--silver-lo:#6B7484;--map-empty:#2C323D;--bronze:#C08A52;--bronze-hi:#E8BE91;--bronze-lo:#87562A;--map-land:#343B48;--map-edge:#1C2029;--map-box:#3E4655;--card-frame:#2A2F3A;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);color-scheme:dark}}:root[data-theme=dark]{--bg:#12151B;--surface:#1C2029;--sunken:#252A35;--ink:#E9ECF2;--muted:#9AA2B3;--line:#2F3542;--brand:#E9ECF2;--brand-ink:#12151B;--ok:#4CC28A;--ok-soft:#173829;--bad:#EF6D62;--bad-soft:#3D1D1B;--gold:#E2B84A;--gold-hi:#F8E3A1;--gold-lo:#9A7417;--silver:#AEB6C4;--silver-hi:#E6EAF0;--silver-lo:#6B7484;--map-empty:#2C323D;--bronze:#C08A52;--bronze-hi:#E8BE91;--bronze-lo:#87562A;--map-land:#343B48;--map-edge:#1C2029;--map-box:#3E4655;--card-frame:#2A2F3A;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input,select{font:inherit;color:var(--ink)}#app{max-width:520px;margin:0 auto;min-height:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:12px 40px;display:flex;flex-direction:column;gap:18px}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}h1,h2,h3{margin:0;text-wrap:balance}.display{font-family:var(--f-display);font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:999px;font-weight:700;font-size:15px;transition:transform .12s,opacity .12s}.btn:active{transform:scale(.97)}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.col{background:var(--col);color:#fff}.btn.ghost{border:1.5px solid var(--line);background:var(--surface)}.btn.wide{width:100%}.btn[disabled]{opacity:.4;pointer-events:none}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}.icon-btn svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.link{color:var(--muted);font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px}.top{display:flex;align-items:center;gap:10px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding-block:6px}.brand{font-family:var(--f-display);font-size:26px;letter-spacing:-.01em}.stars{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-variant-numeric:tabular-nums}.stars b{color:var(--gold)}.pts-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:800;font-variant-numeric:tabular-nums}.energy .bolt{width:15px;height:15px;fill:var(--gold);stroke:none}.energy{cursor:pointer;font:inherit;font-weight:800;color:var(--ink);white-space:nowrap;flex:none}.top .stars,.top .pts-chip{flex:none;white-space:nowrap}.top .brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy .en-t:before{content:"+1 ";opacity:.8}.energy .en-t{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.energy .en-t:empty{display:none}@media(max-width:400px){.home-top .en-t{display:none}}.launcher{display:flex;gap:10px;align-items:center}.launcher .stepper{flex:none;height:48px}.stepper button[disabled]{opacity:.3}.pts-chip .ci{width:14px;height:14px;fill:var(--col);stroke:none}.won-banner{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:14px;padding:12px;border:2px solid var(--col);animation:pop .5s cubic-bezier(.2,1.4,.4,1)}.won-banner .card{width:74px;flex:none}.tiles{display:flex;flex-direction:column;gap:12px}.tile{display:flex;gap:14px;align-items:center;background:var(--surface);border-radius:18px;padding:14px;box-shadow:var(--shadow);text-align:left;width:100%}.emb{width:56px;height:56px;border-radius:14px;background:var(--col);display:grid;place-items:center;flex:none}.emb svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.tile h3{font-family:var(--f-display);font-weight:400;font-size:19px}.bar{height:6px;border-radius:999px;background:var(--sunken);overflow:hidden;position:relative;margin-top:8px}.bar span{position:absolute;inset:0 auto 0 0;border-radius:999px}.bar .got{background:var(--col)}.bar .gd{background:linear-gradient(90deg,var(--gold),var(--gold-hi))}.tile-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700}.pill.due{background:var(--ok-soft);color:var(--ok)}.pill.new{background:var(--col);color:#fff}.shop-link{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;border:1.5px dashed var(--line);width:100%;text-align:left}.shop-link .emb{background:var(--sunken)}.shop-link .emb svg{stroke:var(--ink)}.col-head{display:flex;flex-direction:column;gap:6px}.col-head h1{font-family:var(--f-display);font-weight:400;font-size:28px;line-height:1.1}.stat-line{display:flex;gap:16px;flex-wrap:wrap;font-variant-numeric:tabular-nums;font-size:14px}.stat-line b{font-size:18px}.panel{background:var(--surface);border-radius:18px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:44px}.stepper button{width:40px;height:100%;font-size:20px;font-weight:700}.stepper span{min-width:28px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.controls{display:flex;flex-direction:column;gap:10px}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.chip{height:34px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.field{height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 12px;min-width:0}.ctrl-row{display:grid;grid-template-columns:1fr auto;gap:8px}.ctrl-row.three{grid-template-columns:1fr 1fr}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(min-width:460px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.empty{padding:24px;text-align:center;color:var(--muted)}.card{--frame:var(--card-frame);position:relative;border-radius:12px;background:var(--frame);padding:4px;box-shadow:var(--shadow);display:flex;flex-direction:column;text-align:left;width:100%;overflow:hidden}.card.mini{aspect-ratio:63/88}.card .art{position:relative;border-radius:9px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--col) 78%,#fff) 0%,var(--col) 55%,color-mix(in srgb,var(--col) 70%,#000) 100%);display:grid;place-items:center}.card.mini .art{flex:1}.card .foot{padding:5px 3px 2px;display:flex;flex-direction:column;gap:0;min-height:0}.card .key{font-size:10px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .nm{font-size:12px;font-weight:700;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sil{width:78%;height:78%}.sil path{fill:#ffffffeb;stroke:#00000026;stroke-width:.8}.greek{font-family:var(--f-display);color:#fff;font-size:clamp(14px,5.2vw,22px);text-align:center;padding:4px;line-height:1.05;text-shadow:0 1px 0 rgba(0,0,0,.2)}.art.meander:before,.art.meander:after{content:"";position:absolute;left:6px;right:6px;height:6px;opacity:.45;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 6px)}.art.meander:before{top:6px}.art.meander:after{bottom:6px}.bo-art{display:flex;flex-direction:column;align-items:center;gap:4px}.ball{width:42%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold) 55%,var(--gold-lo));box-shadow:inset 0 0 0 1px #00000026}.bo-year{font-family:var(--f-display);color:#fff;font-size:clamp(16px,5.6vw,24px);font-variant-numeric:tabular-nums}.flag{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px var(--line)}.flag.big{width:60%;max-width:220px;margin-top:6px}.flag.sm{width:46px;display:inline-block;vertical-align:middle}.opt .flag{max-width:150px;margin:0 auto}.art.flag-art{background:var(--sunken)}.art.flag-art .flag{width:84%;box-shadow:0 1px 3px #00000040}.card.full .art.flag-art .flag{width:70%}.art-text{width:100%;height:100%;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.2)}.art-text .sym{font-family:var(--f-display);font-size:clamp(22px,8vw,34px)}.art-text .zz{font-size:11px;font-weight:800;opacity:.85;margin-top:4px;font-variant-numeric:tabular-nums}.art-text .yr{font-family:var(--f-display);font-size:clamp(16px,5.6vw,24px);font-variant-numeric:tabular-nums}.art-text .yr.big{font-size:clamp(26px,9vw,40px)}.art-text .yr sup{font-size:.5em}.art-text .orb{display:block;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffffff2,#ffffff8c 45%,#ffffff2e 75%);box-shadow:0 0 0 1px #ffffff59}.art-text .orb.big{width:52%}.art .art-emb svg{width:46px;height:46px;fill:none;stroke:#ffffffeb;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.card.full .art-text .sym{font-size:64px}.card.full .art-text .zz{font-size:16px}.card.full .art-text .yr{font-size:40px}.card.full .art-text .yr.big{font-size:72px}.card.full .art .art-emb svg{width:84px;height:84px}.card.missing{--frame:var(--sunken);box-shadow:none}.card.missing .art{background:repeating-linear-gradient(135deg,var(--surface) 0 6px,var(--sunken) 6px 12px)}.card.missing .art .q{font-family:var(--f-display);font-size:28px;color:var(--muted)}.card.missing .nm{color:var(--muted)}.card.solid{--frame:linear-gradient(135deg,var(--silver-lo),var(--silver-hi) 30%,var(--silver) 50%,var(--silver-hi) 70%,var(--silver-lo));background:var(--frame)}.card.solid .foot{background:var(--card-frame);border-radius:0 0 8px 8px;margin:3px -1px -1px;padding:5px 4px 3px}.card.solid.full .head,.card.solid.full .attrs{background:var(--card-frame)}.card.solid.full .head{border-radius:10px 10px 0 0}.card.solid.full .attrs{border-radius:0 0 10px 10px;margin-top:0}.card.gold{--frame:linear-gradient(135deg,var(--gold-lo),var(--gold-hi) 30%,var(--gold) 50%,var(--gold-hi) 70%,var(--gold-lo))}.card.gold{background:var(--frame)}.card.gold .foot{background:var(--card-frame);border-radius:0 0 8px 8px;margin:3px -1px -1px;padding:5px 4px 3px}.card.gold .art:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%);background-size:250% 100%;animation:shine 3.2s ease-in-out infinite}@keyframes shine{0%{background-position:150% 0}60%,to{background-position:-60% 0}}.card.full{padding:6px;border-radius:16px;max-width:300px;margin:0 auto}.card.full .art{height:170px}.card.full .sil{width:62%;height:84%}.card.full .greek{font-size:40px}.card.full .bo-year{font-size:38px}.card.full .head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 6px 8px}.card.full .head .nm{font-family:var(--f-display);font-weight:400;font-size:21px;-webkit-line-clamp:3}.card.full .head .key{font-size:15px;color:var(--col)}.card.gold.full .head,.card.gold.full .attrs{background:var(--card-frame)}.card.gold.full .head{border-radius:10px 10px 0 0}.card.gold.full .attrs{border-radius:0 0 10px 10px;margin-top:0}.attrs{margin:0;padding:8px 6px 6px;display:flex;flex-direction:column;gap:6px}.attrs div{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-top:1px solid var(--line);padding-top:6px}.attrs dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.attrs dd{margin:0;font-weight:700;text-align:right}.attrs .mapcell{display:block}.attrs .mapcell .map{height:130px;width:100%;margin-top:4px}.silver-tag{color:var(--silver-lo)!important;background:linear-gradient(90deg,var(--silver-hi),var(--silver))!important}.gold-tag{display:inline-flex;align-items:center;gap:6px;color:var(--gold-lo);background:linear-gradient(90deg,var(--gold-hi),var(--gold));padding:3px 10px;border-radius:999px;font-weight:800;font-size:12px}.map{display:block;width:100%;height:auto}.map .dep{fill:var(--map-land);stroke:var(--map-edge);stroke-width:.7;transition:fill .12s}.map.pick .dep{cursor:pointer}.map.pick .dep:hover{fill:color-mix(in srgb,var(--col) 30%,var(--map-land))}.map .dep.hl{fill:var(--col)}.map .dep.sel{fill:var(--ink)}.map .dep.ok{fill:var(--ok)}.map .dep.bad{fill:var(--bad)}.map .box{fill:none;stroke:var(--map-box);stroke-width:1}.map .inset-bg{fill:var(--surface)}.map .ctx-land{fill:var(--sunken);stroke:var(--map-edge);stroke-width:.7;pointer-events:none}.map .cell-label{font:700 12px var(--f-body);fill:#fff;pointer-events:none}.map.tall{max-height:62vh;width:auto;max-width:100%;margin:0 auto}.map .hit{stroke:var(--map-box);stroke-width:1}.map .hit:not(.hl):not(.sel):not(.ok):not(.bad):not(.got):not(.solid):not(.gold){fill:transparent}.map.browse .dep:not(.got):not(.solid):not(.gold){fill:var(--map-empty);stroke:var(--map-box)}.map .dep.got{fill:url(#mg-bronze)}.map .dep.solid{fill:url(#mg-silver)}.map .dep.gold{fill:url(#mg-gold)}.map.browse .dep{cursor:pointer}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);font-weight:600}.legend .sw-bronze{background:linear-gradient(135deg,var(--bronze-hi),var(--bronze) 55%,var(--bronze-lo))}.legend .sw-silver{background:linear-gradient(135deg,var(--silver-hi),var(--silver) 55%,var(--silver-lo))}.legend .sw-gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold) 55%,var(--gold-lo))}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.seg{display:inline-flex;background:var(--sunken);border-radius:999px;padding:3px;gap:2px;align-self:flex-start}.seg button{height:32px;padding:0 14px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.map .dep.ctx:not(.hl):not(.sel):not(.ok):not(.bad){opacity:.45}.map .inset-label{font:700 11px var(--f-body);fill:var(--muted);pointer-events:none}.map .pulse{fill:none;stroke:var(--col);stroke-width:3}.mapwrap{background:var(--surface);border-radius:16px;padding:8px;box-shadow:var(--shadow)}.mapwrap.compact .map{max-height:150px}.qbar{display:flex;align-items:center;gap:10px}.qprog{flex:1;display:flex;gap:3px;min-width:0}.qprog i{flex:1;min-width:2px}.qprog i{height:6px;border-radius:999px;background:var(--line)}.qprog i.ok{background:var(--ok)}.qprog i.bad{background:var(--bad)}.qprog i.cur{background:var(--ink)}.prompt{background:var(--surface);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;border-top:5px solid var(--col)}.prompt .val{font-family:var(--f-display);font-size:30px;line-height:1.15;word-break:break-word}.prompt .sub{font-family:var(--f-display);color:var(--muted);font-size:18px}.ask{font-size:19px;font-weight:700}.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opt{min-height:60px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);padding:10px 12px;font-weight:700;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums}.opt:active{transform:scale(.98)}.opt.ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.opt.bad{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.opt[disabled]{pointer-events:none}.tform{display:flex;gap:8px}.tform input{flex:1;min-width:0;height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);padding:0 16px;font-size:17px;font-weight:600}.tform input.ok{border-color:var(--ok);color:var(--ok)}.tform input.bad{border-color:var(--bad);color:var(--bad)}.sugg{display:flex;flex-wrap:wrap;gap:6px;min-height:34px}.sugg button{height:34px;padding:0 12px;border-radius:999px;background:var(--sunken);font-weight:600;font-size:14px}.qactions{display:flex;justify-content:space-between;align-items:center;gap:10px}.fb{border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px;animation:rise .25s ease-out}.fb.ok{background:var(--ok-soft)}.fb.bad{background:var(--bad-soft)}.fb-head{font-weight:800;font-size:18px}.fb.ok .fb-head{color:var(--ok)}.fb.bad .fb-head{color:var(--bad)}.fiche{background:var(--surface);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px}.fiche .t{font-family:var(--f-display);font-size:19px}.fiche .attrs{padding:4px 0 0}.gold-banner{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:14px;padding:12px;border:2px solid var(--gold);animation:pop .5s cubic-bezier(.2,1.4,.4,1)}.gold-banner .card{width:74px;flex:none}.lost-banner{background:var(--surface);border-radius:14px;padding:12px;border:1.5px dashed var(--muted);font-size:14px}@keyframes rise{0%{transform:translateY(8px);opacity:.3}to{transform:none;opacity:1}}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}.qend{display:flex;flex-direction:column;gap:14px;text-align:center;align-items:stretch}.score{font-family:var(--f-display);font-size:64px;line-height:1;font-variant-numeric:tabular-nums}.gold-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.gold-row .card{width:70px}.stage{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.pack{position:relative;width:210px;height:300px;border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--col) 70%,#fff),var(--col) 45%,color-mix(in srgb,var(--col) 65%,#000));box-shadow:0 18px 40px #00000040;color:#fff;overflow:visible;animation:float 3s ease-in-out infinite}.pack .top{position:absolute;left:0;right:0;top:0;height:44px;border-radius:14px 14px 0 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 6px,transparent 6px 12px),color-mix(in srgb,var(--col) 80%,#000);transition:transform .5s cubic-bezier(.5,0,.6,1),opacity .5s}.pack .body{position:absolute;inset:44px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:10px}.pack .body svg{width:64px;height:64px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linejoin:round}.pack .pname{font-family:var(--f-display);font-size:22px;line-height:1.1}.pack .pcount{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.pack.torn{animation:none}.pack.torn .top{transform:translate(60px,-90px) rotate(28deg);opacity:0}.pack.torn .body{animation:sink .6s .25s ease-in forwards}@keyframes sink{to{transform:translateY(60px);opacity:0}}@keyframes float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}.flip{width:280px;max-width:100%;perspective:1200px}.flip-in{position:relative;transition:transform .6s cubic-bezier(.3,.7,.3,1);transform-style:preserve-3d;display:grid}.flip.on .flip-in{transform:rotateY(180deg)}.flip .face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip .front{transform:rotateY(180deg)}.flip .back{border-radius:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--col) 70%,#fff),var(--col) 45%,color-mix(in srgb,var(--col) 65%,#000));display:grid;place-items:center;min-height:380px;border:6px solid var(--card-frame);box-shadow:var(--shadow)}.flip .back svg{width:72px;height:72px;fill:none;stroke:#fff;stroke-width:1.6;opacity:.9}.flip-wrap{animation:deal .35s ease-out}@keyframes deal{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:none;opacity:1}}.bctl{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-height:96px}.bctl .new-tag{animation:rise .3s .35s both}.counter{font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.new-tag{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--col)}.shop-card{display:flex;flex-direction:column;gap:12px;background:var(--surface);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.shop-card h3{font-family:var(--f-display);font-weight:400;font-size:20px}.rules{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.rules b{color:var(--ink)}.list{display:flex;flex-direction:column;gap:10px}.modal{position:fixed;inset:0;z-index:20;background:#0a0c128c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));animation:fade .2s}.modal .card{animation:pop .3s cubic-bezier(.2,1.3,.4,1);width:100%}.modal .closer{background:var(--surface);color:var(--ink)}@keyframes fade{0%{opacity:0}}.toast{width:max-content;max-width:min(420px,calc(100% - 32px));position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--brand);color:var(--brand-ink);padding:12px 18px;border-radius:14px;font-weight:700;z-index:30;box-shadow:var(--shadow);max-width:calc(100% - 32px);animation:rise .3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rank-line{font-size:13px;color:var(--muted);text-align:left;align-self:flex-start}.rank-line b{color:var(--col)}.login{display:flex;flex-direction:column;gap:16px;padding-top:6vh}.login-brand{font-size:44px;text-align:center}.login-pitch{text-align:center;color:var(--muted);margin:-8px 0 8px}.code-box{width:100%;box-sizing:border-box;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);padding:12px;font:13px/1.4 ui-monospace,monospace;resize:vertical;word-break:break-all}.splash{text-align:center;padding-top:30vh;font-size:40px;opacity:.6}.consent{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:520px;margin:0 auto;z-index:40;background:var(--surface);border-radius:18px;padding:16px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:12px}
