:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202832;font-synthesis:none;text-rendering:optimizelegibility;--cream:#fff7e8;--sky:#a9daf5;--mint:#73d6ad;--yellow:#f6c85f;--peach:#f4aa7b;--coral:#df665d;--deck-incomplete:#b94f4a;--lavender:#cbbde8;--bg:var(--cream);--panel:#fffdf7;--panel-raised:#f3ead6;--panel-soft:#fff0c7;--surface-input:#fffdf8;--surface-tool:#edf6fb;--surface-table-head:#dceffc;--surface-battle:#3f566b;--surface-battle-chrome:#f7ecd4;--surface-dialog:#fffaf0;--surface-concealed:#526577;--surface-card-back:#526577;--line:#2a343e33;--line-strong:#2a343e73;--text:#202832;--muted:#596572;--faint:#5f6973;--mint-dark:#27654f;--yellow-dark:#74520b;--warning-border:#b98a26;--warning-surface:#fff1bf;--error-ink:#8b2f2a;--error-surface:#fff0ec;--error-badge:#f6b7b1;--disabled-ink:#56616c;--disabled-surface:#e8e0d1;--battle-text:#fff8e9;--battle-muted:#dbe5e8;--battle-faint:#eaf1f3;--blue:#1769aa;--ink:#1e2b30;--focus:#1769aa;--color-primary:var(--mint);--color-on-primary:var(--ink);--color-accent:var(--yellow);--color-background:var(--bg);--color-foreground:var(--text);--color-card:var(--panel);--color-muted-foreground:var(--muted);--color-border:var(--line);--color-destructive:var(--coral);--color-ring:var(--focus);--touch-target:44px;--chrome-height:66px;--nav-height:68px;--screen-gutter:24px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-panel:5px 6px 0 #232d3629;--shadow-dialog:7px 8px 0 #121c2547;background:#ead9bb;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;min-height:0;margin:0;overflow:hidden}body{background:#ead9bb;height:100dvh}button{color:inherit;font:inherit;border:0}:where(button,input,textarea,select,a):focus-visible{outline:2px solid var(--focus);outline-offset:3px}button:disabled{color:var(--disabled-ink);background:var(--disabled-surface);box-shadow:none;cursor:not-allowed;filter:grayscale(.28);opacity:1;border-style:dashed}.app-shell{background:#ead9bb;height:100dvh;min-height:0;overflow:hidden}.canvas-stage{--stage-inset-top:max(12px, env(safe-area-inset-top,0px));--stage-inset-right:max(12px, env(safe-area-inset-right,0px));--stage-inset-bottom:max(12px, env(safe-area-inset-bottom,0px));--stage-inset-left:max(12px, env(safe-area-inset-left,0px));width:100%;height:100dvh;min-height:0;padding:var(--stage-inset-top) var(--stage-inset-right) var(--stage-inset-bottom) var(--stage-inset-left);place-items:center;display:grid;overflow:hidden}.game-canvas-frame{aspect-ratio:1080/1920;flex:none;width:min(100%,440px);position:relative}.game-canvas{aspect-ratio:1080/1920;transform-origin:0 0;border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(132deg, transparent 0 74%, #a9daf552 74% 83%, transparent 83%), linear-gradient(28deg, transparent 0 84%, #f6c85f47 84% 91%, transparent 91%), var(--bg);flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:8px 10px #363d4229}.game-canvas.is-battle{background:var(--cream);border-color:#617589}.app-chrome{min-height:var(--chrome-height);border-bottom:2px solid var(--line-strong);background:var(--cream);justify-content:space-between;align-items:center;gap:12px;padding:0 24px;display:flex;box-shadow:0 4px #20283214}.brand-lockup,.chrome-status,.text-link,.button,.eyebrow,.deck-status,.inline-error,.demo-banner,.leaderboard-foot span,.selected-hint,.battle-player,.battle-round,.hand-heading,.result-kicker{align-items:center;display:inline-flex}.brand-lockup{color:var(--text);letter-spacing:.04em;gap:10px;font-size:15px;font-weight:900}.brand-mark{width:30px;height:30px;color:var(--ink);border:2px solid var(--ink);background:var(--yellow);border-radius:9px 4px;place-items:center;display:grid;transform:rotate(-5deg);box-shadow:3px 3px #2028322e}.chrome-status{max-width:48%;color:var(--muted);white-space:nowrap;gap:6px;font-size:10px;overflow:hidden}.chrome-avatar{border:1px solid var(--line-strong);object-fit:cover;border-radius:50%;flex:none;width:24px;height:24px}.chrome-user{text-overflow:ellipsis;overflow:hidden}.status-dot{border:1px solid var(--ink);background:var(--coral);border-radius:50%;flex:none;width:7px;height:7px}.status-dot.online{background:var(--mint)}.screen{overscroll-behavior:none;min-height:0;padding:14px var(--screen-gutter) max(78px, calc(var(--nav-height) + 10px + env(safe-area-inset-bottom,0px)));flex:1;overflow:hidden}.eyebrow{color:var(--yellow-dark);letter-spacing:.08em;gap:6px;font-size:10px;font-weight:900}.screen h1,.screen h2,.screen p{margin:0}.screen h1,.screen h2{font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-weight:950}.screen h1{color:var(--text);letter-spacing:0;font-size:28px;line-height:1.1}.screen h2{color:var(--text);font-size:18px;line-height:1.2}.screen p{color:var(--muted);font-size:12px;line-height:1.65}.page-intro{isolation:isolate;border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel-soft);box-shadow:var(--shadow-panel);flex:none;position:relative;overflow:hidden}.page-intro:before{z-index:-1;background:var(--yellow);clip-path:polygon(0 0,100% 0,62% 100%,0 100%);content:"";width:9px;position:absolute;top:0;bottom:0;left:0}.page-intro:after{z-index:-1;background:var(--sky);clip-path:polygon(44% 0,100% 0,100% 100%,0 100%);content:"";opacity:.72;width:38%;height:100%;position:absolute;top:0;right:0}.page-intro-compact{min-height:92px;padding:16px 18px}.home-screen{padding-top:10px;padding-bottom:max(116px, calc(var(--nav-height) + 48px + env(safe-area-inset-bottom,0px)));flex-direction:column;gap:9px;display:flex;position:relative}.home-intro{justify-content:space-between;align-items:flex-start;gap:14px;min-height:112px;padding:13px 14px;display:flex}.home-intro h1{letter-spacing:0;margin-top:7px;font-size:30px}.home-intro h1 em{color:#1769aa;font-style:normal}.home-intro p{max-width:245px;margin-top:7px;font-size:10px;line-height:1.45}.intro-badge{width:58px;height:58px;color:var(--ink);border:2px solid var(--ink);background:var(--yellow);clip-path:polygon(8% 0,100% 6%,92% 100%,0 88%);border-radius:12px 4px 13px 5px;flex:none;align-content:center;place-items:center;gap:1px;display:grid;position:relative;transform:rotate(5deg);box-shadow:4px 5px #20283233}.intro-badge:after{clip-path:inherit;content:"";border:1px solid #20283261;position:absolute;inset:7px}.intro-badge span{font-size:13px;font-weight:900}.home-deck{border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-panel);padding:10px 12px;position:relative}.home-deck:after{background:var(--peach);clip-path:polygon(8% 0,100% 0,90% 100%,0 100%);content:"";width:70px;height:8px;position:absolute;top:-2px;right:18px}.section-heading,.deck-count,.leaderboard-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin-top:3px;font-size:17px}.icon-button{width:var(--touch-target);height:var(--touch-target);cursor:pointer;border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--sky);flex:none;place-items:center;display:grid;box-shadow:3px 4px #20283224}.icon-button:hover{border-color:var(--focus);color:var(--focus)}.deck-thumb-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:7px;display:grid}.card-detail-trigger,.pool-card-view,.battle-card-detail-trigger{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.card-detail-trigger:focus-visible,.pool-card-view:focus-visible,.battle-card-detail-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.card-detail-trigger:hover .card-visual{border-color:var(--focus);transform:translateY(-2px);box-shadow:3px 4px #2028322e}.deck-status{color:var(--mint-dark);gap:5px;margin-top:7px;font-size:9px}.deck-status.is-error{color:var(--error-ink)}.card-visual{width:100%;min-width:0;color:var(--ink);border-radius:var(--radius-sm);background:var(--sky);text-align:left;border:2px solid #202832ad;transition:border-color .18s,box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden;box-shadow:2px 3px #20283233}.card-art{aspect-ratio:3/4;min-width:0;min-height:0;color:var(--ink);background:var(--sky);grid-column:1/-1;place-items:center;font-size:20px;font-weight:900;display:grid}.card-art span{background:#eef3f047;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:58%;height:58%;display:grid}.artwork-image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.card-cost,.card-power{z-index:1;border:1px solid #ffffffad;place-items:center;width:19px;height:19px;font-size:10px;font-weight:900;display:grid;position:absolute}.card-cost{color:#124d77;background:#cdeeff;border-radius:50%;top:4px;left:4px}.card-power{color:#101917;background:var(--yellow);border-radius:4px;top:4px;right:4px}.card-cost.is-increased{color:var(--error-ink);background:var(--error-badge)}.card-cost.is-decreased{color:#0d2b1e;background:var(--mint)}.card-power.is-increased{color:#082b1d;background:var(--mint)}.card-power.is-decreased{color:var(--error-ink);background:var(--error-badge)}.card-thumb{border-color:#2028328f}.card-thumb .card-art{min-height:0}.card-thumb .card-cost,.card-thumb .card-power{width:16px;height:16px;font-size:8px}.home-actions{gap:6px;display:grid}.home-actions .button{min-height:40px}.button{min-height:var(--touch-target);cursor:pointer;border:2px solid var(--line-strong);border-radius:var(--radius-sm);justify-content:center;gap:8px;font-size:12px;font-weight:900;transition:border-color .16s,background-color .16s,transform .16s,box-shadow .16s;box-shadow:3px 4px #2028322e}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:4px 5px #20283233}.button:active:not(:disabled),.icon-button:active,.nav-item:active{filter:brightness(.97);transform:translate(2px,2px);box-shadow:1px 1px #2028322e}.button-primary{color:var(--ink);background:var(--mint)}.button-primary:hover:not(:disabled){background:#88dfbd}.button-secondary{color:var(--ink);background:var(--yellow)}.button-danger{color:#fffaf0;border-color:var(--error-ink);background:var(--error-ink)}.button-quiet{color:var(--text);background:var(--panel-raised)}.button-quiet:hover:not(:disabled),.button-small:hover:not(:disabled){border-color:var(--focus)}.button-small{min-height:var(--touch-target);color:var(--muted);border-color:var(--line-strong);background:0 0;padding:0 11px;font-size:11px}.text-link{width:fit-content;min-height:var(--touch-target);cursor:pointer;color:var(--focus);background:0 0;gap:6px;padding:0 4px;font-size:11px;font-weight:800}.text-link:hover{color:#0f4f83}.connection-issues{right:var(--screen-gutter);bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));left:var(--screen-gutter);z-index:8;border:2px solid var(--line-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--panel);position:absolute;overflow:hidden;box-shadow:0 -5px #2028321f}.connection-issues-summary{cursor:pointer;width:100%;min-height:40px;color:var(--error-ink);background:var(--warning-surface);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0 11px;display:grid}.connection-issues-summary.is-healthy{cursor:default;color:var(--mint-dark);background:#e6f7ed;grid-template-columns:auto 1fr}.connection-issues-summary strong{font-size:10px}.connection-issue-list{overscroll-behavior:contain;background:var(--panel);scrollbar-width:none;max-height:190px;padding:7px 10px 10px;display:grid;overflow-y:auto}.connection-issue-list::-webkit-scrollbar{display:none}.connection-issue-item{border-top:1px solid var(--line);gap:2px;padding:8px 2px;display:grid}.connection-issue-item strong{color:var(--text);font-size:10px}.connection-issue-item span{color:var(--muted);font-size:9px;line-height:1.45}.deck-screen{flex-direction:column;gap:4px;padding-top:5px;display:flex}.deck-editor-actions{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:4px;min-width:0;display:grid}.deck-editor-bar{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);align-content:center;gap:4px;min-height:72px;padding:3px 0 5px;display:grid}.deck-editor-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.deck-editor-title .eyebrow{letter-spacing:0;text-align:right;order:2;min-width:0;font-size:9px}.deck-editor-title>div{align-items:center;gap:5px;min-width:0;display:flex}.deck-editor-bar h2{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.deck-rename{cursor:pointer;width:32px;height:32px;color:var(--focus);border:1px solid var(--line-strong);background:var(--sky);border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.deck-rename svg{width:11px;height:11px}.deck-editor-actions .button{text-overflow:ellipsis;white-space:nowrap;gap:3px;min-width:0;min-height:44px;padding:0 5px;font-size:9.5px;overflow:hidden}.deck-editor-actions .button svg{width:12px;height:12px}.deck-editor-actions .deck-delete{color:var(--error-ink);border-color:var(--line-strong);background:var(--error-surface)}.deck-delete-hint{text-align:right;color:var(--error-ink)!important;margin:-2px 0 0!important;font-size:8px!important;line-height:1.2!important}.card-pool{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.deck-selected-workspace{grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:4px;display:grid}.deck-cycle{width:22px;height:52px;color:var(--ink);background:var(--yellow);justify-content:center;align-items:center;padding:0;display:inline-flex}.deck-cycle:disabled{cursor:not-allowed;color:var(--faint);background:var(--panel-raised);box-shadow:none;opacity:.55}.deck-selected-zone{border:2px solid var(--line-strong);border-radius:var(--radius-md);grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;min-width:0;padding:5px;transition:background-color .18s,border-color .18s;display:grid;box-shadow:4px 5px #2028321f}.deck-selected-zone.is-equipped{background:var(--mint)}.deck-selected-zone.is-unequipped{background:var(--yellow)}.deck-selected-zone.is-incomplete{background:var(--deck-incomplete);border-color:#7b302e}.deck-builder-card{cursor:grab;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;padding:0;display:block}.deck-builder-card:hover{border-color:var(--yellow)}.deck-builder-card:active{cursor:grabbing}.deck-builder-card.is-selected{border-color:var(--mint-dark);box-shadow:2px 3px #27654f2e}.deck-builder-card.is-pool{touch-action:none}.deck-builder-card .card-visual{box-shadow:none;border:0;border-radius:5px}.deck-slot-empty{aspect-ratio:3/4;min-width:0;color:var(--faint);border:2px dashed var(--line);border-radius:var(--radius-sm);background:var(--panel);place-items:center;font-size:9px;display:grid}.deck-slot-empty span{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.deck-pool-workspace{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.filter-toggle{gap:5px}.filter-toggle.is-active{color:var(--ink);border-color:var(--line-strong);background:var(--sky)}.deck-filter-panel{z-index:3;overscroll-behavior:contain;border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-tool);box-shadow:var(--shadow-panel);gap:6px;padding:8px;display:grid;position:absolute;inset:0;overflow-y:auto}.deck-filter-head{color:var(--text);justify-content:space-between;align-items:center;font-size:12px;display:flex}.deck-filter-head .icon-button{width:var(--touch-target);height:var(--touch-target)}.deck-filter-panel fieldset{border:0;gap:6px;margin:0;padding:0;display:grid}.deck-filter-panel legend{color:var(--yellow-dark);margin-bottom:2px;font-size:9px;font-weight:900}.deck-filter-panel label{min-height:var(--touch-target);cursor:pointer;color:var(--muted);border-radius:var(--radius-sm);background:#ffffff94;border:1px solid #0000;align-items:center;gap:7px;padding:0 7px;font-size:10px;display:flex}.deck-filter-panel label:has(input:checked){color:var(--ink);border-color:var(--mint-dark);background:#dff5e9}.deck-filter-panel input{width:15px;height:15px;accent-color:var(--mint)}.filter-radio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.filter-radio-grid label{justify-content:center;padding:0 3px}.filter-radio-row{overscroll-behavior-inline:contain;scrollbar-width:none;touch-action:pan-x;gap:5px;max-width:100%;display:flex;overflow-x:auto}.filter-radio-row::-webkit-scrollbar{display:none}.filter-radio-row label{flex:none;min-width:max-content}.deck-filter-empty{min-height:110px;color:var(--faint);border:2px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--panel);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.deck-filter-empty strong{color:var(--muted);font-size:11px}.deck-filter-empty span{font-size:9px}.deck-unselected-zone .deck-builder-card{border-color:var(--line)}.deck-drag-ghost,.card-drag-ghost{z-index:80;contain:layout paint style;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.deck-drag-ghost .card-visual,.card-drag-ghost .card-visual{box-shadow:0 10px 16px #00000061}.deck-drag-ghost{opacity:.9}.card-pool .card-pool{width:100%}.card-pool .card-pool .card-art{min-height:0}.card-pool .card-cost,.card-pool .card-power{width:17px;height:17px;font-size:8px}.inline-error{color:var(--error-ink);border:2px solid var(--coral);border-radius:var(--radius-sm);background:var(--error-surface);gap:7px;padding:10px 11px;font-size:10px;line-height:1.4}.deck-delete-backdrop{z-index:30;background:#304353db;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.deck-delete-dialog{width:min(100%,320px);color:var(--error-ink);border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-dialog);box-shadow:var(--shadow-dialog);gap:10px;padding:20px;display:grid}.deck-delete-dialog h2{color:var(--text);font-size:18px}.deck-delete-dialog p{color:var(--muted);font-size:10px;line-height:1.55}.deck-delete-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:3px;display:grid}.leaderboard-screen{flex-direction:column;gap:8px;padding-top:10px;display:flex}.leaderboard-intro{background:#eee7f8;justify-content:space-between;align-items:flex-start;gap:12px;min-height:92px;padding:13px 14px;display:flex}.leaderboard-intro:after{background:var(--lavender)}.leaderboard-intro h1,.leaderboard-intro p{margin-top:7px}.leaderboard-icon{width:46px;height:46px;color:var(--ink);border:2px solid var(--ink);background:var(--yellow);border-radius:14px 5px 12px 6px;flex:none;place-items:center;display:grid;transform:rotate(4deg);box-shadow:4px 5px #2028322e}.demo-banner{color:var(--yellow-dark);border:2px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-surface);gap:7px;padding:10px 11px;font-size:10px;line-height:1.4}.leaderboard-table{border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-panel);overflow:hidden}.table-heading,.table-row{grid-template-columns:38px 1fr 52px;align-items:center;gap:7px;display:grid}.table-heading{min-height:34px;color:var(--faint);background:var(--surface-table-head);padding:0 12px;font-size:9px}.table-heading span:last-child{text-align:right}.table-row{border-top:1px solid var(--line);min-height:50px;padding:5px 12px}.rank{color:var(--yellow-dark);font-size:12px}.player-cell{align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.player-cell>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-cell small{color:var(--faint);margin-top:3px;font-size:8px;display:block}.avatar{color:#0e1815;background:var(--mint);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;display:grid}.leaderboard-avatar{border-radius:inherit;object-fit:cover;width:100%;height:100%}.table-row>strong:last-child{color:var(--mint-dark);text-align:right;font-size:15px}.table-row>strong.score-negative{color:var(--error-ink)}.leaderboard-foot{color:var(--faint);margin-top:auto;font-size:9px}.leaderboard-foot span{gap:5px}.bottom-nav{z-index:5;height:max(var(--nav-height), calc(var(--nav-height) + env(safe-area-inset-bottom,0px)));padding:7px 10px max(7px, env(safe-area-inset-bottom,0px));border-top:2px solid var(--line-strong);background:var(--cream);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px #20283214}.nav-item{min-height:var(--touch-target);cursor:pointer;color:var(--faint);border-radius:var(--radius-sm);background:0 0;align-content:center;justify-items:center;gap:4px;font-size:10px;display:grid}.nav-item.is-active{color:var(--ink);background:var(--mint);font-weight:900;box-shadow:2px 3px #20283224}.nav-item:hover{color:var(--text)}.catalogue-screen{flex-direction:column;gap:8px;padding-top:10px;display:flex}.co-create-screen{flex-direction:column;gap:6px;min-height:0;padding-top:8px;display:flex;overflow:hidden}.catalogue-intro,.co-create-intro{padding:12px 14px}.catalogue-intro h1,.co-create-intro h1{margin-top:6px;font-size:26px}.catalogue-intro em,.co-create-intro em{color:var(--focus);font-style:normal}.catalogue-intro p,.co-create-intro p{max-width:320px;margin-top:6px;font-size:10px;line-height:1.45}.location-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.location-catalogue-item{cursor:pointer;min-width:0;min-height:84px;color:var(--text);border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);text-align:left;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:7px;transition:border-color .18s,background-color .18s,transform .18s;display:grid;box-shadow:3px 4px #2028321a}.location-catalogue-item:hover{border-color:var(--focus);background:#eef8fd;transform:translateY(-1px)}.location-catalogue-item:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.catalogue-art{aspect-ratio:3/4;width:48px;color:var(--mint-dark);border:2px solid var(--line-strong);background:var(--sky);border-radius:5px;place-items:center;font-weight:900;display:grid;overflow:hidden}.catalogue-copy{gap:4px;min-width:0;display:grid}.catalogue-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.catalogue-copy small{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:9px;line-height:1.45;display:-webkit-box;overflow:hidden}.co-create-intro{background:#fff0e5;padding:8px 12px 9px}.co-create-intro:after{background:var(--peach)}.co-create-intro h1{white-space:nowrap;margin-top:3px;font-size:22px}.co-create-intro p{max-width:100%;margin-top:4px;font-size:9px;line-height:1.35}.co-create-status{color:var(--yellow-dark);border:2px dashed var(--warning-border);border-radius:var(--radius-md);background:#fff4d1;flex:none;align-items:flex-start;gap:7px;padding:6px 8px;display:flex}.co-create-status strong,.co-create-status span{display:block}.co-create-status strong{color:var(--text);font-size:11px}.co-create-status span{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.3}.co-create-status.is-success{color:var(--mint-dark);border-style:solid;border-color:var(--mint-dark);background:#e6f7ed}.co-create-status.is-warning{color:var(--yellow-dark)}.co-create-form{border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);min-height:0;box-shadow:var(--shadow-panel);flex-direction:column;flex:1;gap:5px;padding:7px 9px;display:flex;overflow:hidden}.co-create-type{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.co-create-type button{cursor:pointer;min-height:50px;color:var(--muted);border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-raised);font-size:10px;font-weight:800}.co-create-type button.is-active{color:var(--ink);border-color:var(--line-strong);background:var(--mint);box-shadow:2px 3px #20283224}.co-create-form label{color:var(--text);gap:3px;font-size:10px;font-weight:800;display:grid;position:relative}.co-create-field,.co-create-number-row,.co-create-type,.form-error-summary{flex:none}.co-create-form textarea{overscroll-behavior:contain;resize:vertical;scrollbar-width:none;height:50px;min-height:50px;max-height:80px;line-height:1.35;overflow-y:auto}.co-create-form input,.co-create-form textarea{width:100%;color:var(--text);border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-input);font:inherit;padding:5px 8px;font-size:10px;font-weight:500}.co-create-form input{min-height:50px}.co-create-form textarea::-webkit-scrollbar{display:none}.co-create-field-long{flex:1;grid-template-rows:auto minmax(50px,1fr);min-height:62px;overflow:hidden}.co-create-field-long textarea{height:100%;min-height:50px;max-height:100%}.privacy-consent{color:var(--text);border:2px solid var(--line);border-radius:var(--radius-sm);background:#fff8df;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 7px;padding:5px 7px;display:grid}.privacy-consent.is-error{border-color:var(--coral);background:#fff0eb}.privacy-consent label{white-space:nowrap;align-items:center;gap:5px;display:flex}.privacy-consent input{width:16px;height:16px;min-height:16px;accent-color:var(--mint-dark);margin:0}.privacy-notice-link{cursor:pointer;min-height:28px;color:var(--focus);font:inherit;background:0 0;border:0;border-bottom:2px solid;padding:0 4px;font-size:10px;font-weight:900}.privacy-consent small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:8px;font-weight:500;overflow:hidden}.privacy-consent .form-error{grid-column:1/-1}.privacy-withdrawal-status{color:var(--text);border:2px solid var(--coral);border-radius:var(--radius-sm);background:#fff0eb;margin:0;padding:6px 8px;font-size:10px;font-weight:600;line-height:1.45}.privacy-notice-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.privacy-withdraw-button{font-size:11px}.co-create-submit{flex:none;min-height:50px;margin-top:auto}.co-create-form.has-errors{gap:3px}.co-create-form.has-errors .co-create-field-long{min-height:54px}.co-create-form.has-errors textarea{min-height:44px}.co-create-form input:focus,.co-create-form textarea:focus{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:3px;box-shadow:none}.privacy-notice-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.co-create-form [aria-invalid=true]{border-color:var(--coral)}.co-create-number-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.privacy-notice-backdrop{z-index:80;background:#344b60c2;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.privacy-notice-dialog{width:min(100%,420px);max-height:min(620px,100%);color:var(--text);border:2px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--panel);grid-template-rows:auto minmax(0,1fr) auto;gap:9px;padding:12px;display:grid;position:relative;overflow:hidden;box-shadow:7px 8px #121c254d}.privacy-notice-dialog:before{pointer-events:none;background:var(--peach);content:"";opacity:.58;width:120px;height:76px;position:absolute;top:-38px;right:-24px;transform:rotate(17deg)}.privacy-notice-dialog>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.privacy-notice-dialog h2{margin-top:2px;font-size:22px;line-height:1}.privacy-notice-scroll{overscroll-behavior:contain;border:2px solid var(--line);border-radius:var(--radius-sm);scrollbar-width:none;background:#fff8e8;gap:10px;min-height:0;padding:8px 9px 16px;display:grid;overflow-y:auto}.privacy-notice-scroll::-webkit-scrollbar{display:none}.privacy-notice-scroll section{border-top:1px dashed var(--line);gap:3px;padding-top:8px;display:grid}.privacy-notice-scroll h3{font-size:11px}.privacy-notice-scroll p{color:var(--muted);font-size:9px;line-height:1.55}.privacy-notice-scroll .privacy-notice-lead{color:var(--text);font-weight:800}.privacy-notice-dialog>.button{min-height:42px}.field-count{color:var(--faint);font-size:8px;font-weight:400;position:absolute;bottom:9px;right:9px}.form-error{color:var(--error-ink);font-size:9px;font-weight:700}.form-error+.field-count{bottom:25px}.form-error-summary{overscroll-behavior:contain;max-height:48px;color:var(--text);border:2px solid var(--coral);border-radius:var(--radius-sm);background:var(--error-surface);scrollbar-width:none;gap:3px;padding:5px 7px;font-size:9px;display:grid;overflow-y:auto}.form-error-summary::-webkit-scrollbar{display:none}.form-error-summary:focus{outline:2px solid var(--focus);outline-offset:3px;box-shadow:none}.form-error-summary a{color:var(--error-ink);text-underline-offset:2px;font-weight:800;text-decoration:underline}.bounded-scroll-frame{border-radius:var(--radius-md);flex:1;min-height:0;position:relative;overflow:hidden}.bounded-scroll-frame:after{z-index:2;pointer-events:none;background:linear-gradient(180deg, #fff7e800, #fff7e8f0 78%, var(--cream));content:"";height:48px;position:absolute;bottom:0;left:0;right:0}.bounded-scroll-content{overscroll-behavior:contain;scrollbar-width:none;height:100%;padding-bottom:54px;overflow-y:auto}.bounded-scroll-content::-webkit-scrollbar{display:none}.location-catalogue{align-content:start}.deck-pool-frame{background:var(--panel-soft)}.deck-unselected-zone{align-content:start;padding:5px 5px 54px}.deck-filter-empty{z-index:1;position:absolute;inset:0}.battle-screen{--battle-topbar-height:60px;--battle-hand-height:92px;--battle-controls-height:58px;isolation:isolate;background:var(--surface-battle);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.battle-screen:after{z-index:29;pointer-events:none;content:"";opacity:var(--time-urgency,0);border:6px solid #ee4d57;transition:opacity .2s linear;position:absolute;inset:0;box-shadow:inset 0 0 46px #ee4d57b8}.battle-topbar{height:var(--battle-topbar-height);min-height:var(--battle-topbar-height);flex:0 0 var(--battle-topbar-height);background:var(--surface-battle-chrome);border-bottom:2px solid #8294a2;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:0 18px;display:grid}.battle-player{gap:7px;min-width:0}.battle-player.opponent{text-align:right;justify-content:flex-end}.battle-avatar{cursor:pointer;border:2px solid var(--ink);border-radius:9px 3px 8px 4px;flex:none;place-items:center;width:30px;height:30px;padding:0;font-size:9px;font-weight:900;display:grid}.player-avatar{color:var(--ink);background:var(--mint);width:44px;height:44px}.bot-avatar{color:var(--ink);background:var(--peach)}.battle-player strong,.battle-player small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.battle-player strong{font-size:14px}.battle-player.is-priority .battle-avatar{box-shadow:3px 3px 0 var(--yellow-dark);transform:translateY(-1px)}.battle-player.is-priority strong{color:var(--yellow-dark);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.battle-player small{color:var(--faint);margin-top:2px;font-size:8px}.battle-round{cursor:pointer;min-width:76px;min-height:44px;color:var(--muted);white-space:nowrap;background:#fffbec14;border:2px solid #71879a;border-radius:9px 3px 8px 4px;flex-direction:column;gap:3px;padding:4px 8px;font-size:9px;transition:transform .16s,background-color .16s,box-shadow .16s}.battle-round strong{color:var(--yellow-dark);font-size:16px}.battle-round.is-cube-pending{background:#fff0ad;border-color:#dfaa34;transform:translateY(-1px)rotate(-1deg);box-shadow:3px 3px #5b43143d}.battle-round.cube-risk-2{background:#ffd99a;box-shadow:3px 3px #a4562b3d}.battle-round.cube-risk-3{color:#7b2430;background:#ffc0b4;border-color:#d95b62;transform:translateY(-1px)rotate(1deg);box-shadow:0 0 0 3px #ee4d5729,4px 4px #7b243038}.battle-round:disabled{cursor:default;opacity:.72;transform:none}.battle-screen.is-cube-committing .battle-round strong{animation:.28s cubic-bezier(.18,.78,.28,1) both battle-cube-commit}.cube-icon{margin-right:3px;font-size:17px}.battle-board{--text:var(--battle-text);--muted:var(--battle-muted);--faint:var(--battle-faint);--line:#f4f8f742;--line-strong:#f4f8f780;min-height:0;color:var(--text);background:linear-gradient(180deg, #91a5ae 0, #61788a 10px, var(--surface-battle) 28px);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 8px 5px;display:grid}.location-column{min-width:0;min-height:0;color:inherit;border:2px solid var(--line);text-align:left;background:#344b60;border-radius:8px;grid-template-rows:minmax(0,1fr) 24px auto 24px minmax(0,1fr);align-items:stretch;padding:6px 4px 5px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:grid;position:relative;box-shadow:3px 4px #121c253d;container-type:size}.location-column.is-drop-legal{background:#376451;border-color:#8ce0bd}.location-column.is-drop-over{box-shadow:inset 0 0 0 2px var(--mint), 3px 4px 0 #121c2547}.location-column.is-drop-invalid{opacity:.58}.location-column.is-hidden{background:#43586b}.location-column.is-hawkeye-target{box-shadow:inset 0 0 0 3px #5be390b8,0 0 18px #5be39052,3px 4px #121c253d}.location-column.is-area-locked:after{z-index:8;pointer-events:none;content:"";background:#fffae799;border:3px solid #fff8dce6;border-radius:6px;position:absolute;inset:3px;box-shadow:inset 0 0 0 2px #71879a6b}.location-card{aspect-ratio:3/4;cursor:pointer;width:auto;max-width:84%;height:min(116px,24cqh);color:inherit;background:#68899a;border:2px solid #ffffff9e;border-radius:6px;justify-self:center;padding:0;position:relative;overflow:hidden;box-shadow:3px 4px #121c254d}.location-card.is-concealed{border-color:var(--line-strong);background:var(--surface-concealed)}.location-column.is-location-switching .location-card{backface-visibility:hidden;will-change:transform;animation:.33s cubic-bezier(.2,.82,.2,1) both location-face-switch}.location-reveal-back{z-index:4;color:#fff1b5;backface-visibility:hidden;background:linear-gradient(135deg,#26394b 0 42%,#59788d 42% 61%,#31495d 61% 100%);place-items:center;animation:.56s cubic-bezier(.2,.82,.2,1) both location-back-reveal;display:grid;position:absolute;inset:0;overflow:hidden}.location-reveal-back:before,.location-reveal-back:after{aspect-ratio:1;content:"";background:#a9daf51a;border:2px solid #fff1b53d;width:72%;position:absolute;transform:rotate(45deg)}.location-reveal-back:after{background:#f6c85f1f;border-color:#f6c85f80;width:38%}.location-reveal-back span{z-index:1;aspect-ratio:1;background:#20283257;border:2px solid #fff1b58a;border-radius:6px 2px;place-items:center;width:42%;font-size:18px;display:grid;transform:rotate(-5deg)}.location-column.is-location-revealing .location-art,.location-column.is-location-revealing .location-copy{backface-visibility:hidden;will-change:transform, opacity;animation:.56s cubic-bezier(.2,.82,.2,1) both location-front-reveal}.location-art{color:var(--ink);background:linear-gradient(150deg, var(--sky), #6e91a6);place-items:center;font-size:24px;font-weight:900;display:grid;position:absolute;inset:0}.location-card.is-concealed .location-art{color:var(--faint);background:var(--surface-concealed)}.location-art span{aspect-ratio:1;background:#eef3f02e;border:1px solid #fff6;border-radius:50%;place-items:center;width:52%;display:grid}.location-copy{z-index:1;text-align:center;background:linear-gradient(#0000,#050a0bf0 38%);padding:20px 5px 6px;position:absolute;bottom:0;left:0;right:0}.location-name,.location-summary{display:block}.location-name{color:var(--text);font-size:10px;line-height:1.15}.location-summary{color:#cfdbd7;text-shadow:0 1px 2px #000000e6;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:3px;font-size:8px;line-height:1.3;display:-webkit-box;overflow:hidden}.location-score-anchor{place-items:center;min-height:0;padding:0;display:grid}.location-score{cursor:pointer;min-width:30px;min-height:28px;color:var(--muted);background:#eef3f014;border:1px solid #121c25b8;border-radius:5px;padding:0 4px;font-size:18px;font-weight:900;line-height:1;transition:font-size .18s,color .18s,text-shadow .18s}.location-score:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.location-score.is-leading{color:#ffe079;text-shadow:2px 2px #121c25b8;font-size:23px}.lane{justify-content:center;align-items:center;min-height:0;padding:2px 0;display:flex;container-type:size}.slot-row{aspect-ratio:3/4;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 3px;width:min(100%,75cqh);display:grid}.battle-slot{aspect-ratio:3/4;min-width:0;min-height:0;position:relative}.battle-card-detail-trigger{height:100%;position:relative}.battle-slot.is-revealing .battle-card-detail-trigger{backface-visibility:hidden;transform-origin:50%;will-change:transform;animation:.32s cubic-bezier(.2,.82,.2,1) both battle-card-flip}.battle-slot.is-resolution-affected .card-visual,.hand-card.is-resolution-affected .card-visual{animation:.4s cubic-bezier(.18,.78,.28,1) both battle-card-impact}.battle-slot.is-zone-exiting,.hand-card.is-zone-exiting{z-index:110;pointer-events:none;will-change:transform, opacity;animation:.36s cubic-bezier(.3,.72,.32,1) both battle-zone-exit}.battle-slot.is-resolution-affected .card-power,.hand-card.is-resolution-affected .card-power{animation:.4s cubic-bezier(.18,.78,.28,1) both battle-power-pulse}.location-score-anchor.is-resolution-active .location-score{animation:.4s cubic-bezier(.18,.78,.28,1) both battle-score-pulse}.resolution-delta{z-index:7;min-width:20px;color:var(--ink);border:1px solid var(--ink);background:var(--mint);border-radius:5px 2px;padding:2px 4px;font-size:8px;font-weight:900;line-height:1;animation:.4s cubic-bezier(.18,.78,.28,1) both battle-delta-pop;position:absolute;top:4px;right:4px;box-shadow:2px 2px #121c256b}.resolution-delta.is-negative{background:var(--coral)}.slot-empty{background:#ffffff06;border:1px dashed #f4f8f74d;border-radius:4px;width:100%;height:100%;display:block}.card-back{isolation:isolate;color:#fff1b5;background:linear-gradient(135deg,#26394b 0 44%,#4f6d82 44% 63%,#31495d 63% 100%);border:1px solid #f4f8f794;border-radius:4px;place-items:center;width:100%;height:100%;font-size:14px;font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #121c2547}.card-back:before,.card-back:after{z-index:-1;content:"";background:#a9daf51f;border:1px solid #fff1b533;width:74%;height:74%;position:absolute;transform:rotate(45deg)}.card-back:after{background:#f6c85f1f;border-color:#f6c85f6b;width:34%;height:34%;transform:rotate(45deg)}.card-back span{background:#20283257;border:1px solid #fff1b57a;border-radius:5px 2px;place-items:center;width:52%;height:52%;display:grid;transform:rotate(-4deg)}.card-battle{border-radius:3px;height:100%}.card-battle.is-pending{opacity:.72;border-style:dashed}.card-battle .card-art{min-height:0;font-size:10px}.card-battle .card-art span{width:65%;height:65%}.card-battle .card-cost,.card-battle .card-power{width:15px;height:15px;font-size:8px}.card-battle .card-cost{top:1px;left:1px}.card-battle .card-power{top:1px;right:1px}.battle-hand{height:var(--battle-hand-height);min-height:var(--battle-hand-height);flex:0 0 var(--battle-hand-height);background:var(--surface-battle-chrome);border-top:2px solid #8294a2;padding:2px 11px 1px;transition:background-color .16s,box-shadow .16s}.battle-hand.is-drop-over{box-shadow:inset 0 3px 0 var(--mint-dark);background:#daf3e7}.hand-scroll{grid-template-columns:repeat(var(--hand-count), minmax(0, 60px));align-items:end;width:100%;height:87px;min-height:0;padding:4px 1px 3px;display:grid;overflow:visible}.hand-card{z-index:var(--hand-index);aspect-ratio:3/4;cursor:grab;border:2px solid var(--line);touch-action:pan-x;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;width:60px;min-width:0;padding:0;transition:transform .14s,border-color .14s,filter .14s;position:relative}.hand-card:last-child{justify-self:end}.hand-card:hover,.hand-card:focus-visible{z-index:100;border-color:var(--yellow);transform:translateY(-4px)}.hand-card:active,.hand-card.is-pressed{z-index:100;cursor:grabbing;border-color:var(--yellow)}.hand-card.is-unavailable{cursor:not-allowed;filter:grayscale(.72)saturate(.48);opacity:1;border-style:dashed}.hand-card.is-unavailable:after{z-index:2;border-radius:inherit;content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#0000 0 11px,#20283229 11px 15px);position:absolute;inset:0}.hand-card.is-unavailable:hover{border-color:var(--line)}.hand-card.is-read-only{cursor:pointer}.hand-card.is-read-only:hover,.hand-card.is-read-only:focus-visible{border-color:var(--sky);transform:translateY(-2px)}.card-hand{height:100%}.card-hand .card-art{min-height:0;font-size:13px}.card-hand .card-cost,.card-hand .card-power{width:18px;height:18px;font-size:9px}.hand-empty{width:100%;color:var(--faint);place-items:center;font-size:10px;display:grid}.card-drag-ghost{opacity:.88}.deck-drag-ghost .card-visual,.card-drag-ghost .card-visual{height:100%}.deck-drag-ghost .card-art,.card-drag-ghost .card-art{aspect-ratio:auto;width:100%;height:100%}.battle-controls{height:var(--battle-controls-height);min-height:var(--battle-controls-height);flex:0 0 var(--battle-controls-height);background:var(--surface-battle-chrome);align-items:center;padding:5px 11px 7px;display:grid}.battle-control-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.battle-controls .button{min-width:0;min-height:44px;padding:0 5px;font-size:9px}.battle-controls .button svg{width:14px;height:14px}.retreat-button{color:#812d37;background:#ffd4ce;border-color:#d86c72;box-shadow:3px 4px #812d3729}.energy-replay-button{color:#185d88;background:#d8f0fb;border-color:#6daacb;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;column-gap:3px;display:grid;box-shadow:3px 4px #185d8829}.energy-replay-button span{grid-area:1/1/auto/3;align-self:end;font-size:7px}.energy-replay-button svg{grid-area:2/1;justify-self:end}.energy-replay-button strong{grid-area:2/2;place-self:start;font-size:14px;line-height:1}.end-round-button{isolation:isolate;grid-template-columns:auto auto auto;position:relative;overflow:hidden}.end-round-button:after{z-index:0;background:repeating-linear-gradient(135deg, var(--mint-dark) 0 6px, var(--mint) 6px 11px);content:"";height:7px;transform:scaleX(var(--round-progress,1));transform-origin:0;transition:transform .25s linear;position:absolute;bottom:0;left:0;right:0}.end-round-button>*{z-index:1;position:relative}.round-clock{min-width:24px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:11px}.settle-button{grid-column:1/-1}.battle-viewer-footer{height:var(--battle-controls-height);min-height:var(--battle-controls-height);flex:0 0 var(--battle-controls-height);background:var(--surface-battle-chrome);align-items:center;padding:5px 11px 7px;display:flex}.viewer-settle{width:100%;min-height:38px;font-size:9px}.pending-return-card{touch-action:none;height:100%}.pending-return-card:active{cursor:grabbing}.retreat-backdrop{z-index:30;background:#304353d1;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.retreat-dialog{width:min(100%,300px);color:var(--yellow-dark);border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-dialog);box-shadow:var(--shadow-dialog);gap:11px;padding:22px;display:grid}.retreat-dialog h2{color:var(--text);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:20px}.retreat-dialog p{color:var(--muted);font-size:11px;line-height:1.55}.retreat-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.battle-zone-menu-backdrop,.battle-zone-overlay{z-index:40;background:#3043535c;position:absolute;inset:0}.battle-zone-menu{top:calc(var(--battle-topbar-height) - 5px);border:2px solid var(--ink);background:#fff6df;border-radius:6px 14px 7px 12px;gap:8px;width:min(224px,100% - 24px);padding:9px;display:grid;position:absolute;left:12px;box-shadow:5px 6px #121c253d}.battle-zone-menu button{cursor:pointer;min-height:44px;color:var(--ink);border:2px solid var(--line);background:var(--panel-raised);text-align:left;border-radius:7px 3px;padding:0 10px;font-size:10px;font-weight:900}.battle-zone-menu button:first-child{background:#d9effa}.battle-zone-menu button:nth-child(2){background:#ffe0bd}.battle-zone-menu button:nth-child(3){background:#ffd3cf}.battle-zone-overlay{background:#304353c7;place-items:center;padding:74px 18px 76px;display:grid}.battle-zone-dialog{border:2px solid var(--ink);background:#fff6df;border-radius:16px 5px 14px 7px;flex-direction:column;width:min(100%,374px);min-height:210px;max-height:68vh;display:flex;overflow:hidden;box-shadow:7px 8px #121c254d}.battle-zone-dialog>header{border-bottom:2px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:12px 14px 10px;display:grid}.battle-zone-dialog>header .eyebrow{grid-column:1}.battle-zone-dialog>header h2{grid-column:1;font-size:19px}.battle-zone-dialog>header>strong{min-width:34px;color:var(--blue);text-align:center;grid-area:1/2/3;font-size:24px}.battle-zone-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;padding:11px 11px 24px;overflow-y:auto}.battle-zone-scroll::-webkit-scrollbar{display:none}.battle-zone-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:8px;display:grid}.battle-zone-card{cursor:pointer;border:2px solid var(--line);aspect-ratio:3/4;background:0 0;border-radius:6px;min-width:0;padding:0}.battle-zone-card .card-visual{height:100%}.battle-zone-empty{min-height:118px;color:var(--muted);grid-column:1/-1;place-items:center;font-size:11px;display:grid}.result-screen{min-height:0;padding:28px 24px max(28px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.result-kicker{color:var(--yellow-dark);letter-spacing:.08em;gap:6px;font-size:10px;font-weight:900}.result-seal{width:78px;height:78px;color:var(--ink);border:2px solid var(--ink);background:var(--yellow);border-radius:18px 5px 16px 7px;place-items:center;margin:23px 0 14px;display:grid;transform:rotate(-4deg);box-shadow:6px 7px #20283233}.result-screen.is-animated .result-seal{animation:.26s cubic-bezier(.2,.8,.2,1) both result-pop}.result-screen.is-animated h1,.result-screen.is-animated .cube-result{animation:.24s ease-out 80ms both result-rise}.result-screen h1{font-size:34px}.result-screen p{max-width:270px;margin-top:8px}.cube-result{border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);min-width:154px;box-shadow:var(--shadow-panel);gap:5px;margin-top:23px;padding:13px 17px;display:grid}.cube-result span{color:var(--muted);font-size:10px}.cube-result strong{color:var(--mint-dark);font-size:24px}.cube-result strong.is-negative{color:var(--error-ink)}.cube-result strong.is-neutral{color:var(--muted)}.result-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:auto;display:grid}.result-actions .button{min-height:var(--touch-target)}.detail-backdrop{z-index:100;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:#304353e0;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.detail-dialog{justify-items:center;gap:14px;width:min(100%,340px);display:grid;position:relative}.detail-close{z-index:2;width:var(--touch-target);height:var(--touch-target);cursor:pointer;color:var(--text);border:2px solid var(--line-strong);background:var(--yellow);border-radius:14px 5px;place-items:center;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:4px 5px #121c2547}.detail-close:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.detail-card-frame,.detail-location-card{aspect-ratio:3/4;width:min(76vw,258px)}.detail-card-frame .card-detail{border-radius:var(--radius-md);height:100%;box-shadow:7px 8px #121c254d}.detail-card-frame .card-detail .card-cost,.detail-card-frame .card-detail .card-power{width:42px;height:42px;font-size:20px}.detail-location-card{color:#fff8e9;border:2px solid var(--panel);border-radius:var(--radius-md);background:#587488;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:7px 8px #121c254d}.detail-info{width:100%;color:var(--text);border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-dialog);padding:16px 18px 18px;box-shadow:6px 7px #121c2542}.detail-info h2{margin-top:4px;font-size:22px}.detail-info p{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.65}.detail-stats{gap:8px;margin-top:8px;display:flex}.detail-stats span{color:var(--yellow-dark);border:1px solid var(--warning-border);background:var(--warning-surface);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.modifier-chains{gap:10px;width:100%;display:grid}.modifier-chain{min-width:0;color:var(--text);border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-dialog);padding:11px 0 12px 12px;position:relative;overflow:hidden;box-shadow:4px 5px #121c2538}.modifier-chain:after{pointer-events:none;background:linear-gradient(90deg, transparent, var(--surface-dialog));content:"";width:28px;height:calc(100% - 32px);position:absolute;bottom:0;right:0}.modifier-chain h3{margin:0 12px 8px 0;font-size:12px}.modifier-chain-viewport{overscroll-behavior-x:contain;scrollbar-width:none;max-width:100%;overflow-x:auto}.modifier-chain-viewport::-webkit-scrollbar{display:none}.modifier-chain-track{align-items:center;width:max-content;min-width:100%;padding-right:30px;display:flex}.modifier-source-item{border:1px solid var(--line-soft);background:var(--panel-soft);border-radius:7px 3px;flex:0 0 138px;gap:3px;min-width:0;padding:7px 8px;display:grid}.modifier-source-item.is-grouped{flex-basis:220px}.modifier-source-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;overflow:hidden}.modifier-source-value{font-size:10px;font-weight:900}.modifier-source-value.is-benefit{color:#16734d}.modifier-source-value.is-harm{color:#b23d37}.modifier-source-arrow{color:var(--muted);stroke-width:3px;flex:none;margin:0 4px}.modifier-source-paths{gap:3px;display:grid}.modifier-source-path{align-items:center;gap:3px;min-width:0;display:flex}.modifier-source-path-amplifier{align-items:center;gap:3px;min-width:0;display:inline-flex}.modifier-source-path-amplifier svg{color:var(--muted);stroke-width:3px;flex:none}.cloud-conflict-backdrop{z-index:15;background:#304353db;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.cloud-conflict-dialog{width:min(100%,340px);color:var(--yellow-dark);border:2px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-dialog);box-shadow:var(--shadow-dialog);gap:12px;padding:22px;display:grid}.cloud-conflict-dialog h2{color:var(--text);font-size:18px}.cloud-conflict-dialog p{color:var(--muted);font-size:11px;line-height:1.6}.cloud-conflict-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.submission-read-shell .game-canvas{background:linear-gradient(145deg, #a9daf570, transparent 42%), var(--cream)}.submission-read-screen{min-height:100%;color:var(--text);flex-direction:column;display:flex;overflow-y:auto}.submission-read-header{border-bottom:2px solid var(--line-strong);background:var(--cream);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:0 24px;display:flex}.submission-read-brand,.submission-read-mode{align-items:center;display:inline-flex}.submission-read-brand{letter-spacing:.04em;gap:10px;font-size:15px}.submission-read-mode{color:var(--yellow-dark);gap:6px;font-size:11px;font-weight:900}.submission-read-state{min-height:0;padding:34px 32px max(34px, env(safe-area-inset-bottom));flex:1;align-content:center;justify-items:start;display:grid}.submission-read-state-icon{width:58px;height:58px;color:var(--ink);border:2px solid var(--ink);background:var(--yellow);border-radius:16px 5px 14px 6px;place-items:center;margin-bottom:21px;display:grid;transform:rotate(-3deg);box-shadow:5px 6px #2028322e}.submission-read-state h1{margin:0;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:28px;line-height:1.18}.submission-read-state p{max-width:32ch;color:var(--muted);margin:11px 0 0;font-size:13px;line-height:1.7}.submission-read-state.is-invalid .submission-read-state-icon{color:var(--text);border-color:var(--line-strong);background:var(--panel-raised);box-shadow:7px 8px #ffffff09}.submission-read-state.is-unavailable .submission-read-state-icon{color:var(--ink);background:var(--coral)}.submission-read-loading{gap:9px;width:100%;margin-top:27px;display:grid}.submission-read-loading span{border-radius:var(--radius-sm);background:var(--panel-raised);height:9px;animation:1.4s ease-in-out infinite alternate submission-read-pulse;display:block}.submission-read-loading span:nth-child(2){width:78%;animation-delay:.12s}.submission-read-loading span:nth-child(3){width:56%;animation-delay:.24s}.submission-read-retry{min-height:var(--touch-target);cursor:pointer;margin-top:25px}.submission-read-retry:active{transform:translateY(1px)}.submission-read-record{min-height:0;padding:25px 24px max(25px, env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.submission-read-summary{border-bottom:1px solid var(--line-strong);padding:4px 0 19px}.submission-read-kind{color:var(--yellow-dark);letter-spacing:.08em;font-size:11px;font-weight:900;display:inline-block}.submission-read-summary h1{overflow-wrap:anywhere;margin:8px 0 6px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:29px;line-height:1.12}.submission-read-summary p{color:var(--muted);margin:0;font-size:11px}.submission-read-fields{gap:0;margin:0;display:grid}.submission-read-fields>div{border-bottom:1px solid var(--line);gap:7px;padding:17px 0;display:grid}.submission-read-fields dt{color:var(--yellow-dark);letter-spacing:.08em;font-size:10px;font-weight:800}.submission-read-fields dd{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.submission-read-fields .submission-read-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.submission-read-stat-row>span{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-soft);align-content:center;gap:4px;min-height:62px;padding:10px 12px;display:grid}.submission-read-stat-row dd{color:var(--mint-dark);font-size:19px;font-weight:900}.submission-read-notice{color:var(--mint-dark);align-items:flex-start;gap:9px;margin-top:auto;padding:16px 0 2px;display:flex}.submission-read-notice svg{flex:none;margin-top:2px}.submission-read-notice p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}@keyframes submission-read-pulse{0%{opacity:.42;transform:translate(0)}to{opacity:.82;transform:translate(3px)}}@keyframes result-pop{0%{opacity:0;transform:scale(.72)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes result-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes battle-card-flip{0%{opacity:.72;transform:perspective(180px)rotateY(88deg)scale(.86)}58%{opacity:1;transform:perspective(180px)rotateY(-7deg)scale(1.04)}to{opacity:1;transform:perspective(180px)rotateY(0)scale(1)}}@keyframes battle-cube-commit{0%{opacity:.9;transform:scale(1)}48%{opacity:1;transform:scale(1.22)rotate(-3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes location-back-reveal{0%,42%{opacity:1;transform:perspective(260px)rotateY(0)}55%,to{opacity:0;transform:perspective(260px)rotateY(-92deg)}}@keyframes location-front-reveal{0%,45%{opacity:0;transform:perspective(260px)rotateY(92deg)}58%,to{opacity:1;transform:perspective(260px)rotateY(0)}}@keyframes location-face-switch{0%{opacity:1;transform:perspective(260px)rotateY(0)}48%{opacity:.84;transform:perspective(260px)rotateY(84deg)scale(.96)}52%{transform:perspective(260px)rotateY(-84deg)scale(.96)}to{opacity:1;transform:perspective(260px)rotateY(0)scale(1)}}@keyframes battle-zone-exit{0%{opacity:1;transform:translate(0,0)rotate(0)scale(1)}24%{opacity:.9;transform:translateY(-5px)rotate(-1deg)scale(1.025)}to{opacity:0;transform:translateY(-34px)rotate(3deg)scale(.9)}}@keyframes battle-card-impact{0%,to{transform:translate(0,0)}20%{transform:translate(-2px)rotate(-1.5deg)}40%{transform:translate(2px,-1px)rotate(1.5deg)}60%{transform:translate(-1px,1px)rotate(-.8deg)}80%{transform:translate(1px)rotate(.8deg)}}@keyframes battle-score-pulse{0%,to{opacity:1;transform:scale(1)}42%{opacity:.82;transform:scale(1.24)}}@keyframes battle-delta-pop{0%{opacity:0;transform:translateY(5px)scale(.72)rotate(-5deg)}38%{opacity:1;transform:translateY(-2px)scale(1.12)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes battle-power-pulse{0%,to{opacity:1;transform:scale(1)}42%{opacity:.82;transform:scale(1.34)}}.toast{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:20;max-width:min(360px,100vw - 32px);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--yellow);padding:11px 14px;font-size:11px;font-weight:900;position:fixed;box-shadow:5px 6px #2028323d}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}@media (width<=520px){.canvas-stage{--stage-inset-top:env(safe-area-inset-top,0px);--stage-inset-right:env(safe-area-inset-right,0px);--stage-inset-bottom:env(safe-area-inset-bottom,0px);--stage-inset-left:env(safe-area-inset-left,0px)}.game-canvas{box-shadow:none;border:0;border-radius:0}.app-chrome{padding-inline:18px}:root{--screen-gutter:18px}}@media (orientation:landscape) and (width>=700px){.canvas-stage{--stage-inset-top:max(8px, env(safe-area-inset-top,0px));--stage-inset-right:max(8px, env(safe-area-inset-right,0px));--stage-inset-bottom:max(8px, env(safe-area-inset-bottom,0px));--stage-inset-left:max(8px, env(safe-area-inset-left,0px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.battle-screen.is-cube-committing .battle-round strong{animation-duration:50ms!important}.location-column.is-location-switching .location-card{animation-duration:59ms!important}.location-reveal-back,.location-column.is-location-revealing .location-art,.location-column.is-location-revealing .location-copy{animation-duration:.101s!important}.battle-slot.is-revealing .battle-card-detail-trigger{animation-duration:58ms!important}.battle-slot.is-resolution-affected .card-visual,.hand-card.is-resolution-affected .card-visual,.battle-slot.is-resolution-affected .card-power,.hand-card.is-resolution-affected .card-power,.location-score-anchor.is-resolution-active .location-score,.resolution-delta{animation-duration:72ms!important}.battle-slot.is-zone-exiting,.hand-card.is-zone-exiting{animation-duration:65ms!important}}
