@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2) format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff) format("woff")}:root{font-family:Barlow,sans-serif;color:#f2efdf;background:#141d1d;font-synthesis:none;--cream: #f2efdf;--muted: #aab1a7;--ink: #182021;--red: #f16c59;--blue: #63c9f4;--yellow: #f3cb65;--line: #f2efdf26}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,select,input{outline-offset:5px}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cream)}button{border:0}button svg{pointer-events:none}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}#app{height:100svh;min-height:560px;position:relative;isolation:isolate}#stage{position:absolute;top:0;right:0;bottom:0;left:0;background:#839180;overflow:hidden}#stage canvas{display:block;width:100%;height:100%}.game-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.game-shell button,.game-shell select{pointer-events:auto}.game-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#0b181bf5 0%,#0d1b1de8 23%,#11202591 42%,transparent 70%);opacity:0;transition:opacity .75s;pointer-events:none}.game-shell.menu-mode:before{opacity:1}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#0d1519a8,transparent 30%,transparent 55%,#0a151ddd 100%),radial-gradient(ellipse at 55% 40%,transparent 25%,#08151877 100%);z-index:1}.scene-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.045;pointer-events:none;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}.icon{width:24px;height:24px;flex-shrink:0;display:inline-block;vertical-align:middle}.topbar{height:100px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;background:none;text-align:left;gap:11px;padding:0;font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:800;line-height:.84;letter-spacing:-.6px}.brand-symbol{height:45px;width:38px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;transform:skew(-8deg)}.brand-symbol .icon{width:31px;height:34px;fill:currentColor;stroke-width:1}.brand-battle{display:block;font-size:20px;letter-spacing:.2px;margin-top:5px}.brand-edition{font:500 9px/1.55 Barlow,sans-serif;letter-spacing:1.4px;border-left:1px solid var(--line);padding-left:17px;margin-left:10px;color:#c7cbbd}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;transition:background .15s,border .15s}.icon-button:hover{background:#f2efdf10;border-color:var(--line)}.icon-button .icon{width:22px;height:22px;stroke-width:3}.text-button{background:none;padding:5px 0;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;color:#d4d6c9}.text-button:hover{color:#fff}.small-key,kbd{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:21px;border:1px solid #f2efdf40;padding:0 5px;border-radius:3px;font:500 11px Barlow,sans-serif;color:inherit}.small-key{margin-left:10px}.nav-divider{width:1px;height:21px;background:var(--line);margin:0 9px}.menu-mode .pause-button{display:none}.menu{position:absolute;left:6.2%;top:20%;width:440px;pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;line-height:1.5}.live-dot,.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#bacaaa;vertical-align:middle}.live-dot{margin-right:9px;box-shadow:0 0 10px #c5d6b533}.menu h1{font-family:Barlow Condensed,sans-serif;font-size:clamp(64px,6.35vw,100px);font-weight:800;line-height:.92;letter-spacing:-1.7px;margin:24px 0 23px}.menu h1 span{color:#d9bf86}.menu-description{font-size:15px;line-height:1.7;color:#c1c9bf;margin:0 0 29px;letter-spacing:.1px}.menu-description em{color:var(--cream);font-style:normal;font-weight:500}.mode-tabs{display:flex;border-bottom:1px solid #e5e4d130;width:340px;margin-bottom:19px}.mode-tab{font-family:Barlow Condensed,sans-serif;font-size:21px;text-transform:uppercase;font-weight:600;background:none;padding:11px 28px 12px 0;color:#a9b6b0;position:relative;min-width:150px;text-align:left}.mode-tab span{font:500 9px Barlow,sans-serif;letter-spacing:1px;margin-right:10px;color:#9ba79f}.mode-tab.selected{color:var(--cream)}.mode-tab.selected:after{position:absolute;content:"";bottom:-1px;left:0;right:24px;height:2px;background:var(--cream)}.mode-tab:hover{color:#fff}.difficulty-row{display:flex;align-items:center;justify-content:space-between;width:340px}.difficulty-row label{font-size:9px;letter-spacing:1.8px;color:#adb9b0;font-weight:600}select{background:#192728;color:var(--cream);border:1px solid #b6bdae40;padding:6px 28px 6px 12px;border-radius:2px;font-size:12px;cursor:pointer;pointer-events:auto}option{background:#1e2c2d}.disabled-row{opacity:.3}.mode-description{font-size:11px;color:#b2bfb6;margin:9px 0 21px;letter-spacing:.1px}.start-button{background:var(--cream);color:#172321;width:340px;min-height:59px;display:flex;justify-content:space-between;align-items:center;padding:0 21px;font-family:Barlow Condensed,sans-serif;letter-spacing:1px;font-size:22px;font-weight:700;text-align:left;position:relative;transition:background .15s,box-shadow .15s}.start-button:before{position:absolute;content:"";left:0;top:0;width:4px;height:100%;background:#e2bf7c}.start-button:hover:not(:disabled){background:#fffce9;box-shadow:0 4px 25px #e1d7a320}.start-button:disabled{opacity:.55}.start-button .icon{width:29px;height:29px;stroke-width:2.5}.start-arrow{padding-left:17px;border-left:1px solid #1723212b;line-height:1}.start-meta{display:flex;justify-content:space-between;width:340px;font-size:8px;letter-spacing:1px;color:#8da298;margin-top:13px}.start-meta .tiny-dot{margin-right:5px;width:4px;height:4px}.menu-stage-label{position:absolute;right:5%;bottom:247px;display:flex;align-items:flex-start;gap:13px;text-align:left;width:315px}.stage-line{width:34px;height:1px;background:#d6d8bfaa;margin-top:8px}.menu-stage-label .eyebrow{font-size:8px;letter-spacing:2px;display:block;color:#c5d1bd}.menu-stage-label strong{font:600 25px Barlow Condensed,sans-serif;letter-spacing:1.1px;display:block;margin:3px 0 4px}.menu-stage-label div>span:last-child{font-size:10px;color:#b5c1af}.menu-rule{position:absolute;right:5%;bottom:83px;width:315px;border-top:1px solid #e8e7cd2a;padding-top:17px}.menu-rule>.eyebrow{font-size:8px;letter-spacing:1.5px;line-height:1.65;color:#c3cabb;display:block}.rule-cycle{display:flex;align-items:center;gap:16px;margin:13px 0 12px}.rule-cycle>span{display:flex;gap:6px;align-items:center;color:var(--sign)}.rule-cycle b{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.8px}.rule-cycle .icon{width:25px;height:25px;stroke-width:3.1}.rule-cycle .cycle-arrow{width:13px;height:13px;opacity:.5}.rule-cycle .cycle-arrow:last-child{display:none}.rule-caption{font-size:8px;letter-spacing:.1px;color:#9baea1}.page-footer{position:absolute;bottom:20px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e2e6ce20;padding-top:14px;font-size:8px;font-weight:500;letter-spacing:1.3px;color:#9fac9f}.page-footer .text-button{font-size:8px;letter-spacing:1px;padding:0;color:#9fac9f}.footer-cross{color:#ebe8c8;font-size:13px;margin-right:9px}.muted{opacity:.4;padding:0 7px}.battle-hud{position:absolute;left:50%;top:111px;transform:translate(-50%);width:min(850px,80%);display:grid;grid-template-columns:1fr 100px 1fr;gap:20px}.fighter-hud{display:flex;align-items:center;gap:30px;justify-content:flex-start}.fighter-identity .eyebrow{display:block;color:#bdcbbd;letter-spacing:2px;font-size:9px}.fighter-identity>strong{font:700 42px/.95 Barlow Condensed,sans-serif;letter-spacing:1px}.round-pips{display:flex;gap:7px;margin-top:10px}.round-pips i{display:block;width:17px;height:4px;background:#c4d0b830;transform:skew(-20deg);border:1px solid #c4d0b855}.round-pips i.won{background:#f2efdf;border-color:#f2efdf;box-shadow:0 0 8px #fff8cc35}.rival-hud{flex-direction:row-reverse;text-align:right}.rival-hud .round-pips{justify-content:flex-end}.sign-readout{display:flex;align-items:center;gap:8px;--sign: var(--red);color:var(--sign)}.readout-icon{width:49px;height:49px;display:flex;justify-content:center;align-items:center;border:1px solid color-mix(in srgb,var(--sign) 40%,transparent);background:color-mix(in srgb,var(--sign) 8%,#16211ed9);transform:skew(-5deg)}.readout-icon .icon{width:34px;height:34px;stroke-width:3}.sign-readout b{display:block;font:600 22px/1.1 Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:1px}.sign-readout small{font-size:7px;letter-spacing:1px;color:#bccbbe;display:block;margin-top:4px}.rival-hud .sign-readout{flex-direction:row-reverse}.sign-readout.weaving .readout-icon{border-style:dashed;animation:cast-pulse .2s infinite alternate}.round-info{display:flex;flex-direction:column;align-items:center;text-align:center}.round-info>span{font-size:8px;letter-spacing:1.7px;color:#c1ccb9}.round-info strong{font:600 48px/1.03 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:1px 0 5px}.round-info .time-low{color:var(--red)}.pressure-wrap{grid-column:1/-1;margin-top:2px}.pressure-labels{display:flex;justify-content:space-between;margin-bottom:10px;font-size:7px;letter-spacing:1.7px;color:#c8d0bd}.pressure-labels>span:nth-child(2){color:var(--cream);font-size:8px;letter-spacing:2px}.pressure-track{height:5px;background:color-mix(in srgb,var(--right-beam) 65%,#243432);position:relative;border-radius:2px;border:1px solid #f4f0d52a;box-shadow:0 2px 10px #11222140}.pressure-fill{position:absolute;inset:0 auto 0 0;background:var(--left-beam);width:50%;opacity:.85}.pressure-center{height:13px;width:1px;background:#d4e0c47a;position:absolute;left:50%;top:-5px}.pressure-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:20px;width:20px;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.pressure-marker .icon{width:14px;height:14px;fill:currentColor;stroke-width:1}.center-callout{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;text-shadow:0 3px 25px #142122e6;width:100%}.center-callout .eyebrow{font-size:9px;color:#fff8d8;letter-spacing:3px}.center-callout strong{font:800 88px/.95 Barlow Condensed,sans-serif;font-style:italic;letter-spacing:1px;display:block;margin:12px 0}.center-callout>span:last-child{font-size:12px;letter-spacing:.4px}.fight-toast{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);font:800 italic 100px/.95 Barlow Condensed,sans-serif;letter-spacing:6px;opacity:0;pointer-events:none;text-shadow:0 4px 30px #173227cc}.fight-toast.show{animation:fight-in .75s both}.combat-feedback{position:absolute;bottom:286px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#122323bd;border:1px solid #dbe6ca2b;padding:9px 14px;font-size:9px;letter-spacing:1.25px;color:#d5dbc7;text-align:center;white-space:nowrap;box-shadow:0 3px 20px #15262618}.feedback-dot{width:4px;height:4px;display:block;background:currentColor;border-radius:50%}.combat-feedback[data-tone=good]{color:#b4e2c5}.combat-feedback[data-tone=danger]{color:#ffae96;border-color:#e5795340}.controls{position:absolute;bottom:74px;left:50%;transform:translate(-50%);width:min(710px,83%)}.controls-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;margin:0 3px 11px;min-height:21px;color:#c9d6c8}.controls-heading #cast-status{font-weight:600;color:#eef1df}.controls-heading #cast-status.exposed{color:#ffad8c}.controls-heading kbd{min-width:17px;height:18px;font-size:9px;padding:0 4px;margin-left:4px}.hand-cards{display:flex;gap:12px}.hand-card{position:relative;flex:1;min-width:0;text-align:left;border:1px solid #c3d7c638;border-top:2px solid color-mix(in srgb,var(--sign) 50%,transparent);background:linear-gradient(135deg,#233638ee,#142323f2);padding:12px 16px 13px;height:148px;transition:border .16s,background .16s,box-shadow .16s,transform .16s;overflow:hidden;box-shadow:0 5px 14px #0b171829;color:#dce1d0}.hand-card:after{position:absolute;content:"";top:-12px;right:-12px;width:20px;height:20px;transform:rotate(45deg);border-bottom:1px solid #e3f0d040;background:#0e1c1e}.hand-card:not(:disabled):hover{border-color:var(--sign);background:linear-gradient(135deg,#314646,#1b2d2d);transform:translateY(-4px)}.hand-card[aria-pressed=true]{border-color:var(--sign);border-top-width:2px;background:linear-gradient(120deg,color-mix(in srgb,var(--sign) 15%,#152425),#17292bea);box-shadow:0 0 22px color-mix(in srgb,var(--sign) 9%,transparent)}.card-top{display:flex;justify-content:space-between;align-items:center}.sign-index{font-size:8px;letter-spacing:1.5px;color:color-mix(in srgb,var(--sign) 60%,#c3cdc4)}.card-top kbd{border-color:#d6e3d428;width:22px;height:23px;font-size:11px;color:#d5dfd0}.hand-card[aria-pressed=true] kbd{color:var(--sign);border-color:color-mix(in srgb,var(--sign) 40%,transparent)}.hand-icon{position:absolute;right:15px;top:47px;width:59px;height:59px;stroke-width:2.7;color:var(--sign);opacity:.9;filter:drop-shadow(0 1px 8px color-mix(in srgb,var(--sign) 20%,transparent))}.card-copy{display:flex;flex-direction:column;margin-top:9px;position:relative;z-index:1}.card-copy strong{font:600 31px/.98 Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:var(--cream)}.card-copy>span{font-size:9px;color:#adbdaf;margin-top:7px;letter-spacing:.2px}.card-state{font-size:7px;letter-spacing:1.6px;color:#8ea295;display:block;margin-top:15px}.hand-card[aria-pressed=true] .card-state{color:var(--sign)}.hand-card[aria-pressed=true] .card-state:before{content:"";display:inline-block;width:4px;height:4px;background:var(--sign);border-radius:50%;margin-right:6px;vertical-align:1px}.hand-card:disabled:not([aria-pressed=true]){opacity:.64}.card-cooldown{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--sign);transform-origin:left;transform:scaleX(0);opacity:.85}.is-casting{animation:cast-pulse .2s infinite alternate}.controls-footer{display:flex;justify-content:space-between;gap:10px;margin:13px 4px 0;font-size:7px;letter-spacing:1px;color:#aabdad}.controls-footer .tiny-dot{width:3px;height:3px;margin-right:4px;background:#d7bd86}.practice-panel{position:absolute;right:35px;bottom:295px;background:#172725de;border:1px solid #c9d7b52a;padding:13px;text-align:center}.practice-panel .eyebrow{font-size:8px;letter-spacing:1.4px}.practice-panel>div{display:flex;gap:6px;margin:9px 0}.practice-sign{background:#192c2d;border:1px solid #c9d7b533;color:var(--sign);width:42px;height:42px}.practice-sign[aria-pressed=true]{border-color:var(--sign);background:color-mix(in srgb,var(--sign) 15%,#1b2827)}.practice-sign:disabled{opacity:.5}.practice-sign .icon{width:28px;height:28px}.practice-panel>span:last-child{font-size:8px;color:#aab8a7}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b191bbb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:8;display:flex;align-items:center;justify-content:center;padding:22px}.result-card{width:455px;background:linear-gradient(135deg,#253331fa,#192727fd);border:1px solid #d9ddc647;padding:35px 44px;text-align:center;box-shadow:0 24px 80px #0005;position:relative}.result-card:before{content:"";position:absolute;top:-1px;left:35%;right:35%;height:2px;background:#d9c082}.result-card>.eyebrow{font-size:9px;color:#cab887}.result-emblem{height:63px;width:63px;border:1px solid #dec79666;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;margin:24px auto;color:#e4cb93;background:#d4b6740c}.result-emblem .icon{transform:rotate(-45deg);width:41px;height:41px;fill:currentColor;stroke-width:1}h2{font:700 43px/1 Barlow Condensed,sans-serif;letter-spacing:.25px;margin:16px 0}.result-card h2{font-size:43px;margin-top:29px}.result-card>p{color:#bfcdbb;font-size:12px;line-height:1.6;margin-bottom:0}.result-score{display:flex;justify-content:center;align-items:center;gap:34px;margin:19px 0}.result-score span{display:flex;flex-direction:column;gap:3px}.result-score small{font-size:8px;letter-spacing:2px;color:#bdc9b4}.result-score b{font:600 49px/.95 Barlow Condensed,sans-serif}.result-score i{font-style:normal;font-size:25px;color:#9cb19788;margin-top:10px}.result-stats{display:flex;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:25px}.result-stats span{font-size:7px;letter-spacing:1px;color:#bdcdb6}.result-stats b{display:block;font:500 24px Barlow Condensed,sans-serif;margin-bottom:3px;color:var(--cream)}.result-card .start-button{width:100%;font-size:21px;min-height:54px}.back-button{display:block;margin:20px auto 0;font-size:9px;color:#afc1aa}.modal{color:var(--cream);background:linear-gradient(135deg,#273532,#192726);border:1px solid #d1dcc052;padding:38px 40px;max-width:590px;width:calc(100% - 32px);max-height:calc(100svh - 50px);overflow:auto;box-shadow:0 25px 100px #0007}.modal::backdrop{background:#0b171bd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.compact-modal{max-width:430px}.modal>.eyebrow{font-size:8px;color:#c8b67f;letter-spacing:1.6px;padding-right:16px;display:block}.modal h2{font-size:39px;margin:16px 0 14px}.modal>p{font-size:13px;color:#bfcdb8;line-height:1.65}.dialog-close{position:absolute;right:12px;top:12px;color:#abbda9}.dialog-close .icon{width:20px;height:20px}.help-rules{display:flex;padding:20px 0;margin:20px 0;border-block:1px solid var(--line);justify-content:space-around;text-align:center}.help-rules>div{display:flex;flex-direction:column;align-items:center;gap:5px}.help-rules .icon{height:44px;width:44px;color:var(--sign)}.help-rules strong{font:600 22px Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.6px}.help-rules span{font-size:9px;color:#b9cbb0}.how-steps{list-style:none;padding:0;margin:24px 0 19px}.how-steps li{display:flex;gap:16px;margin-top:19px}.how-steps li>span{font:500 22px Barlow Condensed,sans-serif;color:#d7bf87}.how-steps strong{font-size:13px;font-weight:600}.how-steps p{font-size:12px;line-height:1.6;color:#b6c8b0;margin:5px 0 0}.how-steps p b{font-weight:500;color:#e3e8d4}.how-steps kbd{height:17px;min-width:17px;font-size:9px}.help-tip{font-size:10px;color:#cbbd93;line-height:1.65;margin:20px 0 25px;padding:13px 15px;border-left:2px solid #ccad6a7a;background:#c7ac7020}.help-tip kbd{height:17px;font-size:9px}.secondary-button{display:block;width:100%;background:#f2efdf09;border:1px solid #e5e6cf47;padding:13px 17px;color:#e0e6d1;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-top:15px;min-height:44px}.secondary-button:hover{background:#f2efdf15;border-color:#e5e6cf8a}.modal .start-button{width:100%;font-size:20px;min-height:56px;margin-top:27px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;margin-top:24px;margin-bottom:12px}.setting-row small{display:block;color:#a5bba0;font-size:10px;margin-top:5px}.setting-row output{font-size:10px;color:#d8c69a}.setting-row select{font-size:11px;max-width:136px}.setting-row input[type=checkbox]{height:20px;width:20px;accent-color:#e7d7a8}.toggle-row{border-top:1px solid var(--line);padding-top:20px;margin-top:23px}input[type=range]{width:100%;accent-color:#d8c69a;height:4px;cursor:pointer}.credit-list>div{padding:15px 0;border-bottom:1px solid var(--line)}.credit-list strong{font-size:12px;font-weight:500;display:block;margin-bottom:5px}.credit-list span{font-size:11px;color:#b1c3a9;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.load-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;padding:32px;background:#182825f5;max-width:400px;width:90%;border:1px solid #ebbf8080;box-shadow:0 0 0 100vmax #102024ba;text-align:center}.load-error strong{font:600 30px Barlow Condensed,sans-serif}.load-error p{font-size:13px;line-height:1.6;color:#b6c8b0}@keyframes cast-pulse{0%{filter:brightness(.9)}to{filter:brightness(1.18)}}@keyframes fight-in{0%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}18%,58%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.93)}}.reduced-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important}.reduced-motion .hand-card:not(:disabled):hover{transform:none}@media(min-width:1700px){.menu{left:8%;top:23%}.menu-stage-label,.menu-rule{right:8%}.controls{bottom:89px}.combat-feedback{bottom:301px}.battle-hud{top:135px;width:1000px}.menu-stage-label{bottom:300px}.menu-rule{bottom:116px}}@media(max-height:780px)and (min-width:801px){.topbar{height:82px}.menu{top:17%;left:5.8%}.menu h1{font-size:74px;margin:18px 0}.menu-description{font-size:13px;line-height:1.6;margin-bottom:15px}.mode-tab{padding-top:7px;padding-bottom:8px}.mode-tabs,.mode-description{margin-bottom:13px}.start-button{min-height:53px}.start-meta{margin-top:10px}.battle-hud{top:88px}.controls{bottom:65px;width:660px}.hand-card{height:128px;padding-top:9px}.hand-icon{top:39px;width:48px;height:48px}.card-copy strong{font-size:28px}.card-copy{margin-top:6px}.card-state{margin-top:12px}.controls-footer{margin-top:9px}.combat-feedback{bottom:252px}.center-callout,.fight-toast{top:42%}.menu-stage-label{bottom:234px}.menu-rule{bottom:79px}.page-footer{bottom:16px}}@media(max-width:1050px){.topbar{padding-inline:28px}.brand-edition{display:none}.menu{left:5%;width:395px}.menu h1{font-size:78px}.menu-stage-label,.menu-rule{right:4%;width:270px}.rule-cycle{gap:10px}.rule-cycle b{font-size:8px}.rule-caption{font-size:7px}.battle-hud{width:86%;gap:15px}.fighter-hud{gap:18px}.page-footer{left:28px;right:28px}.practice-panel{right:22px;bottom:272px}}@media(max-width:800px){.topbar{height:81px;padding-inline:22px}.brand{font-size:24px}.brand-battle{font-size:18px}.brand-symbol{height:40px;width:34px}.top-actions{gap:4px}.icon-button{width:32px;height:34px}.help-button{font-size:9px;letter-spacing:.8px}.help-button .small-key{display:none}.nav-divider{margin-inline:5px}.menu{top:18%;left:7%;width:360px}.menu h1{font-size:76px}.menu-stage-label{display:none}.menu-rule{right:4%;bottom:85px;width:245px}.menu-rule>.eyebrow{font-size:7px}.menu-rule .rule-cycle{gap:7px}.menu-rule .rule-cycle b,.rule-caption{font-size:7px}.menu-description{font-size:14px}.battle-hud{top:99px;width:90%;grid-template-columns:1fr 62px 1fr;gap:8px}.fighter-hud{gap:12px}.fighter-identity>strong{font-size:34px}.fighter-identity .eyebrow{font-size:7px;letter-spacing:1px}.sign-readout{gap:6px}.readout-icon{width:37px;height:40px}.readout-icon .icon{width:29px;height:29px}.sign-readout b{font-size:18px}.sign-readout small{font-size:6px;letter-spacing:.5px}.round-info strong{font-size:39px}.round-info>span{font-size:6px;letter-spacing:1px}.pressure-wrap{margin-top:6px}.controls{width:88%}.hand-card{padding-inline:12px;height:139px}.hand-icon{right:9px;width:47px;height:47px}.card-copy strong{font-size:27px}.card-copy>span{font-size:8px}.controls-footer{font-size:6px}.combat-feedback{bottom:275px;font-size:8px}.practice-panel{bottom:315px;right:18px;padding:9px}.practice-panel>span:last-child{display:none}.practice-panel .eyebrow{font-size:7px}.practice-sign{width:34px;height:34px}.practice-sign .icon{width:25px;height:25px}.page-footer{left:22px;right:22px}.footer-hint{display:none}}@media(max-width:600px){#app{min-height:560px}.topbar{height:75px;padding-inline:18px}.top-actions{gap:2px}.brand{gap:8px}.brand-symbol{width:30px;height:37px}.brand-symbol .icon{width:26px}.brand{font-size:22px}.brand-battle{font-size:17px}.icon-button{width:29px;height:31px}.icon-button .icon{width:19px;height:19px}.nav-divider{display:none}.help-button{margin-right:5px;font-size:8px}.menu{left:7%;top:16%;width:86%}.menu h1{font-size:clamp(62px,14.6vw,83px);line-height:.92;margin:19px 0}.menu>.eyebrow{font-size:8px;letter-spacing:1.8px}.menu-description{font-size:13px;line-height:1.65;margin-bottom:19px}.mode-tabs,.difficulty-row,.menu .start-button,.start-meta{width:min(310px,100%)}.mode-tab{font-size:19px;min-width:140px;padding-block:9px}.mode-tabs{margin-bottom:14px}.mode-description{font-size:10px;margin-bottom:16px}.start-button{min-height:53px;font-size:21px}.start-meta{font-size:7px;letter-spacing:.7px}.game-shell.menu-mode:before{background:linear-gradient(90deg,#0b181bea,#0d1b1dbc 45%,#11202533),linear-gradient(0deg,#102024dd,transparent 35%)}.menu-rule{bottom:76px;right:7%;left:7%;width:auto;display:flex;align-items:center;gap:18px;padding-top:13px}.menu-rule .rule-caption{display:none}.menu-rule>.eyebrow{font-size:6px;letter-spacing:1px;min-width:93px}.menu-rule .rule-cycle{margin:0;gap:9px;flex:1;justify-content:flex-end}.menu-rule .rule-cycle>span{gap:0}.menu-rule .rule-cycle .icon{width:29px;height:29px}.menu-rule .rule-cycle .cycle-arrow{width:11px}.menu-rule .rule-cycle b{display:none}.page-footer{left:18px;right:18px;bottom:16px;font-size:7px;letter-spacing:.8px;padding-top:12px}.page-footer .text-button{font-size:7px;letter-spacing:.5px}.battle-hud{top:91px;width:89%;grid-template-columns:1fr 48px 1fr;gap:6px}.fighter-hud{display:block}.fighter-identity>strong{font-size:35px}.fighter-identity .eyebrow{font-size:6px;letter-spacing:1.1px}.round-pips{gap:5px;margin-top:7px}.round-pips i{width:15px;height:3px}.sign-readout{margin-top:13px;gap:7px}.readout-icon{width:30px;height:32px}.readout-icon .icon{width:24px;height:24px}.sign-readout b{font-size:17px;letter-spacing:.8px}.sign-readout small{font-size:5px;letter-spacing:.5px;margin-top:3px}.rival-hud .sign-readout{justify-content:flex-start}.rival-hud .round-pips{justify-content:flex-end}.round-info{padding-top:12px}.round-info strong{font-size:40px}.pressure-wrap{margin-top:13px}.pressure-labels{font-size:5px;letter-spacing:1px}.pressure-labels>span:nth-child(2){font-size:6px;letter-spacing:1px}.pressure-marker{height:17px;width:17px}.controls{width:92%;bottom:63px}.controls-heading{font-size:6px;letter-spacing:1px;margin-bottom:8px}.controls-heading #cast-hint{font-size:0}.controls-heading kbd{font-size:8px;height:16px;min-width:16px}.hand-cards{gap:7px}.hand-card{height:144px;padding:8px 10px 11px}.card-top kbd{width:18px;height:18px;min-width:18px;font-size:9px}.sign-index{font-size:6px}.hand-icon{position:relative;top:0;right:0;display:block;margin:1px auto 0;width:43px;height:43px}.card-copy{margin-top:2px;text-align:center}.card-copy strong{font-size:23px;letter-spacing:.3px}.card-copy>span{font-size:6px;margin-top:4px;white-space:nowrap;letter-spacing:0}.card-state{text-align:center;font-size:5px;letter-spacing:1px;margin-top:10px}.card-cooldown{height:2px}.controls-footer{margin:9px 2px 0;gap:5px;font-size:5px;letter-spacing:.5px}.controls-footer .muted{padding:0 3px}.combat-feedback{bottom:254px;font-size:6px;letter-spacing:.8px;padding:8px 12px}.center-callout{top:45%}.center-callout .eyebrow{font-size:7px;letter-spacing:1.3px}.center-callout strong{font-size:67px}.center-callout>span:last-child{font-size:10px}.fight-toast{font-size:76px;top:44%}.practice-panel{bottom:306px;right:5%;padding:7px 8px}.practice-panel .eyebrow{font-size:6px;letter-spacing:1px}.practice-panel>div{margin:6px 0 0;gap:4px}.practice-sign{width:28px;height:28px}.practice-sign .icon{height:21px;width:21px}.modal{padding:33px 25px;max-height:calc(100svh - 32px)}.modal h2{font-size:34px}.modal>.eyebrow{font-size:6px;letter-spacing:1.3px}.modal>p{font-size:12px}.help-rules{padding-block:15px;margin-block:17px}.help-rules .icon{height:35px;width:35px}.help-rules strong{font-size:20px}.help-rules span{font-size:7px}.how-steps li{gap:12px;margin-top:15px}.how-steps p{font-size:11px}.help-tip{font-size:9px;margin-block:17px}.result-card{padding:29px 25px;max-width:385px}.result-card h2{font-size:36px}.result-card>p{font-size:11px}.result-card>.eyebrow{font-size:8px}.result-emblem{height:52px;width:52px}.result-stats{margin-bottom:20px}.result-card .start-button{font-size:20px}.setting-row{font-size:12px}.setting-row small{font-size:9px}}@media(max-height:690px)and (max-width:600px){.menu{top:15%}.menu h1{font-size:clamp(48px,15.4vw,60px);margin:14px 0}.menu-description{font-size:11px;line-height:1.5;margin-bottom:12px}.mode-tabs{margin-bottom:10px}.mode-tab{font-size:17px;padding-block:6px}.mode-description{font-size:9px;margin-bottom:12px}.difficulty-row label{font-size:7px}.difficulty-row select{padding-block:4px}.start-button{min-height:47px}.menu-rule{bottom:63px;padding-top:10px}.menu-rule .rule-cycle .icon{width:22px;height:22px}.start-meta{margin-top:10px;font-size:6px}.battle-hud{top:80px}.sign-readout{margin-top:8px}.fighter-identity>strong{font-size:28px}.pressure-wrap{margin-top:7px}.controls{bottom:58px}.hand-card{height:123px}.hand-icon{width:34px;height:34px}.card-copy strong{font-size:21px}.card-state{margin-top:8px}.controls-footer{font-size:4.5px;margin-top:8px}.controls-heading{margin-bottom:4px}.combat-feedback{bottom:223px}.center-callout,.fight-toast{top:43%}.page-footer{bottom:14px}.practice-panel{bottom:270px}}@media(max-height:540px)and (min-width:601px){#app{min-height:360px}.topbar{height:54px}.brand-symbol{height:29px;width:26px}.brand-symbol .icon{width:24px}.brand{font-size:19px}.brand-battle{font-size:14px}.brand-edition{display:none}.menu{top:18%;width:90%;left:5%;height:230px}.menu h1{font-size:clamp(42px,6.4vw,54px);margin:12px 0;width:44%}.menu-description{font-size:10px;margin-bottom:8px;width:44%}.menu>.eyebrow{font-size:7px}.menu-description br:last-child{display:none}.mode-tab{font-size:16px;padding:6px 25px 6px 0;min-width:0;flex:1}.mode-tabs{margin-bottom:10px;position:absolute;left:52%;top:0;width:44%}.difficulty-row{position:absolute;left:52%;top:45px;width:44%}.difficulty-row label{font-size:7px}.mode-description{position:absolute;left:52%;top:85px;width:44%;margin:0;font-size:9px}.start-button{width:280px;min-height:41px;font-size:18px}.menu .start-button{position:absolute;left:52%;top:115px;width:44%}.start-meta{position:absolute;left:52%;top:166px;width:44%;font-size:6px;margin-top:7px}.menu-stage-label,.menu-rule{display:none}.page-footer{bottom:10px;padding-top:9px}.battle-hud{top:62px;width:79%;grid-template-columns:1fr 60px 1fr}.fighter-identity>strong{font-size:27px}.fighter-identity .eyebrow{font-size:6px}.round-info strong{font-size:31px}.round-pips{margin-top:5px}.pressure-wrap{margin-top:0}.readout-icon{width:31px;height:32px}.readout-icon .icon{height:24px;width:24px}.sign-readout b{font-size:16px}.sign-readout small{font-size:5px}.controls{bottom:39px;width:500px}.controls-heading{margin-bottom:3px;font-size:6px;min-height:16px}.hand-card{height:83px;padding:6px 11px}.hand-icon{position:absolute;top:21px;right:11px;width:37px;height:37px}.card-copy{margin-top:0}.card-copy strong{font-size:22px}.card-copy>span{font-size:6px;margin-top:4px}.card-top kbd{width:17px;height:17px;min-width:17px;font-size:8px}.sign-index{font-size:6px}.card-state{font-size:5px;margin-top:7px}.controls-footer{display:none}.combat-feedback{bottom:151px;font-size:6px;padding:6px 11px}.center-callout,.fight-toast{top:47%}.center-callout strong{font-size:54px;margin-block:5px}.center-callout .eyebrow{font-size:6px}.center-callout>span:last-child{font-size:8px}.practice-panel{bottom:140px;padding:7px}.practice-panel .eyebrow{font-size:6px}.practice-sign{width:26px;height:26px}.practice-panel>div{gap:3px;margin:5px 0 0}.result-card{padding:20px 30px;width:600px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.result-card>.eyebrow{grid-column:1/-1}.result-emblem{display:none}.result-card h2{font-size:34px;text-align:left;margin:18px 0 0}.result-card>p{grid-column:1;text-align:left;font-size:10px;margin:5px 0}.result-score{grid-column:2;grid-row:2/4;margin:14px 0;gap:27px}.result-stats{grid-column:1/-1;margin:15px 0;padding:11px 0}.result-card .start-button{min-height:43px;font-size:17px}.result-card .back-button{margin:0;align-self:center;font-size:8px}}
