@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2) format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/oswald-latin-500-normal-B-eyT0Dw.woff2) format("woff2"),url(/assets/oswald-latin-500-normal-DM85Di4w.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-latin-600-normal-plFmSr5g.woff2) format("woff2"),url(/assets/oswald-latin-600-normal-DRToI_2E.woff) format("woff")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-sc-latin-400-normal-bWtu-bD9.woff2) format("woff2"),url(/assets/noto-serif-sc-latin-400-normal-DtFOq9cQ.woff) format("woff")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-sc-chinese-simplified-400-normal-hudUdRP0.woff2) format("woff2"),url(/assets/noto-serif-sc-chinese-simplified-400-normal-noNOj8bn.woff) format("woff")}:root{--ink: #0b0b0f;--panel: #14141a;--panel-2: #1b1b23;--line: #2a2a34;--bone: #ece7da;--bone-dim: #9d998d;--cinnabar: #e0452f;--bois: #86d24b;--feu: #ff8c2e;--terre: #dfa54b;--metal: #a7c2d6;--eau: #6a79e6;--neutre: #c9a227;--card-max-h: 352px;--chrome-h: 220px;--card-h: min(var(--card-max-h), calc((100dvh - var(--chrome-h)) / 3));--card-w: calc(var(--card-h) / 1.42);--font-body: "Inter Variable", Inter, "Segoe UI", system-ui, sans-serif;--font-display: Oswald, "Arial Narrow", "Segoe UI", system-ui, sans-serif;--font-serif-zh: "Noto Serif SC", "Noto Serif TC", "Songti SC", "SimSun", serif;font-family:var(--font-body);color:var(--bone);background:var(--ink)}.zh,.ideo{font-family:var(--font-serif-zh)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:radial-gradient(1200px 700px at 50% 30%,#131318 0%,var(--ink) 70%)}button{font:inherit;color:var(--bone);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:7px 14px;cursor:pointer}button:hover{border-color:var(--bone-dim)}button:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}button:disabled{opacity:.4;cursor:default}button.primary{background:linear-gradient(180deg,#f4f0e5,#ddd7c6);border-color:#0b0b0f47;color:#14141a;font-weight:500}button.primary:hover{background:linear-gradient(180deg,#fffdf6,#e8e2d2);border-color:#0b0b0f47;box-shadow:0 10px 26px -16px #ece7dad9}button.primary:focus-visible{outline-color:var(--bone)}button.primary:disabled{box-shadow:none}.game button.primary,.endscreen button.primary,.handoff button.primary{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff;box-shadow:none}.game button.primary:hover,.endscreen button.primary:hover,.handoff button.primary:hover{filter:brightness(1.1)}.brand-logo{--logo-h: clamp(38px, 4.4vw, 68px);display:block;flex:0 0 auto;height:var(--logo-h);width:calc(var(--logo-h) * 3.074);background-color:currentColor;-webkit-mask:url(/logo.svg) left center / contain no-repeat;mask:url(/logo.svg) left center / contain no-repeat}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.setup{height:100%;display:grid;place-items:center;text-align:center;overflow:auto}.setup h1{font-size:64px;font-weight:400;letter-spacing:.35em;margin:0 0 4px}.setup .subtitle{color:var(--bone-dim);letter-spacing:.12em;margin-bottom:24px}.setup .hint{margin-bottom:12px}.player-picks{display:flex;flex-direction:column;gap:28px;margin:16px 0 28px}.difficulty-pick{margin:4px 0 18px}.player-pick{text-align:left}.pick-label{font-size:13px;color:var(--bone-dim);letter-spacing:.08em;margin-bottom:10px;text-align:center}.setup .decks{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.deck-choice{width:180px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-align:left;color:inherit;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.deck-choice:hover{border-color:var(--bone-dim);transform:translateY(-2px)}.deck-choice.selected{border-color:var(--cinnabar);box-shadow:0 0 0 1px var(--cinnabar),0 8px 24px -12px #e0452f88}.deck-choice.partial{opacity:.92}.deck-choice .voie-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.deck-choice .voie{font-size:12px;color:var(--bone-dim);letter-spacing:.06em}.badge-completion{font-size:10px;letter-spacing:.04em;color:var(--bone-dim);border:1px solid var(--line);border-radius:8px;padding:1px 6px;white-space:nowrap}.badge-completion.ok{color:var(--bois);border-color:var(--bois)}.deck-choice h3{margin:4px 0 6px;font-weight:500;font-size:14px}.deck-choice p{font-size:12px;color:var(--bone-dim);margin:0;line-height:1.4}.deck-choice .glow{height:3px;border-radius:2px;margin-bottom:10px}.game{height:100%;display:grid;grid-template-columns:1fr minmax(220px,280px);grid-template-rows:auto minmax(0,1fr) auto;gap:6px;padding:6px;overflow:hidden;background:#0b0b0f url(/bg/plateau.webp) center center / cover no-repeat}.side{grid-column:1;min-width:0;min-height:0}.centercol{grid-column:2;grid-row:1 / 4;display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}.zone{background:color-mix(in srgb,var(--panel) 28%,transparent);border:1px solid var(--line);border-radius:10px;padding:6px 8px;min-width:0}.zone.opp{grid-row:1;overflow:hidden;padding:4px 8px}.zone.mid{grid-row:2;display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden;padding:0;background:color-mix(in srgb,var(--panel) 12%,transparent);position:relative}.zone.me{grid-row:3;overflow:hidden;padding:4px 8px 6px}.rowlabel{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim);margin:0 0 2px;line-height:1.2}.cardrow{--n: 1;display:flex;gap:0;flex-wrap:nowrap;overflow:visible;padding:4px 2px 6px;min-height:var(--card-h);align-items:flex-start}.cardrow>*{position:relative;flex:0 0 var(--card-w)}.cardrow>*+*{margin-left:max(calc(var(--card-w) * -.55),min(8px,calc((100% - var(--n) * var(--card-w)) / max(1,calc(var(--n) - 1)))))}.cardrow>*:hover,.cardrow>*:focus-within{z-index:5}.zone.me .cardrow{padding-top:8px;min-height:calc(var(--card-h) + 8px)}.cardrow.battlefield{min-height:0;flex:1 1 0;padding:2px 8px 4px}.field{display:flex;flex-direction:column;min-height:0;flex:1 1 0;padding:2px 0 0;overflow:hidden}.field.opp-field{background:color-mix(in srgb,var(--panel) 18%,transparent)}.field.me-field{background:transparent}.frontline{flex:0 0 auto;height:1px;background:var(--line);margin:0 10px;position:relative}.frontline:after{content:"ligne de front";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);background:var(--panel);padding:0 8px;white-space:nowrap}.playerbar{display:flex;align-items:center;gap:10px;margin-bottom:0;min-height:40px;flex-wrap:nowrap}.playerbar .name{font-weight:600;font-size:13px;white-space:nowrap}.playerbar .life{color:var(--cinnabar);font-size:18px;font-weight:700;white-space:nowrap}.playerbar .qi-avail{display:inline-flex;align-items:center;gap:.45em;font-size:13px;font-weight:700;color:var(--bone);white-space:nowrap;cursor:help}.playerbar .qi-avail b{font-variant-numeric:tabular-nums;letter-spacing:.02em}.playerbar .counts{color:var(--bone-dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playerbar .active-dot{width:8px;height:8px;border-radius:50%;background:var(--cinnabar);flex-shrink:0}.playerbar .bar-meta{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.playerbar .bar-extras{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.hand-fan{display:flex;align-items:center;gap:0;height:48px}.hand-fan .card.back.mini+.card.back.mini{margin-left:-18px}.hand-fan .fan-count{margin-left:6px;font-size:11px;color:var(--bone-dim);letter-spacing:.06em}.source-row{display:flex;align-items:center;gap:0;height:40px}.source-row .card.back.token+.card.back.token{margin-left:-10px}.source-row .card.back.token.tapped{opacity:.45;transform:rotate(90deg) scale(.9);margin:0 -4px 0 -10px}.source-row .src-count{margin-left:6px;font-size:11px;color:var(--bone-dim);white-space:nowrap}.card{width:var(--card-w);height:var(--card-h);flex:0 0 var(--card-w);border-radius:10px;background:linear-gradient(175deg,#17171e,#101015);border:1px solid var(--line);border-top:4px solid var(--phase, var(--line));box-shadow:0 0 18px -6px var(--phase, transparent);padding:0;display:flex;flex-direction:column;position:relative;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;text-align:left;font-size:clamp(9px,calc(var(--card-h) * .042),14px);overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:0 10px 24px -8px var(--phase, #000);z-index:3}.card.selected{outline:2px solid var(--cinnabar);outline-offset:2px}.card.tapped{transform:rotate(90deg) scale(.82);margin:0 calc(var(--card-w) * .2)}.card.tapped:hover{transform:rotate(90deg) scale(.82) translateY(-2px)}.card.disabled{opacity:.55;cursor:default}.card.hero-eveil{box-shadow:0 0 0 2px #c9a227,0 0 10px #c9a22766}.card.hero-apotheose{box-shadow:0 0 0 2px #f0d060,0 0 14px #f0d06099}.card.trempe-1{box-shadow:0 0 0 2px #8a6a3a,0 0 12px #8a6a3a55;border-color:#8a6a3a}.card.trempe-1 .cname{color:#d4b896}.card.trempe-2{box-shadow:0 0 0 2px #c9a86a,0 0 14px #c9a86a88;animation:trempe-pulse 2.4s ease-in-out infinite}@keyframes trempe-pulse{0%,to{box-shadow:0 0 0 2px #c9a86a,0 0 10px #c9a86a66}50%{box-shadow:0 0 0 2px #e8d08a,0 0 18px #e8d08aaa}}.card.trempe-3{box-shadow:0 0 0 2px #f0d060,0 0 16px #f0d06099;position:relative}.card.trempe-3:after{content:"鍛";position:absolute;top:4px;right:6px;font-size:.85em;color:#f0d060;text-shadow:0 0 6px #f0d060aa;pointer-events:none;z-index:4}.card.trempe-3 .cname{letter-spacing:.02em;text-shadow:0 1px 0 #0008}.card .top{display:flex;justify-content:space-between;align-items:center;gap:.4em}.card .cost{display:inline-flex;align-items:center;gap:.2em;font-weight:700;color:var(--bone);white-space:nowrap;font-size:1em;line-height:1}.card .cost.cost-lg{font-size:1.1em;gap:.24em}.cost-generic{font-variant-numeric:tabular-nums}.cost.cost-reduced{color:var(--bois)}.cost.cost-reduced:before{content:"▾";font-size:.72em;margin-right:.08em;opacity:.85;line-height:1}.cost.cost-reduced .cost-generic{color:var(--bois)}.cost-pip-wrap{display:inline-flex;align-items:center;line-height:0}.cost-pip{height:.78em;width:auto;display:block;flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.phase-tag{display:inline-flex;align-items:center;gap:.28em;color:inherit;line-height:1;vertical-align:-.08em}.phase-tag .cost-pip{height:.85em}.phase-tag-label{font-weight:600;letter-spacing:.02em}.qi-pool{display:inline-flex;align-items:center;gap:.5em;vertical-align:middle}.qi-pool-item{display:inline-flex;align-items:center;gap:.18em}.qi-pool-item b{font-variant-numeric:tabular-nums}.qi-pool .phase-tag .cost-pip{height:.8em}.phase-choice .phase-tag{pointer-events:none}.active-phase-line{display:flex;align-items:center;justify-content:center;gap:.35em;flex-wrap:wrap}.active-phase-line .phase-tag{font-weight:700}.card .cname{font-weight:600;line-height:1.25;margin-top:.25em;font-size:1.07em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .zh-name{color:var(--phase, var(--bone-dim));font-size:1.07em}.card .rules{color:var(--bone-dim);font-size:.86em;line-height:1.35;margin-top:.4em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card .bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding:.25em .7em .55em}.card .typeideo{font-size:1.4em;color:var(--phase, var(--bone-dim))}.card .stats{font-weight:700;font-size:1.28em}.card .dmg{color:var(--cinnabar);font-size:.86em;font-weight:600}.card.back{background:url(/carte-dos.png) center / cover no-repeat,repeating-linear-gradient(45deg,#14141a 0,#14141a 8px,#101015 8px,#101015 16px);border-top:1px solid var(--line);cursor:default;padding:6px 7px;box-shadow:none}.card.back:hover{transform:none;box-shadow:none}.card.back .ideo{display:none}.card.source-card{height:48px;width:96px;flex-basis:96px}.card.back.mini{width:34px;height:48px;flex:0 0 34px;border-radius:4px;border-top-width:1px;padding:2px}.card.back.mini .ideo{font-size:16px}.card.back.token{width:24px;height:34px;flex:0 0 24px;border-radius:3px;border-top-width:1px;padding:1px}.card.back.token .ideo{font-size:11px}.card.attacking{outline:2px solid var(--feu)}.card.unblocked{outline:3px solid var(--cinnabar);box-shadow:0 0 0 3px color-mix(in srgb,var(--cinnabar) 35%,transparent)}.card.blocking{outline:2px solid var(--eau)}.card.pending{outline:2px dashed var(--eau);box-shadow:0 0 0 2px color-mix(in srgb,var(--eau) 30%,transparent)}.card-slot{position:relative;flex:0 0 var(--card-w)}.card-slot.paired-hilite .card{box-shadow:0 0 0 3px color-mix(in srgb,var(--eau) 55%,transparent),0 0 18px color-mix(in srgb,var(--eau) 40%,transparent);z-index:6}.pair-pip{position:absolute;top:-7px;left:-7px;z-index:6;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1;color:#fff;background:var(--eau);border:1px solid color-mix(in srgb,#fff 25%,var(--eau));box-shadow:0 1px 4px #00000073;pointer-events:none}.pair-pip.free{background:var(--cinnabar);border-color:color-mix(in srgb,#fff 25%,var(--cinnabar))}.combat-tag{position:absolute;left:2px;right:2px;bottom:2px;z-index:5;padding:2px 3px;font-size:8px;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;line-height:1.15;color:#fff;background:color-mix(in srgb,var(--ink, #1a1410) 78%,transparent);border-radius:3px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-tag.free{color:#fff;background:color-mix(in srgb,var(--cinnabar) 88%,#000)}.combat-tag.need{color:#fff;background:color-mix(in srgb,var(--feu) 85%,#000)}.combat-tag.pending{color:#fff;background:color-mix(in srgb,var(--eau) 85%,#000)}.block-recap{position:absolute;left:10px;right:10px;bottom:52px;z-index:15;max-height:min(28vh,160px);overflow-y:auto;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-2) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px -12px #000000b3;font-size:11px;line-height:1.35;pointer-events:auto}.block-recap.replay{bottom:8px}.block-recap-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;padding:2px 0;color:var(--bone-dim)}.block-recap-row+.block-recap-row{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.block-recap-n{font-weight:700;color:var(--eau);min-width:1.2em}.block-recap-atk{color:var(--bone);font-weight:600}.block-recap-sep{opacity:.45}.block-recap-row.ok .block-recap-blk{color:var(--eau)}.block-recap-row.free .block-recap-n,.block-recap-row.free .block-recap-blk{color:var(--cinnabar);font-weight:700}.block-recap-row.need .block-recap-blk{color:var(--feu);font-weight:600}.wheelbox{display:grid;place-items:center;padding:4px 2px 2px}.wheelbox svg{width:100%;max-width:min(280px,24vh);height:auto}.wheel-needle{transition:transform .7s cubic-bezier(.2,.8,.2,1);transform-origin:150px 150px}.wheel-step{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-dim);padding:0 4px 6px;line-height:1.35}.wheel-step b{color:var(--bone)}.actions{display:flex;gap:8px;flex-wrap:wrap;padding:4px 2px;align-items:center}.hint{font-size:13px;color:var(--bone-dim)}.hint.danger{color:var(--cinnabar);font-weight:600}.error{font-size:13px;color:var(--cinnabar)}.actionbar{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-top:1px solid var(--line);background:var(--panel-2);border-radius:0 0 10px 10px}.actionbar .step-indicator{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);white-space:nowrap;flex-shrink:0}.actionbar .step-indicator b{color:var(--bone);font-weight:600}.actionbar .step-indicator .you{color:var(--cinnabar);font-weight:700}.actionbar .action-body{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.actionbar .action-body .hint{font-size:12px;flex:1 1 120px;min-width:0}.actionbar .error{font-size:12px}.log{flex:1;min-height:0;overflow-y:auto;font-size:12px;line-height:1.6;color:var(--bone-dim);padding:4px 8px}.log .turnmark{color:var(--bone);border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.handoff{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center;z-index:50;text-align:center}.handoff h2{font-weight:400;letter-spacing:.2em}.endscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000d;display:grid;place-items:center;z-index:60;text-align:center}.endscreen h1{letter-spacing:.3em;font-weight:400}.reveal-layer{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:70}.reveal-stage{--card-h: min(420px, 55dvh);--card-w: calc(var(--card-h) / 1.42);position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;perspective:1200px}.reveal-halo{position:absolute;top:-18%;right:-28%;bottom:-18%;left:-28%;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--phase, var(--bone)) 55%,transparent) 0%,color-mix(in srgb,var(--phase, var(--bone)) 18%,transparent) 42%,transparent 70%);animation:reveal-halo-pulse 1.6s ease-in-out infinite;z-index:0}@keyframes reveal-halo-pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.95;transform:scale(1.04)}}.reveal-flip{position:relative;width:var(--card-w);height:var(--card-h);transform-style:preserve-3d;z-index:1;filter:drop-shadow(0 12px 28px #000000aa)}.reveal-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;overflow:hidden}.reveal-back{background:url(/carte-dos.png) center / cover no-repeat #101015;transform:rotateY(180deg);box-shadow:0 0 0 1px var(--line)}.reveal-front{transform:rotateY(0)}.reveal-front .card{width:100%;height:100%;flex:none;cursor:default;pointer-events:none}.reveal-front .card:hover{transform:none;box-shadow:inherit}.reveal-label{z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;text-shadow:0 2px 10px #000000cc}.reveal-who{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim)}.reveal-name{font-size:1.15em;font-weight:600;color:var(--phase, var(--bone));letter-spacing:.04em}.reveal-enter .reveal-flip{animation:reveal-flip-in .6s cubic-bezier(.2,.9,.25,1.2) both}.reveal-enter .reveal-label{animation:reveal-fade-up .5s ease-out both}.reveal-hold .reveal-flip{transform:rotateY(0) scale(1)}.reveal-exit .reveal-flip{animation:reveal-exit .4s ease-in both}.reveal-exit .reveal-halo,.reveal-exit .reveal-label{animation:reveal-fade-out .4s ease-in both}@keyframes reveal-flip-in{0%{transform:translateY(36px) scale(.82) rotateY(180deg);opacity:0}35%{opacity:1}to{transform:translateY(0) scale(1) rotateY(0);opacity:1}}@keyframes reveal-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-exit{0%{transform:translateY(0) scale(1) rotateY(0);opacity:1}to{transform:translateY(-28px) scale(1.06) rotateY(0);opacity:0}}@keyframes reveal-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.wheel-needle,.card{transition:none}.reveal-halo{animation:none;opacity:.7}.reveal-enter .reveal-flip{animation:reveal-fade-up .35s ease-out both;transform:rotateY(0)}.reveal-enter .reveal-back{display:none}.reveal-exit .reveal-flip,.reveal-exit .reveal-halo,.reveal-exit .reveal-label{animation:reveal-fade-out .25s ease-in both}}.card .marks{font-size:.65em;color:var(--terre)}.badge{position:absolute;top:-8px;right:-8px;background:var(--cinnabar);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:12px;font-weight:700;z-index:4}.playerbar.targetable{cursor:pointer;outline:1px dashed var(--cinnabar);border-radius:6px;padding:2px 6px}.stackitem{display:block;width:100%;text-align:left;margin-bottom:6px;font-size:12px;padding:5px 8px}.stackitem.selected{outline:2px solid var(--cinnabar)}.cardart{height:62%;overflow:hidden;position:relative;flex-shrink:0;background:#000}.cardimg{width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.cardtext{padding:.55em .7em 0;flex:1;min-height:0;display:flex;flex-direction:column}.card .livebar{position:absolute;top:6px;left:6px;right:6px;display:flex;gap:4px;flex-wrap:wrap;z-index:2;pointer-events:none}.chip{background:#000c;border:1px solid var(--line);color:var(--bone);border-radius:8px;padding:1px 7px;font-size:.85em;font-weight:600;line-height:1.4}.chip.mark{border-color:var(--terre);color:var(--terre)}.chip.dmgchip{border-color:var(--cinnabar);color:var(--cinnabar)}.chip.statchip{border-color:var(--phase, var(--bone-dim));font-size:.93em}.carddetail{position:fixed;width:420px;z-index:100;pointer-events:none;border-radius:12px;border:1px solid var(--line);border-top:4px solid var(--phase, var(--line));background:var(--panel);box-shadow:0 22px 56px -12px #000c,0 0 0 1px #0004;overflow:hidden;color:var(--bone)}.carddetail .art{height:280px;overflow:hidden;background:#000}.carddetail .art img{width:100%;height:auto;display:block}.carddetail .body{padding:14px 16px 16px;background:linear-gradient(175deg,#1a1a22,#121218)}.carddetail .top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.carddetail .zh-name{color:var(--phase, var(--bone-dim));font-size:18px}.carddetail .cost{display:inline-flex;align-items:center;gap:.28em;font-weight:700;font-size:17px;color:var(--bone);white-space:nowrap;line-height:1}.carddetail .cost-pip{height:.88em}.carddetail .cost-note{margin-top:4px;font-size:12px;color:var(--bone-dim);letter-spacing:.01em}.carddetail .cost-note s{color:var(--bone-dim);opacity:.75}.carddetail .cname{font-weight:600;font-size:22px;line-height:1.25;margin:8px 0 6px}.carddetail .typeline{font-size:12px;letter-spacing:.08em;color:var(--bone-dim);margin-bottom:12px}.carddetail .rules{font-size:15px;line-height:1.45;color:var(--bone)}.carddetail .rules p{margin:0 0 8px}.carddetail .rules p:last-child{margin-bottom:0}.carddetail .citation{margin-top:12px;font-size:13px;font-style:italic;color:var(--bone-dim);line-height:1.4}.carddetail .bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.carddetail .typeideo{font-size:22px;color:var(--phase, var(--bone-dim))}.carddetail .stats{font-weight:700;font-size:22px}@media(max-height:900px){.card .rules{-webkit-line-clamp:2}.cardtext{padding:.4em .55em 0}}@media(max-height:760px){.card .rules{display:none}.cardart{height:72%}.card .cname{-webkit-line-clamp:1}.frontline:after{display:none}.actionbar{min-height:38px;padding:4px 8px}.actionbar .action-body .hint{display:none}}.collection-page{align-items:start}.collection-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:16px 0 20px;font-size:13px;color:var(--bone-dim)}.collection-filters select,.editor-top input,.editor-selects select,.editor-code input{font:inherit;color:var(--bone);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:6px 10px;margin-left:6px}.collection-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;--card-h: 180px;--card-w: calc(var(--card-h) / 1.42)}.collection-grid.compact{--card-h: 140px}.collection-slot{display:flex;flex-direction:column;align-items:center;gap:4px}.collection-slot.missing .card{filter:grayscale(1);opacity:.55}.collection-meta{font-size:11px;color:var(--bone-dim);min-height:16px}.collection-meta .count-badge{color:var(--bone);border:1px solid var(--line);border-radius:8px;padding:0 6px}.collection-meta .obtention{font-style:italic}.essence-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0 8px}.essence-chip{border:1px solid var(--line);background:var(--panel-2);color:var(--bone);border-radius:8px;padding:6px 12px;font-size:13px}.essence-chip.phase-bois{border-color:var(--bois);color:var(--bois)}.essence-chip.phase-feu{border-color:var(--feu);color:var(--feu)}.essence-chip.phase-terre{border-color:var(--terre);color:var(--terre)}.essence-chip.phase-metal{border-color:var(--metal);color:var(--metal)}.essence-chip.phase-eau{border-color:var(--eau);color:var(--eau)}.forge-slot{gap:6px}.forge-slot.maxed{opacity:.7}.forge-slot.maxed .forge-btn{opacity:.55}.forge-cost{display:block;margin-top:2px;font-size:11px;color:var(--bone-dim)}.forge-btn{font-size:12px;padding:4px 10px;margin-top:2px}.deck-list{display:flex;flex-direction:column;gap:10px;text-align:left;margin:16px 0}.deck-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.deck-list-item .glow{width:4px;align-self:stretch;border-radius:2px;flex:0 0 4px}.deck-list-body{flex:1;min-width:0}.deck-list-title{font-size:15px;margin-bottom:2px}.deck-list-actions{display:flex;gap:8px;flex-wrap:wrap}.deck-editor{align-items:start}.editor-top{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;margin-bottom:12px}.editor-selects{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:12px 0;font-size:13px;color:var(--bone-dim)}.cost-curve{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:96px;margin:12px 0}.cost-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--bone-dim);width:22px}.cost-bar{width:14px;background:var(--cinnabar);border-radius:3px 3px 0 0;min-height:2px}.deck-errors{list-style:none;padding:0;margin:8px auto;max-width:560px;color:var(--cinnabar);font-size:13px;text-align:left}.editor-columns{display:grid;grid-template-columns:1fr minmax(220px,280px);gap:16px;text-align:left;margin-top:12px}@media(max-width:800px){.editor-columns{grid-template-columns:1fr}}.qty-controls{display:flex;align-items:center;gap:4px;font-size:12px}.qty-controls button{padding:2px 8px;min-width:28px}.deck-card-list{list-style:none;padding:0;margin:0;max-height:420px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.deck-card-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px}.deck-card-list li:last-child{border-bottom:none}.deck-card-list li span:first-child{flex:1}.editor-code{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px;align-items:center}.video-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none;overflow:hidden}.video-bg video,.video-bg img{width:100%;height:100%;object-fit:cover;display:block}.scene{--scene-pad: clamp(20px, 3.2vw, 56px);--rail-w: clamp(300px, 30vw, 400px);--phase: var(--bone-dim);position:relative;height:100%;display:grid;grid-template-columns:1fr var(--rail-w);grid-template-rows:auto 1fr auto;grid-template-areas:"title railtop" ".     rail" "foot  railbottom";gap:0 clamp(16px,3vw,48px);padding:var(--scene-pad);background:transparent;overflow:hidden}.scene-wide{--rail-w: clamp(340px, 40vw, 560px)}.scene-rail-left{grid-template-columns:var(--rail-w) 1fr;grid-template-areas:"title ." "rail  ." "foot  ."}.scene-rail-left .scene-rail-top,.scene-rail-left .scene-rail-bottom{display:none}.scene-rail-left .scene-rail{justify-content:flex-start}.scene-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,rgba(11,11,15,.93) 0%,rgba(11,11,15,.82) 12%,rgba(11,11,15,.46) 21%,rgba(11,11,15,.16) 27%,transparent 34%),linear-gradient(to left,rgba(11,11,15,.9) 0%,rgba(11,11,15,.86) 18%,rgba(11,11,15,.62) 30%,rgba(11,11,15,.3) 42%,rgba(11,11,15,.1) 52%,transparent 62%),linear-gradient(to right,rgba(11,11,15,.55) 0%,rgba(11,11,15,.16) 20%,transparent 36%),linear-gradient(to top,rgba(11,11,15,.75),rgba(11,11,15,.14) 32%,transparent 50%)}.scene-rail-left .scene-veil{background:linear-gradient(to bottom,rgba(11,11,15,.9) 0%,rgba(11,11,15,.72) 14%,rgba(11,11,15,.28) 24%,transparent 34%),linear-gradient(to right,rgba(11,11,15,.92) 0%,rgba(11,11,15,.88) 18%,rgba(11,11,15,.62) 32%,rgba(11,11,15,.28) 46%,rgba(11,11,15,.08) 56%,transparent 68%),linear-gradient(to top,rgba(11,11,15,.7),rgba(11,11,15,.12) 30%,transparent 48%)}.scene-frame{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 6px var(--ink),inset 0 0 22px 10px #0b0b0fe6,inset 0 0 160px 40px #0b0b0f8c}.scene-title,.scene-rail,.scene-rail-top,.scene-rail-bottom,.scene-foot{position:relative;z-index:2;min-width:0}.scene-rail-top{grid-area:railtop;display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}.scene-rail-bottom{grid-area:railbottom;display:flex;align-items:flex-end;justify-content:flex-end;z-index:3}.scene-foot{overflow:hidden}.scene-title{grid-area:title;display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);text-align:left}.scene-title-text{min-width:0}.scene-ideogram{display:block;font-size:clamp(15px,1.5vw,20px);letter-spacing:.3em;color:var(--phase);opacity:.85;line-height:1;margin-bottom:4px;text-shadow:0 1px 10px rgba(0,0,0,.9)}.scene-title h1{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3.6vw,52px);line-height:1;letter-spacing:.02em;text-transform:uppercase;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.8)}.scene-subtitle{margin:8px 0 0;font-size:13px;color:var(--bone-dim);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.9)}.wuxing-mark{flex:0 0 auto;overflow:visible}.wuxing-mark .mark-cycle{fill:none;stroke:var(--bone-dim);stroke-width:1.6;opacity:.5}.wuxing-mark .mark-star{fill:none;stroke:var(--bone-dim);stroke-width:1;opacity:.22}.wuxing-mark .mark-node{fill:var(--bone-dim);opacity:.6}.wuxing-mark .mark-node.on{fill:currentColor;opacity:1;filter:drop-shadow(0 0 7px currentColor)}.scene-rail{grid-area:rail;display:flex;flex-direction:column;justify-content:center;gap:2px;overflow-y:auto;overscroll-behavior:contain;padding:8px 0;scrollbar-width:thin}.rail-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;text-decoration:none;position:relative;display:grid;grid-template-columns:3px 1fr auto;align-items:center;gap:0 14px;width:100%;padding:15px 4px 15px 14px;border:none;border-top:1px solid rgba(236,231,218,.1);border-radius:0;background:transparent;cursor:pointer;transition:background-color .18s ease,padding-left .18s ease}.rail-item:last-child{border-bottom:1px solid rgba(236,231,218,.1)}div.rail-item,div.rail-item:hover{cursor:default}.rail-accent{align-self:stretch;border-radius:2px;background:transparent;transition:background-color .18s ease}.rail-body{min-width:0}.rail-label{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(15px,1.35vw,20px);letter-spacing:.06em;text-transform:uppercase;line-height:1.15}.rail-detail,.rail-meta{display:block;font-size:12.5px;color:var(--bone-dim);line-height:1.4}.rail-detail{margin-top:4px}.rail-meta{margin-top:5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.rail-index{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(236,231,218,.32);transition:-webkit-text-stroke-color .18s ease,color .18s ease}a.rail-item:hover,button.rail-item:hover,a.rail-item:focus-visible,button.rail-item:focus-visible{background:#ece7da0f;padding-left:20px;outline:none}a.rail-item:hover .rail-accent,button.rail-item:hover .rail-accent,a.rail-item:focus-visible .rail-accent,button.rail-item:focus-visible .rail-accent{background:var(--phase)}a.rail-item:hover .rail-index,button.rail-item:hover .rail-index,a.rail-item:focus-visible .rail-index,button.rail-item:focus-visible .rail-index{-webkit-text-stroke-color:var(--phase)}.rail-current .rail-accent{background:var(--phase);box-shadow:0 0 12px -2px var(--phase)}.rail-current .rail-label{color:#fff}.rail-done .rail-label{color:var(--bone-dim)}.rail-done .rail-index{-webkit-text-stroke-color:rgba(236,231,218,.18)}.rail-locked{opacity:.42;filter:grayscale(.5)}.rail-panel{border-top:1px solid rgba(236,231,218,.12);border-bottom:1px solid rgba(236,231,218,.12);padding:clamp(16px,2vw,26px) 0;text-align:left}.rail-panel>:first-child{margin-top:0}.rail-panel>:last-child{margin-bottom:0}.rail-panel .hint,.rail-panel .pick-label{text-align:left}.panel-heading{font-family:var(--font-display);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--phase);margin:22px 0 8px}.panel-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(236,231,218,.07)}.panel-line span:first-child{color:var(--bone-dim);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.rail-cta{font-family:var(--font-display);font-size:14px;letter-spacing:.16em;text-transform:uppercase;padding:13px 22px;width:100%;margin-top:22px}.narration{margin:0;max-width:46ch}.narration .hint{margin:0 0 10px;line-height:1.55;font-size:13.5px}.narration .hint:last-child{margin-bottom:0}.login-form{display:grid;gap:16px}.login-modes{display:flex;gap:0;border-bottom:1px solid rgba(236,231,218,.12);margin-bottom:4px}.login-modes button{flex:1;background:transparent;border:none;border-radius:0;border-bottom:2px solid transparent;padding:10px 8px 12px;font-family:var(--font-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim)}.login-modes button:hover{color:var(--bone);border-color:transparent}.login-modes button.is-active{color:var(--bone);border-bottom-color:var(--phase, var(--metal))}.login-field{display:grid;gap:6px;text-align:left}.login-field span{font-family:var(--font-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim)}.login-field input{width:100%;padding:11px 12px;font:inherit;color:var(--bone);background:#0b0b0f8c;border:1px solid rgba(236,231,218,.16);border-radius:4px;outline:none}.login-field input::placeholder{color:#9d998d8c}.login-field input:focus{border-color:var(--phase, var(--metal));box-shadow:0 0 0 1px color-mix(in srgb,var(--phase, var(--metal)) 35%,transparent)}.login-error{margin:0;color:var(--cinnabar);font-size:13px;line-height:1.4}.login-submit{font-family:var(--font-display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:13px 18px;width:100%;margin-top:4px}.scene-auth{--rail-w: clamp(320px, 34vw, 420px);grid-template-rows:1fr auto auto 1fr auto;grid-template-areas:".     ." "title ." "rail  ." ".     ." "foot  ."}.scene-auth .scene-title{align-self:end;padding-bottom:clamp(18px,2.4vh,30px)}.scene-auth .scene-rail{overflow:visible;padding:0;justify-content:flex-start}.auth-panel,.scene-auth .rail-panel{border:1px solid rgba(236,231,218,.14);border-radius:12px;background:#111117b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(20px,2.2vw,30px);box-shadow:0 26px 60px -34px #000000f2;text-align:left}.auth-panel{width:min(100%,420px)}.auth-panel>:first-child{margin-top:0}.auth-panel>:last-child{margin-bottom:0}.auth-note{margin:14px 0 0;line-height:1.5}.field-note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--bone-dim);transition:color .2s ease}.pseudo-panel.is-checking .field-note{color:var(--bone-dim);opacity:.75}.pseudo-panel.is-libre .field-note{color:var(--bois)}.pseudo-panel.is-libre .login-field input{border-color:#86d24b80}.pseudo-panel.is-pris .field-note,.pseudo-panel.is-invalide .field-note{color:var(--cinnabar)}.pseudo-panel.is-pris .login-field input,.pseudo-panel.is-invalide .login-field input{border-color:#e0452f99}.scene-title-logo{flex-direction:column;align-items:flex-start;gap:clamp(8px,1vh,14px)}.scene-title-logo .brand-logo{color:color-mix(in srgb,var(--bone) 86%,var(--phase));filter:drop-shadow(0 2px 16px rgba(0,0,0,.9));transition:color .4s ease}.scene-title-logo h1{font-size:clamp(22px,2.2vw,34px)}.scene-title-logo .scene-subtitle{margin:6px 0 0}.scene-stage-layout{grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"title railtop" "stage stage" "foot  foot";gap:clamp(14px,2.2vh,30px) clamp(16px,3vw,48px)}.scene-stage{grid-area:stage;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:hidden}.scene-stage-layout .scene-rail-top{align-items:flex-start;padding-top:6px}.scene-stage-layout .scene-veil{background:linear-gradient(to bottom,#0b0b0feb,#0b0b0fbd 13%,#0b0b0f80 24%,#0b0b0f6b 50%,#0b0b0f99 80%,#0b0b0fe0),radial-gradient(120% 70% at 50% 52%,rgba(11,11,15,.55) 0%,transparent 70%)}.onboarding-steps{display:flex;align-items:center;gap:clamp(10px,1.4vw,20px);margin:0;padding:0;list-style:none}.onboarding-step{display:flex;align-items:baseline;gap:7px;font-family:var(--font-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9d998d99;border-top:2px solid rgba(236,231,218,.14);padding-top:9px;min-width:clamp(58px,7vw,96px);transition:color .2s ease,border-color .2s ease}.onboarding-step .step-num{font-size:10px;opacity:.7}.onboarding-step.is-done{color:var(--bone-dim);border-top-color:#ece7da4d}.onboarding-step.is-current{color:var(--bone);border-top-color:var(--phase)}.onboarding-step.is-current .step-num{color:var(--phase);opacity:1}.stage-column{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2vh,22px);width:100%;min-height:0}.stage-narrow{width:min(100%,460px)}.voie-picker{display:flex;align-items:stretch;justify-content:center;gap:clamp(10px,1.2vw,20px);width:100%;min-height:0}.voie-picker .deck-choice{width:auto;flex:1 1 0;min-width:0;max-width:250px;padding:clamp(14px,1.4vw,20px);background:#111117bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.voie-picker .deck-choice .glow{height:4px;margin-bottom:14px}.voie-picker .deck-choice h3{font-size:16px;margin:6px 0 8px}.voie-picker .deck-choice p{font-size:12.5px;line-height:1.5}.voie-picker .badge-completion{display:none}.voie-picker .deck-choice.partial{opacity:1}.voie-picker .deck-choice.selected{border-color:var(--phase);box-shadow:0 0 0 1px var(--phase),0 18px 44px -26px var(--phase);transform:translateY(-3px)}.hero-picker{--card-h: min(300px, calc(100dvh - 330px) );--card-w: calc(var(--card-h) / 1.42);display:flex;align-items:stretch;justify-content:center;gap:clamp(12px,1.6vw,26px);width:100%;min-height:0}.hero-choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:12px;flex:0 1 auto;width:calc(var(--card-w) + 40px);padding:clamp(12px,1.2vw,18px);border:1px solid var(--line);border-radius:12px;background:#111117b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:inherit;font:inherit;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.hero-choice:hover{border-color:var(--bone-dim);transform:translateY(-3px)}.hero-choice.selected{border-color:var(--phase);box-shadow:0 0 0 1px var(--phase),0 16px 40px -24px var(--phase);transform:translateY(-3px)}.hero-choice h3{margin:0;font-weight:500;font-size:14.5px;letter-spacing:.02em}.hero-choice .hero-blurb{margin:0;font-size:12px;line-height:1.5;color:var(--bone-dim);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.recap-name{margin:0 0 4px;font-family:var(--font-display);font-size:clamp(20px,2vw,28px);letter-spacing:.06em}.scene-error{margin:0;padding-left:10px;border-left:2px solid var(--cinnabar);color:var(--cinnabar);font-size:13px;line-height:1.4}.scene-foot{grid-area:foot;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.scene-foot-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.scene-link{font-family:var(--font-display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;background:none;border-left:none;border-right:none;border-top:none;cursor:pointer}.scene-link:hover,.scene-link:focus-visible{color:var(--bone);border-bottom-color:var(--phase);outline:none}.mountain-strip{display:flex;align-items:flex-end;gap:10px}.mountain-tile{position:relative;display:block;width:clamp(96px,9.2vw,128px);aspect-ratio:4 / 3;border:1px solid rgba(236,231,218,.16);border-radius:4px;overflow:hidden;text-decoration:none;color:var(--bone);background:var(--panel);transition:border-color .18s ease,transform .18s ease,filter .18s ease}.mountain-tile img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}.mountain-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 60% at 50% 45%,#0b0b0f9e,#0b0b0f4d)}.tile-glyph{position:absolute;top:0;right:0;bottom:6px;left:0;z-index:1;display:grid;place-items:center;font-size:clamp(28px,3.2vw,40px);color:var(--bone);text-shadow:0 1px 6px rgba(0,0,0,1),0 0 14px rgba(0,0,0,.9)}.tile-progress{position:absolute;z-index:1;bottom:5px;right:7px;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--bone-dim)}.tile-lock{position:absolute;z-index:1;bottom:6px;right:7px;width:18px;height:18px;color:var(--bone-dim);opacity:.9}.tile-soon-mark{position:absolute;z-index:1;bottom:4px;right:8px;font-size:14px;letter-spacing:.12em;color:var(--bone-dim);opacity:.75;line-height:1}a.mountain-tile:hover,a.mountain-tile:focus-visible{border-color:var(--phase);transform:translateY(-3px);outline:none}a.mountain-tile:hover img,a.mountain-tile:focus-visible img{opacity:1}.tile-current .tile-glyph{color:#fff}.tile-done .tile-glyph{color:var(--phase)}.mountain-tile.tile-active{border-color:color-mix(in srgb,var(--phase) 78%,transparent);box-shadow:0 0 18px -8px var(--phase)}.tile-locked,.tile-soon{filter:grayscale(1);cursor:default}.tile-locked img,.tile-soon img{opacity:.4}.tile-locked .tile-glyph,.tile-soon .tile-glyph{color:var(--bone-dim);opacity:.6}.tile-soon img{opacity:.52}.essence-bar{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px)}.essence-count{display:flex;align-items:center;gap:7px;font-size:14px;font-variant-numeric:tabular-nums;color:var(--bone)}.essence-count .essence-amount{color:var(--bone)}.essence-count.empty{opacity:.42}.essence-count.empty .essence-amount{color:var(--bone-dim)}.scene-status{font-size:12.5px;color:var(--bone-dim)}.scene-status b{color:var(--bone);font-weight:500}@media(max-width:900px){.scene,.scene-rail-left{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"title" "railtop" "rail" "railbottom" "foot";gap:14px}.scene-rail-left .scene-rail-top,.scene-rail-left .scene-rail-bottom{display:flex}.scene-rail,.scene-rail-top,.scene-rail-bottom{justify-content:flex-start}.mountain-tile{width:72px}.tile-glyph{font-size:26px}.tile-lock{width:14px;height:14px}.scene-veil,.scene-rail-left .scene-veil{background:linear-gradient(to bottom,#0b0b0f8c,#0b0b0fe0 30%,#0b0b0ff0)}.scene-foot{justify-content:flex-start}.scene-stage-layout{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"title" "railtop" "stage" "foot"}.scene-stage{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}.voie-picker,.hero-picker{flex-wrap:wrap}.voie-picker .deck-choice{flex:1 1 200px;max-width:none}.hero-picker{--card-h: 200px}.onboarding-step{min-width:0;letter-spacing:.1em}}@media(max-height:820px){.hero-picker{--card-h: min(240px, calc(100dvh - 300px) )}}@media(max-height:680px){.voie-picker .deck-choice p{display:none}}.reward-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:16px;--card-h: 160px;--card-w: calc(var(--card-h) / 1.42)}.campaign-finish-bar{position:fixed;left:0;right:0;bottom:16px;display:flex;justify-content:center;z-index:40;pointer-events:none}.campaign-finish-bar button{pointer-events:auto;box-shadow:0 8px 24px #00000073}.countdown{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--bone);margin:8px 0 0;font-size:14px}.daily-constraint{display:flex;align-items:flex-start;gap:14px;margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--phase) 18%,transparent),transparent 55%),var(--panel);border-left:3px solid var(--phase);text-align:left}.daily-glyph{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:"Noto Serif SC",serif;font-size:20px;color:var(--ink);background:var(--phase)}.daily-constraint-body .hint{margin:6px 0 0;text-align:left}.daily-leaderboard li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.daily-leaderboard .lb-rank{color:var(--bone-dim);font-variant-numeric:tabular-nums}.daily-leaderboard .lb-name{color:var(--bone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-leaderboard .lb-score{color:var(--bois);font-variant-numeric:tabular-nums}.daily-page{align-items:start;justify-items:center;padding:40px 16px 64px;overflow-y:auto}.daily-page>div{width:min(440px,100%)}.countdown{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--bone-dim);margin:8px 0 0}.daily-constraint{display:flex;align-items:center;gap:14px;margin:24px 0 8px;padding:16px;border:1px solid var(--line);border-radius:10px;background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--phase) 18%,transparent),transparent 55%),var(--panel)}.daily-glyph{flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:"Noto Serif SC",serif;font-size:22px;color:var(--ink);background:var(--phase, var(--cinnabar))}.daily-constraint-body{text-align:left}.daily-leaderboard{margin-top:24px;text-align:left}.daily-leaderboard ol{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.daily-leaderboard li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}.daily-leaderboard li:last-child{border-bottom:none}.lb-rank{color:var(--bone-dim);font-variant-numeric:tabular-nums}.lb-name{color:var(--bone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{color:var(--bois);font-size:13px}.audio-control{position:fixed;top:16px;right:16px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.audio-control-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--bone-dim) 45%,transparent);background:color-mix(in srgb,#0b0b0f 72%,transparent);color:var(--bone-dim);cursor:pointer;display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0}.audio-control-btn:hover,.audio-control-btn:focus-visible{color:var(--bone);border-color:var(--phase, var(--metal));outline:none}.audio-control-glyph{font-size:18px;line-height:1;font-weight:400}.audio-control-slash{position:absolute;top:10px;right:10px;bottom:10px;left:10px;background:linear-gradient(to top left,transparent 46%,color-mix(in srgb,var(--cinnabar, #c44) 85%,transparent) 48%,color-mix(in srgb,var(--cinnabar, #c44) 85%,transparent) 52%,transparent 54%);pointer-events:none}.audio-control-panel{min-width:200px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--bone-dim) 35%,transparent);background:color-mix(in srgb,#0b0b0f 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:10px}.audio-control-hint{margin:0;font-size:12px;color:var(--bone-dim);letter-spacing:.04em}.audio-control-row{display:flex;flex-direction:column;gap:6px;font-family:var(--font-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim)}.audio-control-row input[type=range]{width:100%;accent-color:var(--phase, var(--metal))}.audio-control-mute{font-family:var(--font-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim);background:none;border:none;border-bottom:1px solid transparent;padding:2px 0;cursor:pointer;text-align:left}.audio-control-mute:hover:not(:disabled),.audio-control-mute:focus-visible:not(:disabled){color:var(--bone);border-bottom-color:var(--phase, var(--metal));outline:none}.audio-control-mute:disabled,.audio-control-row input:disabled{opacity:.45;cursor:not-allowed}
