:root{--bg-ink: #08161f;--bg-night: #102734;--paper: #ece5d4;--paper-soft: #f5efe2;--ink: #142433;--ink-muted: #5f6e78;--line: rgba(20, 36, 51, .26);--atk: #d65a3a;--atk-soft: #f3b39a;--def: #2e8ba3;--def-soft: #8ec9d8;--ok: #1f8f5f;--danger: #b23831}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:Segoe UI,Noto Sans,Tahoma,sans-serif;background:radial-gradient(circle at 0% 0%,rgba(214,90,58,.18),transparent 45%),radial-gradient(circle at 100% 100%,rgba(46,139,163,.2),transparent 44%),linear-gradient(145deg,var(--bg-ink),var(--bg-night))}button,input,select{font:inherit}.appRoot{position:relative;min-height:100vh;padding:20px;isolation:isolate}.paperOverlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.12;background:repeating-linear-gradient(10deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 1px,transparent 1px,transparent 7px),radial-gradient(circle at 10% 10%,rgba(255,255,255,.65),transparent 35%),radial-gradient(circle at 80% 70%,rgba(0,0,0,.35),transparent 42%)}.inkPanel{position:relative;background:linear-gradient(165deg,#f5efe2f2,#ece5d4f0);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 36px #00000038,inset 0 1px #ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lobbyPanel{width:min(520px,96vw);margin:4vh auto;padding:24px}.lobbyPanel h1{margin:0 0 14px;font-size:clamp(30px,5vw,42px);line-height:1.05}.connectionLabel{margin:0 0 20px;font-weight:700}.connectionLabel.online{color:var(--ok)}.connectionLabel.offline{color:var(--danger)}.field{display:grid;gap:7px;margin-bottom:14px;font-weight:650}.field input,.field select{border:1px solid rgba(20,36,51,.25);border-radius:10px;padding:10px 12px;background:#ffffffc2}.buttonRow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.characterPicker{margin:10px 0 14px;padding:10px;border-radius:12px;border:1px solid rgba(20,36,51,.15);background:#ffffff7a}.characterPickerTitle{margin:0 0 8px;font-weight:700}.characterGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.characterCard{border:1px solid rgba(20,36,51,.2);background:#fffc;border-radius:10px;padding:8px;display:grid;gap:6px;justify-items:center;cursor:pointer}.characterCardPreview{position:relative;width:100%;max-width:90px;aspect-ratio:2 / 3;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#10273424,#1027340d);border:1px solid rgba(20,36,51,.16)}.characterCardPreview img{position:absolute;left:50%;top:50%;width:110%;height:110%;object-fit:contain}.characterCard span{font-weight:700}.characterCard small{color:var(--ok);font-weight:700}.characterCard.active{border-color:#102734cc;box-shadow:0 0 0 2px #1027342e}.characterHint{margin:8px 0 0;color:var(--ink-muted);font-size:13px}.devToolsLine{margin:0 0 12px}.devToolsLink{color:#12394f;font-weight:700}.rulesCheat{margin:14px 0 8px;padding:12px 14px;border:1px solid rgba(20,36,51,.15);border-radius:12px;background:#ffffff73}.rulesCheatTitle{margin:0 0 8px;font-weight:700}.rulesCheatList{margin:0;padding-left:18px;display:grid;gap:4px}.rulesCheatList li{line-height:1.25}.rulesCheatFootnote{margin:8px 0 0;font-size:13px;color:#142433c7}.topNav{position:fixed;top:10px;right:12px;z-index:40;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:min(96vw,900px)}.topNavLink{text-decoration:none;color:#fff;background:#142433d9;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 12px;font-weight:700}.topNavLink.active{background:#f5efe2;color:var(--ink)}.topNavUser{color:#fff;font-weight:700;padding:6px 4px 6px 10px}.topNavLogout{border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#142433d9;color:#fff;padding:8px 12px;font-weight:700;cursor:pointer}.topNavLogout:hover{filter:brightness(1.08)}.authPageRoot{min-height:100vh;display:grid;place-items:center;gap:16px;padding:80px 16px 24px}.authPanel{width:min(100%,430px);display:grid;gap:12px}.authForm{display:grid;gap:10px}.authFooter{margin:0;color:#142433cc}.authFooter a{color:#1c3445;font-weight:700}.rulesCard{width:min(100%,760px);background:#f5efe2f2;border-radius:16px;border:1px solid rgba(20,36,51,.18);box-shadow:0 6px 24px #0000001f;padding:16px 18px}.rulesCard h2{margin:0 0 10px}.rulesCard ul{margin:0;padding-left:18px;display:grid;gap:6px}.lobbyAuthUser{margin:2px 0 0;font-weight:700;color:#142433cc}.uiButton,.copyButton,.actionButton{border:1px solid transparent;border-radius:10px;padding:10px 14px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.uiButton,.actionButton.primary{color:#fff;background:linear-gradient(130deg,#1c3445,#2a526b)}.uiButton:hover,.actionButton:hover,.copyButton:hover{transform:translateY(-1px);filter:brightness(1.03)}.uiButton:disabled,.actionButton:disabled{cursor:not-allowed;opacity:.45;transform:none}.gameLayout{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.hudPanel{grid-column:1 / -1;padding:10px;display:grid;grid-template-columns:1fr minmax(260px,1.2fr) 1fr;gap:8px;align-items:center}.hudPlayer{border-radius:12px;padding:8px 10px;background:#ffffff59;border:1px solid rgba(20,36,51,.16)}.hudPlayer.left{background:linear-gradient(160deg,#b5ddff80,#d6edff5c);border-color:#457da573}.hudPlayer.right{background:linear-gradient(160deg,#ffc4c470,#ffe3e357);border-color:#aa595973;text-align:right}.hudLabel{margin:0;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);font-size:12px}.hudName{margin:2px 0 4px;font-size:16px;font-weight:800}.hudHp{margin:2px 0;display:flex;align-items:center;gap:6px;font-weight:700;line-height:1.2}.hudPlayer.right .hudHp{justify-content:flex-end}.hudCenter{text-align:center}.phaseLabel,.timerLabel,.roomCodeLine,.matchResult{margin:2px 0}.timerLabel{display:inline-flex;gap:6px;align-items:center}.copyButton{margin-left:9px;background:#fff9;border-color:#14243333;color:var(--ink);padding:6px 10px}.matchResult{font-size:18px;font-weight:900;color:#0d2d47}.balanceEditorRoot{max-width:1100px;margin:4vh auto;padding:20px}.leaderboardPage{max-width:980px;margin:4vh auto;padding:20px}.leaderboardHeader h1{margin:0 0 8px}.leaderboardHeader p{margin:0}.leaderboardToolbar{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.leaderboardSortGroup{display:flex;flex-wrap:wrap;gap:8px}.leaderboardSortButton{border:1px solid rgba(20,36,51,.2);border-radius:10px;background:#ffffff9e;color:var(--ink);font-weight:700;padding:9px 12px;cursor:pointer}.leaderboardSortButton.active{border-color:#142433a6;background:#1424331f}.leaderboardError{margin-top:14px}.leaderboardTableWrap{margin-top:14px;overflow-x:auto;border-radius:12px;border:1px solid rgba(20,36,51,.18);background:#ffffff73}.leaderboardTable{width:100%;border-collapse:collapse;min-width:680px}.leaderboardTable th,.leaderboardTable td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(20,36,51,.14)}.leaderboardTable thead th{font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted);background:#14243314}.leaderboardEmpty{text-align:center;color:var(--ink-muted);font-weight:650}.adminPage{max-width:1180px;margin:4vh auto;padding:20px}.adminHeader h1{margin:0 0 8px}.adminHeader p{margin:0}.adminAuthRow{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:end}.adminAuthRow .field{margin:0;min-width:280px;flex:1 1 320px}.adminTabs{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.adminSection{margin-top:14px}.adminRoomCard{border:1px solid rgba(20,36,51,.16);border-radius:12px;padding:12px;background:#ffffff75}.adminRoomCard+.adminRoomCard{margin-top:10px}.adminRoomHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.adminRoomHead p{margin:4px 0 0}.adminPlayersTable{width:100%;border-collapse:collapse;margin-top:10px}.adminPlayersTable th,.adminPlayersTable td{border-bottom:1px solid rgba(20,36,51,.15);padding:8px;text-align:left;vertical-align:top}.adminSessionCell{display:grid;gap:6px}.adminSessionCell code{display:inline-block;font-size:12px;word-break:break-all}.adminActionsCell{display:grid;gap:6px}.adminBanForm{border:1px solid rgba(20,36,51,.16);border-radius:12px;padding:12px;background:#ffffff75}.adminBanForm h2{margin:0 0 10px}.poseEditorRoot{max-width:1280px;margin:4vh auto;padding:18px}.poseEditorHeader h1{margin:0 0 8px}.poseEditorHeader p{margin:0;color:var(--ink-muted)}.poseEditorLayout{margin-top:16px;display:grid;grid-template-columns:minmax(290px,360px) 1fr;gap:14px;align-items:start}.poseControls{padding:14px;border:1px solid rgba(20,36,51,.16);border-radius:12px;background:#ffffff6b;position:relative;z-index:3}.poseControls h2{margin:0 0 10px;font-size:18px}.poseControls .toggleRow{display:flex;margin-bottom:8px}.poseControl{display:grid;gap:6px;margin-bottom:10px;font-weight:650}.poseControlInputs{display:grid;grid-template-columns:1fr 98px;gap:8px}.poseControlInputs input[type=range]{width:100%}.poseControlInputs input[type=number]{width:100%;border:1px solid rgba(20,36,51,.25);border-radius:8px;padding:7px 8px;background:#ffffffd1}.poseSceneWrap{display:grid;gap:10px;position:relative;z-index:1}.poseRendererViewport{position:relative;width:100%;overflow:hidden}.poseRendererScene{position:absolute;transform-origin:left top;overflow:hidden}.poseRendererBackground{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center center}.poseRendererBackgroundImage{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.poseRendererCharacter{position:absolute;transform-origin:center bottom;-webkit-user-select:none;user-select:none}.poseRendererCharacterImage{width:100%;height:100%;object-fit:contain;pointer-events:none}.poseRendererCharacterLabel{pointer-events:none}.poseRendererMist{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.poseRendererDebugGrid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:1px dashed rgba(146,227,255,.8);background-image:linear-gradient(to right,rgba(146,227,255,.22) 1px,transparent 1px),linear-gradient(to bottom,rgba(146,227,255,.22) 1px,transparent 1px);background-size:100px 100px,100px 100px}.poseRendererDebugCross{position:absolute;width:0;height:0;pointer-events:none}.poseRendererDebugCrossH,.poseRendererDebugCrossV{position:absolute;display:block;background:#ff5050e6}.poseRendererDebugCrossH{left:-16px;top:-1px;width:32px;height:2px}.poseRendererDebugCrossV{left:-1px;top:-16px;width:2px;height:32px}.poseSceneFrame{width:min(100%,960px);margin-inline:auto;padding:12px;border:1px solid rgba(20,36,51,.2);border-radius:12px;background:#1424331f}.poseScene{width:100%;max-width:800px;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:#0f1f2a;margin-inline:auto}.poseBackground{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center center;cursor:pointer}.poseBackground img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.poseBackground.active{box-shadow:inset 0 0 0 2px #8ec9d8f2;cursor:grab;touch-action:none}.poseBackground.active:active{cursor:grabbing}.poseCharacter{position:absolute;width:170px;height:220px;transform-origin:center bottom;cursor:pointer;-webkit-user-select:none;user-select:none}.poseCharacter img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))}.poseCharacter span{position:absolute;left:50%;bottom:-18px;transform:translate(-50%);white-space:nowrap;font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85);pointer-events:none}.poseCharacter.ghost{opacity:.45}.poseCharacter.active{opacity:1;outline:2px dashed rgba(142,201,216,.92);outline-offset:2px;cursor:grab;touch-action:none}.poseCharacter.active:active{cursor:grabbing}.poseSceneLogin{background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.16),transparent 36%),linear-gradient(160deg,#1a3040,#0f2230)}.poseLoginBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 82% 24%,rgba(214,90,58,.2),transparent 42%),radial-gradient(circle at 18% 80%,rgba(46,139,163,.28),transparent 48%)}.poseLoginCards{position:absolute;top:0;right:0;bottom:0;left:0}.poseLoginCard{position:absolute;width:180px;height:260px;transform:translate(-50%,-50%);border-radius:14px;border:1px solid rgba(255,255,255,.3);background:#f5efe2d9;box-shadow:0 12px 20px #0000003d;-webkit-user-select:none;user-select:none}.poseLoginCard.ghost{opacity:.45}.poseLoginCard.active{opacity:1;box-shadow:0 12px 20px #0000003d,0 0 0 2px #8ec9d8f2}.poseLoginCharacter{position:absolute;top:8px;right:8px;bottom:34px;left:8px;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#10273429,#1027340a)}.poseLoginCharacter.active{outline:2px dashed rgba(142,201,216,.92);outline-offset:-2px;cursor:grab;touch-action:none}.poseLoginCharacter.active:active{cursor:grabbing}.poseLoginCharacter img{position:absolute;left:50%;top:50%;width:112%;height:112%;object-fit:contain;pointer-events:none}.poseLoginCard span{position:absolute;left:50%;bottom:8px;transform:translate(-50%);font-size:12px;font-weight:700;color:#102734}.poseSceneHint{margin:0;color:var(--ink-muted);font-size:13px}.poseBattlePreviewBlock{display:grid;gap:8px;padding-top:10px;border-top:1px solid rgba(20,36,51,.2)}.poseBattlePreviewBlock h3{margin:0;font-size:15px}.poseBattlePreviewScene{width:min(100%,640px);margin-inline:auto;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#0f1f2a;pointer-events:none}.poseEditorBackLink{text-decoration:none}.hiddenFileInput{display:none}.balanceHeader h1{margin:0 0 8px}.balanceStatus{margin-top:12px;padding:14px;border-radius:12px;background:#ffffff73;border:1px solid rgba(20,36,51,.16)}.balanceSection{margin-top:14px;padding:14px;border-radius:12px;background:#ffffff7a;border:1px solid rgba(20,36,51,.16)}.balanceSection h2{margin-top:0}.balanceField{margin-bottom:12px}.toggleRow{display:inline-flex;align-items:center;gap:8px;font-weight:650}.toggleRow input{width:18px;height:18px}.balanceErrorsList ul{margin-top:6px;margin-bottom:0}.okText{color:var(--ok)}.matchResultWrap{margin-top:6px;display:inline-flex;align-items:center;gap:10px}.rematchButton{padding:7px 11px}.scenePanel{grid-column:1 / -1;padding:18px}.sceneBattleRow{display:flex;justify-content:flex-end;align-items:stretch;gap:12px}.duelScene{position:relative;width:min(100%,520px);aspect-ratio:16 / 9;border-radius:14px;border:1px solid rgba(255,255,255,.16);overflow:hidden;flex:0 1 auto}.arenaBackgroundLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.arenaBackgroundLayer img,.arenaBackgroundImage{width:100%;height:100%;object-fit:cover}.arenaOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.arenaCharactersLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.sceneMist{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent),radial-gradient(circle at 50% 60%,rgba(255,255,255,.18),transparent 40%);z-index:1;pointer-events:none}.avatarSprite{position:absolute;z-index:2}.avatarSpriteImage{width:100%;height:100%;object-fit:contain;transform-origin:center bottom;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35));-webkit-user-select:none;user-select:none;pointer-events:none}.slashEffect{position:absolute;width:65%;height:6px;top:42%;border-radius:999px;background:linear-gradient(90deg,transparent,#fff,transparent);z-index:3}.slashEffect.from-left.to-right{left:17%;transform:rotate(-14deg)}.slashEffect.from-right.to-left{left:17%;transform:rotate(14deg)}.impactEffect{position:absolute;width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.8);z-index:3}.impactEffect.target-left{left:16%;top:44%}.impactEffect.target-right{right:16%;top:44%}.statRows{margin-top:0;display:grid;grid-template-columns:1fr;gap:10px;width:230px;flex:0 0 230px}.fighterStats{border:1px solid rgba(20,36,51,.18);border-radius:12px;padding:10px;background:linear-gradient(160deg,#b5ddff8f,#d8eeff6b);border-color:#457da56b}.fighterStats.right{text-align:left;background:linear-gradient(160deg,#ffc4c485,#ffe7e766);border-color:#aa59596b}.meterBlock+.meterBlock{margin-top:9px}.meterLabel{display:flex;gap:6px;align-items:center;margin-bottom:4px;font-size:13px}.meterLabel strong{margin-left:auto;font-size:18px}.meterTrack{width:100%;height:8px;border-radius:999px;overflow:hidden;background:#1424331a;border:1px solid rgba(20,36,51,.14)}.meterBlock.meter-self .meterTrack{background:#6cafdf4d;border-color:#366e9c59}.meterBlock.meter-opponent .meterTrack{background:#db85854d;border-color:#98474759}.meterBlock.meter-self .meterTrack.atk .meterValue{background:linear-gradient(90deg,#2d83bc,#7fc4ea)}.meterBlock.meter-self .meterTrack.def .meterValue{background:linear-gradient(90deg,#3b95cc,#9ed4f1)}.meterBlock.meter-opponent .meterTrack.atk .meterValue{background:linear-gradient(90deg,#b64a4a,#e18d8d)}.meterBlock.meter-opponent .meterTrack.def .meterValue{background:linear-gradient(90deg,#c45f5f,#ebaaaa)}.meterValue{height:100%;border-radius:inherit}.sceneOpponentPanel{width:250px;flex:0 0 250px;border:1px solid rgba(170,89,89,.35);border-radius:12px;background:linear-gradient(160deg,#ffd6d670,#fff1f152);padding:10px}.sceneOpponentPanel h3{margin:0 0 8px;font-size:16px}.sceneOpponentPanel p{margin:0 0 6px}.cardsPanel,.opponentPanel,.logPanel{padding:14px}.cardsPanel{grid-column:1 / -1}.cardsPanel h2,.opponentPanel h2,.logPanel h2{margin:0 0 10px}.cardsHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.cardsHeader h2{margin:0}.cardsSum{margin:0;font-weight:700;color:#1a3346}.cardsBoard{display:grid;grid-template-columns:minmax(210px,1fr) minmax(270px,auto) minmax(210px,1fr);gap:10px;align-items:start;margin-bottom:14px}.pendingCards{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;gap:10px;min-height:26px;padding-top:4px}.zonesWrap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.zoneDrop{border-radius:12px;border:1px dashed rgba(20,36,51,.3);background:#ffffff73;padding:10px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.zoneDrop.zone-ATK{box-shadow:inset 0 0 0 1px #d65a3a3d}.zoneDrop.zone-DEF{box-shadow:inset 0 0 0 1px #2e8ba33d}.zoneDrop.is-highlight{border-color:#111f2bbd;background:#ffffffb8}.zoneDrop.is-drop-target{border-style:solid;border-color:#111f2beb;background:#ffffffd1;box-shadow:inset 0 0 0 2px #111f2b33}.zoneHeader{margin-bottom:6px}.zoneHeaderButton{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:8px;background:transparent;padding:2px 4px;color:inherit;text-align:left;cursor:pointer}.zoneHeaderButton:hover:not(:disabled){background:#ffffff73}.zoneHeaderButton:disabled{cursor:default}.zoneHeader h3{margin:0;font-size:13px}.zoneHeader span{font-size:20px;font-weight:800}.zoneStack{position:relative;min-height:132px;padding-bottom:4px}.zoneStackItem{position:absolute}.zoneEmpty{margin:0;color:var(--ink-muted);font-style:italic}.actionPanel{margin-top:18px;border-top:1px solid rgba(20,36,51,.16);padding-top:10px}.actionHint{margin:0;font-weight:650}.actionHint.special{margin-top:6px;color:var(--danger)}.selectedCardMeta{margin:8px 0}.totalProgressBlock{margin-top:8px;margin-bottom:10px}.totalProgressHeader{margin:0 0 6px;font-weight:700;color:#143451}.totalProgressTrack{width:100%;height:10px;border-radius:999px;border:1px solid rgba(20,36,51,.18);background:#ffffff9e;overflow:hidden}.totalProgressFill{height:100%;border-radius:inherit;transition:width .2s ease}.totalProgressFill.is-safe{background:linear-gradient(90deg,#2e8ba3,#8ec9d8)}.totalProgressFill.is-near{background:linear-gradient(90deg,#d49a2a,#f0c46a)}.totalProgressFill.is-bust{background:linear-gradient(90deg,#b33232,#e16565)}.totalProgressStatus{margin:6px 0 0;font-size:13px;font-weight:700}.totalProgressStatus.is-safe{color:#1d5968}.totalProgressStatus.is-near{color:#8a5c00}.totalProgressStatus.is-bust{color:var(--danger)}.actionButtons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.drawActionButtons{margin-top:14px}.actionButton{background:#ffffffb3;border-color:#14243333;color:var(--ink)}.actionButton.ghost{background:#fff9}.actionButton.ghost.active{border-color:#102734bf}.cardView{width:116px;height:154px;border:none;padding:0;background:transparent;perspective:820px;position:relative;transition:opacity .12s ease}.cardView.is-clickable{cursor:pointer}.cardView.is-selected{filter:drop-shadow(0 0 .35rem rgba(255,255,255,.75))}.cardView.is-glow{filter:drop-shadow(0 10px 12px rgba(11,24,34,.34))}.cardView.is-dragging{opacity:.45}.cardFlip{width:100%;height:100%;position:relative;transform-style:preserve-3d}.cardFace{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:1px solid rgba(20,36,51,.24);box-shadow:0 12px 20px #00000038;backface-visibility:hidden;overflow:hidden}.cardFront{background:linear-gradient(160deg,var(--paper-soft),var(--paper));color:var(--ink)}.card-red{color:#b43a30}.card-black{color:#202b33}.cardBack{transform:rotateY(180deg);display:grid;place-items:center;color:#ffffffd9;background:linear-gradient(135deg,#1f3c4f,#17303f),repeating-linear-gradient(-32deg,rgba(255,255,255,.13) 0,rgba(255,255,255,.13) 2px,transparent 2px,transparent 8px)}.cardBackSeal{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;font-size:19px}.cardCorner{position:absolute;top:8px;left:10px;font-size:15px;font-weight:700}.cardPoints{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);font-size:38px;font-weight:900}.cardSuitMark{position:absolute;bottom:8px;right:10px;font-size:21px}.sceneOpponentPanel .cardView,.backStackRow .cardView{width:60px;height:84px}.opponentBacks{display:grid;gap:8px}.backStackRow{display:flex;flex-wrap:wrap;gap:6px}.logPanel{min-height:280px}.logBox{max-height:290px;overflow-y:auto;border-radius:12px;border:1px solid rgba(20,36,51,.2);background:#ffffff8f;padding:10px}.logLine{margin:0 0 6px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.45}.mutedText{color:var(--ink-muted)}.errorText{color:var(--danger);font-weight:800;margin:8px 0 0}.noticeText{color:var(--ok);font-weight:700;margin:8px 0 0}@media(max-width:980px){.poseEditorLayout{grid-template-columns:1fr}.poseControls{order:2}.poseSceneWrap{order:1}.gameLayout{grid-template-columns:1fr}.hudPanel{grid-template-columns:1fr;text-align:left}.hudPlayer.right{text-align:left}.hudPlayer.right .hudHp{justify-content:flex-start}.hudCenter{text-align:left}.sceneBattleRow{flex-direction:column;align-items:stretch}.sceneOpponentPanel,.statRows{width:100%;flex:1 1 auto}.copyButton{margin-left:0;margin-top:6px}.cardsBoard,.statRows{grid-template-columns:1fr}.cardsHeader{flex-direction:column;align-items:flex-start;gap:4px}.characterGrid{grid-template-columns:repeat(3,minmax(72px,1fr))}}@media(max-width:720px){.characterGrid{grid-template-columns:repeat(3,minmax(62px,1fr))}}@media(max-width:560px){.appRoot{padding:12px}.poseControlInputs{grid-template-columns:1fr 84px}.cardsBoard{gap:8px}.cardView{width:102px;height:138px}.sceneOpponentPanel .cardView,.backStackRow .cardView{width:54px;height:78px}}
