*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#18344b;background:#f4f8fc;font-size:16px;scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button,select{min-height:44px}button{border:1px solid #c5d6e5;background:white;border-radius:10px;padding:9px 15px;color:#20415d;cursor:pointer;font-weight:650;touch-action:manipulation}button:hover{background:#eff7ff;border-color:#4b91bd}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #009fe3;outline-offset:3px}a{color:#087cb9}h1,h2,h3,p{margin-top:0}h2{font-size:1.12rem}h3{font-size:1rem}small{display:block;font-size:.82rem;font-weight:400;line-height:1.6}input[type=checkbox],input[type=radio]{width:21px;height:21px;accent-color:#007fae}input[type=number]{width:80px;padding:8px}select{width:100%;padding:10px;border:1px solid #bfd1df;border-radius:10px;background:white;color:#18344b}.primary{background:#087db8;border-color:#087db8;color:white}.primary:hover{background:#05669a;color:white}.quiet{background:transparent;border-color:transparent}.muted{color:#526b80;font-size:.88rem;line-height:1.7}.site-header{display:flex;align-items:center;gap:14px;padding:18px max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid #dce8f2;background:white}.brand{font-size:1.15rem;letter-spacing:.05em;font-weight:900;text-decoration:none;color:#173954}.brand span{color:#019dcd}.beta{font-size:.75rem;background:#e0f6fb;color:#006d89;border-radius:6px;padding:5px 8px}.site-header>button{margin-left:auto;font-size:.85rem}.lobby{max-width:940px;margin:50px auto 80px;padding:0 24px}.eyebrow{font-size:.73rem;letter-spacing:.17em;color:#30779b;font-weight:750}.lobby h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.35;margin:15px 0 22px;font-weight:850;letter-spacing:-.04em}.lobby h1 span{color:#0781b3}.lead{color:#526b80;line-height:1.9}.notice{background:#fff7e6;border:1px solid #f1d8a5;border-radius:12px;padding:14px 18px;line-height:1.8;font-size:.9rem;margin:22px 0}.start-panel{background:white;border:1px solid #d6e4ef;box-shadow:0 14px 45px #214c6610;border-radius:20px;padding:28px;margin-top:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:.87rem;font-weight:700;display:grid;gap:9px}.form-grid .check-label{display:flex;gap:12px;align-items:center;background:#f1f8fc;padding:12px;border-radius:10px}.form-actions{display:flex;gap:12px;margin-top:22px}.form-actions .primary{min-width:220px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0}.guide-grid>div{border-top:2px solid #b4d8e9;padding-top:18px}.guide-grid b{color:#067da5}.guide-grid p{font-size:.85rem;line-height:1.7;margin-top:10px}#play{max-width:1150px;margin:auto;padding:24px 20px 0}.match-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.match-toolbar h1{font-size:1.3rem;margin:3px 0 0}.toolbar-controls{display:flex;gap:8px;align-items:center}#clock{font:750 1.05rem ui-monospace,monospace;color:#046e98;white-space:nowrap;background:#e3f4fa;padding:12px;border-radius:10px}.status-bar{padding:12px 18px;background:white;border:1px solid #c6dfec;border-radius:12px;min-height:48px;margin-bottom:12px}.status-bar.your-turn{border-left:5px solid #009cd2}.table-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px;color:#5e7587;font-size:.8rem}.table{border:1px solid #c5dbe7;border-radius:20px;padding:20px;background:linear-gradient(160deg,#edf5fc,#e1f1f9);overflow:hidden}.player-label{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}.player-label h2{margin:0}.player-label>div{font-size:.83rem;color:#526e85}.player-label>button{margin-left:auto;font-size:.85rem}.bench{display:flex;gap:10px;justify-content:center;overflow-x:auto;padding:7px 3px 12px;scrollbar-width:thin;min-height:151px}.active-row{display:flex;justify-content:center;min-height:165px;padding:5px}.poke-card,.empty-slot{position:relative;border:1px solid #c5d6e4;border-radius:12px;background:#fff;min-width:145px;width:145px;flex-shrink:0;padding:11px;box-shadow:0 3px 10px #254e7110}.poke-card .inspect{display:block;background:none;border:0;padding:0;width:100%;text-align:left}.poke-card .name{display:block;line-height:1.45;font-weight:800}.poke-card .sprite{margin:3px auto}.sprite{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;display:block}.sprite-fallback{width:64px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#edf5fa;color:#61809a;font-size:.75rem;text-align:center;margin:3px auto;line-height:1.3}.hp-line{display:flex;justify-content:space-between;font-size:.78rem;margin-top:5px}.hp-meter{height:5px;background:#e5edf3;border-radius:4px;overflow:hidden;margin:6px 0}.hp-meter>i{display:block;height:100%;background:#28ac9a;transition:width 180ms ease}.energy-strip{font-size:.75rem;color:#456783;display:flex;flex-wrap:wrap;gap:3px;min-height:20px}.energy-chip{display:inline-block;border-radius:20px;padding:2px 5px;border:1px solid #d0dfe8;background:#f4f9fc}.board-tools{display:flex;gap:4px;margin-top:5px}.board-tools button{font-size:.72rem;padding:5px 8px;min-height:36px;flex:1}.active-row .poke-card{width:200px;display:grid;grid-template-columns:1fr}.empty-slot{border:1px dashed #adcadb;background:#eef7fc80;box-shadow:none;display:flex;align-items:center;justify-content:center;color:#63839a;min-height:135px;font-size:.82rem}.active-row .empty-slot{width:200px;min-height:155px}.table-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0;border-top:1px solid #bfd7e5;padding-top:12px}.table-divider>span{font-size:.68rem;letter-spacing:.2em;color:#779aac}.table-divider>div{font-size:.78rem;border:1px dashed #91c0d6;border-radius:8px;padding:12px;color:#38718c}.choice-panel{margin:16px 0;padding:20px;border:2px solid #008abd;border-radius:16px;background:white}.choice-panel h2{margin-bottom:10px}.choice-options{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.choice-option{border:1px solid #bdcfdf;border-radius:10px;padding:10px;display:flex;align-items:center;gap:8px;max-width:100%}.choice-option:has(input:checked){border-color:#078abe;background:#e9f8ff}.choice-option label{display:flex;align-items:center;gap:8px;min-height:44px}.choice-option .quiet{font-size:.78rem;padding:6px}.allocation-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e5eef4}.allocation-row>span:first-child{flex:1}.bottom-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0}#end-turn{margin-right:auto}.hand-dock{position:sticky;bottom:0;z-index:5;background:#fffffff5;border:1px solid #c4dbe9;border-radius:16px 16px 0 0;margin-top:10px;padding:8px 10px max(10px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #173e6214;backdrop-filter:blur(10px)}.hand-label{display:flex;align-items:center;gap:12px}.hand-label h2{font-size:.95rem;margin:0}.hand-label>span{font-size:.72rem;color:#5f768b}.hand-label>button{margin-left:auto;min-height:36px;font-size:.8rem}.hand-scroll{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;padding:8px 3px 10px;scroll-snap-type:x proximity;min-height:166px}.hand-card{width:138px;flex:0 0 138px;border:1px solid #c3d5e4;border-radius:11px;background:#f7fbff;scroll-snap-align:start;position:relative;overflow:hidden;display:flex;flex-direction:column;user-select:none}.hand-card.pokemon{border-top:3px solid #30a0cf}.hand-card.energy{border-top:3px solid #6aac77}.hand-card.item,.hand-card.supporter{border-top:3px solid #aa93d3}.hand-card .inspect{padding:8px 9px 4px;border:0;border-radius:0;flex:1;display:block;text-align:left;background:none}.hand-card .name{font-size:.87rem;line-height:1.35;display:block;font-weight:750;overflow-wrap:anywhere}.hand-card .kind{font-size:.65rem;display:block;color:#748798;margin-bottom:4px}.hand-card .sprite{height:44px;width:56px;margin:3px auto}.hand-card .sprite-fallback{height:38px;font-size:.65rem}.drag-handle{touch-action:none;min-height:36px;border:0;border-top:1px solid #d8e4ed;border-radius:0;font-size:.73rem;padding:6px;background:#eff7fc}.hand-card.playable{box-shadow:0 0 0 1px #2e9bc3}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;width:140px;border:2px solid #159bca;box-shadow:0 10px 35px #1c577344;background:white;border-radius:12px;padding:12px;transform:rotate(-4deg);opacity:.94}.moving{opacity:.4}.drop-legal{outline:3px dashed #03a5cb;outline-offset:-3px;background-color:#e3fcff!important}.drop-hover{outline-style:solid;box-shadow:0 0 0 5px #02bfd338}.move-banner{position:sticky;bottom:212px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#075f85;color:white;border-radius:12px;padding:10px 16px;font-size:.88rem}.move-banner button{font-size:.8rem;flex-shrink:0}.motion-card{position:fixed;pointer-events:none;z-index:1000;background:#e8f9ff;color:#075779;border:2px solid #089ecc;border-radius:10px;padding:12px;box-shadow:0 8px 26px #2a647040;font-size:.85rem}.recent-change{animation:glow .4s ease-out}@keyframes glow{from{box-shadow:0 0 0 5px #32b8e180}to{box-shadow:0 0 0 0 transparent}}dialog{max-width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 40px);width:640px;border:1px solid #bed5e5;border-radius:18px;padding:22px;color:#18344b;box-shadow:0 24px 100px #122f5255;overflow:auto}dialog::backdrop{background:#112f4a66;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:-22px;background:white;padding:4px 0 10px;z-index:1}.dialog-head h2{margin:0;font-size:1.15rem}.dialog-head button{flex-shrink:0}#dialog-content p{line-height:1.8;font-size:.94rem}.detail-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.detail-actions button{text-align:left}.detail-meta{font-size:.8rem;color:#71879b;margin-bottom:14px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-list button{display:flex;align-items:center;gap:10px;text-align:left;font-size:.86rem}.detail-list .sprite{width:44px;height:40px}.form-row{display:flex;gap:12px;align-items:center;margin:14px 0}.form-row label{flex:1}.dialog-notice{background:#eef7fc;border-radius:10px;padding:12px;font-size:.87rem;margin-top:12px}.support-row{padding:12px 0;border-bottom:1px solid #dce6ee;display:flex;gap:10px;align-items:center}.support-row>div{flex:1}.support-row small{color:#5d788e}#toast{position:fixed;bottom:220px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 28px);z-index:1100;background:#153b53;color:white;padding:13px 20px;border-radius:12px;box-shadow:0 6px 25px #122c3b33;font-size:.9rem}footer{padding:32px 24px max(32px,env(safe-area-inset-bottom));text-align:center;font-size:.73rem;color:#667e91;line-height:1.9}body.dragging{cursor:grabbing}[hidden]{display:none!important}
@media(max-width:600px){.site-header{padding:10px 14px;gap:8px;flex-wrap:wrap}.brand{font-size:1rem}.site-header>button{font-size:.72rem;padding:5px}.lobby{margin-top:30px;padding:0 18px}.start-panel{padding:20px}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.guide-grid{gap:12px}.guide-grid b{font-size:.8rem}.guide-grid p{font-size:.76rem}#play{padding:15px 10px 0}.match-toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.match-toolbar h1{font-size:1.1rem}.toolbar-controls{width:100%;justify-content:space-between}.toolbar-controls button{font-size:.85rem}.status-bar{font-size:.88rem}.table{padding:10px;border-radius:14px}.bench{justify-content:flex-start;gap:6px;min-height:140px}.bench .poke-card,.bench .empty-slot{min-width:104px;width:104px;padding:8px}.bench .name{font-size:.8rem}.bench .sprite{height:42px;width:52px}.player-label{gap:7px}.player-label>div{font-size:.72rem}.player-label>button{font-size:.75rem;padding:6px 8px}.player-label h2{font-size:.92rem}.active-row .poke-card{width:174px}.active-row .name{font-size:.92rem}.hand-dock{margin:8px -5px 0;padding:6px 6px max(6px,env(safe-area-inset-bottom))}.hand-label{gap:8px}.hand-label>span{font-size:.64rem;max-width:140px}.hand-card{width:130px;flex-basis:130px}.table-divider{gap:8px}.table-divider>span{font-size:.55rem}.table-divider>div{padding:9px;font-size:.72rem}.choice-panel{padding:14px}.move-banner{font-size:.78rem;padding:10px}.detail-list{grid-template-columns:1fr}dialog{padding:18px}.dialog-head{top:-18px}.bottom-actions button{font-size:.8rem}.board-tools button,.drag-handle{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.player-area{min-width:0}.hand-card .name{font-size:1rem}.bench .name{font-size:.9rem}.hand-card .muted{font-size:.78rem}.table{isolation:isolate}
.start-panel input:not([type=checkbox]){max-width:100%;width:100%;padding:12px;border:1px solid #bfd1df;border-radius:10px;font-size:16px}.recipe-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #dce8f2;padding:12px 0;font-size:.85rem}.recipe-row span{overflow-wrap:anywhere;min-width:0}.recipe-row button{flex-shrink:0;font-size:.8rem}#deck-diagnosis{overflow-wrap:anywhere}#deck-diagnosis ul{max-height:350px;overflow:auto;line-height:1.9}.start-panel details{margin-top:20px}.start-panel summary{cursor:pointer;min-height:44px}.start-panel>button{margin:12px 0}

/* Across-the-table layout: keep both active spots on the same center line. */
.table{display:flex;flex-direction:column;gap:0;max-width:900px;margin:auto;background:linear-gradient(180deg,#e4edf9 0%,#edf5fc 49%,#e5f5f0 51%,#dff1ec 100%)}
.player-area{width:100%}.bench{min-height:125px}.bench .poke-card,.bench .empty-slot{width:132px;min-width:132px;padding:8px}.bench .sprite{width:48px;height:36px}.bench .empty-slot{min-height:115px}
.active-row{min-height:135px;padding:4px}.active-row .poke-card{width:210px;padding:8px 12px}.active-row .inspect{position:relative;padding-right:56px;min-height:44px}.active-row .sprite{position:absolute;right:0;top:0;width:48px;height:44px}.active-row .empty-slot{min-height:125px;width:210px}.table-divider{flex-wrap:wrap;margin:4px 0;padding:6px 0;border-bottom:1px solid #bfd7e5}.table-divider>div{padding:6px 12px}
.opponent-area .poke-card{border-top:3px solid #6084bd}.own-area .poke-card{border-bottom:3px solid #269b84}
.confirm-controls{display:flex;gap:20px;justify-content:center;margin:24px 0 8px}.confirm-controls button{width:100px;min-height:68px;font-size:2rem}.confirm-no{border:2px solid #b65757;color:#9c3636}
.opponent-action{position:sticky;top:6px;z-index:6;border:1px solid #b9cde9;border-left:5px solid #6084bd;border-radius:12px;background:#f6f9fffa;padding:10px 14px;margin:10px 0;box-shadow:0 3px 12px #18344b10;font-size:.85rem}.opponent-action strong{color:#46658e;font-size:.75rem}.opponent-action p{margin:4px 0;line-height:1.5}.opponent-action summary{cursor:pointer;padding:5px 0;font-size:.75rem}.opponent-action ol{max-height:150px;overflow:auto;margin:6px 0;padding-left:24px}.opponent-action li{padding:6px 0;border-top:1px solid #dce4f0;line-height:1.6}
@media(max-width:600px){.bench .poke-card,.bench .empty-slot{width:104px;min-width:104px}.opponent-action{font-size:.78rem;padding:8px 10px}.active-row .poke-card{width:190px}.player-label{margin:5px 0}.table{padding:8px}.table-divider>span{display:none}}

/* Direct-play UI. Original styling and symbols, not extracted PTCGL assets. */
html{background:#edf1f5;color:#192b43}body{background:radial-gradient(ellipse at 50% 0,#dbe9f4,transparent 60%)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{padding:14px max(18px,calc((100vw - 1100px)/2));background:#fff9;border-bottom:1px solid #d6e0e9}.beta{background:#e2e9ef;color:#526279}.brand{letter-spacing:-.03em}
.lobby{max-width:800px;margin:32px auto 50px;padding:0 18px}.match-setup{padding:20px;margin:0;border:0;box-shadow:0 16px 60px #1b365215;border-radius:24px}
.deck-matchup{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px}.deck-seat{position:relative;min-width:0;border-radius:17px;padding:20px;background:#18374b;color:#fff;overflow:hidden}.cpu-seat{background:#293450}.seat-label{font-size:.8rem;font-weight:700;letter-spacing:.1em}.deck-art{height:152px;display:grid;place-items:center;position:relative}.deck-art img{width:112px;height:100px;object-fit:contain;image-rendering:pixelated;z-index:1;filter:drop-shadow(0 12px 12px #0005)}.deck-art-ring{position:absolute;width:120px;height:120px;border:1px solid #76c4c750;border-radius:50%;box-shadow:0 0 0 14px #72bed70a,0 0 45px #55c7d72e}.cpu-seat .deck-art-ring{border-color:#aa9ddd66;box-shadow:0 0 0 14px #bd9bdd09,0 0 45px #b796dd33}.deck-seat select{font-size:.83rem;background:#ffffff12;color:white;border-color:#ffffff35;padding:10px 7px}.deck-seat select option{color:#20344b;background:white}.deck-seat small{font-size:.7rem;color:#c0cfd9;overflow-wrap:anywhere;margin-top:9px}.deck-seat button{color:white;font-size:.7rem;padding:2px;min-height:28px}.match-vs{position:absolute;left:50%;top:98px;transform:translateX(-50%) rotate(-8deg);background:#e5bc72;color:#19344b;font-weight:900;font-style:italic;letter-spacing:-.07em;border:5px solid white;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;z-index:2}
.match-options{display:flex;gap:24px;align-items:center;padding:22px 4px 4px}.match-options>label:first-child{display:flex;align-items:center;gap:12px;font-size:.8rem;flex:1;white-space:nowrap}.match-options select{width:auto;flex:1;font-size:.85rem}.timer-switch{display:flex;gap:10px;align-items:center;font-size:.8rem;cursor:pointer}.timer-switch small{font-size:.67rem;color:#6b7c8c}.timer-switch input{width:20px;height:20px}.match-setup .form-actions{margin-top:20px;display:flex;flex-direction:column;gap:8px}.match-setup .primary{min-height:54px;border-radius:12px;font-size:1.05rem;letter-spacing:.06em;background:#147f91;border-color:#147f91;box-shadow:0 6px 16px #147f9122}.match-setup .primary:hover{background:#086878}.scope-note{font-size:.72rem;text-align:center;color:#697c8c;margin:15px 0 0}
.recipe-panel{padding:0;margin-top:14px;border-radius:16px;box-shadow:none}.recipe-panel>summary{list-style:none;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:.86rem;font-weight:650;cursor:pointer}.recipe-panel>summary::-webkit-details-marker{display:none}.recipe-panel-body{padding:0 20px 20px}.quick-decks{display:flex;gap:8px;margin:5px 0 14px}.quick-decks button{font-size:.8rem;flex:1}.recipe-panel .form-grid{gap:12px}.recipe-panel-body>button{margin-top:12px}footer{font-size:.65rem;padding-top:22px}
.energy-icon{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle;object-fit:contain;filter:drop-shadow(0 1px 1px #0002)}.energy-icon.energy-chip{width:21px;height:21px;padding:0;border:0;background:none}.energy-cost{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center}.no-cost{font-size:.7rem;color:#71808b}.energy-strip{min-height:23px;gap:3px}.hand-card .hand-energy{width:46px;height:46px;display:block;margin:12px auto}.detail-energy{width:62px;height:62px;margin-bottom:14px}.pokemon-stats{display:flex;gap:12px;align-items:center;margin:18px 0}.pokemon-stats>b{margin-right:auto}.attack-detail{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border-top:1px solid #dce6ec;padding:18px 0}.attack-detail>p{grid-column:1/-1;margin:0}.attack-power{font-size:1.4rem}.type-stats{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0;border-top:1px solid #dce6ec;font-size:.75rem}.type-stats>span{display:flex;align-items:center;gap:5px}.type-stats .energy-icon{width:19px;height:19px}.attached-detail{display:flex;gap:5px;align-items:center;flex-wrap:wrap;background:#eef4f7;border-radius:12px;padding:12px;font-size:.8rem}.attached-detail>span:first-child{width:100%;margin-bottom:5px}
.match-toolbar{margin-bottom:10px}.match-brand{font-size:.95rem;font-weight:900;color:#253d54;text-decoration:none;letter-spacing:.08em}.match-brand span{color:#168594}#play{max-width:1060px;padding-top:14px}.toolbar-controls button{font-size:.8rem}#clock{padding:9px;font-size:.85rem}.status-bar{font-size:.78rem;min-height:0;padding:10px 12px}.table-top{display:none}.opponent-action{position:static;background:transparent;box-shadow:none;border:0;padding:0 4px;margin:8px 0;font-size:.78rem}.opponent-action>strong{display:none}.opponent-action details{font-size:.7rem}.opponent-action p{color:#41617b}
.table{background:radial-gradient(ellipse at 50% 50%,#294b60,#142c40);padding:14px 20px;border:1px solid #1c384d;border-radius:20px;box-shadow:inset 0 0 50px #071c3033,0 10px 30px #14364b1a}.player-label{color:#d5e1ea}.player-label h2{font-size:.76rem;font-weight:500}.player-label>div{display:flex;gap:10px;color:#c0d3de;font-size:.75rem;align-items:center}.player-label>button{font-size:.7rem;color:#d1dfea;border-color:#6b889766;background:#ffffff08;min-height:34px}.pile-count{display:inline-flex;align-items:center;min-height:32px;border:1px solid #819aab55;border-radius:6px;padding:4px 9px;background:#061b3026}.pile-count[id$="-deck"]::before{content:'▱';font-size:1.4rem;margin-right:5px;color:#b7cedd}.hand-back-anchor{color:#7899b4;letter-spacing:-.18em;font-size:1.25rem}.bench{gap:8px;min-height:110px}.bench .poke-card,.bench .empty-slot{min-width:112px;width:112px;padding:7px;border-radius:10px}.bench .name{font-size:.72rem}.bench .sprite{height:32px;width:44px}.bench .hp-line{font-size:.66rem}.bench .energy-icon{width:17px;height:17px}.bench .empty-slot{min-height:104px}.empty-slot{background:#ffffff05;border-color:#8199a43b;color:#79909f}.table-divider{border-color:#7899a329;margin:2px 0;padding:4px 0;gap:10px}.table-divider>span{display:none}.table-divider>div{color:#a1bccb;border-color:#779eaf3b;font-size:.67rem;padding:5px 10px}.table-divider button{font-size:.7rem;padding:5px 9px;min-height:32px;background:#18394d;color:#d3e5ed;border-color:#7e9eae55}.table-divider .muted{color:#b9c9d5;font-size:.67rem}.active-row{min-height:116px}.active-row .poke-card{width:206px;padding:9px 12px}.active-row .name{font-size:.86rem}.active-row .empty-slot{min-height:110px}.board-tools{margin-top:4px}.board-tools button{font-size:.67rem;min-height:28px;padding:4px}.hp-meter>i{transition:width 450ms ease}
.hand-card{overflow:visible;border-radius:12px;background:#fff;width:126px;flex-basis:126px;transition:transform 140ms,box-shadow 140ms}.hand-card .inspect{touch-action:pan-x pinch-zoom;padding:10px 9px 8px;min-height:128px;cursor:grab;border-radius:10px}.hand-card .name{font-size:.83rem;padding-right:10px}.hand-card .kind{font-size:.6rem;padding-right:12px}.hand-card .sprite{height:50px}.card-info{position:absolute;right:1px;top:1px;padding:2px;border:0;background:transparent;min-width:30px;min-height:30px;font-size:1rem;color:#7e929f;border-radius:50%}.hand-scroll{min-height:153px;padding-top:12px;scroll-snap-type:none;touch-action:pan-x pan-y}.hand-card.playable{border-color:#42bcb3;box-shadow:0 0 0 1px #42bcb344}.hand-card.selected-card{transform:translateY(-7px);box-shadow:0 0 0 3px #31b9ae,0 4px 16px #003e4129}.trainer-symbol{display:block;text-align:center;font-size:2rem;color:#8d9ab5;margin:6px auto}.hand-dock{border-color:#c9d7df;background:#f5f8faf5;padding-top:5px}.hand-label h2{font-size:.78rem}.hand-label>span{font-size:.66rem}.move-banner{bottom:190px;z-index:8;background:#116a79;box-shadow:0 5px 20px #092b3a30}.drop-legal{outline:2px dashed #73e3d1;outline-offset:-2px;background-color:#d9fff6!important}.drop-hover{outline:3px solid #45dcb4;box-shadow:0 0 18px #47d8bc80}.poke-card>.inspect{touch-action:pan-x pinch-zoom}.bottom-actions{padding:10px 0}.bottom-actions button{font-size:.75rem}
.turn-popup{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:1200;pointer-events:none;background:linear-gradient(110deg,#0c727e,#123d52);color:white;border:1px solid #77d3d1;border-radius:18px;padding:25px 45px;font-size:clamp(1.2rem,4vw,2rem);font-weight:850;white-space:nowrap;box-shadow:0 12px 70px #001e4855}.turn-popup.opponent-turn{background:linear-gradient(110deg,#384b77,#252d50);border-color:#9ba8d5}.battle-fx.motion-card{width:124px;min-height:96px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px;background:#fff;color:#193e53;border:2px solid #4ca7b5;text-align:center;box-shadow:0 10px 40px #001c4466;font-size:.73rem;z-index:1150}.battle-fx .sprite{height:48px;width:58px}.battle-fx small{font-size:.65rem}.battle-fx .energy-icon{width:35px;height:35px}.card-back-mark{color:#5894c6;font-size:2rem}.attack-fx{border-color:#efbd67!important;background:#fff5df!important}.damage-bubble{position:fixed;z-index:1160;pointer-events:none;border-radius:15px;padding:12px 18px;white-space:nowrap;font-size:1.2rem;font-weight:900;border:2px solid white;box-shadow:0 8px 28px #00234455;background:#bc3c44;color:white}.damage-bubble::after{content:'';position:absolute;bottom:-9px;left:50%;border-width:9px 9px 0;border-style:solid;border-color:inherit;border-left-color:transparent;border-right-color:transparent}.damage-bubble.heal{background:#16896d}
.choice-panel.is-search{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 24px));max-height:82dvh;overflow:auto;margin:0;border:1px solid #b0ccd6;box-shadow:0 0 0 100vmax #0d243b80,0 20px 70px #0004;border-radius:20px;padding:20px}.is-search h2{font-size:1rem}.is-search .choice-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));max-height:42dvh;overflow:auto;padding:4px;gap:9px}.search-card{position:relative;padding:8px;display:flex;flex-direction:column;gap:0;min-width:0}.search-card label{display:flex;flex-direction:column;font-size:.75rem;text-align:center;gap:6px;width:100%;cursor:pointer}.search-card input{position:absolute;top:6px;left:6px}.search-card .sprite{width:56px;height:48px}.search-card .energy-icon{width:40px;height:40px;margin:5px}.search-card .quiet{min-height:25px;font-size:.65rem;padding:4px}.search-card[data-eligible="false"]{background:#eff2f5;color:#80909c;filter:grayscale(.75);opacity:.65}.search-toolbar{display:flex;gap:10px}.search-toolbar input{width:100%;min-width:0;border:1px solid #beced9;border-radius:9px;padding:10px;font-size:16px}.search-toolbar button{white-space:nowrap;font-size:.75rem}.is-search>p{font-size:.72rem;margin:12px 0}.is-search>button.primary{width:100%;position:sticky;bottom:0;min-height:46px}.is-search .search-card:has(input:checked){box-shadow:0 0 0 2px #18a8a0;background:#edfdf9}
@media(max-width:600px){.lobby{margin-top:18px;padding:0 12px}.match-setup{padding:12px;border-radius:18px}.deck-matchup{gap:10px}.deck-seat{padding:13px 10px}.deck-art{height:120px}.deck-art img{width:88px;height:85px}.deck-art-ring{width:90px;height:90px}.deck-seat select{font-size:.72rem;padding:8px 4px}.deck-seat small{font-size:.64rem}.match-vs{top:78px;width:44px;height:44px;border-width:4px;font-size:.85rem}.match-options{padding:18px 2px 0;gap:12px}.match-options>label:first-child{display:block;font-size:.72rem}.match-options select{display:block;width:100%;margin-top:6px;font-size:.78rem;min-height:40px}.timer-switch{font-size:.75rem}.timer-switch small{font-size:.6rem}.scope-note{font-size:.65rem}.recipe-panel>summary{font-size:.78rem;padding:15px}.recipe-panel-body{padding:0 14px 14px}.quick-decks button{font-size:.7rem;padding:8px 5px}.site-header{padding:10px 12px;gap:6px}.site-header .beta{font-size:.6rem}.site-header>button{font-size:.65rem;min-height:34px}.toolbar-controls{width:auto;gap:4px}.match-toolbar{align-items:center;flex-wrap:nowrap}.match-brand{font-size:.8rem}.toolbar-controls button{font-size:.67rem;padding:6px}.status-bar{font-size:.7rem;padding:9px}.table{padding:8px 6px;border-radius:14px}.player-label{gap:5px;flex-wrap:wrap}.player-label h2{font-size:.64rem}.player-label>div{gap:4px;font-size:.61rem}.player-label>button{font-size:.61rem;padding:4px 6px;min-height:30px}.pile-count{padding:3px 5px;min-height:26px}.hand-back-anchor{display:none}.bench{gap:4px;justify-content:center;min-height:100px;padding:6px 0}.bench .poke-card,.bench .empty-slot{width:calc((100% - 16px)/5);min-width:0;flex:0 0 calc((100% - 16px)/5);padding:5px 3px;border-radius:6px;min-height:88px}.bench .name{font-size:.57rem;line-height:1.35}.bench .sprite{width:36px;height:30px}.bench .hp-line{font-size:.5rem;letter-spacing:-.03em}.bench .hp-line>span:nth-child(2){display:none}.bench .hp-meter{height:3px;margin:4px 0}.bench .energy-icon{width:12px;height:12px}.bench .energy-strip{gap:1px;min-height:13px}.bench .empty-slot{font-size:.5rem}.active-row .poke-card{width:182px}.active-row{min-height:108px}.table-divider{gap:5px}.table-divider>div{padding:4px;font-size:.6rem}.table-divider button{font-size:.63rem}.hand-card{width:116px;flex-basis:116px}.hand-card .inspect{min-height:120px}.hand-card .name{font-size:.76rem}.hand-scroll{min-height:141px}.hand-label>span{max-width:none;font-size:.55rem}.hand-label h2{font-size:.7rem}.move-banner{bottom:174px}.turn-popup{padding:22px 30px}.damage-bubble{font-size:1rem;padding:10px 13px}.search-toolbar{gap:6px}.search-toolbar button{font-size:.65rem;padding:8px}.is-search .choice-options{grid-template-columns:repeat(3,1fr);gap:6px;max-height:43dvh}.choice-panel.is-search{padding:14px}.search-card{padding:6px}.search-card label{font-size:.65rem}.attack-detail{gap:8px;font-size:.85rem}.attack-detail .energy-icon{width:20px;height:20px}.type-stats{gap:8px}}

.search-card label:not(:has(.sprite,.energy-icon,.trainer-symbol)){padding-top:24px}

@media(max-width:600px){.bench{min-height:84px}.bench .poke-card,.bench .empty-slot{min-height:76px}.bench .sprite{height:24px}.active-row{min-height:96px}.active-row .poke-card{padding:6px 10px}.active-row .inspect{min-height:30px}.active-row .sprite{height:30px;width:38px}.active-row .name{font-size:.79rem}.active-row .hp-line{font-size:.67rem;margin-top:3px}.active-row .hp-meter{height:3px;margin:4px 0}.active-row .energy-strip{min-height:18px}.active-row .energy-icon{width:18px;height:18px}.active-row .board-tools button{min-height:24px;padding:3px}.table-divider{padding:2px 0}.hand-dock{margin-top:6px}}
.seat-registration{display:grid;gap:9px;margin:14px 0}.seat-registration label{display:grid;gap:4px;color:#dce9ee;font-size:.72rem}.seat-registration input{box-sizing:border-box;width:100%;min-width:0;background:#ffffff0d;border:1px solid #ffffff35;color:#fff;border-radius:8px;padding:9px;font-size:.8rem}.seat-registration input::placeholder{color:#a9bbc9}.seat-registration>button{background:#d2f7e9;color:#153f35;border:0;font-weight:700;padding:10px}.seat-registration select{width:100%;min-width:0}.library-note{font-size:.7rem;margin:10px 0 0}.deck-art{height:100px}.deck-art img{height:76px;width:90px}.deck-art-ring{width:80px;height:80px}.deck-seat .seat-registration button:disabled{opacity:.65}
@media(max-width:600px){.deck-seat{padding:12px 9px}.deck-art{height:64px}.deck-art img{height:50px;width:64px}.deck-art-ring{width:44px;height:44px}.seat-registration{gap:7px;margin:10px 0}.seat-registration label{font-size:.65rem}.seat-registration input{font-size:16px;padding:8px 5px}.seat-registration input::placeholder{font-size:.6rem}.seat-registration select{font-size:.65rem}.seat-registration>button{font-size:.7rem;padding:9px 3px}.deck-seat small{font-size:.63rem}.library-note{font-size:.62rem}}

/* Full-card pointer dragging and visible opponent hand count. */
.hand-card,.own-area .active-row .poke-card{touch-action:pan-x pinch-zoom;user-select:none;-webkit-user-select:none}.hand-card img,.poke-card img{-webkit-user-drag:none}.hand-card.playable,.own-area .active-row .poke-card{cursor:grab}.hand-card.moving,.poke-card.moving{opacity:.22}.drag-card-preview{position:fixed!important;left:0!important;top:0!important;z-index:1400!important;margin:0!important;pointer-events:none!important;touch-action:none!important;opacity:.96!important;transition:none!important;will-change:transform;border:2px solid #65c8db!important;box-shadow:0 16px 40px #001c4566!important;overflow:visible!important}.drag-card-preview *{pointer-events:none!important}.drag-card-preview.can-drop{border-color:#47e4b0!important;box-shadow:0 0 0 3px #41d6b955,0 16px 40px #001c4566!important}.drag-feedback{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:20px;background:#123b54;color:white;font-size:.7rem;white-space:nowrap}.drag-card-preview.can-drop .drag-feedback{background:#087653}.moving .inspect{cursor:grabbing}
.player-label>.opponent-hand-counter{display:flex;align-items:baseline;gap:5px;margin-left:auto;padding:7px 12px;background:#e4c381;color:#193247;border:1px solid #f3ddaa;border-radius:11px;font-size:.8rem;box-shadow:0 2px 12px #0002}.opponent-hand-counter strong{font:900 2rem/1.1 ui-sans-serif,system-ui,sans-serif;font-variant-numeric:tabular-nums}.hand-count-label{font-size:.72rem;font-weight:750}.hand-count-unit{font-size:.8rem}.opponent-area .player-label>button{margin-left:0}
.turn-popup.check-popup{background:#fff4db;color:#654923;border:2px solid #e8c581;border-radius:12px}.restriction-message{font-size:1.15rem;line-height:1.8;padding:18px;background:#fff4db;border-radius:12px;color:#654923}.restriction-notice{padding:12px;background:#fff4db;color:#654923;border-radius:8px}.effect-restricted,.attack-choice.effect-restricted{background:#fff4db;color:#654923;border:1px solid #e8c581;cursor:pointer}
@media(max-width:600px){.player-label>.opponent-hand-counter{padding:5px 9px;gap:4px}.opponent-hand-counter strong{font-size:1.65rem}.hand-count-label{font-size:.62rem}.hand-count-unit{font-size:.67rem}.opponent-area .player-label>button{margin-left:auto}.turn-popup.check-popup{padding:18px 24px}}

/* Table zones: shared center, prizes outside, deck over discard. */
.table .player-area{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;gap:8px;align-items:center}
.player-area>.player-label,.player-area>.bench{grid-column:1/-1}
.opponent-area>.player-label{grid-row:1}.opponent-area>.bench{grid-row:2}.opponent-area>.active-row,.opponent-area>.prize-pile,.opponent-area>.pile-rail{grid-row:3}
.own-area>.active-row,.own-area>.prize-pile,.own-area>.pile-rail{grid-row:1}.own-area>.bench{grid-row:2}.own-area>.player-label{grid-row:3}
.player-area>.active-row{grid-column:2;min-width:0}.player-area>.prize-pile{grid-column:1}.player-area>.pile-rail{grid-column:3}
.pile-rail{display:grid;gap:10px}.field-pile,.prize-pile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;border-radius:9px;color:#dceefa;border:1px solid #7598b0;background:#173e58;box-sizing:border-box;width:100%;padding:6px 2px;line-height:1.2}
.field-pile{aspect-ratio:63/88;min-height:0}.deck-pile{background:repeating-linear-gradient(135deg,#244d69 0 8px,#204660 8px 16px);box-shadow:3px 3px 0 #a1b2bb,5px 5px 0 #244359;margin-bottom:3px}.discard-pile{background:#e1e8ee;color:#334e60;border:2px dashed #829aaa;cursor:pointer}.discard-pile:hover{background:#f3f8fb;border-color:#32adce}.prize-pile{min-height:90px;background:#665029;border-color:#d2af64;color:#fff1cf;box-shadow:3px 3px 0 #382c19}.pile-label{font-size:.66rem;font-weight:750}.pile-number{font-size:1.85rem;line-height:1.05;font-variant-numeric:tabular-nums}.pile-unit{font-size:.58rem}
.table .table-divider{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;padding:12px 0;margin:8px 0}.table-divider>#stadium-slot,.table-divider>#trainer-zone{display:flex;align-items:center;justify-content:center;min-height:58px;margin:0;width:auto;border:1px dashed #91acbb;border-radius:10px;padding:8px;background:#ffffff08;text-align:center}.table-divider>#stadium-slot{border-color:#79b7aa}.table-divider>#trainer-zone{border-color:#cfb783}.table-divider button{width:100%;white-space:normal}.table-divider .muted{color:#b7d5cf}
button.attack-choice{width:100%;text-align:left;border:1px solid #c5d0d8;border-radius:12px;margin:8px 0;padding:13px;background:#e8edf1;color:#657581;opacity:1;cursor:default}
button.attack-choice:not(:disabled){background:#087bc4;color:#fff;border-color:#36a8ee;cursor:pointer;box-shadow:0 3px 10px #087bc425}button.attack-choice:not(:disabled):hover{background:#0066ad}button.attack-choice:not(:disabled) .muted{color:#e1f3ff}button.attack-choice:focus-visible{outline:3px solid #e9b855;outline-offset:3px}.attack-choice .attack-power{color:inherit}
@media(max-width:600px){.table .player-area{grid-template-columns:48px minmax(0,1fr) 48px;gap:5px}.pile-rail{gap:6px}.field-pile{border-radius:6px;padding:4px 1px}.pile-label{font-size:.52rem}.pile-number{font-size:1.4rem}.pile-unit{font-size:.5rem}.prize-pile{min-height:74px}.table .table-divider{gap:14px;padding:6px 0;margin:4px 0}.table-divider>#stadium-slot,.table-divider>#trainer-zone{min-height:46px;padding:5px;font-size:.6rem}.active-row .poke-card{max-width:100%}.turn-popup{max-width:calc(100vw - 24px);width:max-content;box-sizing:border-box;font-size:1.2rem;padding:22px 20px}.attack-choice{grid-template-columns:auto minmax(0,1fr) auto}}

/* Mandatory effect choices stay over the field, not below it. */
.table .table-divider{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);gap:12px}.table-divider>.field-end-turn{width:100%;padding:8px 5px;background:#e4c381;border:1px solid #f3ddaa;color:#193247;font-size:.8rem;line-height:1.5}.table-divider>.field-end-turn:disabled{background:#334a5b;color:#8ca3b3;border-color:#657a89;opacity:.65}.table-divider>.field-end-turn:not(:disabled):hover{background:#f5d995}
.choice-panel.is-effect-popup{position:fixed;z-index:35;left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,calc(100vw - 24px));max-height:76dvh;overflow:auto;overscroll-behavior:contain;margin:0;border:1px solid #a7c5d6;background:#f9fcff;color:#18344b;border-radius:22px;padding:24px;box-shadow:0 0 0 100vmax #071a2a88,0 20px 60px #0005;animation:effect-popup-in .2s ease-out}
.is-effect-popup h2{font-size:1.15rem;margin:0 0 8px;outline:none}.effect-popup-label{display:block;color:#678294;font-size:.7rem;margin-bottom:12px}.is-effect-popup>p{font-size:.8rem}.is-effect-popup>.effect-progress{padding:12px;border-radius:12px;background:#e4f3fa;font-size:1rem;font-weight:800;margin:10px 0 16px}.effect-hint{color:#5a7284;line-height:1.6;margin:14px 0}.is-effect-popup>button.primary{display:block;width:100%;margin-top:8px;min-height:46px}.is-effect-popup>button.allocation-reset{background:transparent;color:#44657b;border-color:#bdd0dd}.is-effect-popup>button:last-child{position:sticky;bottom:0;box-shadow:0 -5px 12px #f9fcff}
.prize-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:410px;margin:auto}.prize-card{min-width:0;position:relative}.prize-card label{display:flex;flex-direction:column;align-items:stretch;position:relative;cursor:pointer;gap:6px}.prize-card input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}.prize-back{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:63/88;border-radius:10px;border:3px solid #b9d5e8;background:repeating-linear-gradient(135deg,#194c73 0 12px,#1e577f 12px 24px);box-shadow:0 4px 9px #163b552a;transition:transform .15s,border-color .15s,box-shadow .15s}.prize-back::before{content:'';position:absolute;inset:7px;border:1px solid #b4d2e377;border-radius:5px}.prize-emblem{font-size:2.7rem;color:#d2e5ec;text-shadow:0 3px 0 #143752}.prize-selection-mark{display:none;position:absolute;bottom:12px;left:4px;right:4px;text-align:center;font-size:.7rem;font-weight:850;color:#173e52;background:#a7f0d3;border-radius:20px;padding:5px 2px}.prize-caption{text-align:center;font-size:.72rem;font-weight:700}.prize-card input:checked+.prize-back{border-color:#16aa84;box-shadow:0 0 0 3px #16aa8430,0 6px 14px #164f6630;transform:translateY(-4px)}.prize-card input:checked+.prize-back .prize-selection-mark{display:block}.prize-card input:focus-visible+.prize-back{outline:3px solid #dc9e24;outline-offset:3px}.prize-card input:disabled:not(:checked)+.prize-back{opacity:.45}.prize-card input:disabled{cursor:not-allowed}.prize-taken{aspect-ratio:63/88;border:1px dashed #b9cbd8;border-radius:10px;color:#93a5b3;display:flex;align-items:center;justify-content:center;font-size:.75rem}
.damage-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.allocation-row.damage-target{display:flex;flex-direction:column;min-width:0;gap:9px;padding:12px;background:white;border:1px solid #c7d9e4;border-radius:15px}.damage-target.has-counters{border-color:#d3954f;background:#fff8ed}.damage-target .damage-pokemon{display:flex;align-items:center;flex-direction:column;gap:4px;border:0;background:transparent;color:#18344b;width:100%;padding:0}.damage-pokemon .sprite{width:62px;height:55px}.damage-pokemon b{font-size:.85rem}.damage-pokemon small{font-size:.62rem}.damage-target .counter-stepper{display:flex;align-items:center;justify-content:space-between;gap:5px}.counter-stepper button{min-width:38px;padding:5px;min-height:38px}.counter-value{font-size:1rem;white-space:nowrap}.damage-target .counter-preview{font-size:.72rem;text-align:center;margin:0}.counter-tokens{display:flex;justify-content:center;flex-wrap:wrap;gap:3px;min-height:20px}.counter-tokens span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d16046;color:white;font-size:.56rem;border:1px solid #af442e}.damage-target .quiet{font-size:.65rem;padding:4px;min-height:28px}
@keyframes effect-popup-in{from{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:600px){.table .table-divider{grid-template-columns:58px minmax(0,1fr) minmax(0,1fr);gap:7px}.table-divider>.field-end-turn{font-size:.68rem;padding:5px 3px}.choice-panel.is-effect-popup{padding:17px;border-radius:17px}.is-effect-popup h2{font-size:1rem}.is-effect-popup>.effect-progress{font-size:.85rem;padding:10px;margin:8px 0 12px}.prize-grid{gap:10px;max-width:305px}.prize-selection-mark{font-size:.59rem;bottom:9px}.damage-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.allocation-row.damage-target{padding:9px}.effect-hint{font-size:.7rem}.is-effect-popup>button.primary{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.choice-panel.is-effect-popup{animation:none}.prize-back{transition:none}}
/* Opponent's piles face ours across the table; labels stay upright. */
.opponent-area>.prize-pile{grid-column:3}
.turn-popup{white-space:pre-line}
#lifecycle-dialog{border:1px solid #385b80;border-radius:22px;padding:32px;width:min(440px,90vw);text-align:center;background:#111f32;color:#f5f8ff;box-shadow:0 24px 100px #0009}
#lifecycle-dialog::backdrop{background:#07111dd9;backdrop-filter:blur(5px)}
#lifecycle-dialog h2{font-size:28px;margin:0 0 28px}
#lifecycle-content{display:grid;gap:14px}
#lifecycle-content button{min-height:48px}
.action-notice{position:fixed;z-index:140;left:50%;top:80px;transform:translateX(-50%);max-width:min(720px,94vw);width:max-content;padding:12px 20px;border:1px solid #80c8f7;border-radius:12px;background:#10263ded;color:#fff;box-shadow:0 6px 30px #0005;font-size:15px;line-height:1.5;pointer-events:none}
.ability-description{display:block;width:100%;padding:14px;text-align:left;white-space:normal;border:1px solid #58b3f8;border-radius:12px;background:#123e67;color:#fff;line-height:1.6;margin:10px 0}
.ability-description.passive{background:#1b293d;border-color:#41516a;color:#bdcce0}
.counter-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.counter-target{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;white-space:normal;min-width:0;border:2px solid #405570;border-radius:12px}
.counter-target small{font-size:11px}
.counter-target .sprite{width:56px;height:56px;object-fit:contain}
.counter-target.chosen,.counter-chip.chosen{border-color:#6ac6ff;background:#174c75;box-shadow:0 0 0 2px #6ac6ff44}
.counter-amounts{display:flex;gap:10px}.counter-chip{border:2px solid #85632a;background:#59401d;border-radius:24px;padding:10px 16px}
.counter-preview{padding:14px;border-radius:12px;background:#112c3f;line-height:1.8;min-height:65px}
.counter-motion{position:fixed;z-index:130;border:3px solid #ffc75c;border-radius:50%;padding:14px;background:#bb6a0b;color:#fff;font-weight:900;box-shadow:0 0 30px #ffbb4470}
.mulligan-hand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0}
.mulligan-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:100px;border:1px solid #637a95;border-radius:9px;padding:10px 5px;font-size:12px;text-align:center;background:#14273e}
.mulligan-card img{max-width:55px;max-height:55px}
.bonus-limit{font-size:18px;font-weight:700;color:#8ad8ff}
.counter-target.chosen,.counter-chip,.counter-preview,.mulligan-card{color:#f3f8ff}
.bonus-limit{color:#14608a}
@media(max-width:480px){.counter-targets{grid-template-columns:repeat(2,minmax(0,1fr))}.mulligan-hand{grid-template-columns:repeat(3,minmax(0,1fr))}.action-notice{top:65px;font-size:13px}.counter-chip{padding:10px}.damage-bubble{max-width:94vw;white-space:normal}}
.opponent-area>.pile-rail{grid-column:1}
.opponent-area .discard-pile{grid-row:1}
.opponent-area .deck-pile{grid-row:2}
