@font-face{font-family:Galmuri11;src:url(/assets/Galmuri11-Bold-QdFGsJ3v.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg-base:#0a1e30;--bg-surface:#12364d;--bg-raised:#1a4560;--bg-disabled:#24425a;--bg-scrim:#04101acc;--arena-light-title:#22687f;--arena-light-board:#22687f4d;--line-subtle:#2f6080;--line-control:#7ba3b8;--line-turn-opponent:#c7d6df;--text-primary:#f3fbff;--text-secondary:#9bb3c1;--text-on-accent:#0a1e30;--accent:#2bb8bd;--accent-pressed:#1e9da2;--accent-shadow:#0e6e72;--reward:#f5d56b;--reward-pressed:#e2bf4f;--reward-shadow:#8c7032;--attention:#f5a35c;--danger:#ff8f8a;--hp-fill:#dcebf2;--press-shadow-neutral:#06131e;--px-frame:#c9dbe6;--accent-shine:#8ee6e8;--reward-shine:#fff2bf;--space-half:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-xs:4px;--radius-sm:8px;--radius-md:16px;--radius-lg:20px;--radius-full:999px;--radius-card-x:5%;--radius-card-y:3.55%;--shadow-press-accent:0 3px 0 #0e6e72;--shadow-press-reward:0 3px 0 #8c7032;--shadow-press-neutral:0 2px 0 #06131e;--shadow-prize:0 2px 0 #8c7032;--shadow-card:0 2px 0 #06131e;--size-touch:44px;--size-control-visible:32px;--size-icon:20px;--card-w-hand:52px;--card-w-bench:39px;--card-w-field:83px;--card-w-hand-compact:46px;--card-w-bench-compact:33px;--card-w-field-compact:67px;--card-w-thumb:39px;--card-w-detail:218px;--duration-press:80ms;--duration-color:.12s;--font-sans:"Galmuri11", "Apple SD Gothic Neo", sans-serif}.t-display{font-family:var(--font-sans);letter-spacing:-3px;font-size:48px;font-style:italic;font-weight:900;line-height:1.15}.t-title-lg{font-family:var(--font-sans);letter-spacing:-.5px;font-size:24px;font-weight:850;line-height:1.4}.t-title-md{font-family:var(--font-sans);font-size:20px;font-weight:800;line-height:1.4}.t-title-sm{font-family:var(--font-sans);font-size:16px;font-weight:800;line-height:1.4}.t-stat-xl{font-family:var(--font-sans);font-size:28px;font-weight:850;line-height:1.15}.t-stat-lg{font-family:var(--font-sans);font-size:22px;font-weight:900;line-height:1.1}.t-stat-md{font-family:var(--font-sans);font-size:16px;font-weight:850;line-height:1.2}.t-stat-sm{font-family:var(--font-sans);font-size:12px;font-weight:800;line-height:1.2}.t-body{font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:1.6}.t-body-sm{font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:1.6}.t-input{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:1.4}.t-label{font-family:var(--font-sans);font-size:12px;font-weight:700;line-height:1.4}.t-caption{font-family:var(--font-sans);font-size:11px;font-weight:600;line-height:1.4}*,:before,:after{box-sizing:border-box}.ds{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-base);word-break:keep-all;overflow-wrap:break-word;font-size:14px;line-height:1.6}:where(.ds) :where(h1,h2,h3,p,dl,dd){margin:0}:where(.ds) :where(button,input,select){font:inherit;color:inherit}.ds :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ds svg{width:var(--size-icon);height:var(--size-icon);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-secondary)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{--btn-bg:var(--bg-surface);--btn-frame:var(--px-frame);--btn-shade:color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent);--btn-ink-shadow:var(--press-shadow-neutral);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-touch);padding:0 var(--space-4) 3px;border:2px solid var(--press-shadow-neutral);background:var(--btn-bg);color:var(--text-primary);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px);box-shadow:inset 0 -5px 0 var(--btn-shade), inset 0 2px 0 var(--btn-frame), inset 2px 0 0 var(--btn-frame), inset -2px 0 0 var(--btn-frame);text-shadow:2px 2px 0 var(--btn-ink-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-press) steps(2), background-color var(--duration-color);border-radius:0;font-size:16px;font-weight:800;line-height:1.2;display:inline-flex;position:relative}.btn-block{width:100%}.btn-accent{--btn-bg:var(--accent);--btn-frame:var(--accent-shine);--btn-shade:var(--accent-shadow);--btn-ink-shadow:transparent;color:var(--text-on-accent)}.btn-reward{--btn-bg:var(--reward);--btn-frame:var(--reward-shine);--btn-shade:var(--reward-shadow);--btn-ink-shadow:transparent;color:var(--text-on-accent)}.btn-secondary{font-size:14px}.btn-accent:before{content:"";clip-path:polygon(0 0,2px 0,2px 2px,4px 2px,4px 4px,6px 4px,6px 6px,4px 6px,4px 8px,2px 8px,2px 10px,0 10px);background:currentColor;flex:none;width:6px;height:10px}.btn-accent:not(:disabled):before{animation:.9s steps(2,end) infinite px-cursor}@keyframes px-cursor{50%{transform:translate(2px)}}.btn-text{min-width:var(--size-touch);padding:0 var(--space-2);clip-path:none;box-shadow:none;color:var(--text-primary);text-shadow:2px 2px 0 var(--press-shadow-neutral);background:0 0;border:0;font-size:14px;font-weight:700}.btn-icon{width:var(--size-touch);clip-path:none;box-shadow:none;color:var(--text-primary);text-shadow:none;background:0 0;border:0;padding:0}.btn-icon svg{width:22px;height:22px}.btn:not(.btn-text,.btn-icon):focus-visible{--btn-frame:var(--reward)}.btn:is(:active,.is-pressed):not(:disabled,[aria-busy=true],.btn-text,.btn-icon){box-shadow:inset 0 3px 0 var(--btn-shade), inset 2px 0 0 var(--btn-frame), inset -2px 0 0 var(--btn-frame);transform:translateY(2px)}.btn-text:active:not(:disabled){transform:translateY(1px)}.btn:disabled{--btn-bg:var(--bg-disabled);--btn-frame:var(--line-subtle);color:var(--text-secondary);border-color:var(--press-shadow-neutral);box-shadow:inset 0 0 0 2px var(--line-subtle);text-shadow:none;cursor:default}.btn:disabled:before{opacity:.5}.btn[aria-busy=true]{cursor:progress}.btn .spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reason{align-items:center;gap:var(--space-1);margin-top:var(--space-1);color:var(--text-secondary);font-size:12px;font-weight:700;line-height:1.4;display:flex}.reason svg{width:14px;height:14px}.stepper{align-items:center;gap:var(--space-half);display:inline-flex}.stepper button{isolation:isolate;width:var(--size-touch);height:var(--size-touch);color:var(--text-primary);text-shadow:2px 2px 0 var(--press-shadow-neutral);cursor:pointer;transition:transform var(--duration-press) steps(2);background:0 0;border:0;padding:0 0 2px;font-size:18px;font-weight:800;position:relative}.stepper button:before{content:"";z-index:-1;border:2px solid var(--press-shadow-neutral);background:var(--bg-surface);clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px);box-shadow:inset 0 -4px 0 color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent), inset 0 2px 0 var(--px-frame), inset 2px 0 0 var(--px-frame), inset -2px 0 0 var(--px-frame);position:absolute;inset:6px}.stepper button:active:not(:disabled){transform:translateY(2px)}.stepper button:active:not(:disabled):before{box-shadow:inset 0 3px 0 color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent), inset 2px 0 0 var(--px-frame), inset -2px 0 0 var(--px-frame)}.stepper button:disabled{color:var(--text-secondary);text-shadow:none;cursor:default}.stepper button:disabled:before{background:var(--bg-disabled);box-shadow:inset 0 0 0 2px var(--line-subtle)}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:16px;font-weight:850}.field{gap:var(--space-1);display:grid;position:relative}.field>span{color:var(--text-secondary);font-size:12px;font-weight:700}.input,.select{width:100%;min-height:48px;padding:0 var(--space-3);border:1px solid var(--line-control);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text-primary);font-size:16px}.field-icon .input{padding-left:var(--space-10)}.field-icon>svg{left:var(--space-3);color:var(--text-secondary);pointer-events:none;position:absolute;bottom:14px}.select{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23f3fbff' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px 14px}.field.is-error .input{border-color:var(--danger)}.field-error{align-items:center;gap:var(--space-1);color:var(--danger);font-size:12px;font-weight:700;display:flex}.field-error svg{width:14px;height:14px}.field-error:empty{display:none}@media (forced-colors:active){.select{appearance:auto;background-image:none}}.card-slot{min-width:var(--size-touch);min-height:var(--size-touch);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid;position:relative}.card{width:var(--card-w,var(--card-w-field));aspect-ratio:868/1212;object-fit:cover;border-radius:var(--radius-card-x) / var(--radius-card-y);box-shadow:var(--shadow-card);display:block}.card-empty{width:var(--card-w,var(--card-w-field));aspect-ratio:868/1212;border:1px dashed var(--line-subtle);border-radius:var(--radius-card-x) / var(--radius-card-y);display:block}.card-hand{--card-w:var(--card-w-hand)}.card-bench{--card-w:var(--card-w-bench)}.card-field{--card-w:var(--card-w-field)}.card-thumb{--card-w:var(--card-w-thumb)}.card-detail{--card-w:var(--card-w-detail)}.compact .card-hand{--card-w:var(--card-w-hand-compact)}.compact .card-bench{--card-w:var(--card-w-bench-compact)}.compact .card-field{--card-w:var(--card-w-field-compact)}.is-playable .card{outline:2px solid var(--accent);outline-offset:2px}.is-selected .card{outline:4px solid var(--accent);outline-offset:2px}.is-target .card{outline:2px dashed var(--attention);outline-offset:3px}.hl-badge{border-radius:var(--radius-full);width:20px;height:20px;color:var(--text-on-accent);place-items:center;display:grid;position:absolute;top:-6px;left:-6px}.hl-badge svg{stroke-width:3px;width:14px;height:14px}.is-selected .hl-badge{background:var(--accent)}.is-target .hl-badge{background:var(--attention)}:not(.is-selected,.is-target)>.hl-badge{display:none}.hp-badge{border:1px solid var(--line-control);border-radius:var(--radius-xs);background:var(--bg-raised);font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:3px;padding:2px 6px 4px;font-size:22px;font-weight:900;line-height:1.1;display:flex;position:absolute;top:-6px;right:-12px}.hp-bar{border-radius:var(--radius-full);background:var(--bg-disabled);width:44px;height:4px;display:block;overflow:hidden}.hp-bar>i{background:var(--hp-fill);width:100%;height:100%;display:block}.chip{align-items:center;gap:var(--space-half);padding:0 var(--space-1);border:1px solid var(--line-control);border-radius:var(--radius-xs);background:var(--bg-raised);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800;line-height:1.4;display:inline-flex}.chip svg{width:12px;height:12px}.card-slot>.chip{position:absolute;top:-4px;right:-8px}.pile{width:48px;min-height:var(--size-touch);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.pile img{width:var(--card-w,var(--card-w-bench));aspect-ratio:868/1212;object-fit:cover;border-radius:var(--radius-card-x) / var(--radius-card-y);box-shadow:var(--shadow-card)}.pile-trash img{filter:grayscale()}.pile .chip{font-size:16px;font-weight:850;position:absolute;bottom:-2px;right:-2px}.pile-label{padding:0 var(--space-1);border-radius:var(--radius-xs);background:var(--bg-base);color:var(--text-primary);font-size:11px;font-weight:700;line-height:1.5;position:absolute;top:-2px;left:-2px}.prize-stack{align-items:center;gap:var(--space-1);min-width:var(--size-touch);min-height:var(--size-touch);padding:var(--space-1);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;background:0 0;border:0;flex-direction:column;display:inline-flex}.coins{flex-direction:column-reverse;align-items:center;display:flex}.coin{border:1.5px solid var(--reward-shadow);border-radius:var(--radius-full);background:var(--reward);width:40px;height:14px;box-shadow:var(--shadow-prize)}.coin+.coin{margin-bottom:-9px}.prize-stack .count{font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.prize-stack .claim{color:var(--reward);font-size:11px;font-weight:700}.prize-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.prize-choice{place-items:center;gap:var(--space-1);min-height:88px;padding:var(--space-2);border:1px solid var(--line-control);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-press-neutral);cursor:pointer;font-size:12px;font-weight:700;display:grid;position:relative}.prize-choice img{aspect-ratio:868/1212;border-radius:var(--radius-card-x) / var(--radius-card-y);width:34px}.prize-choice[aria-pressed=true]{outline:4px solid var(--accent);outline-offset:0}.prize-choice[aria-pressed=true]:after{content:"";border-radius:var(--radius-full);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a1e30' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat;width:16px;height:16px;position:absolute;top:6px;right:6px}.prize-choice:disabled{background:var(--bg-disabled);border:1px dashed var(--line-subtle);color:var(--text-secondary);box-shadow:none;cursor:default}.board{background:var(--bg-base);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.board>*{flex-shrink:0}.camp{gap:var(--space-1);padding:var(--space-1) var(--space-3);border:2px solid #0000;transition:border-color var(--duration-color);border-inline-width:0;flex-direction:column;display:flex;position:relative}.camp-opponent{background:radial-gradient(ellipse 80% 70% at 50% 100%, var(--arena-light-board), transparent 75%), var(--bg-base)}.camp-me{background:radial-gradient(ellipse 80% 70% at 50% 0%, var(--arena-light-board), transparent 75%), var(--bg-surface)}.board[data-turn=opponent] .camp-opponent{border-color:var(--line-turn-opponent)}.board[data-turn=me] .camp-me{border-color:var(--accent)}.shared-zone{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-touch);padding:0 var(--space-3);border-block:1px solid var(--line-subtle);background:var(--bg-base);color:var(--text-secondary);font-size:11px;font-weight:600;display:flex}.shared-zone button{min-height:var(--size-touch);padding:0 var(--space-2);color:var(--text-primary);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.turn-chip{align-items:center;gap:var(--space-1);min-height:28px;padding:0 var(--space-2);border:1px solid var(--line-turn-opponent);border-radius:var(--radius-xs);white-space:nowrap;font-size:12px;font-weight:800;display:inline-flex}.turn-chip:before{content:"";border-radius:var(--radius-full);background:var(--line-turn-opponent);width:8px;height:8px}.turn-chip.is-mine{border-color:var(--accent)}.turn-chip.is-mine:before{background:var(--accent)}.camp-summary{min-height:18px;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.camp-summary strong{color:var(--text-primary);font-weight:700}.bench-zone{gap:var(--space-2);align-items:center;display:flex}.bench-grid{gap:var(--space-half);flex:1;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;display:grid}.bench-grid>*{grid-column:span 2}.bench-grid>:nth-child(4){grid-column:2/span 2}.bench-grid>:nth-child(5){grid-column:4/span 2}.deck-rail{gap:var(--space-1);display:grid}.active-row{align-items:center;gap:var(--space-2);grid-template-columns:60px minmax(0,1fr) 60px;display:grid}.active-row .card-slot{justify-self:center}.meta{gap:var(--space-1);min-height:var(--size-touch);padding:var(--space-1);border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:0;justify-items:start;display:grid}.meta .chip{font-size:12px}.hand{gap:var(--space-1);padding:var(--space-1) var(--space-3) var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.hand .card-slot{flex-shrink:0}.context-line{min-height:18px;padding:0 var(--space-3);color:var(--text-secondary);font-size:11px;font-weight:600}.action-bar{gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--line-subtle);background:var(--bg-surface);display:flex}.action-bar .btn-secondary{flex:1}.action-bar .btn-accent{flex:2}.app-bar{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-2);border-bottom:1px solid var(--line-subtle);background:var(--bg-surface);display:flex}.app-bar h2{font-size:16px;font-weight:800}.bottom-nav{border-top:1px solid var(--line-subtle);background:var(--bg-surface);display:flex}.bottom-nav button{justify-content:center;align-items:center;gap:var(--space-1);min-height:56px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;font-size:11px;font-weight:600;display:flex}.bottom-nav button[aria-current=page]{color:var(--accent);font-weight:800}.bottom-nav button[aria-current=page] svg{stroke-width:2.5px}.tag{align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--line-control);border-radius:var(--radius-xs);white-space:nowrap;font-size:12px;font-weight:700;line-height:1.6;display:inline-flex}.tag svg{width:14px;height:14px}.tag-read{border-style:dashed;border-color:var(--line-subtle);color:var(--text-secondary)}.tag-uncertain{border-color:var(--attention);color:var(--attention)}.tag-rejected{border-color:var(--danger);color:var(--danger)}.facts{display:grid}.facts>div{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line-subtle);grid-template-columns:88px minmax(0,1fr) auto;min-height:40px;display:grid}.facts dt{color:var(--text-secondary);font-size:13px}.facts dd{overflow-wrap:anywhere;margin:0;font-size:14px}.facts .is-read dd{color:var(--text-secondary)}.status-line{align-items:center;gap:var(--space-1);min-height:20px;color:var(--text-secondary);font-size:12px;font-weight:700;display:flex}.status-line svg{width:14px;height:14px}.status-line.is-warning{color:var(--attention)}.status-line.is-error{color:var(--danger)}.empty{padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-secondary);font-size:14px}.sheet{width:min(360px,100vw - 24px);max-height:85dvh;padding:var(--space-5);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);background:var(--bg-raised);color:var(--text-primary);overflow:auto}.sheet::backdrop{background:var(--bg-scrim)}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--line-subtle);display:flex}.sheet-head h2{font-size:16px;font-weight:800}.action-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3) calc(var(--space-2) + 3px);border:2px solid var(--press-shadow-neutral);background:var(--bg-surface);color:var(--text-primary);text-align:left;clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px);box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent), inset 0 2px 0 var(--px-frame), inset 2px 0 0 var(--px-frame), inset -2px 0 0 var(--px-frame);cursor:pointer;transition:transform var(--duration-press) steps(2);border-radius:0;display:flex}.action-row+.action-row{margin-top:var(--space-2)}.action-row strong{font-size:14px;font-weight:800;display:block}.action-row small{color:var(--text-secondary);font-size:12px;display:block}.action-row .value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:850}.action-row:active:not(:disabled){box-shadow:inset 0 3px 0 color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent), inset 2px 0 0 var(--px-frame), inset -2px 0 0 var(--px-frame);transform:translateY(2px)}.action-row:focus-visible{box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--press-shadow-neutral) 55%, transparent), inset 0 0 0 2px var(--reward)}.action-row:disabled{background:var(--bg-disabled);box-shadow:inset 0 0 0 2px var(--line-subtle);cursor:default}.action-row:disabled .value{color:var(--text-secondary);font-size:12px;font-weight:700}.camera{border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--bg-base);height:248px;position:relative;overflow:hidden}.camera video{object-fit:contain;width:100%;height:100%;display:block}.camera-guide{top:var(--space-3);height:calc(100% - 2 * var(--space-3));aspect-ratio:868/1212;border:2px dashed var(--text-secondary);border-radius:var(--radius-sm);pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;left:50%;transform:translate(-50%)}.camera-guide span{margin-bottom:var(--space-3);padding:0 var(--space-2);border-radius:var(--radius-xs);background:var(--bg-raised);font-size:12px;font-weight:700}.camera .chip{top:var(--space-3);left:var(--space-3);position:absolute}.camera .camera-idle{place-content:center;justify-items:center;gap:var(--space-2);text-align:center;font-size:14px;line-height:1.8;display:grid;position:absolute;inset:0}.scan-status{align-items:flex-start;min-height:36px;line-height:1.5}.scan-status svg{margin-top:2px}.scan-tray{border-top:1px solid var(--line-subtle);background:var(--bg-surface);flex-direction:column;flex:1;min-height:0;display:flex}.scan-tray-head{padding:var(--space-3) var(--space-4) var(--space-1);justify-content:space-between;align-items:baseline;display:flex}.scan-tray-head h3{font-size:14px;font-weight:800}.scan-tray-head span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.scan-list{min-height:0;padding:0 var(--space-4);flex:1;margin:0;list-style:none;overflow-y:auto}.scan-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line-subtle);display:flex}.scan-open{align-items:center;gap:var(--space-3);min-width:0;min-height:64px;padding:var(--space-2) 0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.scan-open:focus-visible{outline-offset:-3px}.scan-thumb{width:var(--card-w-thumb);aspect-ratio:868/1212;border-radius:var(--radius-card-x) / var(--radius-card-y);background:var(--bg-raised);flex:none;overflow:hidden}.scan-thumb img{object-fit:cover;width:100%;height:100%;display:block}.scan-info{gap:var(--space-half);min-width:0;display:grid}.scan-info strong{overflow-wrap:anywhere;font-size:14px;font-weight:800}.scan-info small{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.choice-row{align-items:flex-start;gap:var(--space-3);min-height:var(--size-touch);padding:var(--space-3) var(--space-4);border:2px solid var(--line-control);background:var(--bg-surface);cursor:pointer;clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px);border-radius:0;display:flex}.choice-row:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:var(--bg-raised)}.choice-row:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--reward)}.choice-row input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:2px 0 0}.choice-row>span{gap:var(--space-half);display:grid}.choice-row strong{font-size:16px;font-weight:800;line-height:1.4}.choice-row small{color:var(--text-secondary);font-size:13px;line-height:1.5}.title-screen{justify-content:safe center;align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-6) var(--space-6);background:radial-gradient(ellipse 90% 55% at 50% 22%, var(--arena-light-title), transparent 70%), var(--bg-base);flex-direction:column;display:flex}.wordmark{align-items:center;gap:var(--space-1);color:var(--text-primary);flex-direction:column;display:flex}.wordmark .series{letter-spacing:4px;font-size:11px;font-weight:700}.wordmark .dot{color:var(--reward)}.card-fan{justify-content:center;align-items:center;height:150px;display:flex}.card-fan .card{--card-w:74px}.card-fan .card:first-child{transform:translate(20px,8px)rotate(-16deg)}.card-fan .card:nth-child(2){--card-w:100px;z-index:1;position:relative;transform:translateY(-4px)}.card-fan .card:nth-child(3){transform:translate(-20px,8px)rotate(16deg)}.title-form{gap:var(--space-3);width:100%;max-width:324px;padding-top:var(--space-4);border-top:1px solid var(--line-subtle);display:grid}.card-blank{background:var(--bg-raised);border:1px solid var(--line-control);box-shadow:none}.title-screen.no-cards{background:radial-gradient(ellipse 90% 28% at 50% 4%, var(--arena-light-title), transparent 70%), var(--bg-base);justify-content:flex-start}.title-form h2{font-size:16px;font-weight:800}.title-help{font-size:13px;line-height:1.6}.recovery-code{justify-content:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line-control);border-radius:var(--radius-sm);background:var(--bg-raised);letter-spacing:1px;font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:18px;font-weight:800;display:flex}.check-row{align-items:center;gap:var(--space-2);min-height:var(--size-touch);cursor:pointer;font-size:13px;font-weight:700;display:flex}.check-row input{width:20px;height:20px;accent-color:var(--accent);margin:0}.storage-notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line-subtle);background:var(--bg-surface);display:flex}.storage-notice .status-line{flex:1;line-height:1.5}.settings-section{gap:var(--space-3);padding:var(--space-5) 0;border-bottom:1px solid var(--line-subtle);display:grid}.settings-section h3{font-size:16px;font-weight:800}.settings-detail{color:var(--text-secondary);font-size:13px;line-height:1.6}.dialog-actions{gap:var(--space-2);display:grid}.install-steps{gap:var(--space-2);padding-left:var(--space-5);font-size:13px;display:grid}.install-steps strong{font-weight:800;display:block}@media (prefers-reduced-motion:reduce){.btn,.stepper button,.action-row,.camp{transition:none}:is(.btn,.action-row,.stepper button):is(:active,.is-pressed){transform:none!important}.btn-accent:not(:disabled):before{animation:none}.btn-accent:is(:active,.is-pressed):not(:disabled){--btn-bg:var(--accent-pressed)}.btn-reward:is(:active,.is-pressed):not(:disabled){--btn-bg:var(--reward-pressed)}.btn-secondary:is(:active,.is-pressed):not(:disabled),.action-row:active:not(:disabled){background:var(--bg-raised)}.btn .spinner{opacity:.6;border-right-color:currentColor;animation:none}}body{margin:0}.page,.title-screen{min-height:100dvh}.page{flex-direction:column;display:flex}.page-content{align-content:start;gap:var(--space-3);padding:var(--space-6) var(--space-4);display:grid}.home-deck{margin:var(--space-3) 0;border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.phase-list{margin:var(--space-6) 0 0;border-top:1px solid var(--line-subtle);padding:0;list-style:none}.phase-list li{padding:var(--space-4) 0;border-bottom:1px solid var(--line-subtle);justify-content:space-between;align-items:center;font-weight:600;display:flex}.phase-list small{color:var(--text-secondary);font-size:12px}.page-fixed{height:100dvh;min-height:0}.page-scroll{flex:1;min-height:0;overflow:hidden auto}.page-footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line-subtle);background:var(--bg-surface);display:grid}.card-name{padding:var(--space-1);color:var(--text-primary);text-align:center;place-items:center;font-size:11px;font-weight:800;line-height:1.3;display:grid;overflow:hidden}.tool-bar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-subtle);background:var(--bg-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.tool-bar .input{grid-column:1/-1}.tool-bar .select{width:auto;min-height:var(--size-touch);font-size:14px}.tool-summary{color:var(--text-secondary);justify-self:end;font-size:12px;font-weight:700}.collection-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.collection-card{justify-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-3);border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);text-align:center;cursor:pointer;display:grid}.collection-card .card{--card-w:64px;box-shadow:none}.collection-card strong{font-size:13px;font-weight:800;line-height:1.3}.collection-card small{color:var(--text-secondary);font-size:12px}.card-sheet-head{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.card-sheet-head>.card{--card-w:96px;box-shadow:none;flex:none}.card-sheet-head .facts{flex:1;min-width:0}.card-sheet-head .facts>div{grid-template-columns:64px minmax(0,1fr)}.scan-detail-summary{gap:var(--space-2);font-size:14px;display:grid}.owned-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-2) 0;font-size:14px;font-weight:700;display:flex}.sheet-subhead{margin:var(--space-4) 0 var(--space-2);color:var(--text-secondary);font-size:13px;font-weight:800}.sheet-subhead-tag{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sheet-section{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--line-subtle);display:grid}.sheet-section .sheet-subhead{margin:0}.usage-list{margin:0;padding:0;list-style:none}.usage-list li{padding:var(--space-2) 0;border-bottom:1px solid var(--line-subtle);justify-content:space-between;font-size:14px;display:flex}.sheet .field-error{margin:var(--space-1) 0 var(--space-3)}.home-deck{gap:var(--space-1);padding:var(--space-4);display:grid}.home-deck h3{font-size:20px;font-weight:800}.home-deck-meta{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:13px;display:flex}.deck-bar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-subtle);background:var(--bg-surface)}.deck-heading{align-items:center;gap:var(--space-2);display:flex}.deck-select{background-color:#0000;border:0;flex:1;min-width:0;padding-left:0;font-size:20px;font-weight:800}.deck-count{white-space:nowrap;font-size:28px;font-weight:850}.deck-count small{color:var(--text-secondary);font-size:13px;font-weight:600}.deck-scan{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);font-size:12px;line-height:1.5;display:flex}.deck-scan .btn{flex:none}.deck-lines{padding:0 var(--space-4)}.deck-line{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line-subtle);min-height:72px;display:flex}.deck-line>.card{--card-w:var(--card-w-thumb);box-shadow:none;flex:none}.deck-line-info{gap:var(--space-half);flex:1;min-width:0;display:grid}.deck-line-info strong{overflow-wrap:anywhere;font-size:14px;font-weight:800}.deck-line-info small{color:var(--text-secondary);font-size:12px}.deck-add{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line-subtle);background:var(--bg-surface);display:flex}.deck-add .select{min-width:0;min-height:var(--size-touch);flex:1;font-size:14px}.deck-list{gap:var(--space-3);padding:var(--space-4);margin:0;list-style:none;display:grid}.deck-list-row{align-items:center;gap:var(--space-2);border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--bg-surface);padding-right:var(--space-3);display:flex}.deck-open{justify-items:start;gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:grid}.deck-open strong{font-size:16px;font-weight:800}.deck-open small{color:var(--text-secondary);font-size:12px}.scan-top{padding:var(--space-3) var(--space-4) 0}.scan-tip{margin-bottom:var(--space-2);font-size:13px;font-weight:700}.scan-top .scan-status{margin:var(--space-2) 0}.camera video[hidden]{display:none}.dev-tools{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:12px}.dev-tools summary{min-height:var(--size-touch);cursor:pointer;align-items:center;display:flex}.dev-tools div{gap:var(--space-2);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.dev-tools .btn{font-size:12px}.scan-prints{gap:var(--space-2);margin:var(--space-4) 0;border:0;padding:0;display:grid}.scan-prints legend{margin:0 0 var(--space-2);padding:0}.scan-prints .choice-row strong{font-size:14px}@media (height<=760px){.page-fixed .camera{height:200px}}.page>.page-content{flex:1}.scan-detail-summary{flex:1;min-width:0}.scan-detail-summary .tag{white-space:normal}.card-back{background:var(--bg-raised) var(--card-back,url(https://tcg.pokemon.com/assets/img/global/tcg-card-back-2x.jpg)) center / cover;border:0}.card-back.is-trash{filter:grayscale()}.pile .card{--card-w:var(--card-w-bench);box-shadow:none}.card-slot .card-name{font-size:11px}.card-slot,.card-slot>.chip{color:var(--text-primary)}.conditions{left:var(--space-half);right:var(--space-half);bottom:var(--space-1);justify-content:center;gap:var(--space-half);pointer-events:none;flex-wrap:wrap;display:flex;position:absolute}.condition{padding:0 var(--space-1);border:1px solid var(--line-control);border-radius:var(--radius-xs);background:var(--bg-raised);color:var(--text-primary);font-size:11px;font-weight:800;line-height:1.5}.prize-choice .card{--card-w:34px;box-shadow:none}.card-sheet-head>.card-slot{flex:none}.dialog-actions .action-row+.action-row{margin-top:0}.sheet .action-row{margin-bottom:var(--space-2)}.match-end{text-align:center;justify-items:center;gap:var(--space-4)}.match-word{letter-spacing:-2px;color:var(--text-primary);font-size:48px;font-style:italic;font-weight:900;line-height:1.15}.match-end[data-result=win] .match-word{color:var(--reward)}.match-reason{max-width:300px;font-size:14px;line-height:1.6}.match-stats{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;display:grid}.match-stats div{gap:var(--space-1);padding:var(--space-3) var(--space-1);border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);display:grid}.match-stats dt{color:var(--text-secondary);font-size:12px}.match-stats dd{margin:0;font-size:20px;font-weight:850}@media (height<=820px){.board .card-hand{--card-w:var(--card-w-hand-compact)}.board .card-bench{--card-w:var(--card-w-bench-compact)}.board .card-field{--card-w:var(--card-w-field-compact)}}.setup-board{gap:var(--space-1);min-height:0;padding:var(--space-1) 0;background:var(--bg-base);flex-direction:column;flex:1;display:flex;overflow-y:auto}.setup-board>*{flex-shrink:0}.setup-camp{gap:var(--space-1);padding:var(--space-1) var(--space-3);display:grid}.setup-me{padding-block:var(--space-2);background:var(--bg-surface);border-block:1px solid var(--line-subtle)}.setup-row{align-items:center;gap:var(--space-3);display:flex}.setup-slot{--card-w:var(--card-w-field);width:var(--card-w);min-width:var(--size-touch);min-height:var(--size-touch);aspect-ratio:868/1212;padding:var(--space-1);border:1px dashed var(--line-control);border-radius:var(--radius-card-x) / var(--radius-card-y);color:var(--text-secondary);text-align:center;background:0 0;place-items:center;font-size:11px;font-weight:700;line-height:1.3;display:grid}.setup-slot:is(.has-card,.face-down){border-color:#0000;padding:0}.setup-slot.has-card{cursor:pointer}.setup-slot .card{--card-w:inherit;width:100%;box-shadow:none}.setup-bench{row-gap:var(--space-half);grid-template-rows:none}.setup-bench .setup-slot{--card-w:var(--card-w-bench)}.setup-count{color:var(--text-secondary);font-size:12px;line-height:1.6}.setup-steps{justify-content:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--text-secondary);margin:0;font-size:12px;font-weight:600;list-style:none;display:flex}.setup-steps li[aria-current=step]{color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--text-primary);font-weight:800}.setup-panel{gap:var(--space-2);margin:0 var(--space-3);padding:var(--space-3);border:1px solid var(--line-subtle);border-radius:var(--radius-md);background:var(--bg-surface);font-size:13px;line-height:1.6;display:grid}.setup-title{font-size:16px;font-weight:800}.coin-toss{justify-items:center;gap:var(--space-1);padding-top:36px;display:grid}.coin-toss svg{stroke:none;width:68px;height:68px;display:block}.coin-toss.is-tossing svg{animation:coin-arc var(--toss) steps(16) both}.coin-toss.is-tossing .coin-shadow{animation:coin-shadow var(--toss) steps(16) both}.coin-shadow{background:var(--press-shadow-neutral);width:44px;height:4px}.coin-face{font-size:13px;font-weight:800}@keyframes coin-arc{0%,to{transform:translateY(0)}45%{transform:translateY(-36px)}}@keyframes coin-shadow{0%,to{transform:scaleX(1)}45%{transform:scaleX(.5)}}.setup-choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.setup-choices .btn{flex:1;font-size:14px}.setup-board .hand,.setup-board .context-line{padding-inline:var(--space-3)}@media (height<=820px){.setup-slot{--card-w:var(--card-w-field-compact)}.setup-bench .setup-slot{--card-w:var(--card-w-bench-compact)}.setup-board .card-hand{--card-w:var(--card-w-hand-compact)}}.condition-help{gap:var(--space-2);margin:var(--space-3) 0;display:grid}.condition-help>div{gap:var(--space-half);display:grid}.condition-help dt{font-size:14px;font-weight:800}.condition-help dd{color:var(--text-secondary);margin:0;font-size:13px}.bench-grid.is-wide>*{grid-column:auto}.app-bar h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.turn-chip{white-space:nowrap;flex-shrink:0}.board .context-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (height<=820px){.board .hand{padding-block:var(--space-half)}.setup-panel{gap:var(--space-1);padding:var(--space-2) var(--space-3)}}.ai-select{gap:var(--space-4);align-content:start;display:grid}.ai-block{gap:var(--space-2);display:grid}.ai-label{margin:0;padding:0;font-size:14px;font-weight:700}.ai-my-deck{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--line-control);border-radius:var(--radius-md);background:var(--bg-surface);display:flex}.ai-my-deck>div{gap:var(--space-1);justify-items:start;min-width:0;display:grid}.ai-my-deck strong{overflow-wrap:anywhere}.ai-levels{gap:var(--space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.pick-list{gap:var(--space-1);max-height:48dvh;display:grid;overflow-y:auto}.pack-panel{gap:var(--space-2);margin-bottom:var(--space-2);display:grid}.file-pick{position:relative}.file-pick input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-pick.is-disabled{background:var(--bg-disabled);color:var(--text-secondary);border-color:var(--line-subtle);box-shadow:none;cursor:default}.battle-page .board,.battle-page .setup-board{background:radial-gradient(ellipse 110% 45% at 50% 50%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%), repeating-linear-gradient(135deg, color-mix(in srgb, var(--text-primary) 3%, transparent) 0 1px, transparent 1px 12px), var(--bg-base);position:relative}.battle-page .camp-opponent,.battle-page .camp-me{transition:box-shadow var(--duration-color);background:0 0;border:0}.battle-page{--turn-color:var(--accent)}.battle-page[data-turn=opponent]{--turn-color:var(--attention)}.battle-page .board[data-turn=me] .camp-me{box-shadow:inset 0 -3px 0 var(--turn-color), inset 0 -60px 50px -30px color-mix(in srgb, var(--turn-color) 40%, transparent)}.battle-page .board[data-turn=opponent] .camp-opponent{box-shadow:inset 0 3px 0 var(--turn-color), inset 0 60px 50px -30px color-mix(in srgb, var(--turn-color) 40%, transparent)}.battle-page[data-turn] .board{box-shadow:inset 0 0 0 3px var(--turn-color);transition:box-shadow var(--duration-color)}.battle-page .shared-zone{border-block:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 16%, var(--bg-base)) 25%, color-mix(in srgb, var(--accent) 16%, var(--bg-base)) 75%, transparent)}.battle-page .card-empty{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent);box-shadow:inset 0 0 12px color-mix(in srgb, var(--accent) 18%, transparent)}.battle-page .setup-slot{border-style:solid;border-color:color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.battle-page .card-field{--card-w:82px}.battle-page .card-bench{--card-w:46px}.battle-page .app-bar{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-surface) 90%, transparent), transparent);border-bottom:0}.battle-page .camp-summary strong{padding:1px var(--space-2);border:1px solid var(--line-control);border-radius:var(--radius-full);background:color-mix(in srgb, var(--bg-raised) 85%, transparent)}.battle-page .hp-badge{border-color:color-mix(in srgb, var(--text-primary) 35%, transparent);background:color-mix(in srgb, var(--bg-base) 88%, transparent);box-shadow:0 2px 6px color-mix(in srgb, var(--bg-base) 70%, transparent)}.battle-page .hand{padding:var(--space-3) var(--space-4) var(--space-1);gap:0}.battle-page .hand>.card-slot:first-child{margin-left:auto}.battle-page .hand>.card-slot:last-child{margin-right:auto}.battle-page .hand .card-slot{--card-w:60px;--lift:0px;touch-action:pan-x;transform:translateY(calc(var(--lift) * -1 + max(var(--i) - (var(--n) - 1) / 2, (var(--n) - 1) / 2 - var(--i)) * 1.5px)) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 2.5deg));transform-origin:50% 110%;margin-inline:-7px;transition:transform .15s ease-out,opacity .15s}.battle-page .hand .card-slot:hover,.battle-page .hand .card-slot:focus-visible{--lift:12px;z-index:1}.battle-page .hand .card-slot,.battle-page .hand .card{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.battle-page .hand .card-slot.is-playable .card{box-shadow:0 0 0 2px var(--reward), 0 0 12px color-mix(in srgb, var(--reward) 60%, transparent);outline:0}.battle-page .hand .card-slot.is-dragging{opacity:.3}.drag-ghost{z-index:40;pointer-events:none;filter:drop-shadow(0 12px 14px color-mix(in srgb, var(--bg-base) 80%, transparent));position:fixed;transform:translate(-50%,-65%)rotate(-5deg)scale(1.2)}.drag-ghost .card{--card-w:72px}.card-slot.can-drop>.card,.card-slot.can-drop>.card-empty,.setup-slot.can-drop{box-shadow:0 0 0 2px var(--reward), 0 0 14px color-mix(in srgb, var(--reward) 55%, transparent)}.card-slot.is-over>.card,.card-slot.is-over>.card-empty,.setup-slot.is-over{transition:transform .12s;transform:scale(1.1)}.camp.can-drop,.setup-camp.can-drop{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--reward) 35%, transparent)}.camp.is-over,.setup-camp.is-over{box-shadow:inset 0 0 0 2px var(--reward), inset 0 0 30px color-mix(in srgb, var(--reward) 25%, transparent)}.battle-page .action-bar{background:linear-gradient(0deg, var(--bg-surface), color-mix(in srgb, var(--bg-surface) 0%, transparent));border-top:0}.battle-page .action-bar .btn-secondary{padding-inline:var(--space-4);flex:0 auto}.battle-page .action-bar .btn-accent{font-size:17px;font-weight:900}.camp .card-slot>.card{animation:.3s cubic-bezier(.2,.8,.3,1.2) both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(-14px)scale(1.25)}}.card-slot.is-hit>.card{animation:.48s step-end hit-shake}@keyframes hit-shake{0%{filter:brightness(2.6);transform:translate(-4px)}25%{filter:none;transform:translate(4px)}50%{filter:brightness(2.6);transform:translate(-4px)}75%{filter:none;transform:translate(4px)}to{transform:none}}.hit-pop{z-index:2;color:var(--danger);text-shadow:0 2px 0 var(--bg-base), 0 0 6px var(--bg-base);pointer-events:none;font-size:24px;font-weight:900;animation:.9s steps(6,end) both hit-pop;position:absolute;top:18%;left:50%}@keyframes hit-pop{0%{opacity:0;transform:translate(-50%,6px)scale(.6)}20%{opacity:1;transform:translate(-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-26px)scale(1)}}.turn-banner{z-index:30;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.turn-banner span{width:84%;padding:var(--space-3) 0;background:linear-gradient(90deg, transparent, var(--bg-raised) 18%, var(--bg-raised) 82%, transparent);border-block:2px solid var(--line-turn-opponent);color:var(--text-primary);letter-spacing:4px;text-align:center;font-size:28px;font-weight:900;animation:1.4s ease-in-out both turn-banner;transform:skew(-12deg)}.turn-banner.is-mine span{border-color:var(--accent);background:linear-gradient(90deg, transparent, var(--accent) 18%, var(--accent) 82%, transparent);color:var(--text-on-accent)}@keyframes turn-banner{0%{opacity:0;clip-path:inset(0 100% 0 0)}20%,75%{opacity:1;clip-path:inset(0)}to{opacity:0;clip-path:inset(0 0 0 100%)}}@media (height<=760px){.battle-page .card-field{--card-w:70px}.battle-page .card-bench{--card-w:38px}.battle-page .hand .card-slot{--card-w:50px}.battle-page .hand{padding-top:var(--space-3)}}@media (prefers-reduced-motion:reduce){.camp .card-slot>.card,.card-slot.is-hit>.card,.hit-pop,.turn-banner span{animation:none}.battle-page .hand .card-slot{transition:none}}html,body,button,input,select,textarea{font-synthesis:none;-webkit-font-smoothing:none}svg.pixel-fx{z-index:25;pointer-events:none;stroke:none;width:88px;height:88px;position:fixed;transform:translate(-50%,-50%)}.fx-callout{z-index:26;max-width:calc(100% - 32px);padding:var(--space-2) var(--space-3);border:3px solid var(--bg-base);background:var(--text-primary);color:var(--bg-base);box-shadow:inset -3px -3px 0 color-mix(in srgb, var(--bg-base) 25%, var(--text-primary)), 4px 4px 0 color-mix(in srgb, var(--bg-base) 70%, transparent);text-align:center;overflow-wrap:anywhere;pointer-events:none;font-size:16px;line-height:1.4;position:fixed;left:50%;transform:translate(-50%,-50%)}.fx-callout span{animation:fx-typing .6s steps(var(--chars), end) both;display:block}@keyframes fx-typing{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.fly-ghost{z-index:24;pointer-events:none;box-shadow:var(--shadow-card);margin:0;position:fixed}.shuffle{height:64px;position:relative}.shuffle .card{--card-w:40px;animation:1.6s steps(16,end) both shuffle;position:absolute;top:0;left:calc(50% - 20px)}@keyframes shuffle{0%{transform:translateX(calc((var(--i) - 3) * 22px)) rotate(calc((var(--i) - 3) * 6deg))}30%{transform:none}42%,66%{transform:translateX(calc((mod(var(--i), 2) * 2 - 1) * 18px))}54%,78%,to{transform:none}}.battle-page .condition{box-shadow:2px 2px 0 var(--bg-base);border-radius:0}@media (prefers-reduced-motion:reduce){.shuffle .card,.fx-callout span{animation:none}}.battle-result{position:relative}.battle-result>*{z-index:1;position:relative}.battle-result .app-bar,.battle-result .page-footer{background:0 0;border-color:#0000}.battle-result[data-result=win]{background:radial-gradient(ellipse 90% 45% at 50% 22%, color-mix(in srgb, var(--reward) 32%, transparent), transparent 72%), var(--bg-base)}.battle-result[data-result=lose]{background:linear-gradient(180deg, color-mix(in srgb, var(--text-secondary) 22%, var(--bg-base)), var(--bg-base) 70%)}.battle-result[data-result=lose] .match-word{color:var(--text-secondary);animation:2.4s steps(4,end) both lose-sink}.battle-result[data-result=win] .match-word{text-shadow:3px 3px 0 color-mix(in srgb, var(--reward) 35%, var(--bg-base))}.battle-result .match-word{font-size:44px;line-height:1.1}@keyframes lose-sink{0%{opacity:.4;transform:translateY(-8px)}}svg.result-sprite{stroke:none;width:112px;height:112px;display:block}svg.result-sprite.is-trophy{animation:1.2s steps(6,end) infinite trophy-bounce}svg.result-sprite.is-cloud{animation:4s steps(8,end) infinite alternate cloud-drift}@keyframes trophy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes cloud-drift{0%{transform:translate(-10px)}to{transform:translate(10px)}}.result-sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.result-sky i{top:-12px;left:var(--x);animation:var(--t) linear var(--d) infinite;position:absolute}.result-sky.is-confetti i{background:var(--c);width:8px;height:8px;animation-name:confetti-fall;animation-timing-function:steps(18,end)}.result-sky.is-rain i{background:color-mix(in srgb, var(--text-secondary) 70%, transparent);width:2px;height:12px;animation-name:rain-fall;animation-timing-function:steps(10,end)}@keyframes confetti-fall{0%{transform:translateY(0)scaleX(1)}25%{transform:translateY(25vh)scaleX(.3)}50%{transform:translateY(50vh)scaleX(1)}75%{transform:translateY(75vh)scaleX(.3)}to{transform:translateY(105vh)scaleX(1)}}@keyframes rain-fall{to{transform:translateY(105vh)}}@media (prefers-reduced-motion:reduce){svg.result-sprite,.battle-result .match-word{animation:none}}.ai-select{--side-me:var(--accent);--side-opponent:var(--danger);--side-test:var(--attention);gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.ai-side{--side:var(--side-me);gap:var(--space-2);min-width:0;padding:var(--space-3);border:2px solid var(--side);border-radius:var(--radius-md);background:color-mix(in srgb, var(--side) 9%, var(--bg-base));display:grid}.ai-side.is-opponent{--side:var(--side-opponent)}.ai-side-title{align-items:center;gap:var(--space-2);color:var(--side);margin:0;font-size:16px;line-height:1.4;display:flex}.side-chip{padding:1px var(--space-2);border-radius:var(--radius-xs);background:var(--side);color:var(--text-on-accent);font-size:13px;line-height:1.5}.ai-side .ai-my-deck{border-color:color-mix(in srgb, var(--side) 50%, transparent)}.ai-test{--side:var(--side-test);gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border:2px dashed color-mix(in srgb, var(--side-test) 55%, transparent);border-radius:var(--radius-sm);background:var(--bg-base);display:grid}.ai-test.is-on{border-color:var(--side-test);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--side-test) 12%, var(--bg-base)) 0 8px, var(--bg-base) 8px 16px)}.ai-test-title{align-items:center;gap:var(--space-2);color:var(--side-test);font-size:14px;font-weight:700;display:flex}.ai-vs{padding:2px var(--space-3);border:2px solid var(--line-control);background:var(--bg-raised);letter-spacing:2px;box-shadow:3px 3px 0 var(--bg-base);justify-self:center;margin:0;font-size:18px}.ai-side.is-opponent .choice-row{background:var(--bg-base)}.ai-side.is-opponent .choice-row:has(input:checked){border-color:var(--side-opponent);box-shadow:inset 0 0 0 2px var(--side-opponent);background:color-mix(in srgb, var(--side-opponent) 14%, var(--bg-base))}.ai-side.is-opponent .choice-row input{accent-color:var(--side-opponent)}@media (width<=359px){.ai-side,.ai-test{padding:var(--space-2)}}.play-warning{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--attention);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--attention) 14%, var(--bg-base));color:var(--text-primary);margin:0;font-size:15px;line-height:1.5;display:flex}.play-warning>svg{width:22px;height:22px;stroke:var(--attention);flex:none}.play-warning strong{color:var(--attention);font-size:16px;display:block}.play-toast{left:var(--space-3);right:var(--space-3);z-index:27;box-shadow:4px 4px 0 color-mix(in srgb, var(--bg-base) 80%, transparent);animation:.24s steps(3,end) both toast-in;position:fixed;top:50%;translate:0 -50%}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.zoom-trigger{cursor:zoom-in;background:0 0;border:0;flex:none;padding:0;position:relative}.zoom-trigger>.card{--card-w:120px;box-shadow:none}.zoom-hint{padding:1px var(--space-2);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--bg-base) 85%, transparent);white-space:nowrap;font-size:12px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.card-zoom{cursor:zoom-out;background:0 0;border:0;width:min(92vw,440px);max-height:96dvh;padding:0;overflow:visible}.card-zoom::backdrop{background:color-mix(in srgb, var(--bg-base) 88%, transparent)}.card-zoom img{border-radius:var(--radius-card-x) / var(--radius-card-y);width:100%;height:auto;display:block}.card-zoom p{margin:var(--space-2) 0 0;text-align:center;color:var(--text-primary);font-size:13px}.battle-page .setup-steps{padding:var(--space-2) var(--space-3);counter-reset:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;list-style:none;display:grid}.battle-page .setup-steps li{color:var(--text-secondary);justify-items:center;gap:2px;padding:0;font-size:13px;text-decoration:none;display:grid;position:relative}.battle-page .setup-steps li+li:before{content:"";background:var(--line-control);z-index:0;width:100%;height:3px;position:absolute;top:15px;right:50%}.battle-page .setup-steps li[data-state=done]+li:before,.battle-page .setup-steps li[data-state=current]:before{background:var(--accent)}.battle-page .step-dot{z-index:1;border:2px dashed var(--line-control);background:var(--bg-base);place-items:center;width:32px;height:32px;font-size:15px;display:grid;position:relative}.battle-page .step-dot svg{width:18px;height:18px;stroke:var(--text-on-accent);stroke-width:3px}.battle-page .setup-steps li[data-state=done] .step-dot{border:2px solid var(--accent);background:var(--accent)}.battle-page .setup-steps li[data-state=current]{color:var(--text-primary)}.battle-page .setup-steps li[data-state=current] .step-dot{border:3px solid var(--reward);background:var(--reward);width:36px;height:36px;color:var(--text-on-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--reward) 30%, transparent);margin-top:-2px}.battle-page .step-name{font-size:14px}.battle-page .setup-steps li[data-state=current] .step-name{color:var(--reward);font-size:15px}.battle-page .setup-steps small{font-size:11px}.battle-page .setup-steps li[data-state=current] small{padding:0 var(--space-1);background:var(--reward);color:var(--text-on-accent)}.battle-page{--hp-good:#5fd38a}.card-slot.hp-high{--hp-color:var(--hp-good)}.card-slot.hp-mid{--hp-color:var(--reward)}.card-slot.hp-low{--hp-color:var(--danger)}.battle-page .card-slot .hp-badge{color:var(--hp-color,var(--text-primary))}.battle-page .card-slot .hp-bar{height:6px}.battle-page .card-slot .hp-bar>i{background:var(--hp-color,var(--hp-fill))}.battle-page .card-slot>.chip.num{color:var(--hp-color,var(--text-primary))}.card-slot>.energy-tuck{pointer-events:none;position:absolute;inset:0}.energy-tuck>span{transform:translate(calc((var(--k) + 1) * -8px), calc((var(--k) + 1) * 5px)) rotate(-8deg);place-items:center;display:grid;position:absolute;inset:0}.energy-tuck .card{box-shadow:0 1px 2px color-mix(in srgb, var(--bg-base) 70%, transparent)}.card-slot>.card{z-index:1;position:relative}.card-slot>.hp-badge,.card-slot>.chip,.card-slot>.conditions,.card-slot>.hit-pop{z-index:2}.battle-page .shared-zone{padding:1px var(--space-3);justify-content:space-between}.battle-page[data-turn] .shared-zone{border-color:var(--turn-color);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--turn-color) 22%, var(--bg-base)) 25%, color-mix(in srgb, var(--turn-color) 22%, var(--bg-base)) 75%, transparent)}.turn-tag{padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--turn-color);color:var(--text-on-accent);white-space:nowrap;font-size:13px;font-weight:800}.battle-page[data-turn] .app-bar{background:linear-gradient(180deg, color-mix(in srgb, var(--turn-color) 30%, var(--bg-surface)), transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--turn-color) 70%, transparent)}.battle-page[data-turn] .turn-chip{border-color:var(--turn-color);background:var(--turn-color);color:var(--text-on-accent)}.battle-page[data-turn] .turn-chip:before{background:var(--text-on-accent)}.battle-page[data-turn=opponent] .hand .card-slot>.card{filter:grayscale(.5)brightness(.7);transition:filter var(--duration-color)}.stadium-slot{align-items:center;gap:var(--space-2);min-height:var(--size-touch);padding:0 var(--space-1) 0 0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.stadium-slot:disabled{cursor:default}.stadium-slot .card,.stadium-slot .card-empty{--card-w:30px;flex:none}.stadium-name{font-size:13px;line-height:1.3;display:grid}.stadium-name small{color:var(--text-secondary);font-size:11px}.stadium-name em{color:var(--reward);font-size:11px;font-style:normal}.battle-page .shared-zone .lost-zone{font-size:12px}.fx-callout small{margin-top:var(--space-1);white-space:normal;font-size:13px;display:block}@media (prefers-reduced-motion:reduce){.play-toast{animation:none}}.battle-page .setup-steps li[aria-current=step]{box-shadow:none}.setup-backs{gap:var(--space-1);padding-left:var(--space-1);display:flex}.setup-backs .card{--card-w:34px}.brand-title{letter-spacing:1px;color:var(--reward);text-shadow:2px 2px 0 var(--bg-base);font-size:18px}.coin-overlay{z-index:35;padding:var(--space-4);background:color-mix(in srgb, var(--bg-base) 72%, transparent);place-items:center;display:grid;position:fixed;inset:0}.coin-box{justify-items:center;gap:var(--space-2);width:min(100%,340px);padding:var(--space-4);border:3px solid var(--reward);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:6px 6px 0 color-mix(in srgb, var(--bg-base) 80%, transparent);text-align:center;display:grid}.coin-box .coin-toss{padding-top:40px}.coin-box .coin-toss svg{width:96px;height:96px}.coin-text{gap:var(--space-2);font-size:14px;line-height:1.5;display:grid}.coin-text .setup-choices{justify-content:center}.prize-stack{--prize-w:30px;gap:2px}.battle-page .camp .prize-stack{--prize-w:clamp(20px, calc(var(--field-w) * .34), 30px);padding:2px}.prize-cards{width:var(--prize-w);height:calc(var(--prize-w) * 1.4 + 5 * 3px);display:block;position:relative}.prize-card{--card-w:var(--prize-w);left:0;bottom:calc(var(--i) * 3px);box-shadow:0 1px 2px color-mix(in srgb, var(--bg-base) 70%, transparent);position:absolute}.prize-label{white-space:nowrap;font-size:11px;line-height:1.2}.prize-label b{color:var(--reward);font-size:14px}.battle-page .card-slot.is-playable>.card{box-shadow:0 0 0 3px var(--hp-good,#5fd38a), 0 0 16px color-mix(in srgb, var(--hp-good,#5fd38a) 70%, transparent);outline:0}.battle-page .card-slot.can-ability>.card{outline:0;animation:1.4s ease-in-out infinite can-pulse;box-shadow:0 0 0 3px #4fe3ff,0 0 16px #4fe3ffb3}.battle-page .card-slot.can-evolve:not(.can-ability)>.card{box-shadow:0 0 0 3px var(--reward), 0 0 16px color-mix(in srgb, var(--reward) 70%, transparent);outline:0;animation:1.4s ease-in-out infinite can-pulse}@keyframes can-pulse{50%{filter:brightness(1.15);box-shadow:0 0 0 3px,0 0 24px}}.can-badges{z-index:3;pointer-events:none;gap:2px;display:grid;position:absolute;top:-6px;left:-4px}.can-badge{border:2px solid var(--bg-base);color:var(--bg-base);padding:0 4px;font-size:11px;line-height:1.4}.can-badge.is-ability{background:#4fe3ff}.can-badge.is-evolve{background:var(--reward)}.fx-reveal{z-index:31;place-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-4);background:color-mix(in srgb, var(--bg-base) 55%, transparent);cursor:pointer;animation:.24s steps(3,end) both reveal-in;display:grid;position:fixed;inset:0}.fx-reveal .card{--card-w:min(52vw, 220px);box-shadow:6px 6px 0 color-mix(in srgb, var(--bg-base) 80%, transparent)}.fx-reveal p{padding:var(--space-1) var(--space-3);border:3px solid var(--bg-base);background:var(--text-primary);color:var(--bg-base);margin:0;font-size:16px}.fx-reveal small{max-width:300px;padding:var(--space-1) var(--space-2);background:var(--bg-surface);text-align:center;font-size:13px}@keyframes reveal-in{0%{opacity:0;transform:scale(.9)}}.play-toast.is-info{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg-base))}.play-toast.is-info>svg{stroke:var(--accent)}svg.pixel-fx.fx-ko{width:140px;height:140px}@media (prefers-reduced-motion:reduce){.card-slot.can-ability>.card,.card-slot.can-evolve>.card,.fx-reveal{animation:none}}.stadium-slot.can-use .card{animation:1.4s ease-in-out infinite can-pulse;box-shadow:0 0 0 2px #4fe3ff,0 0 10px #4fe3ffb3}.card-texts{gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none;display:grid}.card-texts li{gap:var(--space-1);padding:var(--space-2) 0;border-bottom:1px solid var(--line-subtle);font-size:13px;line-height:1.5;display:grid}.card-texts strong{font-size:14px}.card-texts small{font-size:12px;font-weight:700}.card-texts .ok{color:var(--text-secondary)}.card-texts .warn{color:var(--attention)}.ocr-raw{margin:0 0 var(--space-3);padding:var(--space-2);border:1px dashed var(--line-subtle);border-radius:var(--radius-xs);color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.battle-page .board{overflow:hidden}.battle-page .camp{justify-content:center;gap:var(--space-half);min-height:0;padding-block:var(--space-half);flex:1 1 0;container-type:size}.battle-page .camp>*{--bench-w:min(56px, calc((100cqw - 32px - (var(--bench-n,5) + 1) * 4px) / (var(--bench-n,5) + 2)), calc((100cqh - 20px) / 3.08));--field-w:clamp(40px, calc((100cqh - var(--bench-w) * 1.4 - 20px) / 1.4), 140px)}.battle-page .camp .card-bench{--card-w:var(--bench-w)}.battle-page .camp .card-field{--card-w:var(--field-w)}.battle-page .bench-grid,.battle-page .bench-grid.is-wide{flex:1;justify-content:center;gap:4px;display:flex}.battle-page .bench-grid>*{grid-column:auto}.battle-page .bench-zone{gap:var(--space-2)}.battle-page .deck-rail{grid-auto-flow:column;gap:4px}.battle-page .active-row{grid-template-columns:64px minmax(0,1fr) 64px}.battle-page .setup-bench{justify-content:center;gap:4px;display:flex}.battle-page .setup-bench .setup-slot{--card-w:min(56px, calc((100vw - 48px - 16px) / 5))}.battle-page .condition{padding:0 var(--space-1);border:2px solid var(--bg-base);color:#fff;text-shadow:1px 1px 0 var(--bg-base);font-size:12px;font-weight:900;line-height:1.4}.battle-page .card-field .condition{padding:1px 6px;font-size:14px}.battle-page .conditions{z-index:2}.battle-page .condition.is-poisoned{background:#8a3fc4}.battle-page .condition.is-burned{background:#d8401f}.battle-page .condition.is-asleep{background:#2f6fd0}.battle-page .condition.is-paralyzed{color:#1a1420;text-shadow:none;background:#f5d020}.battle-page .condition.is-confused{background:#d0559e}.battle-page .card-slot.is-asleep>.card{rotate:-90deg;scale:.74}.battle-page .card-slot.is-paralyzed>.card{rotate:90deg;scale:.74}.battle-page .card-slot.is-confused>.card{rotate:180deg}.battle-page .card-slot.is-asleep>.card,.battle-page .card-slot.is-paralyzed>.card,.battle-page .card-slot.is-confused>.card{transition:rotate .35s steps(4,end),scale .35s steps(4,end)}.fx-coins{z-index:32;place-content:center;justify-items:center;gap:var(--space-2);padding:var(--space-4);background:color-mix(in srgb, var(--bg-base) 55%, transparent);display:grid;position:fixed;inset:0}.fx-coin-row{justify-content:center;gap:var(--space-2);flex-wrap:wrap;max-width:340px;display:flex}.fx-coin-row .coin-toss{padding-top:40px}.fx-coin-row .coin-toss svg{width:84px;height:84px}.fx-coin-row.is-many .coin-toss{padding-top:24px}.fx-coin-row.is-many .coin-toss svg{width:52px;height:52px}.fx-coins p{padding:var(--space-1) var(--space-3);border:3px solid var(--bg-base);background:var(--text-primary);color:var(--bg-base);text-align:center;margin:0;font-size:15px}.fx-coins p b{font-weight:900}.fx-reveal-row{gap:var(--space-2);flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 32px);display:flex}.fx-reveal-row .card{--card-w:min(40vw, 170px)}.fx-reveal-row.is-many .card{--card-w:min(28vw, 120px)}.shown-hand{align-items:center;gap:var(--space-1);min-height:32px;padding:2px var(--space-2) 2px 2px;border:2px solid var(--reward);background:color-mix(in srgb, var(--reward) 18%, var(--bg-base));color:var(--text-primary);font:inherit;font-size:12px;font-weight:800;display:inline-flex}.shown-thumbs{display:inline-flex}.shown-thumbs .card{--card-w:20px;box-shadow:none}.shown-thumbs .card+.card{margin-left:-8px}.shown-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.shown-list figure{justify-items:center;gap:var(--space-1);margin:0;display:grid}.shown-list .card{--card-w:96px}.shown-list figcaption{text-align:center;font-size:12px}.battle-page .hand .card-slot{position:relative}.shown-badge{z-index:2;border:2px solid var(--bg-base);background:var(--reward);color:var(--text-on-accent);pointer-events:none;padding:0 4px;font-size:10px;font-weight:900;line-height:1.3;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.deck-pick{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.deck-cover .card{--card-w:64px}.battle-page .hand{overflow:visible;container-type:inline-size}.battle-page .hand .card-slot{--ov:max(14px, calc((var(--n) * var(--card-w) - 100cqw + 32px) / max(var(--n) - 1, 1)));margin-inline:calc(var(--ov) / -2)}.battle-page .camp .pile{width:var(--bench-w)}.battle-page .camp .pile .chip{font-size:13px}.battle-page .camp .pile-label{font-size:10px}.energy-tuck>span{transform:translate(calc((var(--k) + 1) * -4px), calc((var(--k) + 1) * 3px)) rotate(-6deg)}.card-bench>.energy-tuck>span{transform:translate(calc((var(--k) + 1) * -2px), calc((var(--k) + 1) * 2px)) rotate(-6deg)}.hand-count{border:1px solid var(--line-control);background:color-mix(in srgb, var(--bg-raised) 85%, transparent);color:var(--text-primary);align-items:center;gap:4px;padding:1px 6px 1px 2px;display:inline-flex}.hand-icon{display:inline-flex}.hand-icon .card{--card-w:14px;box-shadow:none}.hand-icon .card+.card{margin-left:-9px}.hand-count b{font-size:14px;font-weight:900}.input-block{z-index:30;position:fixed;inset:0}.battle-page .context-line{width:100%;min-height:22px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;font-size:12px;display:block}html,body{overflow-x:clip}.page{max-width:100vw;overflow-x:clip}.cat-switch{margin-bottom:var(--space-2);border:2px solid var(--line-control);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid}.cat-switch button{min-height:var(--size-touch);color:var(--text-secondary);font:inherit;background:0 0;border:0;font-size:14px;font-weight:800}.cat-switch button+button{border-left:2px solid var(--line-control)}.cat-switch button.is-on{background:var(--accent);color:var(--text-on-accent)}.deck-random{color:#fff;text-shadow:2px 2px 0 var(--bg-base);place-items:center;font-size:28px;font-weight:900;display:grid}.battle-page .action-bar .sound-toggle{min-width:56px;padding-inline:var(--space-2);flex:none}.battle-page .action-bar .sound-toggle[aria-pressed=false]{color:var(--text-secondary)}@media (height<=820px){.setup-camp:not(.setup-me){grid-template-columns:auto minmax(0,1fr);align-items:center}.setup-camp:not(.setup-me)>.camp-summary{grid-column:1/-1}.setup-camp:not(.setup-me) .setup-slot{--card-w:44px}.battle-page .setup-steps{padding-block:var(--space-1)}.battle-page .setup-steps small{display:none}.battle-page .step-dot{width:24px;height:24px;font-size:12px}.battle-page .step-dot svg{width:14px;height:14px}.battle-page .setup-steps li+li:before{top:11px}}.battle-page{--who-me:var(--accent);--who-opponent:var(--attention)}.active-row .active-side{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:center;gap:2px;min-width:0;display:flex}.active-side .meta{grid-auto-flow:column;gap:2px;min-height:0;padding:0}.active-side .meta .chip{gap:1px;padding-inline:2px}.info-btn{border:2px solid var(--line-control);background:color-mix(in srgb, var(--bg-raised) 85%, transparent);width:40px;height:28px;color:var(--text-primary);cursor:pointer;place-items:center;padding:0;display:grid}.info-btn svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:18px;height:18px}.active-side .hand-count{font:inherit;cursor:pointer;position:relative}.active-side .hand-count.has-shown{border-color:var(--reward)}.shown-dot{background:var(--reward);min-width:16px;color:var(--text-on-accent);text-align:center;padding:0 3px;font-size:11px;font-weight:900;line-height:16px;position:absolute;top:-7px;right:-7px}.deck-info-name{--side:var(--who-me);justify-items:start;gap:var(--space-1);margin:0 0 var(--space-3);display:grid}.deck-info-name.side-opponent{--side:var(--who-opponent)}.deck-info-name strong{font-size:17px;line-height:1.4}.deck-info-stats{gap:var(--space-2);margin:0 0 var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.deck-info-stats div{padding:var(--space-2);border:1px solid var(--line-subtle);background:var(--bg-surface);gap:2px;display:grid}.deck-info-stats dt{color:var(--text-secondary);font-size:12px}.deck-info-stats dd{margin:0;font-size:18px;font-weight:900}.log-tile{--who:var(--line-control);border:2px solid var(--who);background:var(--bg-base);color:var(--text-primary);font:inherit;flex:none;padding:0;line-height:1;display:inline-grid;position:relative}.log-tile[data-who=me]{--who:var(--who-me)}.log-tile[data-who=opponent]{--who:var(--who-opponent)}.log-tile .card{--card-w:44px;box-shadow:none;border-radius:0}.log-face{aspect-ratio:868/1212;width:var(--card-w);background:color-mix(in srgb, var(--who) 18%, var(--bg-raised));color:var(--who);place-items:center;display:grid}.log-face svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:55%;height:auto}.log-badge{background:var(--who);width:18px;height:18px;color:var(--text-on-accent);place-items:center;display:grid;position:absolute;top:-2px;left:-2px}.log-badge svg{fill:none;stroke:currentColor;stroke-width:3px;width:13px;height:13px}.log-amount{background:var(--bg-base);color:var(--text-primary);padding:1px 3px;font-size:12px;font-weight:900;position:absolute;bottom:-2px;right:-2px}.log-tile.is-damage .log-amount,.log-tile.is-knockout .log-amount{color:var(--danger)}.log-tile.is-heal .log-amount{color:var(--hp-good,#5fd38a)}.log-tile.is-knockout .card{filter:grayscale()brightness(.6)}.log-tile.is-knockout .log-badge{background:var(--danger)}.log-tile[aria-pressed=true]{outline:3px solid var(--reward);outline-offset:1px;z-index:1}.battle-log{gap:var(--space-3);margin:0 0 var(--space-3);display:grid}.log-detail{--who:var(--line-control);top:calc(-1 * var(--space-5));z-index:2;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) 0 0;padding:var(--space-2);border:2px solid var(--who);background:var(--bg-raised);grid-template-columns:auto minmax(0,1fr);display:grid;position:sticky}.log-detail[data-who=me]{--who:var(--who-me)}.log-detail[data-who=opponent]{--who:var(--who-opponent)}.log-detail .card{--card-w:64px}.log-detail p{margin:0;font-size:14px;line-height:1.5}.log-turn{--who:var(--line-control);gap:var(--space-2);display:grid}.log-turn[data-who=me]{--who:var(--who-me)}.log-turn[data-who=opponent]{--who:var(--who-opponent)}.log-turn h3{padding:1px var(--space-2);background:var(--who);color:var(--text-on-accent);justify-self:start;margin:0;font-size:13px}.log-tiles{gap:var(--space-2);flex-wrap:wrap;display:flex}.battle-page .context-line.is-strip{min-height:0;padding-block:2px}.log-strip{gap:var(--space-1);display:flex;overflow:hidden}.log-strip .log-tile{border-width:1px}.log-strip .log-tile .card{--card-w:21px}.log-strip .log-badge{width:12px;height:12px;top:-1px;left:-1px}.log-strip .log-badge svg{width:9px;height:9px}.log-strip .log-amount{padding:0 1px;font-size:9px;bottom:-1px;right:-1px}.log-strip .log-tile:first-child{border-width:2px}.sheet{overscroll-behavior:contain}html:has(dialog[open]){overflow:hidden}html:has(dialog[open]) body{overflow:hidden}:is(html:has(dialog[open]) .board,html:has(dialog[open]) .page-scroll,html:has(dialog[open]) .setup-board){touch-action:none;overflow:hidden}
