#game-board{--cw: 72px;--ch: 100px;--aw: 88px;--ah: 122px;--pw: 32px;--ph: 44px;--dw: 56px;--dh: 78px;--gold: #d9b45a;font-family:system-ui,-apple-system,PingFang SC,sans-serif}.board-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"mat side" "hand side";gap:16px;align-items:start}.playmat{grid-area:mat}.sidebar{grid-area:side}.hand-area{grid-area:hand}.playmat{display:grid;grid-template-columns:104px minmax(420px,1fr) 104px;grid-template-areas:"od ob op" "ok oa op" "dv dv dv" "mp ma mk" "mp mb md";gap:10px;padding:16px;border-radius:20px;border:6px solid #07231a;background:repeating-linear-gradient(45deg,rgba(255,255,255,.014) 0 2px,transparent 2px 4px),radial-gradient(130% 95% at 50% 50%,#1b5c44,#0e3b2b 58%,#082419);box-shadow:inset 0 0 70px #0000008c,0 14px 36px #00000052}.area-od{grid-area:od}.area-ob{grid-area:ob}.area-op{grid-area:op}.area-ok{grid-area:ok}.area-oa{grid-area:oa}.area-dv{grid-area:dv}.area-mp{grid-area:mp}.area-ma{grid-area:ma}.area-mk{grid-area:mk}.area-mb{grid-area:mb}.area-md{grid-area:md}.mat-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff6b;font-weight:800;margin-bottom:5px;text-align:center}.slot{border:2px dashed rgba(255,255,255,.16);border-radius:10px;background:#0003;box-shadow:inset 0 2px 8px #0006;display:flex;align-items:center;justify-content:center;min-width:var(--aw);min-height:var(--ah)}.slot-active{border-style:solid;border-color:#d9b45a73;box-shadow:inset 0 0 26px #d9b45a21,0 0 22px #d9b45a29}.bench-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:var(--ch)}.bench-slot{width:var(--cw);height:var(--ch);border:2px dashed rgba(255,255,255,.1);border-radius:8px;background:#00000024;flex-shrink:0}.col-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.mat-divider{display:flex;align-items:center;gap:12px;padding:2px 0}.mat-divider .rule{flex:1;height:2px;background:linear-gradient(90deg,transparent,rgba(217,180,90,.55),transparent)}.mat-divider .vs{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--gold)}.mat-divider .side-info{font-size:11px;color:#ffffff80;font-weight:700;white-space:nowrap}.pile{width:var(--dw);height:var(--dh);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;flex-shrink:0}.pile-deck{background:linear-gradient(150deg,#2b5fbe,#17357a);border:2px solid #0f2352;color:#fff;box-shadow:0 3px #0d1f47,0 5px 10px #0006}.pile-discard{background:#00000047;border:2px dashed rgba(255,255,255,.22);color:#ffffff8c;font-size:13px}.pile-discard.has-cards{background:#78141459;border-style:solid;border-color:#ff8c8c59;color:#ffd9d9}.prize-grid{display:grid;grid-template-columns:repeat(2,var(--pw));gap:5px;justify-content:center}.prize-card{width:var(--pw);height:var(--ph);border-radius:4px;background:linear-gradient(150deg,#2b5fbe,#17357a);border:1.5px solid #0f2352;box-shadow:0 2px 4px #00000059;transition:all .3s}.prize-card.taken{background:#00000038;border:1.5px dashed rgba(255,255,255,.18);box-shadow:none;transform:scale(.9)}.prize-count{text-align:center;font-size:11px;font-weight:800;color:var(--gold);margin-top:5px}.pcard{width:var(--cw);height:var(--ch);border-radius:7px;border:2px solid #d8d8d8;background:#fff;position:relative;overflow:visible;flex-shrink:0;cursor:pointer;box-shadow:0 2px 6px #00000059;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.pcard:hover{transform:translateY(-4px);box-shadow:0 8px 18px #00000073;z-index:5}.pcard.is-active{width:var(--aw);height:var(--ah)}.pcard.selected{border-color:#2563eb;box-shadow:0 0 0 3px #93c5fd,0 4px 10px #0006}.pcard.retreat-target{border-color:#a855f7;animation:retreat-pulse 1.1s ease-in-out infinite}@keyframes retreat-pulse{0%,to{box-shadow:0 0 0 2px #e9d5ff,0 3px 8px #00000059}50%{box-shadow:0 0 0 7px #a855f773,0 3px 8px #00000059}}.pc-art{flex:1 1 auto;overflow:hidden;border-radius:5px 5px 0 0;background:#f1f1f1;display:flex;align-items:center;justify-content:center;font-size:22px}.pc-art img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.pc-body{flex:0 0 auto;padding:2px 4px 3px}.pc-name{font-size:9px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1a1a1a}.pc-hp{height:4px;background:#e5e7eb;border-radius:2px;margin:2px 0;overflow:hidden}.pc-hp-fill{height:100%;border-radius:2px;transition:width .35s ease}.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:2px}.pc-hpnum{font-size:8.5px;font-weight:800;color:#6b7280;letter-spacing:-.02em}.pc-orbs{display:flex;gap:2px;align-items:center}.pc-orb{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b);border:1px solid #b45309;box-shadow:0 0 4px #fbbf24e6}.pcard.is-active .pc-orb{width:11px;height:11px}.pcard.is-active .pc-hpnum{font-size:10px}.pcard.is-active .pc-name{font-size:10.5px}.pc-orb.empty{background:#e5e7eb;border-color:#d1d5db;box-shadow:none}.pc-orbmore{font-size:8px;font-weight:900;color:#d97706}.pc-dmg{position:absolute;top:-7px;right:-7px;min-width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f87171,#b91c1c);border:2px solid #fff;color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000080;z-index:6}.pcard.face-down .pc-art{background:linear-gradient(150deg,#2b5fbe,#17357a)}.pcard.face-down{border-color:#0f2352}.hand-rail{display:flex;justify-content:center;align-items:flex-end;padding:26px 0 14px;min-height:calc(var(--ch) + 46px)}.hand-rail .pcard{margin:0 -4px;transform-origin:bottom center}.hand-rail .pcard:hover{transform:translateY(-18px) scale(1.08) rotate(0)!important;z-index:20}.hand-empty{color:#9ca3af;font-size:12px}.sidebar{display:flex;flex-direction:column;gap:10px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;box-shadow:0 1px 3px #0000000f}.panel-title{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;margin-bottom:7px}#turn-banner{text-align:center;font-weight:900;font-size:15px;padding:9px 0;border-radius:12px;letter-spacing:.02em}.steps{display:flex;flex-direction:column;gap:1px}.step{display:flex;align-items:flex-start;gap:7px;padding:4px 5px;border-radius:6px;font-size:11.5px;line-height:1.35}.step-n{flex:0 0 auto;width:16px;height:16px;border-radius:50%;font-size:9px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:1px}.step-txt{flex:1}.step-hint{font-size:9.5px;color:#9ca3af}.step.can{background:#ecfdf5}.step.can .step-n{background:#16a34a;color:#fff}.step.can .step-txt{color:#065f46;font-weight:700}.step.done .step-n{background:#d1d5db;color:#fff}.step.done .step-txt{color:#9ca3af;text-decoration:line-through}.step.no .step-n{background:#e5e7eb;color:#9ca3af}.step.no .step-txt{color:#9ca3af}.step.locked .step-n{background:#f3f4f6;color:#d1d5db}.step.locked .step-txt{color:#c9ccd1}.attack-list{display:flex;flex-direction:column;gap:6px}.attack-btn{text-align:left;padding:8px 10px;border-radius:9px;border:1.5px solid #e5e7eb;background:#fff;cursor:pointer;font-size:12px;width:100%;transition:all .15s}.attack-btn:hover:not(:disabled){border-color:#2563eb;background:#eff6ff;transform:translate(2px)}.attack-btn:disabled{opacity:.45;cursor:not-allowed}.attack-head{display:flex;align-items:baseline;gap:6px}.attack-cost{color:#d97706;font-weight:900;font-size:11px;white-space:nowrap}.attack-name{font-weight:800;flex:1}.attack-dmg{font-weight:900;color:#dc2626}.attack-text{font-size:9.5px;color:#9ca3af;margin-top:3px;line-height:1.3}.btn{padding:7px 13px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:background .15s}.btn-blue{background:#2563eb;color:#fff}.btn-blue:hover:not(:disabled){background:#1d4ed8}.btn-green{background:#16a34a;color:#fff}.btn-green:hover:not(:disabled){background:#15803d}.btn-red{background:#dc2626;color:#fff}.btn-red:hover:not(:disabled){background:#b91c1c}.btn-gray{background:#6b7280;color:#fff}.btn-gray:hover:not(:disabled){background:#4b5563}.btn:disabled{opacity:.38;cursor:not-allowed}.log-area{height:150px;overflow-y:auto;font-size:11.5px;line-height:1.6;color:#4b5563}.log-area p{margin:0}.log-area p:last-child{color:#111;font-weight:700}#overlay{position:fixed;inset:0;background:#000000b8;align-items:center;justify-content:center;z-index:100}@media(max-width:1080px){.board-grid{grid-template-columns:1fr;grid-template-areas:"mat" "hand" "side"}.playmat{grid-template-columns:84px minmax(0,1fr) 84px;padding:10px;gap:7px}#game-board{--cw: 58px;--ch: 81px;--aw: 70px;--ah: 97px;--pw: 26px;--ph: 36px;--dw: 46px;--dh: 64px}.bench-row{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}}.seg{display:flex;gap:6px;justify-content:center}.seg button{padding:7px 18px;border-radius:10px;font-size:14px;font-weight:700;border:2px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;cursor:pointer;transition:all .15s}.seg button:hover{background:#ffffff40}.seg button.on{background:#fff;color:#3b4cca;border-color:#fff}.deck-btn{border-radius:14px;border:2px solid rgba(255,255,255,.35);background:#ffffff1f;padding:14px 10px;text-align:center;cursor:pointer;transition:all .15s;color:#fff}.deck-btn:hover{background:#ffffff47;transform:translateY(-3px)}.deck-btn .em{font-size:34px;line-height:1}.deck-btn .zh{margin-top:6px;font-size:16px;font-weight:800}.deck-btn .mons{margin-top:3px;font-size:10.5px;color:#ffffffa6;line-height:1.35}.deck-btn .rel{margin-top:5px;font-size:10px;color:#ffffff80}.pc-conds{position:absolute;top:-6px;left:-5px;display:flex;gap:2px;z-index:6}.pc-cond{width:19px;height:19px;border-radius:50%;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px #00000073;background:#fff}.cond-asleep{background:#c7d2fe}.cond-paralyzed{background:#fde68a}.cond-confused{background:#fbcfe8}.cond-burned{background:#fecaca}.cond-poisoned{background:#d9f99d}.pcard.rot-asleep{transform:rotate(-8deg);filter:grayscale(.65) brightness(.92)}.pcard.rot-paralyzed{transform:rotate(8deg);filter:grayscale(.65) brightness(.92)}.pcard.rot-confused{transform:rotate(3deg)}.pcard.rot-confused .pc-art{animation:confuse-wobble 2.2s ease-in-out infinite}@keyframes confuse-wobble{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.pcard.is-target{border-color:#a855f7;animation:target-pulse 1.1s ease-in-out infinite;cursor:pointer}@keyframes target-pulse{0%,to{box-shadow:0 0 0 2px #e9d5ff,0 3px 8px #00000059}50%{box-shadow:0 0 0 7px #a855f773,0 3px 8px #00000059}}.pcard.playable{border-color:#16a34a;box-shadow:0 0 0 2px #bbf7d0,0 3px 8px #00000059}.pc-tag{position:absolute;bottom:-7px;left:50%;transform:translate(-50%);font-size:8px;font-weight:900;padding:1px 6px;border-radius:8px;white-space:nowrap;border:1.5px solid #fff;box-shadow:0 1px 3px #0006;z-index:7}.tag-evo{background:#16a34a;color:#fff}.tag-item{background:#0ea5e9;color:#fff}.tag-sup{background:#f59e0b;color:#fff}.tag-stage{background:#6b7280;color:#fff}.pcard.is-trainer .pc-body{padding-bottom:5px}.pcard.evolved:before{content:"";position:absolute;inset:3px -3px -3px 3px;border-radius:7px;background:#cbd5e1;border:2px solid #94a3b8;z-index:-1}.coin-overlay{position:fixed;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:#0000008c;z-index:200}.coin{width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:900;color:#7c2d12;background:radial-gradient(circle at 35% 28%,#fef3c7,#f59e0b 60%,#b45309);border:5px solid #92400e;box-shadow:0 12px 34px #0000008c}.coin.spin{animation:coin-spin .62s cubic-bezier(.25,.8,.3,1)}@keyframes coin-spin{0%{transform:rotateY(0) scale(.55)}to{transform:rotateY(1440deg) scale(1)}}.coin-why{color:#fff;font-size:14px;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.7)}.coin-res{font-size:20px;font-weight:900;letter-spacing:.08em}.coin-res.heads{color:#4ade80}.coin-res.tails{color:#f87171}#pending-bar{display:none;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;background:#faf5ff;border:1.5px solid #d8b4fe;color:#6b21a8;font-size:13px;font-weight:700}#pending-bar.show{display:flex}#pending-bar button{margin-left:auto}.fx-row{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.fx{font-size:9px;font-weight:800;padding:1px 5px;border-radius:6px;background:#ede9fe;color:#6d28d9}.fx.warn{background:#fef3c7;color:#92400e}.fx.na{background:#f3f4f6;color:#9ca3af}
