@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700;900&display=swap";:root{color-scheme:dark;font-family:Manrope,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:#f2efe7;background:#101319;font-synthesis:none;text-rendering:optimizeLegibility;--font-ui: "Manrope", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Noto Serif SC", "Songti SC", serif;--font-data: "DM Mono", "Noto Sans SC", "PingFang SC", sans-serif;--type-caption: 10px;--type-label: 11px;--type-control: 12px;--type-body: 13px;--type-subtitle: 15px;--type-title: 20px;--type-heading: 28px;--ink: #101319;--ink-soft: #161b23;--ink-raised: #1d232c;--ink-line: rgba(233, 229, 215, .12);--paper: #f2efe7;--muted: #9ea3a6;--muted-2: #6f777d;--jade: #68b09a;--cinnabar: #d5664e;--gold: #d8b267;--blue: #7d9ec3;--shadow: 0 20px 60px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;background:radial-gradient(circle at 50% -20%,rgba(61,74,89,.24),transparent 38%),var(--ink)}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;border-bottom:1px solid var(--ink-line);background:#101319e6}.brand-lockup,.landing-brand{display:flex;align-items:center;gap:12px}.brand-lockup strong{display:block;font-family:"Noto Serif SC",serif;font-size:17px;letter-spacing:.06em}.brand-lockup span{display:block;color:var(--muted-2);font:10px/1.3 DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.brand-seal{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(216,178,103,.72);color:var(--gold);font-family:"Noto Serif SC",serif;font-size:18px;transform:rotate(-3deg)}.brand-seal.large{width:56px;height:56px;font-size:29px;border-width:2px}.topbar-center{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:12px}.connection-dot,.room-code{display:flex;align-items:center;gap:7px}.connection-dot i{width:7px;height:7px;border-radius:50%;display:block;background:var(--muted-2)}.connection-dot i.online{background:var(--jade);box-shadow:0 0 0 4px #68b09a1f}.connection-dot i.offline{background:var(--cinnabar)}.room-code{padding:6px 10px;border:1px solid var(--ink-line);color:var(--paper);font:11px DM Mono,monospace;letter-spacing:.09em}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button,.profile-button{border:1px solid var(--ink-line);color:var(--muted);background:transparent;display:inline-flex;align-items:center;justify-content:center}.icon-button{width:35px;height:35px}.icon-button:hover{color:var(--gold);border-color:#d8b2678c}.profile-button{gap:8px;padding:5px 9px 5px 5px;color:var(--paper);font-size:12px}.profile-avatar{width:24px;height:24px;display:grid;place-items:center;color:var(--ink);background:var(--gold);font-family:"Noto Serif SC",serif;font-weight:700}.game-layout{max-width:1600px;min-height:calc(100vh - 68px);margin:0 auto;display:grid;grid-template-columns:224px minmax(560px,1fr) 280px;gap:20px;padding:24px 28px 30px}.left-rail,.right-rail{min-width:0}.left-rail{display:flex;flex-direction:column;gap:26px;padding:3px 0 0}.rail-heading{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.rail-heading h1{margin:7px 0 0;color:var(--paper);font:600 18px/1.2 "Noto Serif SC",serif}.overline,.phase-kicker{display:block;color:var(--muted-2);font:10px/1.2 DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.phase-meter{padding:16px 0 0;border-top:1px solid var(--ink-line)}.phase-meter-track{height:2px;background:#e9e5d71a}.phase-meter-track span{display:block;height:100%;background:var(--gold);transition:width .5s ease}.phase-steps{display:flex;justify-content:space-between;padding-top:9px;color:var(--muted-2);font:9px DM Mono,monospace}.phase-steps .done{color:var(--gold)}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:var(--muted);font-size:11px}.section-label em{color:var(--gold);font:10px DM Mono,monospace;font-style:normal}.roster-list{display:flex;flex-direction:column;gap:1px}.roster-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:35px;border-bottom:1px solid rgba(233,229,215,.07);color:var(--muted);font-size:11px}.roster-row.is-you{color:var(--paper)}.roster-index{width:21px;height:21px;display:grid;place-items:center;color:var(--ink);background:#4b5157;font:10px DM Mono,monospace}.roster-index.faction-魏{background:#ca7561}.roster-index.faction-蜀{background:#76a989}.roster-index.faction-吴{background:#849bc0}.roster-index.faction-群{background:#b99560}.roster-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-status{color:var(--muted-2);font:9px DM Mono,monospace}.room-note{display:flex;gap:10px;padding:13px 0;border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line)}.note-icon{width:25px;height:25px;display:grid;place-items:center;color:var(--jade);border:1px solid rgba(104,176,154,.36);flex:none}.room-note strong{display:block;color:var(--paper);font-size:11px;font-weight:600}.room-note p{margin:5px 0 0;color:var(--muted-2);font-size:10px;line-height:1.55}.left-rail-footer{display:flex;justify-content:space-between;margin-top:auto;color:var(--muted-2);font:9px DM Mono,monospace}.table-column{min-width:0;display:flex;flex-direction:column;gap:15px}.table-toolbar{display:flex;justify-content:space-between;align-items:flex-end;min-height:41px}.toolbar-phase{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px}.toolbar-phase strong{color:var(--paper);font-family:"Noto Serif SC",serif;font-size:18px;font-weight:600}.toolbar-help{display:flex;align-items:center;gap:7px;color:var(--muted-2);font-size:11px}.timer-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;color:var(--gold);border:1px solid rgba(216,178,103,.28);font:10px DM Mono,monospace}.battle-table{position:relative;min-height:560px;overflow:hidden;border:1px solid rgba(216,178,103,.25);background:radial-gradient(ellipse at center,#344942,#253730 48%,#17211f);box-shadow:var(--shadow),inset 0 0 0 9px #1119185c}.table-grain{position:absolute;inset:0;opacity:.2;background-image:repeating-linear-gradient(105deg,rgba(255,255,255,.025) 0 1px,transparent 1px 6px),repeating-linear-gradient(13deg,rgba(0,0,0,.04) 0 1px,transparent 1px 9px);pointer-events:none}.battle-table:before{content:"";position:absolute;inset:20px;border:1px solid rgba(216,178,103,.18);pointer-events:none}.table-ribbon{position:absolute;top:31px;left:50%;transform:translate(-50%);display:flex;gap:10px;color:#f2efe7ad;font:9px DM Mono,monospace;letter-spacing:.08em;white-space:nowrap}.ribbon-divider{width:1px;height:12px;background:#d8b26773}.seat-position{position:absolute;z-index:2;width:205px}.pos-top{top:67px;left:50%;transform:translate(-50%)}.pos-left{left:40px;top:205px}.pos-right{right:40px;top:205px}.pos-bottom-left{left:68px;bottom:40px}.pos-bottom-right{right:68px;bottom:40px}.player-seat{position:relative;display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid rgba(242,239,231,.14);background:#111817c2;box-shadow:0 9px 18px #00000024}.player-seat.is-you{border-color:#d8b2678c}.player-seat.is-active{border-color:var(--jade);box-shadow:0 0 0 2px #68b09a1f,0 9px 18px #0003}.player-seat.is-folded{opacity:.46}.player-order-strip{position:absolute;top:46px;left:50%;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(92%,780px);transform:translate(-50%)}.ordered-seat{position:relative;min-width:0}.ordered-seat .player-seat{width:100%;min-width:0}.seat-order{position:absolute;top:-6px;left:-6px;z-index:5;display:grid;place-items:center;width:20px;height:20px;color:#fff3d6;border:1px solid rgba(241,229,202,.55);background:#51483c;box-shadow:0 3px 8px #00000057;font:700 9px/1 DM Mono,monospace}.seat-order.faction-魏{background:#346f9b}.seat-order.faction-蜀{background:#aa4337}.seat-order.faction-吴{background:#347a63}.seat-order.faction-群{background:#765478}.empty-seat{justify-content:center;color:var(--muted-2);border-style:dashed;background:#11181757;font-size:10px}.seat-avatar{width:29px;height:29px;display:grid;place-items:center;flex:none;color:var(--paper);background:#4d5753;font-family:"Noto Serif SC",serif;font-size:13px;font-weight:700}.seat-avatar.faction-魏{background:#a95243}.seat-avatar.faction-蜀{background:#4c8169}.seat-avatar.faction-吴{background:#537197}.seat-avatar.faction-群{background:#926d3e}.seat-copy{min-width:0;flex:1}.seat-name{display:flex;align-items:center;gap:5px;color:var(--paper);font-size:11px;font-weight:600}.seat-name em{padding:1px 4px;color:var(--ink);background:var(--gold);font:8px DM Mono,monospace;font-style:normal}.seat-meta{display:flex;justify-content:space-between;gap:5px;margin-top:3px;color:var(--muted-2);font:8px DM Mono,monospace}.seat-stack{display:flex;align-items:center;gap:3px;color:var(--gold);font:9px DM Mono,monospace}.turn-pulse{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:var(--jade);border:2px solid #20342d;border-radius:50%;animation:pulse 1.2s infinite}.seat-locked{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:17px;height:17px;color:var(--ink);background:var(--gold);border-radius:50%}@keyframes pulse{50%{box-shadow:0 0 0 5px #68b09a17}}.pot-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;min-width:165px;text-align:center;z-index:1}.pot-label{display:flex;align-items:center;gap:6px;color:#f2efe79e;font:10px DM Mono,monospace}.pot-center strong{margin-top:4px;color:var(--gold);font:700 36px/1 "Noto Serif SC",serif;letter-spacing:.03em}.pot-center>span{margin-top:4px;color:#f2efe770;font:9px DM Mono,monospace}.pot-center small{margin-top:15px;color:var(--jade);font-size:10px}.center-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);display:flex;align-items:center;gap:3px;color:#d8b26729;font:700 10px/.9 "Noto Serif SC",serif;pointer-events:none}.center-seal svg{width:28px;height:28px}.public-effects{position:absolute;left:50%;bottom:133px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;width:min(80%,480px)}.public-effects>span{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;color:#f2efe7bf;border:1px solid rgba(242,239,231,.14);background:#0e141357;font-size:9px}.public-effects>span i{display:grid;place-items:center;width:15px;height:15px;color:var(--ink);background:var(--gold);font-style:normal;font-size:8px}.public-effects .is-resolving{color:var(--gold);border-color:#d8b26785}.effects-empty{color:#f2efe759!important;border-style:dashed!important}.resolution-stage{position:absolute;left:50%;bottom:176px;z-index:3;display:flex;align-items:center;flex-direction:column;gap:4px;width:min(74%,300px);padding:9px 12px;transform:translate(-50%);border:1px solid rgba(216,178,103,.56);background:#0d1413db;box-shadow:0 12px 30px #00000038;text-align:center;animation:resolution-rise .65s cubic-bezier(.2,.8,.2,1) both}.resolution-stage .stage-kicker{color:var(--jade);font:8px DM Mono,monospace;letter-spacing:.1em}.resolution-stage strong{color:var(--paper);font:600 12px "Noto Serif SC",serif}.resolution-stage>span:last-child{color:var(--gold);font:10px DM Mono,monospace}.resolution-stage>span:last-child b{color:var(--paper);font-family:"Noto Serif SC",serif;font-weight:600}.card-stat-grid span.is-highlighted{color:#9f5d2d;animation:stat-rise .72s cubic-bezier(.2,.8,.2,1) both}.card-stat-grid span.is-highlighted b{color:#9f5d2d}@keyframes resolution-rise{0%{opacity:0;transform:translate(-50%,10px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes stat-rise{0%{opacity:.5;transform:translateY(5px)}55%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.result-banner{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;align-items:center;gap:9px;width:min(82%,390px);padding:11px 14px;border:1px solid rgba(216,178,103,.48);background:#0f1213c7;color:var(--gold)}.result-banner div{min-width:0}.result-banner strong,.result-banner span{display:block}.result-banner strong{font-family:"Noto Serif SC",serif;font-size:13px}.result-banner span{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-zone{padding:4px 4px 0}.hand-heading{display:flex;align-items:flex-end;justify-content:space-between}.hand-heading h2,.panel-heading h2{margin:5px 0 0;color:var(--paper);font:600 16px "Noto Serif SC",serif}.hand-hint{display:flex;align-items:center;gap:5px;color:var(--muted-2);font:10px DM Mono,monospace}.hand-cards{display:flex;gap:12px;margin-top:12px}.playing-card{position:relative;width:151px;min-height:203px;padding:13px 12px 11px;color:#211f1b;background:linear-gradient(145deg,#faf6e9,#e7dbc3);border:1px solid rgba(126,103,69,.48);box-shadow:4px 8px 12px #0000002e;overflow:hidden}.playing-card:after{content:"";position:absolute;inset:7px;border:1px solid rgba(119,92,52,.17);pointer-events:none}.playing-card.faction-魏{background:linear-gradient(145deg,#fbefe3,#e7c8b4)}.playing-card.faction-蜀{background:linear-gradient(145deg,#f2f5e4,#cedebf)}.playing-card.faction-吴{background:linear-gradient(145deg,#e8f1f2,#c7d7d9)}.playing-card.faction-群{background:linear-gradient(145deg,#f7efdc,#deca9f)}.card-topline,.card-stat-grid{position:relative;z-index:1;display:flex;justify-content:space-between}.card-faction{color:#7e6045;font:11px "Noto Serif SC",serif}.card-mark{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(33,31,27,.36);border-radius:50%;font:11px "Noto Serif SC",serif}.card-name{position:relative;z-index:1;margin-top:40px;font:700 21px "Noto Serif SC",serif;writing-mode:vertical-rl;letter-spacing:.1em}.card-stat-grid{position:absolute;right:12px;bottom:33px;display:flex;flex-direction:column;gap:5px;color:#413a31;font:12px DM Mono,monospace}.card-stat-grid span{display:flex;align-items:center;gap:7px}.card-stat-grid b{color:#927b55;font:9px "Noto Serif SC",serif;font-weight:600}.card-rule{position:absolute;left:12px;right:12px;bottom:25px;border-top:1px solid rgba(33,31,27,.2)}.card-caption{position:absolute;left:12px;bottom:10px;color:#8b806c;font:7px DM Mono,monospace;letter-spacing:.03em}.card-back{display:grid;place-items:center;min-height:160px;width:117px;color:#d8b267b8;background:repeating-linear-gradient(45deg,#26342f 0 5px,#1f2b28 5px 10px);border-color:#d8b26780}.card-back span{position:relative;z-index:1;width:53px;height:53px;display:grid;place-items:center;border:1px solid currentColor;font:29px "Noto Serif SC",serif;transform:rotate(-8deg)}.right-rail{display:flex;flex-direction:column;gap:17px}.action-panel,.event-panel{border-top:2px solid var(--gold);background:#161b23bd}.action-panel{min-height:270px;padding:20px 19px 17px}.event-panel{min-height:0;flex:1;padding:17px 19px;border-top-color:#e9e5d733}.action-eyebrow{display:flex;align-items:center;gap:6px;color:var(--gold);font:10px DM Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.action-panel h2{margin:13px 0 7px;color:var(--paper);font:600 21px/1.3 "Noto Serif SC",serif}.action-panel p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.action-panel p strong{color:var(--gold);font-family:DM Mono,monospace}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:0 16px;color:#171d1b;border:1px solid var(--gold);background:var(--gold);font-size:12px;font-weight:700}.primary-action:hover{background:#e5c88d}.primary-action.full{width:100%;margin-top:20px}.primary-action:disabled{color:var(--muted-2);border-color:var(--ink-line);background:var(--ink-raised)}.action-note{display:flex;align-items:center;gap:5px;margin-top:15px;color:var(--muted-2);font:9px DM Mono,monospace}.bet-context{display:grid;grid-template-columns:1fr auto;gap:4px 7px;margin:15px 0 13px;padding-bottom:10px;border-bottom:1px solid var(--ink-line);color:var(--muted-2);font-size:10px}.bet-context strong{color:var(--gold);font:13px DM Mono,monospace}.bet-context span:last-child{grid-column:1 / -1;color:var(--muted)}.bet-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bet-grid button{min-height:37px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--paper);border:1px solid var(--ink-line);background:#e9e5d70a;font-size:10px}.bet-grid button:hover:not(:disabled){border-color:#d8b2678c;color:var(--gold)}.bet-grid button.accent{border-color:#68b09a8a;color:var(--jade)}.bet-grid button.fold{color:var(--muted-2)}.bet-grid button:disabled{opacity:.34}.bet-grid small{color:var(--muted-2);font:8px DM Mono,monospace}.option-list{display:flex;flex-direction:column;gap:7px;margin-top:16px}.option-card{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:10px 9px;text-align:left;color:var(--paper);border:1px solid var(--ink-line);background:#e9e5d709}.option-card:hover:not(:disabled),.option-card.is-selected{border-color:var(--gold);background:#d8b26714}.option-card:disabled{opacity:.55}.option-icon{width:28px;height:28px;display:grid;place-items:center;flex:none;color:var(--gold);border:1px solid currentColor}.tone-green .option-icon{color:var(--jade)}.tone-blue .option-icon{color:var(--blue)}.tone-red .option-icon{color:var(--cinnabar)}.option-body{min-width:0;display:flex;flex-direction:column;gap:3px}.option-body strong{font-family:"Noto Serif SC",serif;font-size:12px;font-weight:600}.option-body span{color:var(--muted-2);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-tag{margin-left:auto;color:var(--muted-2);font:8px DM Mono,monospace;white-space:nowrap}.option-card.is-selected .option-tag{color:var(--gold)}.reveal-list{display:flex;flex-direction:column;gap:6px;margin-top:16px}.reveal-row{position:relative;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;min-height:32px;padding:0 8px;color:var(--muted);border-bottom:1px solid rgba(233,229,215,.08);font-size:10px}.reveal-row strong{color:var(--paper);font-family:"Noto Serif SC",serif;font-size:11px}.reveal-avatar{display:grid;place-items:center;width:21px;height:21px;color:var(--ink);background:var(--gold);font-family:"Noto Serif SC",serif;font-size:9px}.reveal-row.is-current{color:var(--gold);border-bottom-color:#d8b26761}.resolve-dot{width:5px;height:5px;background:var(--jade);border-radius:50%;box-shadow:0 0 0 4px #68b09a1a}.result-crown{width:36px;height:36px;display:grid;place-items:center;color:var(--gold);border:1px solid rgba(216,178,103,.5)}.result-actions h2{margin-top:10px}.score-list{display:flex;flex-direction:column;gap:5px;margin-top:17px}.score-list>div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;min-height:27px;padding-bottom:5px;border-bottom:1px solid rgba(233,229,215,.08)}.score-list span,.score-list em{color:var(--muted-2);font:9px DM Mono,monospace;font-style:normal}.score-list strong{color:var(--paper);font-size:11px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;color:var(--muted)}.panel-heading h2{font-size:14px}.event-list{display:flex;flex-direction:column;gap:1px;max-height:415px;overflow-y:auto;margin-top:15px}.event-row{display:grid;grid-template-columns:7px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid rgba(233,229,215,.06)}.event-row p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.event-mark{width:5px;height:5px;margin-top:5px;background:var(--muted-2)}.kind-duel .event-mark{background:var(--jade)}.kind-result .event-mark{background:var(--gold)}.kind-bet .event-mark{background:var(--cinnabar)}.toast-error{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:20;padding:11px 16px;color:#fff5ee;border:1px solid rgba(213,102,78,.6);background:#632d28;box-shadow:var(--shadow);font-size:11px;white-space:pre-line}.landing{position:relative;min-height:100vh;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(69,85,89,.32),transparent 44%),#101319}.landing:before{content:"";position:absolute;inset:0;opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 80px,rgba(216,178,103,.06) 80px 81px),repeating-linear-gradient(0deg,transparent 0 80px,rgba(216,178,103,.04) 80px 81px);pointer-events:none}.landing-main{position:relative;z-index:1;width:min(680px,calc(100% - 40px));align-self:center;justify-self:center;padding:64px 0 46px}.landing-brand{justify-content:center;gap:16px}.landing-brand h1{margin:3px 0 0;color:var(--paper);font:900 41px/1.05 "Noto Serif SC",serif;letter-spacing:.12em}.landing-brand p{margin:10px 0 0;color:var(--muted);font-size:12px;letter-spacing:.06em}.landing-brand .overline{color:var(--gold)}.landing-rule{display:flex;align-items:center;gap:10px;width:170px;margin:31px auto;color:var(--gold)}.landing-rule span{flex:1;height:1px;background:#d8b26766}.landing-rule i{font-style:normal;font-size:10px}.join-form{display:grid;grid-template-columns:1fr 150px;gap:10px;max-width:520px;margin:0 auto}.join-form label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font:10px DM Mono,monospace}.join-form input{height:43px;padding:0 12px;color:var(--paper);border:1px solid var(--ink-line);outline:none;background:#e9e5d70d;font-size:13px}.join-form input:focus{border-color:var(--gold)}.join-form .primary-action{grid-column:1 / -1;margin-top:8px}.landing-error{max-width:520px;margin:13px auto 0;color:#ed9a84;font-size:11px;text-align:center;white-space:pre-line}.landing-features{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:28px;color:var(--muted-2);font:10px DM Mono,monospace}.landing-features span{display:inline-flex;align-items:center;gap:6px}.landing-features svg{color:var(--jade)}.landing-footnote{margin:30px auto 0;color:var(--muted-2);font-size:10px;text-align:center}.landing-footer{position:relative;z-index:1;display:flex;justify-content:space-between;padding:16px 28px;color:var(--muted-2);border-top:1px solid var(--ink-line);font:9px DM Mono,monospace}.landing-ornament{position:absolute;z-index:0;color:#d8b26714;font:900 34vw "Noto Serif SC",serif;line-height:1;pointer-events:none}.ornament-left{left:-4vw;top:9vh;transform:rotate(-12deg)}.ornament-right{right:-4vw;bottom:6vh;transform:rotate(8deg)}@media(max-width:1180px){.game-layout{grid-template-columns:190px minmax(500px,1fr) 250px;gap:14px;padding:18px}.seat-position{width:185px}.pos-left{left:26px}.pos-right{right:26px}.pos-bottom-left{left:36px}.pos-bottom-right{right:36px}.playing-card{width:136px;min-height:188px}.card-name{font-size:19px}}@media(max-width:900px){.topbar{padding:0 16px}.topbar-center{gap:9px}.topbar-center .room-code{display:none}.game-layout{grid-template-columns:1fr;padding:14px 14px 90px}.left-rail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.left-rail-footer{display:none}.rail-heading{grid-column:1 / -1}.phase-meter{padding-top:11px}.room-note{border-top:0}.right-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:14px}.event-list{max-height:300px}.battle-table{min-height:520px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.join-form .label-hint{margin-top:-2px;color:var(--muted-2);font-size:9px}@media(prefers-reduced-motion:reduce){.resolution-stage,.card-stat-grid span.is-highlighted{animation:none}}.game-layout{grid-template-columns:190px minmax(500px,1fr) 350px;gap:16px;padding:16px 22px 24px}.left-rail{gap:20px}.table-column{gap:11px}.battle-table{min-height:410px;height:410px}.battle-table:before{inset:15px}.table-ribbon{top:23px}.seat-position{width:180px}.pos-top{top:50px;left:50%;transform:translate(-50%)}.pos-left{left:24px;top:168px}.pos-right{right:24px;top:168px}.pos-bottom{left:50%;bottom:25px;transform:translate(-50%)}.pot-center strong{font-size:32px}.public-effects{bottom:82px;width:min(76%,430px)}.resolution-stage{bottom:102px}.result-banner{bottom:22px}.hand-zone{padding:7px 4px 0}.hand-heading h2{font-size:18px}.hand-cards{gap:15px;margin-top:10px}.playing-card{width:180px;min-height:226px}.card-name{margin-top:46px;font-size:23px}.action-panel{min-height:405px;padding:21px 20px 18px}.option-list{gap:9px;margin-top:17px}.option-card{min-height:66px;padding:10px 11px}.option-icon{width:34px;height:34px}.option-body{gap:4px}.option-body strong{font-size:14px}.option-body span{font-size:10px;line-height:1.45;white-space:normal;overflow:visible;text-overflow:clip}.option-tag{max-width:70px;text-align:right}@media(max-width:1180px)and (min-width:901px){.game-layout{grid-template-columns:160px minmax(450px,1fr) 315px;gap:12px;padding:14px}.seat-position{width:165px}.pos-left{left:18px}.pos-right{right:18px}.playing-card{width:166px;min-height:218px}}@media(max-width:640px){.app-shell{width:100%;height:var(--visual-viewport-height, 100vh);min-height:0;overflow:hidden}.topbar{height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.brand-lockup{gap:7px}.brand-lockup strong{font-size:13px}.brand-lockup span,.profile-button,.topbar-center .room-code{display:none}.brand-seal{width:27px;height:27px;font-size:14px}.topbar-center{margin-left:auto}.connection-dot{font-size:9px}.topbar-actions{gap:4px;margin-left:7px}.icon-button{width:30px;height:30px}.game-layout{width:100%;height:calc(var(--visual-viewport-height, 100vh) - 48px - env(safe-area-inset-top));min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 200px;gap:5px;overflow:hidden;padding:5px 6px max(6px,env(safe-area-inset-bottom))}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 174px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 244px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 214px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 224px}.left-rail{display:none}.table-column{min-height:0;display:grid;grid-template-rows:28px minmax(0,1fr) 158px;gap:4px;overflow:hidden}.table-toolbar{min-height:0;align-items:center}.toolbar-phase{width:100%;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:6px}.phase-kicker,.toolbar-help{display:none}.toolbar-phase strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.timer-chip{flex:none;padding:3px 6px;font-size:9px}.battle-table{min-height:0;height:100%;border-radius:0;box-shadow:inset 0 0 0 4px #1119185c}.battle-table:before{inset:8px}.table-ribbon{top:11px;gap:5px;font-size:7px;letter-spacing:0}.ribbon-divider{height:8px}.seat-position{width:112px}.pos-top{top:28px}.pos-left{left:7px;top:50%;transform:translateY(-50%)}.pos-right{right:7px;top:50%;transform:translateY(-50%)}.pos-bottom{left:50%;bottom:7px;transform:translate(-50%)}.player-seat{min-height:36px;gap:5px;padding:4px 5px}.seat-avatar{width:24px;height:24px;font-size:10px}.seat-name{font-size:10px}.seat-meta{margin-top:1px;font-size:7px}.seat-meta span:last-child,.seat-stack{display:none}.pot-center{top:49%;min-width:88px}.pot-label{gap:4px;font-size:7px}.pot-label svg{width:12px}.pot-center strong{margin-top:2px;font-size:24px}.pot-center>span{margin-top:2px;font-size:7px}.pot-center small{max-width:104px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.center-seal,.public-effects,.result-banner{display:none}.phase-revealing .pot-center{opacity:.22}.resolution-stage{left:50%;bottom:50%;width:min(76%,230px);padding:7px 9px;transform:translate(-50%,50%)}.resolution-stage strong{font-size:10px}.resolution-stage>span:last-child{font-size:9px}.hand-zone{min-height:0;overflow:hidden;padding:0 2px}.hand-heading{height:20px;align-items:center}.hand-heading .overline{display:none}.hand-heading h2{margin:0;font-size:13px}.hand-hint{font-size:8px}.hand-cards{height:134px;justify-content:center;gap:9px;margin-top:3px}.playing-card{width:128px;height:132px;min-height:132px;padding:7px 8px}.playing-card:after{inset:4px}.card-faction{font-size:8px}.card-mark{width:16px;height:16px;font-size:8px}.card-name{margin-top:22px;font-size:17px}.card-stat-grid{right:9px;bottom:22px;gap:3px;font-size:10px}.card-stat-grid span{gap:4px}.card-stat-grid b{font-size:7px}.card-rule{left:8px;right:8px;bottom:15px}.card-caption{display:none}.card-back{width:114px;min-height:132px}.card-back span{width:34px;height:34px;font-size:19px}.right-rail{min-height:0;height:100%;display:block;overflow:hidden}.action-panel{width:100%;height:100%;min-height:0;max-height:none;overflow:hidden;padding:9px 10px 8px}.event-panel{display:none}.connection-connecting .action-panel,.connection-retrying .action-panel,.connection-replaced .action-panel{opacity:.62;pointer-events:none}.action-eyebrow{font-size:8px}.action-panel h2{margin:5px 0 3px;font-size:14px}.action-panel p{font-size:9px;line-height:1.35}.action-note{display:none}.primary-action.full{min-height:33px;margin-top:8px}.bet-context{margin:6px 0;padding-bottom:5px;font-size:8px}.bet-context strong{font-size:11px}.bet-grid{gap:4px}.bet-grid button{min-height:29px;gap:4px;font-size:9px}.bet-grid button svg{width:13px}.bet-grid small{font-size:7px}.duel-actions>p,.reveal-actions>p{display:none}.option-list{gap:5px;margin-top:7px}.option-card{height:47px;min-height:47px;gap:7px;padding:5px 7px}.option-icon{width:27px;height:27px}.option-icon svg{width:13px}.option-body{gap:1px}.option-body strong{font-size:11px}.option-body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.option-tag{max-width:58px;overflow:hidden;text-overflow:ellipsis;font-size:7px}.reveal-list{gap:2px;margin-top:7px}.reveal-row{min-height:25px;padding:0 5px;font-size:8px}.reveal-row strong{font-size:9px}.reveal-avatar{width:17px;height:17px;font-size:8px}.score-list{gap:2px;margin-top:7px}.score-list>div{min-height:20px;padding-bottom:3px}.score-list strong{font-size:9px}.score-list span,.score-list em{font-size:8px}.phase-result .result-crown,.phase-result .result-actions>p{display:none}.phase-result .score-list{margin-top:5px}.phase-result .primary-action.full{margin-top:6px}.toast-error{top:calc(54px + env(safe-area-inset-top));bottom:auto;width:calc(100% - 20px);padding:8px 10px;text-align:center}.landing{height:var(--visual-viewport-height, 100vh);min-height:0}.landing-main{padding:24px 0 16px}.landing-brand{gap:10px}.landing-brand h1{font-size:31px}.landing-brand p{margin-top:6px;font-size:10px}.landing-rule{margin:18px auto}.join-form{grid-template-columns:1fr 112px}.landing-features{gap:8px 12px;margin-top:16px;font-size:9px}.landing-footnote{margin-top:16px;font-size:9px}.landing-footer{padding:10px 14px}}@media(max-width:640px)and (max-height:720px){.topbar{height:calc(44px + env(safe-area-inset-top))}.game-layout{height:calc(var(--visual-viewport-height, 100vh) - 44px - env(safe-area-inset-top));grid-template-rows:minmax(0,1fr) 200px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 158px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 218px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 190px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 202px}.table-column{grid-template-rows:24px minmax(0,1fr) 126px}.seat-position{width:102px}.pos-top{top:24px}.player-seat{min-height:32px;padding:3px 4px}.seat-avatar{width:21px;height:21px}.hand-heading{height:18px}.hand-cards{height:105px}.playing-card{width:118px;height:103px;min-height:103px}.card-name{margin-top:11px;font-size:15px}.card-stat-grid{bottom:18px}.card-rule{bottom:12px}.card-back{min-height:103px}.action-panel{padding-top:7px}.option-card{height:42px;min-height:42px}.option-list{gap:4px;margin-top:5px}}.phase-steps{gap:7px;font-size:8px}.battle-table{min-height:310px;height:310px}.battle-table:before{inset:12px}.table-ribbon{top:17px}.seat-position{width:170px}.pos-top{top:38px}.pos-left{left:19px;top:125px}.pos-right{right:19px;top:125px}.pos-bottom{bottom:16px}.player-seat{min-height:40px;padding:6px 7px}.pot-center{top:51%}.pot-center strong{font-size:28px}.public-effects{bottom:60px}.resolution-stage{bottom:70px}.hand-zone{min-height:270px;padding:10px 4px 0}.hand-cards{justify-content:center;gap:18px;margin-top:11px}.playing-card{--faction-main: #496477;--faction-deep: #16232c;--faction-light: #c7d5de;width:192px;height:248px;min-height:248px;padding:0;color:#f8f4e8;border:2px solid color-mix(in srgb,var(--faction-light) 68%,#ffffff 32%);border-radius:6px;background:var(--faction-deep);box-shadow:0 12px 24px #00000047,inset 0 0 0 3px color-mix(in srgb,var(--faction-main) 52%,transparent);isolation:isolate}.playing-card:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.82;background:linear-gradient(135deg,color-mix(in srgb,var(--faction-main) 72%,transparent),transparent 52%),repeating-linear-gradient(45deg,transparent 0 10px,rgba(255,255,255,.035) 10px 11px),var(--faction-deep)}.playing-card:after{content:"";position:absolute;inset:6px;z-index:-1;border:1px solid color-mix(in srgb,var(--faction-light) 54%,transparent);border-radius:3px;pointer-events:none}.playing-card.faction-魏{--faction-main: #337bad;--faction-deep: #142f43;--faction-light: #a8ddff;background:var(--faction-deep)}.playing-card.faction-蜀{--faction-main: #b5463f;--faction-deep: #4b1919;--faction-light: #ffb7a4;background:var(--faction-deep)}.playing-card.faction-吴{--faction-main: #2d8d72;--faction-deep: #133b31;--faction-light: #9ce7c9;background:var(--faction-deep)}.playing-card.faction-群{--faction-main: #846083;--faction-deep: #332337;--faction-light: #e5b9e3;background:var(--faction-deep)}.card-inner-frame{height:100%;display:grid;grid-template-rows:30px minmax(0,1fr) 40px 61px;padding:10px 10px 9px}.card-topline{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between}.card-faction{display:inline-flex;align-items:center;height:22px;padding:0 8px;color:#132027;background:var(--faction-light);font:700 11px "Noto Serif SC",serif}.card-corner-icon{color:var(--faction-light);opacity:.82}.card-portrait{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;border-top:1px solid color-mix(in srgb,var(--faction-light) 25%,transparent);border-bottom:1px solid color-mix(in srgb,var(--faction-light) 25%,transparent)}.card-portrait:before,.card-portrait:after{content:"";position:absolute;width:84px;height:84px;border:1px solid color-mix(in srgb,var(--faction-light) 34%,transparent);transform:rotate(45deg)}.card-portrait:after{width:58px;height:58px}.card-portrait i{position:absolute;left:50%;bottom:-24px;width:138px;height:82px;transform:translate(-50%) skewY(-8deg);background:color-mix(in srgb,var(--faction-main) 42%,transparent);clip-path:polygon(0 100%,12% 40%,28% 66%,42% 18%,58% 61%,72% 35%,100% 100%)}.card-crest{position:relative;z-index:2;color:var(--faction-light);font:900 68px/1 "Noto Serif SC",serif;text-shadow:0 3px 0 rgba(0,0,0,.22),0 0 20px color-mix(in srgb,var(--faction-main) 70%,transparent)}.card-name{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:0 2px;writing-mode:horizontal-tb;letter-spacing:0}.card-name strong{color:#fff9ea;font:800 20px/1 "Noto Serif SC",serif}.card-name span{color:color-mix(in srgb,var(--faction-light) 78%,#ffffff 22%);font:8px DM Mono,monospace}.card-stat-grid{position:static;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;color:#fff}.card-stat-grid span{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid color-mix(in srgb,var(--faction-light) 34%,transparent);background:#060c1059;transition:transform .22s ease,color .22s ease,background .22s ease}.card-stat-grid b{color:color-mix(in srgb,var(--faction-light) 86%,#ffffff 14%);font:600 9px/1 "Noto Serif SC",serif}.card-stat-grid strong{margin-top:3px;color:#fff;font:800 25px/1 DM Mono,monospace}.card-stat-grid span.is-highlighted{color:#fff7d7;background:color-mix(in srgb,var(--faction-main) 72%,rgba(6,12,16,.35));animation:stat-flash .72s ease both}.card-back{display:grid;place-items:center;width:192px;height:248px;min-height:248px;background:repeating-linear-gradient(45deg,#26342f 0 5px,#1f2b28 5px 10px)}.raise-control{margin:10px 0 12px;padding:9px 10px 7px;border:1px solid var(--ink-line);background:#e9e5d709}.raise-control.is-disabled{opacity:.42}.raise-label,.raise-bounds{display:flex;align-items:center;justify-content:space-between}.raise-label{color:var(--muted);font-size:10px}.raise-label strong{color:var(--gold);font:700 16px DM Mono,monospace}.raise-bounds{color:var(--muted-2);font:8px DM Mono,monospace}.raise-control input[type=range]{width:100%;height:20px;margin:5px 0 2px;padding:0;accent-color:var(--gold);cursor:pointer}.raise-control input[type=range]:disabled{cursor:not-allowed}.bet-grid .raise-button{grid-column:1 / -1;border-color:#d8b2677a;color:var(--gold)}.reveal-actions>p{min-height:18px}.reveal-list{gap:6px;margin-top:13px}.reveal-row{grid-template-columns:24px minmax(0,1fr) auto 42px;gap:8px;min-height:54px;padding:6px 7px;border:1px solid rgba(233,229,215,.09);background:#e9e5d706}.reveal-order{display:grid;place-items:center;width:22px;height:22px;color:var(--muted-2);border:1px solid var(--ink-line);font:9px DM Mono,monospace}.reveal-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.reveal-copy b{color:var(--paper);font:600 11px "Noto Serif SC",serif}.reveal-copy small{color:var(--muted-2);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reveal-row>strong{color:var(--paper);font-size:11px;white-space:nowrap}.reveal-state{color:var(--muted-2);font:8px DM Mono,monospace;text-align:right}.reveal-row.is-done{opacity:.5}.reveal-row.is-current{z-index:1;color:var(--gold);border-color:#d8b267b3;background:#d8b2671a;box-shadow:0 0 0 2px #d8b26714;animation:reveal-focus .72s ease-in-out infinite alternate}.reveal-row.is-current .reveal-order{color:var(--ink);border-color:var(--gold);background:var(--gold)}.reveal-row.is-current .reveal-state{color:var(--gold)}@keyframes reveal-focus{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes stat-flash{0%{transform:scale(.94)}55%{transform:scale(1.08)}to{transform:scale(1)}}@media(max-width:1180px)and (min-width:901px){.battle-table{min-height:290px;height:290px}.pos-top{top:34px}.pos-left,.pos-right{top:116px}.playing-card{width:180px;height:232px;min-height:232px}.hand-zone{min-height:252px}}@media(max-width:640px){.game-layout{grid-template-rows:minmax(0,1fr) 226px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 168px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 236px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 250px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 210px}.table-column{grid-template-rows:24px 168px minmax(0,1fr);gap:3px}.battle-table{min-height:0;height:168px}.battle-table:before{inset:5px}.table-ribbon{display:none}.seat-position{width:104px}.pos-top{top:6px}.pos-left{left:4px;top:50%;transform:translateY(-50%)}.pos-right{right:4px;top:50%;transform:translateY(-50%)}.pos-bottom{bottom:5px}.player-seat{min-height:32px;padding:3px 4px}.pot-center{min-width:74px}.pot-center strong{font-size:20px}.pot-center small{display:none}.resolution-stage{bottom:50%;width:min(70%,218px);transform:translate(-50%,50%)}.hand-zone{min-height:0;height:100%;padding:3px 1px 0}.hand-heading{height:22px}.hand-heading h2{font-size:14px}.hand-cards{height:calc(100% - 25px);align-items:center;gap:8px;margin-top:3px}.playing-card{width:min(43vw,166px);height:auto;min-height:0;aspect-ratio:.78}.card-inner-frame{grid-template-rows:25px minmax(0,1fr) 34px 52px;padding:8px 8px 7px}.card-faction{height:19px;padding:0 6px;font-size:9px}.card-corner-icon{width:14px;height:14px}.card-crest{font-size:56px}.card-name{margin:0;font-size:inherit}.card-name strong{font-size:17px}.card-name span{font-size:7px}.card-stat-grid{position:static;right:auto;bottom:auto;gap:3px;font-size:inherit}.card-stat-grid span{gap:0}.card-stat-grid b{font-size:7px}.card-stat-grid strong{margin-top:2px;font-size:20px}.card-back{width:min(43vw,166px);height:auto;min-height:0;aspect-ratio:.78}.raise-control{margin:5px 0 6px;padding:4px 7px 3px}.raise-label{font-size:8px}.raise-label strong{font-size:12px}.raise-control input[type=range]{height:16px;margin:2px 0 0}.raise-bounds{font-size:7px}.bet-grid button{min-height:27px}.bet-grid .raise-button{min-height:29px}.reveal-actions>p{display:block;min-height:13px;margin:2px 0 0;font-size:8px}.reveal-list{gap:3px;margin-top:5px}.reveal-row{grid-template-columns:19px minmax(0,1fr) auto 34px;gap:5px;min-height:39px;padding:3px 5px;font-size:8px}.reveal-order{width:18px;height:18px;font-size:7px}.reveal-copy{gap:1px}.reveal-copy b{font-size:9px}.reveal-copy small{font-size:7px}.reveal-row>strong{font-size:9px}.reveal-state{font-size:7px}}@media(max-width:640px)and (max-height:720px){.game-layout{grid-template-rows:minmax(0,1fr) 210px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 154px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 210px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 226px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 192px}.table-column{grid-template-rows:22px 142px minmax(0,1fr)}.battle-table{height:142px}.hand-heading{height:19px}.hand-cards{height:calc(100% - 21px)}.playing-card,.card-back{width:auto;height:100%;max-height:213px;aspect-ratio:.78}.card-inner-frame{grid-template-rows:22px minmax(0,1fr) 29px 45px;padding:6px}.card-name strong{font-size:15px}.card-stat-grid strong{font-size:17px}.action-panel{padding:6px 8px 5px}.action-panel h2{margin:3px 0 2px}.bet-context{margin:2px 0;padding-bottom:2px}.raise-control{margin:2px 0 3px;padding:2px 6px 1px}.raise-control input[type=range]{height:13px;margin:0}.bet-grid button{min-height:23px}.bet-grid .raise-button{min-height:25px}.option-card{height:39px;min-height:39px}.reveal-row{min-height:35px}}@media(max-width:360px){.card-crest{font-size:44px}}@media(max-width:640px)and (max-height:620px){.game-layout{grid-template-rows:minmax(0,1fr) 190px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 145px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 195px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 210px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 180px}.table-column{grid-template-rows:20px 108px minmax(0,1fr)}.battle-table{height:108px}.player-seat{min-height:27px}.seat-avatar{width:18px;height:18px}.seat-meta{display:none}.pot-center strong{font-size:17px}.bet-context{margin:3px 0;padding-bottom:2px}.raise-control{margin:3px 0;padding-top:2px;padding-bottom:1px}.bet-grid button{min-height:23px}.reveal-row{min-height:31px}}@media(prefers-reduced-motion:reduce){.reveal-row.is-current,.card-stat-grid span.is-highlighted{animation:none}}:root{--ink: #12100f;--ink-soft: #191715;--ink-raised: #24201c;--ink-line: rgba(222, 199, 153, .16);--paper: #f1e5ca;--muted: #b2a386;--muted-2: #786f61;--jade: #60a184;--cinnabar: #b64a3a;--gold: #d1ad68;--blue: #6590b2;--bronze-line: rgba(209, 173, 104, .5)}body{background:#12100f}.app-shell{background:linear-gradient(#12100ff2,#12100ffa),repeating-linear-gradient(90deg,transparent 0 95px,rgba(209,173,104,.035) 95px 96px),#12100f}.topbar{border-bottom-color:#b64a3a80;background:#14100ef5;box-shadow:0 6px 22px #00000042}.brand-seal{color:#fff1d4;border-color:#d39268;background:#8f3028;box-shadow:inset 0 0 0 2px #ffe7c01f}.brand-lockup strong{color:#f7e9c9}.room-code,.icon-button,.profile-button{border-color:#d1ad6840;background:#d1ad6809}.profile-avatar{color:#fff4da;background:#8f3028}.phase-meter-track{background:#d1ad681f}.phase-meter-track span{background:linear-gradient(90deg,#a83e33,#d1ad68)}.roster-row{border-bottom-color:#d1ad681a}.battle-table{border:2px solid #8b6840;background-image:linear-gradient(#261f1833,#16151273),url(/assets/war-map.svg);background-position:center;background-size:cover;background-color:#433b2f;box-shadow:0 16px 34px #00000057,inset 0 0 0 7px #1c140fb8,inset 0 0 40px #00000057}.battle-table:before{border-color:#e5c78b4d}.table-grain{opacity:.38;background-image:repeating-linear-gradient(96deg,rgba(240,221,181,.025) 0 1px,transparent 1px 7px),repeating-linear-gradient(4deg,rgba(20,13,9,.07) 0 1px,transparent 1px 8px)}.table-ribbon{color:#f4e1b9c7}.ribbon-divider{background:#b64a3abf}.player-seat{border-color:#e0c38c4d;background:linear-gradient(180deg,#2c1f17f2,#181412f0);box-shadow:0 7px 14px #0000004d,inset 3px 0 #d1ad6833;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}.player-seat.is-you{border-color:#d1ad68d1;box-shadow:0 0 0 2px #d1ad681a,0 7px 14px #0000004d}.player-seat.is-active{border-color:#d8bd7a;box-shadow:0 0 0 2px #d8bd7a29,0 0 20px #b64a3a3d}.seat-avatar.faction-魏,.roster-index.faction-魏{background:#346f9b}.seat-avatar.faction-蜀,.roster-index.faction-蜀{background:#aa4337}.seat-avatar.faction-吴,.roster-index.faction-吴{background:#347a63}.seat-avatar.faction-群,.roster-index.faction-群{background:#765478}.turn-pulse{background:#d7b96f;border-color:#3a2519}.pot-label{color:#f6e0b5b8}.pot-center strong{color:#f0cf82;text-shadow:0 2px 0 rgba(51,28,12,.8)}.pot-center>span{color:#f6e0b594}.pot-center small{color:#efd08a}.center-seal{color:#a4372b45}.resolution-stage{border-color:#d1ad68b8;background:#231812f0;box-shadow:0 12px 30px #0006,inset 0 0 0 2px #b64a3a1f}.resolution-stage .stage-kicker{color:#d7b96f}.action-panel,.event-panel{border:1px solid rgba(209,173,104,.28);border-top:3px solid #9f3d32;background:linear-gradient(180deg,#261d17f5,#171412f5);box-shadow:inset 0 0 0 5px #d1ad6806,0 12px 30px #0003}.action-panel{position:relative;min-height:455px}.action-panel:before{content:"";position:absolute;inset:6px;border:1px solid rgba(209,173,104,.09);pointer-events:none}.action-eyebrow{color:#dfbd74}.action-panel h2{color:#f5e8ca}.primary-action{min-height:50px;color:#fff4d8;border-color:#cd8e66;background:#9e3c31;box-shadow:inset 0 0 0 2px #ffe7bf17}.primary-action:hover{background:#b4483b}.bet-context{border-bottom-color:#d1ad6838}.raise-control{border-color:#d1ad6840;background:#d1ad680b;box-shadow:inset 3px 0 #b64a3a66}.raise-control input[type=range]{accent-color:#bd674a}.bet-grid{gap:8px}.bet-grid button,.option-card{clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);border-color:#d1ad6847;background:linear-gradient(180deg,#50382570,#251d18ad);box-shadow:inset 0 0 0 2px #f2ddb406}.bet-grid button{min-height:48px;padding:0 10px;color:#eadfc8;font-family:"Noto Serif SC",serif;font-size:13px;font-weight:700}.bet-grid button:hover:not(:disabled){border-color:#d2a85e;color:#fff0c8;background:linear-gradient(180deg,#7e4e2b9e,#312119cc)}.bet-grid button.accent{border-color:#60a184b3;color:#91d1ae}.bet-grid button.hold-button{color:#d9ccb3}.bet-grid button.fold{color:#ffb1a0;border-color:#b64a3ab8;background:linear-gradient(180deg,#7e2d257a,#331917b8)}.bet-grid button.fold:hover:not(:disabled){color:#ffe2d6;border-color:#d76352;background:#822f26ad}.bet-grid button:disabled{opacity:.3;filter:grayscale(.35)}.bet-grid small{color:currentColor;opacity:.72}.bet-grid .raise-button{min-height:52px;border-color:#d1ad68ad;color:#f0c872}.option-card{min-height:70px}.option-card:hover:not(:disabled),.option-card.is-selected{border-color:#d1ad68;background:linear-gradient(180deg,#834f2b8c,#342219d1)}.option-icon{background:#0a09083d}.reveal-row{border-color:#d1ad6824;background:#d1ad6806}.reveal-row.is-current{border-color:#d1ad68cc;background:#9f3d3229;box-shadow:inset 3px 0 #b64a3a,0 0 0 2px #d1ad6812}.card-stat-grid span{position:relative;border-color:#d4c4a52e;background:#0407086b}.card-stat-grid b{color:#ded3bc8c}.card-stat-grid strong{color:#c9c1b2;text-shadow:none}.card-stat-grid span.is-triggered{z-index:3;border-color:var(--faction-light);background:color-mix(in srgb,var(--faction-main) 62%,rgba(6,12,16,.5));box-shadow:0 0 16px color-mix(in srgb,var(--faction-main) 46%,transparent);animation:stat-trigger .72s ease both}.card-stat-grid span.is-triggered b,.card-stat-grid span.is-triggered strong{color:#fff7df}.stat-float{position:absolute;left:50%;top:-25px;z-index:5;min-width:34px;padding:3px 6px;transform:translate(-50%);color:#fff4d7;border:1px solid #e0b56f;background:#9e3c31;box-shadow:0 5px 12px #00000052;font:800 13px/1 DM Mono,monospace;font-style:normal;white-space:nowrap;animation:stat-float-up .92s cubic-bezier(.2,.8,.2,1) both}.landing{background:linear-gradient(#12100fe0,#12100ff5),url(/assets/war-map.svg) center/cover,#12100f}.landing:before{opacity:.12;background:repeating-linear-gradient(90deg,transparent 0 96px,rgba(209,173,104,.08) 96px 97px),repeating-linear-gradient(0deg,transparent 0 96px,rgba(182,74,58,.05) 96px 97px)}.landing-brand h1{color:#f5e7c7}.landing-ornament{font-size:420px}.join-form input{border-color:#d1ad684d;background:#231b16bd}@keyframes stat-trigger{0%{transform:scale(.93)}55%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes stat-float-up{0%{opacity:0;transform:translate(-50%,12px) scale(.86)}24%{opacity:1}72%{opacity:1;transform:translate(-50%,-7px) scale(1.05)}to{opacity:0;transform:translate(-50%,-15px) scale(1)}}@media(min-width:901px){.game-layout{grid-template-columns:190px minmax(500px,1fr) 380px}}.account-shell{position:relative;width:100%;min-height:var(--visual-viewport-height, 100vh);overflow:hidden;color:var(--paper);background:#101319}.account-shell:before{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none;background-image:linear-gradient(rgba(216,178,103,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(104,176,154,.05) 1px,transparent 1px);background-size:72px 72px}.account-ornament{position:absolute;right:-2vw;bottom:-16vh;color:#d8b2670e;font:900 min(48vw,620px)/1 "Noto Serif SC",serif;pointer-events:none}.auth-layout{position:relative;z-index:1;width:min(1040px,calc(100% - 64px));min-height:var(--visual-viewport-height, 100vh);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:82px}.auth-brand{min-width:0}.auth-brand .brand-seal{margin-bottom:30px}.auth-brand h1{margin:12px 0 0;color:var(--paper);font:900 52px/1.08 "Noto Serif SC",serif;letter-spacing:0}.auth-brand>p{max-width:520px;margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.auth-features{display:flex;gap:24px;margin-top:34px;color:var(--muted-2);font-size:11px}.auth-features span{display:inline-flex;align-items:center;gap:7px}.auth-features svg{color:var(--jade)}.auth-panel{padding:24px;border:1px solid rgba(216,178,103,.24);border-radius:6px;background:#1d232cf0;box-shadow:var(--shadow)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid var(--ink-line);background:#151a21}.auth-tabs button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);border:0;background:transparent;font-size:12px}.auth-tabs button.is-active{color:#161b23;background:var(--gold);font-weight:800}.auth-panel form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.auth-panel label,.hall-command label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font:10px DM Mono,monospace}.auth-panel input,.hall-command input{width:100%;height:43px;padding:0 12px;color:var(--paper);border:1px solid var(--ink-line);border-radius:0;outline:none;background:#f2efe70b;font-size:12px}.auth-panel input:focus,.hall-command input:focus{border-color:var(--gold)}.auth-panel .primary-action{margin-top:4px}.register-grant{display:flex;align-items:center;gap:10px;padding:11px;color:var(--gold);border-left:2px solid var(--gold);background:#d8b26712}.register-grant div{display:flex;flex-direction:column;gap:3px}.register-grant strong{font-size:12px}.register-grant span{color:var(--muted-2);font-size:9px}.auth-error,.hall-error{margin:0;color:#ed9a84;font-size:11px;line-height:1.5}.hall-loading{position:relative;z-index:1;min-height:var(--visual-viewport-height, 100vh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted)}.hall-loading strong{color:var(--paper);font-family:"Noto Serif SC",serif;font-size:18px}.hall-loading button{min-height:35px;padding:0 15px;color:var(--gold);border:1px solid rgba(216,178,103,.4);background:transparent}.spin{animation:account-spin .9s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}.hall-topbar{position:relative;z-index:2;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--ink-line);background:#101319f5}.hall-account{display:flex;align-items:center;gap:9px}.hall-account>div{display:flex;flex-direction:column;gap:2px;min-width:92px}.hall-account>div strong{font-size:11px}.hall-account>div small{color:var(--muted-2);font:9px DM Mono,monospace}.hall-balance,.currency-pill{display:inline-flex;align-items:center;gap:7px;height:35px;padding:0 11px;color:var(--gold);border:1px solid rgba(216,178,103,.3);background:#d8b2670d;white-space:nowrap}.hall-balance{margin-right:11px}.hall-balance small{color:var(--muted-2);font-size:9px}.hall-balance strong,.currency-pill{font:600 11px DM Mono,monospace}.hall-layout{position:relative;z-index:1;width:min(1320px,calc(100% - 60px));height:calc(var(--visual-viewport-height, 100vh) - 68px);margin:0 auto;display:grid;grid-template-columns:330px minmax(0,1fr);gap:52px;padding:38px 0}.hall-command{min-width:0;padding-right:40px;border-right:1px solid var(--ink-line)}.hall-command h1{margin:11px 0 0;font:700 29px/1.42 "Noto Serif SC",serif;letter-spacing:0}.hall-command>p{margin:13px 0 24px;color:var(--muted);font-size:11px;line-height:1.7}.hall-command .primary-action{width:100%;margin-top:13px}.hall-divider{display:flex;align-items:center;gap:9px;margin:22px 0 13px;color:var(--muted-2);font-size:9px}.hall-divider span{flex:1;height:1px;background:var(--ink-line)}.hall-command form{display:grid;grid-template-columns:1fr 82px;gap:7px}.hall-command form button{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--ink);border:0;background:var(--jade);font-size:11px;font-weight:800}.hall-error{margin-top:12px}.room-browser{min-width:0;min-height:0;display:flex;flex-direction:column}.room-browser>header{min-height:48px;display:flex;align-items:flex-start;justify-content:space-between}.room-browser h2{margin:6px 0 0;font:600 20px "Noto Serif SC",serif}.room-list{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;overflow-y:auto;padding:3px 4px 20px 0}.room-list article{min-width:0;min-height:145px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:8px 14px;padding:15px;border:1px solid var(--ink-line);border-radius:6px;background:#1d232cc2}.room-list article.is-joinable{border-color:#68b09a5c}.room-state{grid-column:1 / -1;display:flex;align-items:center;gap:6px;color:var(--muted-2);font:9px DM Mono,monospace}.room-state i{width:6px;height:6px;border-radius:50%;background:var(--muted-2)}.is-joinable .room-state{color:var(--jade)}.is-joinable .room-state i{background:var(--jade);box-shadow:0 0 0 4px #68b09a1a}.room-title{min-width:0}.room-title>span{color:var(--gold);font:10px DM Mono,monospace}.room-title h3{margin:5px 0 0;overflow:hidden;color:var(--paper);font:600 14px "Noto Serif SC",serif;text-overflow:ellipsis;white-space:nowrap}.room-title p{margin:5px 0 0;color:var(--muted-2);font-size:9px}.room-capacity{display:flex;align-items:center;align-self:end;gap:4px;color:var(--muted-2);font-size:9px}.room-capacity strong{color:var(--paper);font:600 15px DM Mono,monospace}.room-list article>button{grid-column:1 / -1;min-height:33px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--paper);border:1px solid var(--ink-line);background:transparent;font-size:10px}.room-list article>button:not(:disabled):hover{color:var(--ink);border-color:var(--jade);background:var(--jade);font-weight:800}.empty-rooms{grid-column:1 / -1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted-2);border:1px dashed var(--ink-line)}.empty-rooms strong{color:var(--muted);font-size:12px}.empty-rooms span{font-size:10px}.currency-pill{height:34px}.leave-room-button{color:#ed9a84}.currency-reward{display:grid;grid-template-columns:23px 1fr auto;align-items:center;gap:5px 8px;margin-top:11px;padding:9px 10px;color:var(--gold);border:1px solid rgba(216,178,103,.28);background:#d8b26712}.currency-reward svg{grid-row:1 / 3}.currency-reward span{color:var(--muted);font-size:9px}.currency-reward strong{font:700 15px DM Mono,monospace}.currency-reward em{grid-column:2 / -1;color:var(--muted-2);font:9px DM Mono,monospace;font-style:normal}@media(max-width:1050px){.auth-layout{grid-template-columns:minmax(0,1fr) 350px;gap:42px}.auth-brand h1{font-size:42px}.auth-features{flex-direction:column;gap:9px}.hall-layout{width:calc(100% - 32px);grid-template-columns:280px minmax(0,1fr);gap:28px;padding:24px 0}.hall-command{padding-right:24px}.room-list{grid-template-columns:1fr}}@media(orientation:portrait)and (max-width:900px){.account-shell:after{content:"请旋转设备进入横屏演武";position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:32px;color:var(--gold);background:#101319;font:700 20px "Noto Serif SC",serif;text-align:center}}html,body,#root{min-width:1180px;min-height:680px}body{overflow:auto}.app-shell{min-width:1180px;min-height:680px}.app-shell .topbar{height:56px;padding:0 20px}.app-shell .desktop-stage{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:12px;width:min(1800px,100%);height:calc(100vh - 56px);min-height:624px;margin:0 auto;padding:12px 16px 16px}.app-shell .desktop-stage>.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:12px;width:auto;height:100%;min-width:0;min-height:0;margin:0;padding:0}.app-shell .desktop-stage .left-rail{display:none}.app-shell .desktop-stage .table-column{display:grid;grid-template-rows:42px minmax(0,1fr);gap:9px;min-width:0;min-height:0;overflow:hidden}.app-shell .desktop-stage .right-rail{display:grid;grid-template-rows:minmax(360px,.62fr) minmax(180px,.38fr);gap:10px;min-height:0;overflow:hidden}.app-shell .desktop-stage .action-panel{min-height:0;max-height:none;padding:17px 16px 14px;overflow-y:auto;scrollbar-width:thin}.app-shell .desktop-stage .event-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-shell .desktop-stage .event-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.app-shell .desktop-stage>.effect-ledger{position:relative;inset:auto;width:auto;height:100%;min-width:0;min-height:0;pointer-events:auto}.app-shell .desktop-stage>.effect-ledger .effect-ledger-panel{position:relative;inset:auto;height:100%}.battlefield-overview{height:100%!important;min-height:0!important;background:linear-gradient(#182621c7,#0f1816eb),url(/assets/war-map.svg) center / cover,#17211f;box-shadow:inset 0 0 0 7px #090e0d57,0 18px 45px #00000047}.battlefield-overview:before{inset:12px}.battlefield-overview .table-ribbon{top:15px;z-index:6}.battlefield-overview .player-order-strip{top:38px;width:calc(100% - 48px);max-width:none;gap:6px}.battlefield-overview .ordered-seat .player-seat{min-height:42px;padding:5px 7px;background:#0c1211d1}.battlefield-overview .ordered-seat .seat-avatar{width:25px;height:25px}.battlefield-overview .ordered-seat .seat-meta{display:none}.battlefield-overview .ordered-seat .seat-stack{display:flex}.battlefield-hands{position:absolute;inset:88px 22px 72px;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px;min-height:0}.battlefield-player{position:relative;display:grid;grid-template-rows:36px minmax(0,1fr);min-width:0;min-height:0;padding:7px;border:1px solid rgba(231,211,167,.18);background:linear-gradient(180deg,#121b18cc,#0b11108c);box-shadow:inset 0 0 24px #0000002e}.battlefield-player.is-you{border-color:#d8b267ad;box-shadow:inset 0 0 0 2px #d8b26717}.battlefield-player.is-active{border-color:#68b09acc}.battlefield-player.is-folded{opacity:.48;filter:saturate(.45)}.battlefield-player>header{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.battlefield-order{display:grid;place-items:center;width:20px;height:20px;color:#201a14;background:#d1ad68;font:700 9px DM Mono,monospace}.battlefield-player>header div{min-width:0}.battlefield-player>header strong,.battlefield-player>header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battlefield-player>header strong{color:#f4ead5;font:600 11px "Noto Serif SC",serif}.battlefield-player>header small{color:#7e867f;font:8px DM Mono,monospace}.battlefield-player>header em{display:flex;align-items:center;gap:3px;color:#d8b267;font:8px DM Mono,monospace;font-style:normal}.battlefield-player-cards{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:0;overflow:hidden}.battlefield-player-cards .playing-card,.battlefield-player-cards .card-back{width:min(40%,180px)!important;height:auto!important;min-height:0!important;max-height:100%;aspect-ratio:.72;flex:none}.battlefield-player-cards .card-inner-frame{grid-template-rows:22px minmax(0,1fr) 32px 47px;padding:7px}.battlefield-player-cards .card-faction{font-size:7px}.battlefield-player-cards .card-corner-icon{width:10px}.battlefield-player-cards .card-crest{font-size:clamp(19px,1.8vw,30px)}.battlefield-player-cards .card-hero-script{font-size:8px}.battlefield-player-cards .card-name strong{font-size:13px}.battlefield-player-cards .card-name span{display:none}.battlefield-player-cards .card-stat-grid{gap:1px}.battlefield-player-cards .card-stat-grid span{padding:1px 2px}.battlefield-player-cards .card-stat-grid strong{font-size:15px}.battlefield-player-cards .card-evolution-rank{display:none}.battlefield-player-cards .card-back span{width:34px;height:34px;font-size:19px}.battlefield-resolving{position:absolute;left:50%;bottom:6px;z-index:6;display:flex;align-items:center;gap:4px;padding:4px 7px;transform:translate(-50%);color:#241a0d;background:#e1bc6f;font:700 8px DM Mono,monospace;animation:battlefield-command .7s ease-in-out infinite alternate}@keyframes battlefield-command{to{transform:translate(-50%,-4px);box-shadow:0 7px 18px #e1bc6f52}}.battlefield-overview .pot-center{top:auto;bottom:20px;z-index:5;flex-direction:row;gap:6px;min-width:0;padding:7px 11px;border:1px solid rgba(216,178,103,.32);background:#0b1110d1}.battlefield-overview .pot-center strong{margin:0;font-size:23px}.battlefield-overview .pot-center>span{margin:0}.battlefield-overview .pot-center small{margin:0 0 0 6px}.battlefield-overview .public-effects{bottom:22px;left:22px;justify-content:flex-start;width:calc(50% - 118px);transform:none;overflow:hidden;flex-wrap:nowrap}.battlefield-overview .public-effects>span{flex:none}.battlefield-overview .resolution-stage{bottom:74px;width:min(54%,360px)}.stage-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;min-width:0;min-height:0;padding:34px;background:#07090ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stage-overlay:before{content:"";position:absolute;inset:18px;border:1px solid rgba(216,178,103,.25);pointer-events:none}.stage-overlay-panel{position:relative;width:min(1180px,calc(100vw - 76px));max-height:calc(100vh - 68px);padding:24px 28px 22px;overflow:hidden;border:1px solid rgba(216,178,103,.58);background:linear-gradient(145deg,#2b1f18fa,#131414fc);box-shadow:0 30px 90px #0000009e,inset 0 0 0 7px #d8b26709}.stage-overlay-panel:before{content:"";position:absolute;inset:8px;border:1px solid rgba(216,178,103,.12);pointer-events:none}.stage-overlay-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}.stage-overlay-heading span{color:#d1ad68;font:10px DM Mono,monospace;letter-spacing:.1em}.stage-overlay-heading h2{margin:5px 0 0;color:#f6e8c9;font:700 27px/1.2 "Noto Serif SC",serif}.stage-overlay-copy{position:relative;z-index:1;margin:8px 0 18px;color:#9e978e;font-size:11px}.selection-count{display:flex;align-items:baseline;color:#d8b267}.selection-count strong{font:700 32px "Noto Serif SC",serif}.selection-count span{font-size:12px}.stage-overlay-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:46px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(216,178,103,.16);color:#817d76;font:9px DM Mono,monospace}.stage-overlay-footer>span{display:flex;align-items:center;gap:6px}.stage-overlay-footer>em{color:#d1ad68;font-style:normal}.hero-draft-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;min-height:0}.draft-card-button{position:relative;display:grid;place-items:center;min-width:0;padding:7px;border:1px solid transparent;background:#ffffff05;transition:transform .18s ease,border-color .18s ease,background .18s ease}.draft-card-button:hover:not(:disabled){transform:translateY(-5px);border-color:#d8b2676b}.draft-card-button.is-selected{transform:translateY(-8px);border-color:#d8b267;background:#d8b2671a;box-shadow:0 18px 35px #00000040}.draft-card-button .playing-card{width:min(100%,178px)!important;height:auto!important;min-height:0!important;aspect-ratio:.78;pointer-events:none}.draft-pick-mark{position:absolute;right:13px;bottom:13px;z-index:6;display:flex;align-items:center;justify-content:center;min-width:47px;min-height:24px;padding:0 8px;color:#d8b267;border:1px solid currentColor;background:#111212e0;font-size:9px}.draft-card-button.is-selected .draft-pick-mark{color:#1a1712;background:#d8b267}.duel-overlay-body{position:relative;z-index:1;display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;margin-top:18px}.duel-overlay-order{padding:8px 13px;border-left:2px solid #d8b267;text-align:right}.duel-overlay-order span,.duel-overlay-order strong{display:block}.duel-overlay-order strong{margin-top:3px;color:#f4e2bc;font:700 18px "Noto Serif SC",serif}.duel-hand-preview{padding:13px;border:1px solid rgba(216,178,103,.2);background:#090d0d52}.duel-hand-preview>span{color:#d1ad68;font:9px DM Mono,monospace}.duel-hand-preview>div{display:flex;justify-content:center;gap:8px;height:206px;margin-top:8px}.duel-hand-preview .playing-card{width:min(47%,132px)!important;height:auto!important;min-height:0!important;aspect-ratio:.78}.duel-hand-preview>small{display:block;margin-top:9px;color:#817d76;font-size:9px;line-height:1.5}.duel-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.duel-option-grid .option-card{min-height:250px;align-items:flex-start;flex-direction:column;justify-content:flex-end;padding:20px 17px;overflow:hidden;border-color:#d8b26738;background:linear-gradient(165deg,#4b3122b8,#141413eb)}.duel-option-grid .option-card:before{content:"军令";position:absolute;top:18px;right:14px;color:#d8b2671a;font:700 48px "Noto Serif SC",serif}.duel-option-grid .option-icon{width:44px;height:44px;margin-bottom:auto}.duel-option-grid .option-icon svg{width:22px;height:22px}.duel-option-grid .option-body strong{font-size:20px}.duel-option-grid .option-body span{margin-top:6px;white-space:normal;font-size:11px;line-height:1.55}.duel-option-grid .option-tag{margin:12px 0 0;padding:4px 7px;border:1px solid currentColor}.reveal-heading>svg{color:#d8b267}.hero-reveal-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.hero-reveal-grid>article{min-width:0;padding:11px;border:1px solid rgba(216,178,103,.19);background:#0a0e0e5c}.hero-reveal-grid>article.is-you{border-color:#d8b267a8}.hero-reveal-grid>article>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.hero-reveal-grid>article>header strong{color:#f2e7d0;font:600 13px "Noto Serif SC",serif}.hero-reveal-grid>article>header span{color:#8d877f;font:8px DM Mono,monospace}.hero-reveal-grid>article>div{display:flex;justify-content:center;gap:6px;height:210px}.hero-reveal-grid .playing-card{width:min(48%,130px)!important;height:auto!important;min-height:0!important;aspect-ratio:.78}.all-armies-result{height:100%;min-height:0;overflow:hidden;padding:15px 16px;border:1px solid rgba(216,178,103,.32);background:linear-gradient(145deg,#2b1f18f0,#121615fa)}.result-stage-heading{display:flex;align-items:center;gap:13px;min-height:72px;border-bottom:1px solid rgba(216,178,103,.16)}.result-stage-heading .finale-seal{width:54px;flex:none}.result-stage-heading .finale-copy strong{font-size:22px}.result-stage-heading .finale-copy p{margin:4px 0 0}.result-army-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;height:calc(100% - 84px);margin-top:12px}.result-army{display:grid;grid-template-rows:42px minmax(0,1fr);min-width:0;min-height:0;padding:8px;border:1px solid rgba(232,211,166,.16);background:#080c0c61}.result-army.is-winner{border-color:#d8b267;box-shadow:inset 0 0 25px #d8b26714}.result-army.is-folded{opacity:.54}.result-army-title{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:6px}.result-army-title>span{color:#d8b267;font:9px DM Mono,monospace}.result-army-title strong,.result-army-title small{display:block}.result-army-title strong{color:#f2e7d0;font:600 11px "Noto Serif SC",serif}.result-army-title small{color:#777d78;font:7px DM Mono,monospace}.result-army-title>em{color:#d8b267;font:700 18px "Noto Serif SC",serif;font-style:normal;text-align:right}.result-army-title>em small{font-size:7px}.result-army-cards{display:flex;align-items:center;justify-content:center;gap:5px;min-height:0;overflow:hidden}.result-army-cards .playing-card{width:min(47%,114px)!important;height:auto!important;min-height:0!important;max-height:100%;aspect-ratio:.78}.replay-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;margin-top:14px;color:#f2deb2;border:1px solid rgba(216,178,103,.62);background:#d8b26714;font-size:11px;font-weight:700}.replay-action:hover{background:#d8b26729}.replay-action.full{width:100%}.result-actions .primary-action.full{margin-top:8px}.app-shell .desktop-stage .victory-replay-zone{height:100%;min-height:0;padding:15px;overflow:hidden;border:1px solid rgba(216,178,103,.3);background:linear-gradient(145deg,#2b1f18eb,#101614fa)}.app-shell .desktop-stage .victory-replay-zone .hand-cards{height:calc(100% - 72px);justify-content:center;overflow:hidden}.app-shell .desktop-stage .victory-replay-zone .playing-card{width:min(28%,220px);height:auto;min-height:0;max-height:100%;aspect-ratio:.78}@media(max-height:760px){.stage-overlay{padding:20px}.stage-overlay-panel{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 40px);padding:16px 22px 14px}.stage-overlay-heading h2{font-size:22px}.stage-overlay-copy{margin-bottom:10px}.hero-draft-grid{gap:8px}.draft-card-button .playing-card{width:min(100%,152px)!important}.duel-overlay-body{margin-top:10px}.duel-option-grid .option-card{min-height:220px}.duel-hand-preview>div,.hero-reveal-grid>article>div{height:180px}.stage-overlay-footer{min-height:38px;margin-top:9px;padding-top:8px}}@media(max-width:640px){.landing-ornament{font-size:190px}.game-layout{grid-template-rows:minmax(0,1fr) 296px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 190px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 310px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 318px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 245px}.table-column{grid-template-rows:24px 128px minmax(0,1fr)}.battle-table{height:128px}.pos-top{top:3px}.pos-bottom{bottom:3px}.player-seat{min-height:29px}.pot-center strong{font-size:18px}.action-panel{min-height:0;padding:10px 11px 9px}.action-panel h2{margin:5px 0 3px;font-size:16px}.bet-context{margin:4px 0;padding-bottom:4px;font-size:9px}.raise-control{margin:4px 0 6px;padding:4px 8px 3px}.raise-control input[type=range]{height:18px;margin:2px 0}.bet-grid{gap:6px}.bet-grid button{min-height:44px;font-size:12px}.bet-grid .raise-button{min-height:46px}.option-card{height:62px;min-height:62px;padding:7px 9px}.option-body strong{font-size:12px}.option-body span{font-size:9px}.reveal-row{min-height:48px}.card-stat-grid span{overflow:visible}.stat-float{top:-22px;font-size:11px}}@media(max-width:640px)and (max-height:720px){.game-layout{grid-template-rows:minmax(0,1fr) 270px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 180px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 278px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 286px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 220px}.table-column{grid-template-rows:22px 96px minmax(0,1fr)}.battle-table{height:96px}.bet-grid button{min-height:40px}.bet-grid .raise-button{min-height:42px}.option-card{height:52px;min-height:52px}.reveal-row{min-height:43px}}@media(max-width:640px)and (max-height:620px){.game-layout{grid-template-rows:minmax(0,1fr) 244px}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) 168px}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) 250px}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) 260px}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) 204px}.table-column{grid-template-rows:20px 80px minmax(0,1fr)}.battle-table{height:80px}.bet-grid button{min-height:36px}.bet-grid .raise-button{min-height:38px}.option-card{height:46px;min-height:46px}.reveal-row{min-height:39px}}@media(prefers-reduced-motion:reduce){.card-stat-grid span.is-triggered,.stat-float{animation:none}}@media(max-width:640px){:root{--mobile-topbar-height: 44px;--action-height-betting: 302px;--action-height-lobby: 184px;--action-height-selecting: 294px;--action-height-revealing: 302px;--action-height-result: 232px}:root[data-viewport-density=compact]{--mobile-topbar-height: 42px;--action-height-betting: 296px;--action-height-lobby: 176px;--action-height-selecting: 278px;--action-height-revealing: 286px;--action-height-result: 218px}:root[data-viewport-density=short]{--mobile-topbar-height: 40px;--action-height-betting: 290px;--action-height-lobby: 166px;--action-height-selecting: 256px;--action-height-revealing: 258px;--action-height-result: 204px}html,body,#root{width:100%;height:100vh;height:100svh;height:var(--visual-viewport-height, 100svh);min-height:0;overflow:hidden;overscroll-behavior:none}button,.option-card,.icon-button,.primary-action{touch-action:manipulation}.app-shell{width:100%;height:100vh;height:100svh;height:var(--visual-viewport-height, 100svh);min-height:0;overflow:hidden}.topbar{height:calc(var(--mobile-topbar-height) + env(safe-area-inset-top));min-height:calc(var(--mobile-topbar-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:max(8px,env(safe-area-inset-right));padding-left:max(8px,env(safe-area-inset-left))}.game-layout{height:calc(var(--visual-viewport-height, 100svh) - var(--mobile-topbar-height) - env(safe-area-inset-top));min-height:0;grid-template-rows:minmax(0,1fr) var(--action-height-betting);gap:5px;overflow:hidden;padding:4px max(6px,env(safe-area-inset-right)) max(48px,calc(env(safe-area-inset-bottom) + 32px)) max(6px,env(safe-area-inset-left))}.game-layout.phase-lobby{grid-template-rows:minmax(0,1fr) var(--action-height-lobby)}.game-layout.phase-selecting{grid-template-rows:minmax(0,1fr) var(--action-height-selecting)}.game-layout.phase-revealing{grid-template-rows:minmax(0,1fr) var(--action-height-revealing)}.game-layout.phase-result{grid-template-rows:minmax(0,1fr) var(--action-height-result)}.right-rail{min-height:0;overflow:hidden}.action-panel{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-padding-bottom:12px;padding:8px 10px max(32px,calc(env(safe-area-inset-bottom) + 24px))}.action-panel::-webkit-scrollbar{display:none}.action-panel h2{min-height:20px;margin:4px 0 2px;font-size:15px}.bet-context{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px;min-height:24px;margin:3px 0;padding-bottom:3px}.bet-context span:last-child{grid-column:auto;justify-self:end;white-space:nowrap}.raise-control{margin:3px 0 6px;padding:3px 8px 2px}.raise-control input[type=range]{height:28px;margin:0;touch-action:pan-x}.bet-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.bet-grid button,.bet-grid .raise-button{min-width:0;min-height:44px;padding:0 7px;font-size:11px;white-space:nowrap}.bet-grid button svg{width:16px;height:16px;flex:none}.bet-grid .raise-button{grid-column:1 / -1}.bet-grid .main-command:not(:disabled){box-shadow:inset 0 0 0 1px #f1e5ca1f,0 0 15px #60a18414}.bet-grid .all-in-button{border-color:#d1ad6894;color:#f0c872}.bet-grid .fold{grid-column:1}.option-card,.primary-action.full{min-height:44px}.landing{height:100vh;height:100svh;height:var(--visual-viewport-height, 100svh);min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));padding-left:env(safe-area-inset-left)}}html,body,#root{width:100%;height:100%;min-width:0;min-height:0}body{overflow:hidden}.app-shell{width:100%;height:var(--visual-viewport-height, 100vh);min-width:0;min-height:0;overflow:hidden}.app-shell .desktop-stage{width:100%;height:calc(var(--visual-viewport-height, 100vh) - 56px);min-height:0}@media(orientation:landscape)and (max-width:900px){.app-shell .topbar{height:48px;padding:0 10px}.app-shell .desktop-stage{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:8px;height:calc(var(--visual-viewport-height, 100vh) - 48px);padding:8px;overflow:hidden}.app-shell .desktop-stage>.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:minmax(0,1fr);gap:8px;width:auto;height:100%;min-width:0;min-height:0;padding:0;overflow:hidden}.app-shell .desktop-stage .left-rail{display:none}.app-shell .desktop-stage .table-column{display:grid;grid-template-rows:26px minmax(0,1fr) 128px;gap:5px;min-width:0;min-height:0;overflow:hidden}.app-shell .desktop-stage .right-rail{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(180px,.62fr) minmax(100px,.38fr);gap:6px;min-width:0;min-height:0;overflow:hidden}.app-shell .desktop-stage .action-panel{display:block;width:100%;height:100%;min-height:0;padding:9px;overflow-y:auto}.app-shell .desktop-stage .event-panel{display:flex;min-height:0;overflow:hidden}.app-shell .desktop-stage>.effect-ledger{position:relative;inset:auto;display:block;width:auto;height:100%;min-width:0;min-height:0;overflow:hidden}.app-shell .desktop-stage>.effect-ledger .effect-ledger-panel{position:relative;inset:auto;width:100%;height:100%}.app-shell .desktop-stage .battle-table{min-height:0;height:100%}.app-shell .desktop-stage .hand-zone{display:flex;flex-direction:column;height:128px;min-height:0;overflow:hidden}.app-shell .desktop-stage .hand-cards{flex:1;height:auto;min-height:0;overflow:hidden}.app-shell .desktop-stage .playing-card,.app-shell .desktop-stage .card-back{width:112px;height:102px;min-height:0}.currency-pill{padding:0 7px}}@media(max-width:640px){:root[data-viewport-density=compact] .table-column{grid-template-rows:22px 88px minmax(0,1fr)}:root[data-viewport-density=compact] .battle-table{height:88px}:root[data-viewport-density=compact] .hand-heading{height:18px}:root[data-viewport-density=compact] .hand-cards{height:calc(100% - 21px)}:root[data-viewport-density=short] .table-column{grid-template-rows:20px 58px minmax(0,1fr)}:root[data-viewport-density=short] .battle-table{height:58px}:root[data-viewport-density=short] .battle-table:before{inset:3px}:root[data-viewport-density=short] .table-ribbon,:root[data-viewport-density=short] .seat-meta,:root[data-viewport-density=short] .pot-center{display:none}:root[data-viewport-density=short] .seat-position{width:96px}:root[data-viewport-density=short] .pos-left{left:3px}:root[data-viewport-density=short] .pos-right{right:3px}:root[data-viewport-density=short] .pos-bottom{bottom:2px}:root[data-viewport-density=short] .player-seat{min-height:26px;padding:2px 4px}:root[data-viewport-density=short] .seat-avatar{width:19px;height:19px}:root[data-viewport-density=short] .hand-heading{height:18px}:root[data-viewport-density=short] .hand-cards{height:calc(100% - 21px)}:root[data-viewport-density=short] .playing-card,:root[data-viewport-density=short] .card-back{width:auto;height:100%;max-width:43vw;max-height:184px}:root[data-viewport-density=short] .option-list{gap:4px;margin-top:5px}:root[data-viewport-density=short] .option-card{height:46px;min-height:46px}:root[data-viewport-density=short] .reveal-list{margin-top:4px}:root[data-viewport-density=short] .reveal-row{min-height:42px}}@media(max-width:640px){:root{--mobile-ui-scale: .8;--mobile-topbar-height: 36px;--action-height-betting: 272px;--action-height-lobby: 154px;--action-height-selecting: 250px;--action-height-revealing: 264px;--action-height-result: 208px}:root[data-viewport-density=compact]{--action-height-betting: 268px;--action-height-lobby: 148px;--action-height-selecting: 238px;--action-height-revealing: 252px;--action-height-result: 198px}:root[data-viewport-density=short]{--mobile-topbar-height: 36px;--action-height-betting: 264px;--action-height-lobby: 142px;--action-height-selecting: 228px;--action-height-revealing: 244px;--action-height-result: 190px}:root[data-viewport-density=compact]{--mobile-topbar-height: 36px}.table-column{grid-template-rows:22px minmax(0,1fr) minmax(0,.8fr);gap:3px}.table-toolbar{transform:scale(var(--mobile-ui-scale));transform-origin:left center;width:125%}.toolbar-phase strong{font-size:12px}.timer-chip{padding:2px 5px;font-size:8px}.battle-table{box-shadow:inset 0 0 0 3px #1119185c}.player-seat{min-height:29px;padding:3px 4px}.seat-avatar{width:21px;height:21px}.seat-name{font-size:9px}.pot-center strong{font-size:19px}.hand-heading{height:18px}.hand-heading h2{font-size:11px}.hand-hint{font-size:7px}.hand-cards{gap:7px;margin-top:2px}.playing-card,.card-back{width:min(35vw,133px);max-height:176px}.card-inner-frame{grid-template-rows:22px minmax(0,1fr) 29px 42px;padding:6px}.card-faction{height:17px;padding:0 5px;font-size:8px}.card-corner-icon{width:13px;height:13px}.card-crest{font-size:48px}.card-name strong{font-size:14px}.card-name span{font-size:6px}.card-stat-grid{gap:2px}.card-stat-grid b{font-size:6px}.card-stat-grid strong{margin-top:1px;font-size:17px}.action-panel{padding-top:7px}.action-eyebrow{font-size:7px}.action-panel h2{min-height:18px;margin:3px 0 1px;font-size:12px}.action-panel p{font-size:8px}.bet-context{min-height:21px;gap:5px;margin:2px 0;padding-bottom:2px;font-size:7px}.bet-context strong{font-size:10px}.raise-control{margin:2px 0 4px;padding:2px 7px 1px}.raise-label{font-size:7px}.raise-label strong{font-size:11px}.raise-control input[type=range]{height:24px}.raise-bounds{font-size:6px}.bet-grid{gap:5px}.bet-grid button,.bet-grid .raise-button,.option-card,.primary-action.full{min-height:44px}.bet-grid button{font-size:10px}.bet-grid button svg{width:14px;height:14px}.bet-grid small{font-size:7px}.option-list{gap:4px;margin-top:5px}.option-card{height:50px;padding:5px 7px}.option-icon{width:25px;height:25px}.option-icon svg{width:12px}.option-body strong{font-size:10px}.option-body span{font-size:7px}.option-tag{font-size:6px}.reveal-list{gap:2px;margin-top:4px}.reveal-row{min-height:42px;padding:2px 4px}.reveal-copy b{font-size:8px}.reveal-copy small,.reveal-state{font-size:6px}.reveal-row>strong{font-size:8px}.battle-table{height:100%;min-height:0}.table-column{grid-template-rows:22px 62px minmax(0,1fr)}.phase-revealing .table-column{grid-template-rows:22px 76px minmax(0,1fr)}:root[data-viewport-density=compact] .table-column{grid-template-rows:21px 58px minmax(0,1fr)}:root[data-viewport-density=compact] .phase-revealing .table-column{grid-template-rows:21px 72px minmax(0,1fr)}:root[data-viewport-density=short] .table-column{grid-template-rows:20px 54px minmax(0,1fr)}:root[data-viewport-density=short] .phase-revealing .table-column{grid-template-rows:20px 68px minmax(0,1fr)}.player-order-strip{top:4px;right:4px;left:4px;width:auto;transform:none;gap:3px}.ordered-seat .player-seat{min-height:28px;gap:2px;padding:3px 3px 3px 21px;overflow:hidden}.ordered-seat .seat-avatar{display:none}.ordered-seat .seat-copy{overflow:hidden}.ordered-seat .seat-name{display:block;overflow:hidden;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ordered-seat .seat-name>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ordered-seat .seat-name em{position:absolute;right:2px;bottom:1px;padding:0 2px;font-size:5px}.ordered-seat .seat-locked{right:1px;bottom:1px;width:12px;height:12px}.ordered-seat .seat-locked svg{width:8px}.ordered-seat.is-dealer:after{content:"庄";position:absolute;top:-2px;right:-1px;z-index:6;display:grid;place-items:center;width:12px;height:12px;color:#21170f;background:#d7b96f;font:700 6px/1 "Noto Serif SC",serif}.seat-order{top:50%;left:3px;width:15px;height:15px;transform:translateY(-50%);font-size:7px}.battle-table .pot-center{top:auto;bottom:4px;flex-direction:row;gap:4px;min-width:0;transform:translate(-50%)}.battle-table .pot-label{font-size:6px}.battle-table .pot-center strong{margin:0;font-size:15px}.battle-table .pot-center>span{display:none}.battle-table .pot-center small{max-width:92px;margin:0 0 0 3px;font-size:7px}.phase-revealing .player-order-strip{opacity:.58}.phase-revealing .ordered-seat.is-resolving{opacity:1;transform:translateY(-2px)}}.duel-order-callout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:38px;margin:8px 0 0;padding:6px 9px;border:1px solid rgba(209,173,104,.28);border-left:3px solid #b64a3a;background:#d1ad680e}.duel-order-callout span,.duel-order-callout em{color:var(--muted-2);font:8px DM Mono,monospace;font-style:normal}.duel-order-callout strong{color:#f4cf82;font:700 13px "Noto Serif SC",serif;text-align:center}.duel-order-callout em{justify-self:end;color:#b2a386}.victory-marquee{position:absolute;left:50%;bottom:12px;z-index:7;display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);min-height:32px;padding:5px 11px;transform:translate(-50%);color:#ffe7a9;border:1px solid rgba(229,192,108,.62);background:#442416eb;box-shadow:0 8px 20px #00000057,inset 0 0 0 2px #ffe6aa0f;font:700 10px "Noto Serif SC",serif;white-space:nowrap;animation:victory-marquee-in .42s ease both}.victory-marquee span{overflow:hidden;text-overflow:ellipsis}.victory-replay-zone{position:relative}.victory-replay-zone.is-waiting{display:grid;place-items:center}.victory-awaiting{display:flex;flex-direction:column;align-items:center;gap:6px;color:#dcb86d;animation:victory-awaiting .9s ease-in-out infinite alternate}.victory-awaiting span{color:var(--muted-2);font:8px DM Mono,monospace}.victory-awaiting strong{color:#f4e3bf;font:700 17px "Noto Serif SC",serif}.victory-replay-cards{animation:victory-cards-enter .44s cubic-bezier(.2,.8,.2,1) both}.victory-frame-meter{position:absolute;right:3px;bottom:0;left:3px;height:2px;overflow:hidden;background:#d1ad681a}.victory-frame-meter span{display:block;height:100%;background:#c25340;transition:width .3s ease}.victory-replay-actions h2{margin-bottom:9px}.replay-change{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border:1px solid rgba(209,173,104,.25);border-left:3px solid #b64a3a;background:#4b2e1d57;animation:replay-change-in .4s ease both}.replay-change span{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.replay-change strong{color:#f2e1bb;font:700 13px "Noto Serif SC",serif}.replay-change em{min-width:46px;color:#ffd886;font:800 17px DM Mono,monospace;font-style:normal;text-align:right}.replay-change.is-final{border-color:#e0be6b94;border-left-color:#e0be6b;background:#7e4e2347}.replay-progress{display:grid;grid-template-columns:1fr auto;gap:5px 8px;margin-top:10px;color:var(--muted-2);font:8px DM Mono,monospace}.replay-progress strong{color:#d9ba74;font-weight:500}.replay-progress>div{grid-column:1 / -1;height:3px;overflow:hidden;background:#d1ad681f}.replay-progress i{display:block;height:100%;background:linear-gradient(90deg,#a63d32,#e1bd6b);transition:width .3s ease}.victory-replay-actions>p{margin-top:9px}.replay-loading{display:flex;gap:7px;margin-top:20px}.replay-loading span{width:26px;height:3px;background:#9e3c31;animation:replay-loading .9s ease-in-out infinite alternate}.replay-loading span:nth-child(2){animation-delay:.15s}.replay-loading span:nth-child(3){animation-delay:.3s}.victory-finale-zone{min-height:0}.victory-finale{position:relative;display:grid;grid-template-columns:minmax(155px,.65fr) auto;grid-template-rows:auto 1fr;gap:8px 18px;height:100%;min-height:220px;overflow:hidden;padding:18px 20px;border:1px solid rgba(224,190,107,.46);background:linear-gradient(112deg,#772d2280,#1f1814f5 42%,#49331dc7);box-shadow:inset 0 0 0 5px #f1d59909;animation:finale-enter .65s cubic-bezier(.2,.8,.2,1) both}.victory-finale:before,.victory-finale:after{content:"";position:absolute;pointer-events:none}.victory-finale:before{inset:8px;border:1px solid rgba(238,205,137,.16)}.victory-finale:after{top:-35%;left:45%;width:42%;height:180%;transform:rotate(18deg);background:#ffdd8f0e;animation:finale-sweep 1.5s .35s ease both}.finale-seal{position:relative;z-index:2;display:flex;align-items:center;gap:8px;color:#f3ca72}.finale-seal span{color:#fff0c9;font:900 24px "Noto Serif SC",serif}.finale-copy{position:relative;z-index:2;min-width:0}.finale-copy>span{color:#c8aa70;font:8px DM Mono,monospace}.finale-copy strong{display:block;margin-top:5px;color:#fff0ca;font:900 26px/1.2 "Noto Serif SC",serif}.finale-copy p{margin:7px 0 0;color:#c7b590;font-size:10px;line-height:1.5}.finale-cards{position:relative;z-index:2;grid-column:2;grid-row:1 / 3;display:flex;align-items:center;gap:8px}.finale-cards .playing-card{width:142px;height:auto;min-height:0;aspect-ratio:.78}@keyframes victory-marquee-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes victory-awaiting{0%{opacity:.58;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@keyframes victory-cards-enter{0%{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes replay-change-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes replay-loading{0%{opacity:.25;transform:scaleX(.65)}to{opacity:1;transform:scaleX(1)}}@keyframes finale-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes finale-sweep{0%{opacity:0;transform:translate(-120%) rotate(18deg)}45%{opacity:1}to{opacity:0;transform:translate(160%) rotate(18deg)}}@media(max-width:640px){:root{--action-height-victory-replay: 184px}:root[data-viewport-density=compact]{--action-height-victory-replay: 176px}:root[data-viewport-density=short]{--action-height-victory-replay: 166px}.game-layout.phase-victory-replay{grid-template-rows:minmax(0,1fr) var(--action-height-victory-replay)}.phase-victory-replay .table-column{grid-template-rows:22px 62px minmax(0,1fr)}:root[data-viewport-density=compact] .phase-victory-replay .table-column{grid-template-rows:21px 58px minmax(0,1fr)}:root[data-viewport-density=short] .phase-victory-replay .table-column{grid-template-rows:20px 54px minmax(0,1fr)}.phase-victory-replay .pot-center,.phase-victory-replay .public-effects,.phase-victory-replay .center-seal{display:none}.victory-marquee{right:4px;bottom:4px;left:4px;max-width:none;min-height:24px;padding:3px 7px;transform:none;font-size:8px}.victory-replay-zone .hand-hint{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.victory-replay-cards{height:calc(100% - 22px)}.victory-frame-meter{bottom:1px}.duel-order-callout{min-height:30px;margin-top:3px;padding:3px 6px}.duel-order-callout strong{font-size:10px}.duel-order-callout span,.duel-order-callout em{font-size:6px}.duel-actions .option-list{margin-top:4px}.victory-replay-actions h2{margin-bottom:5px}.replay-change{min-height:44px;gap:6px;padding:5px 7px}.replay-change span{font-size:7px}.replay-change strong{font-size:10px}.replay-change em{min-width:38px;font-size:13px}.replay-progress{gap:3px 6px;margin-top:6px;font-size:7px}.victory-replay-actions>p{display:block;margin-top:5px;font-size:7px}.replay-loading{margin-top:12px}.victory-finale{grid-template-columns:minmax(102px,.62fr) auto;min-height:0;gap:4px 7px;padding:8px}.finale-seal{gap:5px}.finale-seal svg{width:18px}.finale-seal span{font-size:16px}.finale-copy>span{font-size:6px}.finale-copy strong{margin-top:3px;font-size:15px}.finale-copy p{margin-top:4px;font-size:7px;line-height:1.35}.finale-cards{gap:5px}.finale-cards .playing-card{width:min(27vw,106px);max-height:100%}}@media(max-width:640px)and (max-height:620px){.duel-order-callout{min-height:26px}.duel-order-callout strong{font-size:9px}.victory-replay-actions>p{display:none}.replay-change{min-height:40px}.finale-copy p{display:none}}@media(prefers-reduced-motion:reduce){.victory-marquee,.victory-awaiting,.victory-replay-cards,.replay-change,.replay-loading span,.victory-finale,.victory-finale:after{animation:none}}.card-inner-frame{position:relative}.playing-card.is-awakened,.playing-card.is-divine{border-color:#e2bd68;box-shadow:0 15px 34px #0000006b,0 0 0 2px #e1bc6738,inset 0 0 22px #e0b4541f}.playing-card.is-awakened:before{opacity:.95;background:linear-gradient(145deg,color-mix(in srgb,var(--faction-main) 74%,transparent),transparent 48%),linear-gradient(#231b1473,#0c0b0ac2),url(/assets/war-map.svg) center/cover,var(--faction-deep)}.playing-card.is-divine{border-color:#ffdc82;box-shadow:0 16px 38px #0000007a,0 0 0 2px #ffd6705c,0 0 24px color-mix(in srgb,var(--faction-main) 40%,transparent),inset 0 0 30px #efb6432e}.playing-card.is-divine:before{opacity:1;background:linear-gradient(135deg,rgba(171,54,38,.56),transparent 38%),linear-gradient(315deg,rgba(230,183,76,.34),transparent 42%),linear-gradient(#1e140f52,#0c0a09c2),url(/assets/war-map.svg) center/cover,var(--faction-deep)}.playing-card.is-awakened:after{border-color:#edc97ab8}.playing-card.is-divine:after{border:2px solid rgba(255,218,128,.86);box-shadow:inset 0 0 0 3px #a4352638}.playing-card.is-awakened .card-portrait:before,.playing-card.is-awakened .card-portrait:after{border-color:#edc97a85}.playing-card.is-divine .card-portrait:before,.playing-card.is-divine .card-portrait:after{border-color:#ffde8bc2;box-shadow:0 0 18px #e2b34829}.playing-card.is-awakened .card-crest,.playing-card.is-divine .card-crest{color:#ffe8af;text-shadow:0 3px 0 rgba(0,0,0,.38),0 0 23px color-mix(in srgb,var(--faction-main) 62%,#d9a94e 38%)}.playing-card.is-divine .card-name strong{color:#ffe6a0;text-shadow:0 2px 9px rgba(217,158,46,.3)}.card-evolution-rank{position:absolute;top:4px;left:50%;z-index:5;display:flex;align-items:center;gap:3px;max-width:53%;transform:translate(-50%);color:#f0ce83;font:7px "Noto Serif SC",serif;white-space:nowrap}.card-evolution-rank span{overflow:hidden;text-overflow:ellipsis}.card-evolution-rank em{color:#f2deb199;font:6px DM Mono,monospace;font-style:normal}.evolution-burst{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:#fff0c5;background:#702d21e0;pointer-events:none;animation:card-evolution-burst .76s cubic-bezier(.16,.8,.2,1) both}.evolution-burst:before,.evolution-burst:after{content:"";position:absolute;width:150%;height:1px;background:#ffde8eb3;box-shadow:0 -20px #ffde8e29,0 20px #ffde8e29}.evolution-burst:before{transform:rotate(35deg)}.evolution-burst:after{transform:rotate(-35deg)}.evolution-burst i{position:absolute;width:5px;height:5px;border:1px solid #f3cf79;transform:rotate(45deg);animation:evolution-particle .62s ease-out both}.evolution-burst i:nth-child(1){top:23%;left:25%}.evolution-burst i:nth-child(2){top:31%;right:20%;animation-delay:70ms}.evolution-burst i:nth-child(3){right:30%;bottom:22%;animation-delay:.12s}.evolution-burst span,.evolution-burst strong{position:relative;z-index:2}.evolution-burst span{color:#e8c276;font:7px DM Mono,monospace}.evolution-burst strong{margin-top:6px;font:900 22px "Noto Serif SC",serif}.evolution-cinematic{position:fixed;inset:0;z-index:48;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:20px;color:#fff0c8;background:#251410d1;pointer-events:none;animation:evolution-cinematic .76s cubic-bezier(.18,.82,.2,1) both}.evolution-cinematic.is-divine{background:#31140de0}.evolution-rays{position:absolute;left:50%;top:50%;width:min(78vw,420px);aspect-ratio:1;transform:translate(-50%,-50%)}.evolution-rays i{position:absolute;top:50%;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(245,205,117,.82),transparent)}.evolution-rays i:nth-child(2){transform:rotate(30deg)}.evolution-rays i:nth-child(3){transform:rotate(60deg)}.evolution-rays i:nth-child(4){transform:rotate(90deg)}.evolution-rays i:nth-child(5){transform:rotate(120deg)}.evolution-rays i:nth-child(6){transform:rotate(150deg)}.evolution-cinematic-seal{position:relative;z-index:2;display:grid;place-items:center;width:76px;height:76px;color:#ffe7aa;border:2px solid #e5bd67;box-shadow:inset 0 0 0 5px #b7422f7a,0 0 32px #e0ae4947;font:900 42px "Noto Serif SC",serif;transform:rotate(-4deg)}.evolution-cinematic>span,.evolution-cinematic>strong,.evolution-cinematic>em{position:relative;z-index:2;text-align:center}.evolution-cinematic>span{margin-top:14px;color:#d8b66d;font:8px DM Mono,monospace}.evolution-cinematic>strong{margin-top:5px;color:#fff0bd;font:900 clamp(28px,9vw,52px) "Noto Serif SC",serif;letter-spacing:0;text-shadow:0 5px 18px rgba(0,0,0,.5)}.evolution-cinematic>em{margin-top:8px;color:#cfbd98;font:10px "Noto Serif SC",serif;font-style:normal}.effect-ledger{position:fixed;top:78px;right:0;bottom:20px;z-index:35;width:min(330px,calc(100vw - 16px));pointer-events:none}.effect-ledger-tab{position:absolute;top:42%;right:0;display:flex;width:44px;min-height:68px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;color:#e5c379;border:1px solid rgba(222,190,119,.55);border-right:0;background:#382319f7;box-shadow:-7px 8px 20px #0000004d;pointer-events:auto}.effect-ledger-tab span{font:8px "Noto Serif SC",serif}.effect-ledger-tab b{position:absolute;top:-7px;left:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;color:#fff3d2;border:1px solid #d8ab59;background:#9f3d32;font:7px DM Mono,monospace}.effect-ledger.is-open .effect-ledger-tab{opacity:0;pointer-events:none}.effect-ledger-panel{position:absolute;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);color:#e9ddc3;border:1px solid rgba(209,173,104,.45);border-right:0;background:#1b1613fb;box-shadow:-18px 0 42px #00000075,inset 0 0 0 5px #d1ad6806;pointer-events:auto;animation:effect-ledger-enter .22s ease both}.effect-ledger-panel>header{display:flex;min-height:58px;align-items:center;justify-content:space-between;padding:9px 8px 8px 14px;border-bottom:1px solid rgba(209,173,104,.18);background:#6f2b2138}.effect-ledger-panel>header span,.effect-ledger-panel>header strong{display:block}.effect-ledger-panel>header span{color:#8f8370;font:7px DM Mono,monospace}.effect-ledger-panel>header strong{margin-top:3px;color:#f0ddba;font:700 16px "Noto Serif SC",serif}.effect-ledger-panel>header button{display:grid;place-items:center;width:44px;height:44px;color:#dbc17f;border:1px solid rgba(209,173,104,.22);background:#d1ad6809}.effect-ledger-current{display:grid;grid-template-columns:1fr auto;gap:2px 8px;min-height:60px;padding:9px 12px;border-bottom:1px solid rgba(209,173,104,.16);border-left:3px solid #d0a85b;background:#d1ad680d}.effect-ledger-current span{grid-column:1 / -1;color:#9f927c;font:7px DM Mono,monospace}.effect-ledger-current strong{color:#ffe1a1;font:700 13px "Noto Serif SC",serif}.effect-ledger-current em{color:#bbaa8a;font:8px "Noto Serif SC",serif;font-style:normal;text-align:right}.effect-ledger-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 10px max(14px,env(safe-area-inset-bottom));scrollbar-width:thin}.effect-ledger-row{display:grid;grid-template-columns:30px minmax(0,1fr) 46px;align-items:center;gap:8px;min-height:58px;padding:7px 2px 7px 7px;border-bottom:1px solid rgba(209,173,104,.1);border-left:2px solid transparent}.effect-ledger-row.tone-red,.effect-ledger-current.tone-red{border-left-color:#b64a3a}.effect-ledger-row.tone-green,.effect-ledger-current.tone-green{border-left-color:#60a184}.effect-ledger-row.tone-blue,.effect-ledger-current.tone-blue{border-left-color:#6590b2}.effect-ledger-row.tone-gold,.effect-ledger-current.tone-gold{border-left-color:#d1ad68}.effect-ledger-order{display:grid;place-items:center;width:28px;height:28px;color:#d9b96f;border:1px solid rgba(209,173,104,.34);font:8px DM Mono,monospace}.effect-ledger-row>div{min-width:0}.effect-ledger-row strong,.effect-ledger-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-ledger-row strong{color:#eee0c4;font:700 11px "Noto Serif SC",serif}.effect-ledger-row small{margin-top:3px;color:#7f7567;font-size:7px}.effect-ledger-row em{color:#a49680;font:8px/1.5 "Noto Serif SC",serif;font-style:normal;text-align:right}.effect-ledger-group+.effect-ledger-group{margin-top:9px}.effect-ledger-group h3{margin:4px 2px 2px;padding-bottom:4px;color:#d9b96f;border-bottom:1px solid rgba(209,173,104,.14);font:700 9px "Noto Serif SC",serif}.effect-ledger-empty{display:flex;height:100%;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#746b60;text-align:center}.effect-ledger-empty span{color:#a5967e;font:11px "Noto Serif SC",serif}.effect-ledger-empty small{font-size:7px}.finale-copy em{display:block;margin-top:6px;color:#e1c274;font:9px "Noto Serif SC",serif;font-style:normal}.victory-finale.has-awakened{border-color:#e8c268b3}.victory-finale.has-divine{border-color:#ffdc7ee6;box-shadow:inset 0 0 0 5px #f1d5990d,0 0 28px #ce94302e}@keyframes card-evolution-burst{0%{opacity:0;transform:scale(.82) rotate(-2deg)}22%{opacity:1;transform:scale(1.04) rotate(0)}72%{opacity:1}to{opacity:0;transform:scale(1.08)}}@keyframes evolution-particle{0%{opacity:0;transform:translateY(14px) rotate(45deg) scale(.5)}45%{opacity:1}to{opacity:0;transform:translateY(-19px) rotate(135deg) scale(1.2)}}@keyframes evolution-cinematic{0%{opacity:0;clip-path:inset(48% 0 48% 0)}16%{opacity:1;clip-path:inset(0 0 0 0)}68%{opacity:1}to{opacity:0;transform:scale(1.04)}}@keyframes effect-ledger-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(min-width:901px){.effect-ledger.is-desktop{top:88px;right:14px;bottom:20px;width:min(310px,24vw)}.effect-ledger.is-desktop .effect-ledger-panel{animation:none}}@media(max-width:640px){.card-evolution-rank{top:2px;gap:2px;max-width:55%;font-size:5px}.card-evolution-rank svg{width:7px;height:7px}.card-evolution-rank em{font-size:4px}.evolution-burst span{font-size:5px}.evolution-burst strong{margin-top:4px;font-size:16px}.evolution-cinematic{padding-bottom:max(64px,calc(env(safe-area-inset-bottom) + 48px))}.evolution-cinematic-seal{width:62px;height:62px;font-size:34px}.evolution-cinematic>strong{font-size:29px}.effect-ledger{top:calc(var(--mobile-topbar-height) + env(safe-area-inset-top) + 5px);bottom:max(48px,calc(env(safe-area-inset-bottom) + 32px));width:min(86vw,320px)}.effect-ledger-tab{top:38%;min-height:62px}.effect-ledger-panel>header{min-height:54px}.effect-ledger-current{min-height:54px;padding:7px 10px}.effect-ledger-row{min-height:52px}.finale-copy em{margin-top:3px;font-size:6px}}@media(prefers-reduced-motion:reduce){.evolution-burst,.evolution-burst i,.evolution-cinematic,.effect-ledger-panel{animation:none}}.card-hero-script{position:absolute;right:7px;bottom:7px;z-index:3;max-height:76%;color:#ffeebee0;font:800 12px/1.05 "Noto Serif SC",serif;letter-spacing:0;text-shadow:0 2px 7px rgba(0,0,0,.55);writing-mode:vertical-rl}.card-crest.is-general{transform:translate(-8px);font-size:78px}.playing-card.is-awakened .card-inner-frame:before,.playing-card.is-divine .card-inner-frame:before{content:"";position:absolute;inset:3px;z-index:1;border:1px solid rgba(241,205,126,.2);pointer-events:none}.playing-card.is-awakened .card-portrait{background:radial-gradient(circle at 42% 48%,color-mix(in srgb,var(--faction-main) 45%,transparent),transparent 63%)}.playing-card.is-awakened .card-faction{color:#2b1c10;background:#e6c776;box-shadow:0 0 12px #e6c77633}.playing-card.is-divine{border-width:3px;background:#351612}.playing-card.is-divine .card-inner-frame{background:linear-gradient(145deg,rgba(170,48,34,.18),transparent 46%),radial-gradient(circle at 52% 40%,rgba(244,195,83,.16),transparent 54%)}.playing-card.is-divine .card-inner-frame:after{content:"";position:absolute;top:-42%;left:-55%;z-index:1;width:36%;height:185%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,229,155,.2),transparent);pointer-events:none;animation:divine-card-sweep 3.2s ease-in-out infinite}.playing-card.is-divine .card-faction{color:#43170f;background:#ffd77b;box-shadow:0 0 16px #ffd77b59}.playing-card.is-divine .card-hero-script{color:#ffe39a;font-size:13px}.card-evolution-rank{top:34px;left:50%;max-width:calc(100% - 28px);padding:2px 5px;border:1px solid rgba(231,196,116,.34);background:#190f0bd1}.card-stat-grid strong.is-dominant{transform:scale(1.08);transform-origin:center;font-weight:900}.card-stat-grid strong.power-base{color:#f2ead7}.card-stat-grid strong.power-rising{color:#b9e4ce;text-shadow:0 0 7px rgba(92,176,139,.24)}.card-stat-grid strong.power-elite{color:#8fd6ff;text-shadow:0 0 9px rgba(82,167,219,.35)}.card-stat-grid strong.power-awakened{color:#ffd477;text-shadow:0 0 10px rgba(238,186,76,.48)}.card-stat-grid strong.power-divine{color:#fff2bd;text-shadow:0 0 5px #d94837,0 0 14px rgba(255,216,112,.7)}.stat-float{top:48%;min-width:38px;padding:4px 7px;color:#fff7e3;border-color:#f0c878;background:#8d2f27;box-shadow:0 6px 16px #0000007a,0 0 10px #e0b56133;font-size:14px;animation:stat-float-clear .9s cubic-bezier(.16,.8,.2,1) both}.evolution-burst,.evolution-cinematic{animation-duration:1.5s}.evolution-cinematic.is-divine .evolution-cinematic-seal{color:#fff0b2;border-color:#ffdc82;background:#7e23197a;box-shadow:inset 0 0 0 5px #dd4b3373,0 0 42px #ffcf656b}@keyframes stat-float-clear{0%{opacity:0;transform:translate(-50%,7px) scale(.9)}12%{opacity:1;transform:translate(-50%,1px) scale(1.08)}82%{opacity:1;transform:translate(-50%,-13px) scale(1)}to{opacity:0;transform:translate(-50%,-19px) scale(.98)}}@keyframes divine-card-sweep{0%,58%{opacity:0;transform:translate(0) rotate(22deg)}70%{opacity:1}to{opacity:0;transform:translate(470%) rotate(22deg)}}@media(max-width:640px){:root{--action-height-betting: 250px;--action-height-lobby: 136px;--action-height-selecting: 216px;--action-height-revealing: 226px;--action-height-result: 176px;--action-height-victory-replay: 164px}:root[data-viewport-density=compact]{--action-height-betting: 246px;--action-height-lobby: 132px;--action-height-selecting: 210px;--action-height-revealing: 220px;--action-height-result: 170px;--action-height-victory-replay: 158px}:root[data-viewport-density=short]{--action-height-betting: 242px;--action-height-lobby: 128px;--action-height-selecting: 204px;--action-height-revealing: 214px;--action-height-result: 164px;--action-height-victory-replay: 152px}.action-panel{padding:6px 9px 8px}.table-column,:root[data-viewport-density=compact] .table-column,:root[data-viewport-density=short] .table-column{grid-template-rows:20px 56px minmax(0,1fr)}.phase-revealing .table-column,:root[data-viewport-density=compact] .phase-revealing .table-column,:root[data-viewport-density=short] .phase-revealing .table-column{grid-template-rows:20px 70px minmax(0,1fr)}.phase-revealing .pot-center,.phase-revealing .public-effects,.phase-revealing .center-seal,.phase-revealing .table-ribbon{display:none}.phase-revealing .player-order-strip{top:3px;opacity:1}.phase-revealing .ordered-seat:not(.is-resolving){opacity:.54}.phase-revealing .resolution-stage{right:4px;bottom:3px;left:4px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;width:auto;min-height:28px;padding:3px 7px;transform:none;text-align:left}.phase-revealing .resolution-stage .stage-kicker{display:none}.phase-revealing .resolution-stage strong{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.phase-revealing .resolution-stage>span:last-child{align-self:center;font-size:8px;white-space:nowrap}.hand-zone{padding-top:4px}.hand-cards{gap:8px;margin-top:3px}.playing-card,.card-back,:root[data-viewport-density=short] .playing-card,:root[data-viewport-density=short] .card-back{width:min(38vw,146px);height:100%;max-width:146px;max-height:190px}.card-inner-frame{grid-template-rows:21px minmax(0,1fr) 28px 41px}.card-evolution-rank{top:25px;max-width:calc(100% - 20px);padding:1px 4px}.card-hero-script{right:4px;bottom:4px;font-size:8px}.playing-card.is-divine .card-hero-script{font-size:9px}.card-crest.is-general{transform:translate(-5px);font-size:55px}.card-stat-grid strong.is-dominant{transform:scale(1.1)}.stat-float{min-width:32px;padding:3px 5px;font-size:11px}.effect-ledger{width:min(82vw,300px)}.effect-ledger-tab{top:7px}}@media(prefers-reduced-motion:reduce){.playing-card.is-divine .card-inner-frame:after{animation:none}.stat-float{animation:none;opacity:1}}.effect-ledger-panel{grid-template-rows:auto auto auto minmax(0,1fr)}.effect-ledger-filters{min-width:0;padding:6px 10px 7px;border-bottom:1px solid rgba(209,173,104,.16);background:#0e0c0a57}.effect-ledger-filter-modes,.effect-ledger-filter-values{display:flex;min-width:0;gap:4px}.effect-ledger-filter-modes button,.effect-ledger-filter-values button{min-height:36px;padding:0 9px;color:#9d907d;border:1px solid rgba(209,173,104,.16);background:#d1ad6809;font:8px "Noto Serif SC",serif;white-space:nowrap}.effect-ledger-filter-modes button{flex:1 1 0}.effect-ledger-filter-values{margin-top:5px;overflow-x:auto;scrollbar-width:none}.effect-ledger-filter-values::-webkit-scrollbar{display:none}.effect-ledger-filter-values button{flex:0 0 auto;min-width:42px}.effect-ledger-filter-modes button.is-active,.effect-ledger-filter-values button.is-active{color:#ffe5a4;border-color:#e0be6bb8;background:#9f3d324d;box-shadow:inset 0 0 0 1px #e0be6b1a}@media(max-width:640px){.effect-ledger-filters{padding:5px 8px 6px}.effect-ledger-filter-modes button,.effect-ledger-filter-values button{min-height:36px;padding-inline:7px;font-size:7px}}.player-order-strip{gap:5px;width:min(96%,760px)}.ordered-seat .player-seat{min-height:36px;padding:4px 5px}.ordered-seat .seat-avatar{width:23px;height:23px;color:#e9ddc4;border-color:#d1ad6852;background:#392f26eb}.ordered-seat.is-resolving .seat-order{color:#2a1d13;border-color:#e5bf72;background:#e5bf72;box-shadow:0 0 12px #e5bf725c}.player-order-strip{animation:resolution-queue-shift .42s cubic-bezier(.2,.8,.2,1) both}@keyframes resolution-queue-shift{0%{opacity:.45;transform:translate(10px)}to{opacity:1;transform:translate(-50%)}}.victory-awaiting em{max-width:min(80vw,440px);margin-top:4px;color:#bca989;font:9px/1.45 "Noto Serif SC",serif;font-style:normal;text-align:center}@media(max-width:640px){.player-order-strip{gap:3px;animation-name:resolution-queue-shift-mobile}.ordered-seat .player-seat{min-height:30px;padding:3px 3px 3px 21px}.ordered-seat .seat-stack{display:none}.victory-awaiting em{max-width:82vw;font-size:7px}}@keyframes resolution-queue-shift-mobile{0%{opacity:.45;transform:translate(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.player-order-strip{animation:none}}@media(min-width:901px){.desktop-stage{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,320px);gap:16px;width:min(1840px,100%);height:calc(100vh - 68px);min-height:0;margin:0 auto;padding:18px 22px 22px}.desktop-stage>.game-layout{grid-column:1;grid-template-columns:clamp(170px,14vw,210px) minmax(0,1fr) clamp(300px,25vw,380px);gap:16px;width:auto;height:100%;min-width:0;min-height:0;margin:0;padding:0}.desktop-stage>.effect-ledger{position:relative;inset:auto;grid-column:2;width:auto;height:100%;min-width:0;min-height:0;pointer-events:auto}.desktop-stage>.effect-ledger .effect-ledger-panel{position:relative;inset:auto;height:100%}.desktop-stage>.effect-ledger .effect-ledger-panel>header button{display:none}.desktop-stage .left-rail{min-height:0;overflow-y:auto;padding-right:4px;gap:16px;scrollbar-width:thin}.desktop-stage .table-column{display:grid;grid-template-rows:41px minmax(280px,1fr) minmax(210px,.78fr);gap:11px;min-height:0;overflow:hidden}.desktop-stage .table-toolbar{min-height:0}.desktop-stage .battle-table{height:auto;min-height:0}.desktop-stage .table-ribbon{top:16px}.desktop-stage .player-order-strip{top:43px}.desktop-stage .resolution-stage{bottom:126px}.desktop-stage .public-effects{bottom:72px;max-height:42px;overflow:hidden}.desktop-stage .result-banner{bottom:14px}.desktop-stage .hand-zone{display:flex;flex-direction:column;height:auto;min-height:0;overflow:hidden;padding:4px 4px 0}.desktop-stage .hand-cards{flex:1;min-height:0;align-items:flex-start;overflow:hidden;margin-top:10px}.desktop-stage .playing-card,.desktop-stage .card-back{width:clamp(150px,13vw,192px);height:min(248px,100%);min-height:0;aspect-ratio:192 / 248}.desktop-stage .right-rail{display:grid;grid-template-rows:minmax(300px,.58fr) minmax(180px,.42fr);gap:12px;min-height:0;overflow:hidden}.desktop-stage .action-panel{min-height:0;max-height:none;overflow-y:auto;scrollbar-width:thin}.desktop-stage .event-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.desktop-stage .event-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.desktop-stage .phase-result .table-column{grid-template-rows:41px minmax(0,1fr)}.desktop-stage .all-armies-result{padding:12px 14px}.desktop-stage .result-stage-heading{min-height:60px}.desktop-stage .result-stage-heading .finale-seal{width:46px}.desktop-stage .result-stage-heading .finale-copy strong{font-size:20px}.desktop-stage .result-army-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;height:calc(100% - 68px);margin-top:8px}.desktop-stage .result-army{grid-template-rows:38px minmax(0,1fr);padding:7px 9px}.desktop-stage .result-army-title strong{font-size:12px}.desktop-stage .result-army-title>em{font-size:17px}.desktop-stage .result-army-cards{gap:8px}.desktop-stage .result-army-cards .playing-card{width:min(44%,128px)!important}.desktop-stage .result-army-cards .card-inner-frame{grid-template-rows:22px minmax(0,1fr) 29px 43px;padding:6px 6px 5px}.desktop-stage .result-army-cards .card-faction{height:17px;padding:0 5px;font-size:8px}.desktop-stage .result-army-cards .card-corner-icon{width:12px;height:12px}.desktop-stage .result-army-cards .card-portrait:before{width:56px;height:56px}.desktop-stage .result-army-cards .card-portrait:after{width:38px;height:38px}.desktop-stage .result-army-cards .card-crest{font-size:43px}.desktop-stage .result-army-cards .card-hero-script{font-size:7px}.desktop-stage .result-army-cards .card-name{gap:4px}.desktop-stage .result-army-cards .card-name strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.desktop-stage .result-army-cards .card-name span{overflow:hidden;max-width:45%;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.desktop-stage .result-army-cards .card-stat-grid{gap:2px}.desktop-stage .result-army-cards .card-stat-grid b{font-size:7px}.desktop-stage .result-army-cards .card-stat-grid strong{margin-top:2px;font-size:16px}.desktop-stage .result-army-cards .card-evolution-rank{top:2px;gap:2px;font-size:5px}.desktop-stage .result-army-cards .card-evolution-rank svg{width:7px;height:7px}.desktop-stage .result-army-cards .card-evolution-rank em{font-size:5px}}@media(min-width:901px)and (max-width:1240px){.desktop-stage{grid-template-columns:minmax(0,1fr) 260px;gap:12px;padding:14px}.desktop-stage>.game-layout{grid-template-columns:150px minmax(0,1fr) 285px;gap:12px}.desktop-stage .table-column{grid-template-rows:34px minmax(250px,1fr) minmax(190px,.75fr)}.desktop-stage .playing-card,.desktop-stage .card-back{width:clamp(138px,14vw,170px)}}@media(min-width:901px)and (max-width:1100px){.desktop-stage{grid-template-columns:minmax(0,1fr) 240px}.desktop-stage>.game-layout{grid-template-columns:minmax(0,1fr) 260px}.desktop-stage .left-rail{display:none}.desktop-stage .playing-card,.desktop-stage .card-back{width:clamp(138px,17vw,164px)}.desktop-stage .ordered-seat .seat-meta,.desktop-stage .ordered-seat .seat-stack{display:none}}@media(min-width:901px)and (max-height:700px){.desktop-stage{padding-top:12px;padding-bottom:14px}.desktop-stage .table-column{grid-template-rows:34px minmax(235px,1fr) minmax(175px,.7fr);gap:8px}.desktop-stage .right-rail{grid-template-rows:minmax(260px,.58fr) minmax(150px,.42fr);gap:8px}.desktop-stage .resolution-stage{bottom:112px;max-height:52px;padding:6px 9px}.desktop-stage .public-effects{bottom:58px;max-height:34px}}@media(max-width:900px){.desktop-stage{width:100%}}@media(min-width:901px)and (max-height:560px){.desktop-stage{grid-template-columns:minmax(0,1fr) 220px;gap:10px;padding:10px 12px 12px;overflow:hidden}.desktop-stage>.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:10px}.desktop-stage .table-column{grid-template-rows:28px minmax(175px,1fr) minmax(120px,.68fr);gap:6px}.desktop-stage .right-rail{grid-template-rows:minmax(210px,.58fr) minmax(120px,.42fr);gap:6px}.desktop-stage .hand-zone{padding-top:0}.desktop-stage .hand-heading{min-height:32px}.desktop-stage .hand-cards{gap:8px;margin-top:4px}.desktop-stage .playing-card,.desktop-stage .card-back{width:clamp(120px,14vw,142px);height:110px;min-height:110px;aspect-ratio:auto}.desktop-stage .playing-card{padding:7px 8px 6px}.desktop-stage .card-name{margin-top:14px;font-size:15px}.desktop-stage .card-stat-grid{right:8px;bottom:18px;gap:2px;font-size:9px}.desktop-stage .card-rule{bottom:13px}.desktop-stage .card-caption{bottom:5px;font-size:6px}.desktop-stage .victory-finale{min-height:0;padding:8px 10px;gap:4px 8px}.desktop-stage .finale-seal span{font-size:18px}.desktop-stage .finale-copy strong{margin-top:3px;font-size:18px}.desktop-stage .finale-copy p{margin-top:4px;font-size:8px}.desktop-stage .finale-cards{gap:5px}.desktop-stage .finale-cards .playing-card{width:clamp(82px,11vw,106px);height:auto;min-height:0;aspect-ratio:.78}.desktop-stage .action-panel{overflow-y:auto}}@media(min-width:901px){.desktop-stage .victory-finale{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 14px}.desktop-stage .finale-cards{min-width:0;gap:5px}.desktop-stage .finale-cards .playing-card{width:clamp(92px,9vw,128px);height:auto;min-height:0;aspect-ratio:.78}}@media(min-width:901px)and (max-width:1100px){.app-shell .desktop-stage{grid-template-columns:minmax(0,1fr) 230px;gap:10px;padding:12px}.app-shell .desktop-stage>.game-layout{grid-template-columns:minmax(0,1fr) 250px;gap:10px}.app-shell .desktop-stage .ordered-seat .player-seat{gap:4px;padding:4px 4px 4px 15px}.app-shell .desktop-stage .ordered-seat .seat-avatar{width:22px;height:22px;font-size:10px}.app-shell .desktop-stage .ordered-seat .seat-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.card-portrait{background:color-mix(in srgb,var(--faction-deep) 88%,#070707 12%);isolation:isolate}.card-portrait:before,.card-portrait:after,.card-portrait>i{display:none!important}.card-portrait-art,.card-portrait-scrim{position:absolute;inset:0;width:100%;height:100%}.card-portrait-art{z-index:0;display:block;object-fit:cover;object-position:50% 22%;filter:saturate(.88) contrast(1.07) brightness(.9);transform:scale(1.015)}.card-portrait-scrim{z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--faction-main) 16%,transparent),transparent 46%),linear-gradient(0deg,color-mix(in srgb,var(--faction-deep) 92%,transparent),transparent 42%);box-shadow:inset 0 0 22px #00000047;pointer-events:none}.card-crest,.card-crest.is-general{position:absolute;right:4px;bottom:4px;z-index:2;width:20px;height:20px;display:grid;place-items:center;transform:none;color:#fff0c7;border:1px solid color-mix(in srgb,var(--faction-light) 70%,transparent);background:color-mix(in srgb,var(--faction-deep) 78%,transparent);font:800 11px/1 "Noto Serif SC",serif;text-shadow:0 1px 4px #000}.card-hero-script{right:auto;bottom:4px;left:4px;max-width:calc(100% - 32px);max-height:none;overflow:hidden;font-size:8px;line-height:1;text-overflow:ellipsis;white-space:nowrap;writing-mode:horizontal-tb}.playing-card.is-awakened .card-portrait-art{filter:saturate(.98) contrast(1.08) brightness(.94)}.playing-card.is-divine .card-portrait-art{filter:saturate(1.12) contrast(1.1) brightness(.98) sepia(.08)}.option-art{display:none}.duel-option-grid .option-card:before{z-index:3;color:#ffe7b12e;text-shadow:0 2px 10px rgba(0,0,0,.72)}.duel-option-grid .option-card:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#100e0c14 18%,#14100dad 58%,#100e0cf7);pointer-events:none}.duel-option-grid .option-art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(.82) contrast(1.08) brightness(.72);transition:filter .18s ease,transform .22s ease}.duel-option-grid .option-card:hover:not(:disabled) .option-art,.duel-option-grid .option-card.is-selected .option-art{filter:saturate(1) contrast(1.08) brightness(.84);transform:scale(1.025)}.duel-option-grid .option-icon,.duel-option-grid .option-body,.duel-option-grid .option-tag{position:relative;z-index:2}.duel-option-grid .option-icon{color:#f1ce83;border-color:#f2d28cb8;background:#110e0c94;box-shadow:0 6px 18px #00000038}.duel-option-grid .option-body strong{color:#fff1cd;text-shadow:0 2px 8px rgba(0,0,0,.82)}.duel-option-grid .option-body span{color:#d1c3a6;text-shadow:0 1px 5px #000}.currency-reward.is-loss{color:#e17b69;border-color:#c44a395c;background:#9730261a}.duel-hand-preview .card-stat-grid{gap:3px}.duel-hand-preview .card-stat-grid span{min-width:0;padding:2px 1px;overflow:hidden}.duel-hand-preview .card-stat-grid b{font-size:6px}.duel-hand-preview .card-stat-grid strong{margin-top:1px;font-size:12px}.duel-hand-preview .card-stat-grid strong.is-dominant{transform:none}.hero-reveal-grid .card-stat-grid,.desktop-stage .result-army-cards .card-stat-grid{gap:2px}.hero-reveal-grid .card-stat-grid span,.desktop-stage .result-army-cards .card-stat-grid span{min-width:0;padding:1px;overflow:hidden}.hero-reveal-grid .card-stat-grid b,.desktop-stage .result-army-cards .card-stat-grid b{font-size:5px}.hero-reveal-grid .card-stat-grid strong,.desktop-stage .result-army-cards .card-stat-grid strong{margin-top:1px;font-size:10px}.hero-reveal-grid .card-stat-grid strong.is-dominant,.desktop-stage .result-army-cards .card-stat-grid strong.is-dominant{transform:none}.currency-buyin-pill{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;color:#d9c49a;border:1px solid rgba(209,173,104,.24);background:#1a1612b8;font:9px DM Mono,monospace;white-space:nowrap}.currency-buyin-pill strong{color:#f1cf83;font-size:11px}.seat-action-status,.battlefield-bet-status{position:absolute;z-index:9;display:flex;align-items:center;justify-content:center;color:#fff1ce;border:1px solid rgba(229,190,112,.72);background:#6f3a23f0;box-shadow:0 8px 24px #0000006b;font:800 9px "Noto Serif SC",serif;white-space:nowrap;animation:bet-status-enter .52s cubic-bezier(.2,.9,.2,1) both}.seat-action-status{right:5px;bottom:-8px;min-height:19px;padding:0 7px}.battlefield-bet-status{left:50%;bottom:7px;min-height:24px;padding:0 11px;transform:translate(-50%);animation-name:battlefield-bet-status-enter}.player-seat.action-all_in .seat-action-status,.battlefield-player.action-all_in .battlefield-bet-status{color:#fff5d9;border-color:#ffd383;background:#9f2f25;box-shadow:0 0 22px #d4452e9e,0 8px 24px #0000007a}.player-seat.action-raise .seat-action-status,.battlefield-player.action-raise .battlefield-bet-status{color:#24180d;background:#dfb35e}.battlefield-player.is-bet-impact{animation:battlefield-bet-impact .74s cubic-bezier(.2,.8,.2,1) both}.battlefield-player.is-bet-impact.action-all_in{border-color:#e65c3fe6;box-shadow:inset 0 0 34px #b533253d,0 0 22px #c13a2952}.bet-cinematic{position:absolute;top:47%;left:50%;z-index:82;width:min(440px,calc(100% - 32px));min-height:102px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;overflow:hidden;pointer-events:none;transform:translate(-50%,-50%);color:#f8ead0;border:1px solid rgba(234,194,112,.68);background:#291b14f5;box-shadow:0 20px 70px #0000009e,inset 0 0 36px #d69e4b14;animation:bet-cinematic-enter 1.1s cubic-bezier(.18,.84,.2,1) both}.bet-cinematic.action-raise{border-color:#f1c15ce6;animation-duration:1.45s}.bet-cinematic.action-all_in{width:min(500px,calc(100% - 24px));min-height:126px;color:#fff1c9;border-color:#f4bd65;background:#651b16f7;box-shadow:0 0 0 2px #df5c3640,0 24px 90px #410804bf,inset 0 0 52px #ffbe5a24;animation-name:all-in-cinematic-enter;animation-duration:2.1s}.bet-cinematic-flash,.bet-shockwave,.bet-particles{position:absolute;inset:0;pointer-events:none}.bet-cinematic-flash{background:linear-gradient(105deg,transparent 18%,rgba(255,222,151,.18) 47%,transparent 70%);transform:translate(-100%);animation:bet-flash .76s 80ms ease-out both}.bet-shockwave{left:48px;top:50%;width:72px;height:72px;border:2px solid rgba(245,204,124,.68);border-radius:50%;transform:translate(-50%,-50%) scale(.35);animation:bet-shockwave .9s ease-out both}.action-all_in .bet-shockwave{border-width:3px;border-color:#ffcd76;animation-duration:1.35s}.bet-command-mark{position:relative;z-index:2;width:58px;height:58px;display:grid;place-items:center;color:#2d1c0d;border:1px solid #f2d18b;background:#dcb05e;box-shadow:inset 0 0 0 4px #4a27132e,0 6px 18px #00000052;transform:rotate(45deg)}.bet-command-mark svg{transform:rotate(-45deg)}.action-all_in .bet-command-mark{width:64px;height:64px;color:#fff3d3;border-color:#ffd88f;background:#b8382a;box-shadow:inset 0 0 0 4px #ffd37c2e,0 0 28px #ff7a4194}.bet-command-copy{position:relative;z-index:2;min-width:0}.bet-command-copy span,.bet-command-copy strong,.bet-command-copy em{display:block}.bet-command-copy span{color:#bdab8c;font:9px DM Mono,monospace}.bet-command-copy strong{margin-top:3px;color:#f6d995;font:800 25px/1.15 "Noto Serif SC",serif}.bet-command-copy em{margin-top:5px;color:#d4c4a8;font: 9px DM Mono,monospace}.action-all_in .bet-command-copy strong{color:#fff0b9;font-size:30px;text-shadow:0 0 18px rgba(255,181,92,.55)}.bet-pot-flight{position:relative;z-index:2;align-self:end;display:flex;align-items:center;gap:4px;color:#bca987;font:8px DM Mono,monospace;white-space:nowrap}.bet-pot-flight b{color:#f0c975;font-size:12px}.bet-particles i{position:absolute;left:55px;top:50%;width:5px;height:5px;background:#edc271;box-shadow:0 0 8px #ffbe57b8;animation:bet-particle .98s ease-out both}.bet-particles i:nth-child(2){--particle-x: 110px;--particle-y: -42px;animation-delay:40ms}.bet-particles i:nth-child(3){--particle-x: 168px;--particle-y: 34px;animation-delay:90ms}.bet-particles i:nth-child(4){--particle-x: -46px;--particle-y: -38px;animation-delay:20ms}.bet-particles i:nth-child(5){--particle-x: 230px;--particle-y: -16px;animation-delay:.13s}.bet-particles i:nth-child(6){--particle-x: 284px;--particle-y: 27px;animation-delay:.18s}.bet-particles i:nth-child(7){--particle-x: 75px;--particle-y: 48px;animation-delay:70ms}.bet-particles i:nth-child(8){--particle-x: 340px;--particle-y: -35px;animation-delay:.21s}.pot-center.is-bet-impact{animation:pot-bet-impact .65s cubic-bezier(.2,.85,.2,1) both}.pot-center.is-bet-impact.action-raise strong{color:#ffe098;text-shadow:0 0 17px rgba(235,179,78,.66)}.pot-center.is-bet-impact.action-all_in{border-color:#e6563be0;background:#5b1914f0}.pot-center.is-bet-impact.action-all_in strong{color:#ffd47d;text-shadow:0 0 20px rgba(255,92,49,.72)}.bet-live-status{min-height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;margin-top:9px;padding:0 9px;color:#c9b99a;border-left:3px solid #c99c52;background:#d09f4d14;font:9px DM Mono,monospace;animation:bet-live-enter .34s ease-out both}.bet-live-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet-live-status strong{color:#efd188;font:800 12px "Noto Serif SC",serif}.bet-live-status em{color:#dcb464;font-style:normal}.bet-live-status.action-all_in{border-left-color:#e05a42;background:#b8322729}.bet-live-status.action-all_in strong,.bet-live-status.action-all_in em{color:#ffb878}.bet-grid button{position:relative;overflow:hidden;transition:transform .12s ease,border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}.bet-grid button:active:not(:disabled){transform:translateY(2px) scale(.985)}.bet-grid .all-in-button:not(:disabled){color:#ffc283;border-color:#d94d37d1;background:#9d2a213d;box-shadow:inset 0 0 0 1px #ffc97914,0 0 18px #b735261f}.bet-grid .all-in-button:hover:not(:disabled){color:#fff0c3;border-color:#ef7d55;background:#a531247a;box-shadow:0 0 22px #d2452b4d}.bet-actions.is-commanding .bet-grid button{filter:saturate(.45)}.bet-actions.is-commanding.action-raise .raise-button,.bet-actions.is-commanding.action-all_in .all-in-button{opacity:1;filter:none;animation:command-button-commit .76s ease-out both}@keyframes bet-status-enter{0%{opacity:0;transform:translateY(7px) scale(.85)}55%{opacity:1;transform:translateY(-2px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes battlefield-bet-status-enter{0%{opacity:0;transform:translate(-50%,7px) scale(.85)}55%{opacity:1;transform:translate(-50%,-2px) scale(1.06)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes battlefield-bet-impact{0%{transform:scale(.98);filter:brightness(.78)}40%{transform:scale(1.015);filter:brightness(1.28)}to{transform:scale(1);filter:brightness(1)}}@keyframes bet-cinematic-enter{0%{opacity:0;transform:translate(-50%,-45%) scale(.82);filter:brightness(1.8)}18%{opacity:1;transform:translate(-50%,-52%) scale(1.035)}38%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-54%) scale(.98)}}@keyframes all-in-cinematic-enter{0%{opacity:0;transform:translate(-50%,-46%) scale(.72);filter:brightness(2)}12%{opacity:1;transform:translate(-50%,-53%) scale(1.07)}25%,82%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-55%) scale(1.02)}}@keyframes bet-flash{55%{transform:translate(65%)}to{transform:translate(130%)}}@keyframes bet-shockwave{to{opacity:0;transform:translate(-50%,-50%) scale(2.25)}}@keyframes bet-particle{to{opacity:0;transform:translate(var(--particle-x, 140px),var(--particle-y, -25px)) rotate(140deg) scale(.4)}}@keyframes pot-bet-impact{0%{transform:translate(-50%) scale(.9);filter:brightness(1.7)}45%{transform:translate(-50%) scale(1.08)}to{transform:translate(-50%) scale(1);filter:brightness(1)}}@keyframes bet-live-enter{0%{opacity:0;transform:translate(8px)}}@keyframes command-button-commit{35%{transform:translateY(2px) scale(.97);box-shadow:0 0 28px #e28b4370}}@media(max-width:1100px){.currency-buyin-pill span{display:none}}@media(max-height:700px){.bet-cinematic{top:43%;min-height:88px;padding-top:10px;padding-bottom:10px}.bet-cinematic.action-all_in{min-height:104px}.bet-command-mark{width:50px;height:50px}.action-all_in .bet-command-mark{width:56px;height:56px}.bet-command-copy strong{font-size:22px}.action-all_in .bet-command-copy strong{font-size:26px}}@media(prefers-reduced-motion:reduce){.bet-cinematic{opacity:1;animation:none}.bet-cinematic-flash,.bet-shockwave,.bet-particles,.seat-action-status,.battlefield-bet-status,.battlefield-player.is-bet-impact,.pot-center.is-bet-impact,.bet-actions.is-commanding .bet-grid button{animation:none}}.playing-card.is-divine,.playing-card.is-alternate{border-width:3px;isolation:isolate}.playing-card.is-divine{border-color:#ffe5a0;background:#3a1812;box-shadow:0 16px 38px #0000007a,0 0 0 2px #ffe09157,0 0 26px #e9ab3f4d,inset 0 0 30px #ffc64a2b}.playing-card.is-alternate{border-color:#df7880;background:#160f18;box-shadow:0 16px 38px #0000008f,0 0 0 2px #70cac433,0 0 26px #b5314852,inset 0 0 30px #43aeab1a}.playing-card.is-alternate:before{content:"";position:absolute;inset:-30% -65%;z-index:3;opacity:.34;background:repeating-linear-gradient(112deg,transparent 0 13px,rgba(229,74,91,.24) 14px 15px,transparent 16px 29px);mix-blend-mode:screen;pointer-events:none;animation:alternate-card-rift 4.6s linear infinite}.playing-card.is-alternate:after{border-color:#6fddd270;box-shadow:inset 0 0 0 3px #97253b33}.playing-card.is-alternate .card-inner-frame{background:radial-gradient(circle at 52% 40%,rgba(169,39,65,.2),transparent 54%),linear-gradient(150deg,rgba(53,184,177,.11),transparent 48%)}.playing-card.is-alternate .card-inner-frame:before{content:"";position:absolute;inset:3px;z-index:1;border:1px solid rgba(92,215,206,.22);pointer-events:none}.playing-card.is-alternate .card-faction{color:#f4e4dc;background:#8b263b;box-shadow:0 0 16px #d53d535c}.playing-card.is-alternate .card-hero-script{color:#9de2d8;text-shadow:0 2px 8px #09070a,0 0 11px rgba(64,207,193,.28)}.playing-card.is-alternate .card-name strong{color:#f09aa0;text-shadow:0 2px 10px rgba(225,62,82,.4)}.playing-card.is-alternate .card-crest{color:#f48b98;text-shadow:0 3px 0 rgba(0,0,0,.48),0 0 21px rgba(76,211,200,.48)}.playing-card.is-alternate .card-portrait-art{filter:saturate(1.14) contrast(1.18) brightness(.78) hue-rotate(326deg)}.playing-card.is-alternate .card-evolution-rank{color:#9be1d8;border-color:#63d6cc61;background:#16080fe0}.evolution-burst.is-divine{color:#fff2bd;background:#5b2117f0}.evolution-burst.is-alternate{color:#b9f1e9;background:#250713f5}.evolution-burst.is-alternate:before,.evolution-burst.is-alternate:after{background:#64e1d6b8;box-shadow:0 -20px #df3d543d,0 20px #df3d543d}.evolution-cinematic.is-divine{background:radial-gradient(circle at 50% 48%,rgba(154,48,33,.58),transparent 38%),#1e0b09f0}.evolution-cinematic.is-alternate{color:#c5f2eb;background:repeating-linear-gradient(123deg,transparent 0 30px,rgba(199,42,68,.09) 31px 32px),radial-gradient(circle at 50% 48%,rgba(36,161,156,.24),transparent 35%),#12060ef5}.evolution-cinematic.is-alternate .evolution-rays i{background:linear-gradient(90deg,transparent,rgba(86,224,211,.76),transparent)}.evolution-cinematic.is-alternate .evolution-cinematic-seal{color:#ff9aa5;border-color:#65d6cc;background:#69122a85;box-shadow:inset 0 0 0 5px #4abeb53d,0 0 42px #d7365066}.evolution-cinematic.is-alternate>strong{color:#bdf1e8;text-shadow:0 5px 18px #000,0 0 24px rgba(223,55,81,.34)}.stat-float.is-negative{color:#e8fffb;border-color:#6fd8ce;background:#7d2036;box-shadow:0 6px 16px #00000080,0 0 13px #42cfc345}.hero-skill-duel{position:fixed;inset:68px 0 0;z-index:46;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:760px;overflow:hidden;color:#f5e9cf;background:linear-gradient(110deg,#1a0909fa,#0d1415fb 48%,#190a0bfa);isolation:isolate}.hero-skill-duel.is-alternate{background:linear-gradient(112deg,#12060efc,#0b1516fc 52%,#250710fc)}.hero-skill-duel:before{content:"";position:absolute;inset:13px;z-index:-1;border:1px solid rgba(221,185,105,.22);box-shadow:inset 0 0 90px #000000a8}.hero-skill-duel.is-alternate:before{border-color:#5dd0c747}.skill-stage-texture{position:absolute;inset:0;z-index:-2;opacity:.42;overflow:hidden;background-image:url(/assets/cards/skills/divine-stage.webp);background-position:center;background-repeat:no-repeat;background-size:cover;filter:saturate(.78) brightness(.56) contrast(1.06)}.skill-stage-texture:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,8,8,.72),transparent 28%,transparent 72%,rgba(23,8,9,.72)),linear-gradient(0deg,rgba(12,13,14,.82),transparent 46%,rgba(15,11,10,.4))}.hero-skill-duel.is-alternate .skill-stage-texture{background-image:url(/assets/cards/skills/alternate-stage.webp);filter:saturate(.92) brightness(.48) contrast(1.12)}.skill-stage-texture i{position:absolute;left:50%;top:50%;width:86vw;height:1px;background:linear-gradient(90deg,transparent,rgba(236,202,126,.38),transparent);transform-origin:center}.skill-stage-texture i:nth-child(2){transform:rotate(45deg)}.skill-stage-texture i:nth-child(3){transform:rotate(90deg)}.skill-stage-texture i:nth-child(4){transform:rotate(135deg)}.skill-duel-heading{position:relative;z-index:2;padding:12px 24px 5px;text-align:center}.skill-duel-heading span{color:#b99758;font:8px DM Mono,monospace;letter-spacing:.16em}.skill-duel-heading h2{margin:1px 0 0;color:#ffe2a0;font:900 clamp(24px,4vh,38px)/1.05 "Noto Serif SC",serif;text-shadow:0 4px 15px #000}.skill-duel-heading p{margin:3px 0 0;color:#9e8f76;font:10px "Noto Serif SC",serif}.hero-skill-duel.is-alternate .skill-duel-heading h2{color:#b8ede6;text-shadow:0 3px 14px #000,0 0 20px rgba(217,54,78,.34)}.skill-duel-versus{position:relative;display:grid;grid-template-columns:minmax(280px,1fr) minmax(210px,.68fr) minmax(280px,1fr);align-items:center;gap:clamp(10px,2vw,32px);min-height:0;padding:4px clamp(22px,4vw,72px)}.skill-duel-army{min-width:0;transition:opacity .3s ease,filter .3s ease,transform .4s ease}.skill-duel-army>header{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:7px;padding:0 5px 6px;border-bottom:1px solid rgba(230,199,126,.24)}.skill-duel-army>header span{grid-column:1 / -1;color:#947e57;font:8px DM Mono,monospace}.skill-duel-army>header strong{color:#f4e7cc;font:700 16px "Noto Serif SC",serif}.skill-duel-army>header em{color:#d8b668;font:10px DM Mono,monospace;font-style:normal}.skill-duel-army.is-leader>header{text-align:right}.skill-duel-cards{display:flex;justify-content:center;gap:clamp(7px,1vw,14px)}.skill-duel-cards .playing-card{width:clamp(120px,12vw,166px);min-height:clamp(168px,33vh,224px)}.skill-duel-army.is-activating{transform:translateY(-5px) scale(1.025)}.skill-duel-army.is-activating .playing-card{animation:skill-card-awaken 1.1s ease-in-out infinite alternate}.skill-duel-army.is-targeted{filter:saturate(.72) brightness(.76);animation:skill-target-hit .54s ease both}.skill-duel-command{position:relative;z-index:3;display:flex;min-height:200px;flex-direction:column;align-items:center;justify-content:center;padding:18px 16px;text-align:center;animation:skill-command-enter .52s cubic-bezier(.16,.82,.2,1) both}.skill-duel-command:before,.skill-duel-command:after{content:"";position:absolute;left:50%;width:110%;height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,rgba(231,190,102,.72),transparent)}.skill-duel-command:before{top:0}.skill-duel-command:after{bottom:0}.is-alternate .skill-duel-command:before,.is-alternate .skill-duel-command:after{background:linear-gradient(90deg,transparent,rgba(93,218,207,.7),rgba(221,57,81,.62),transparent)}.skill-seal{display:grid;place-items:center;width:57px;height:57px;margin-bottom:12px;color:#ffe6a6;border:2px solid #d8af58;box-shadow:inset 0 0 0 4px #972f226b,0 0 26px #dfaf4933;font:900 30px "Noto Serif SC",serif;transform:rotate(-4deg)}.skill-duel-command>svg{margin-bottom:12px;color:#ebc66f;filter:drop-shadow(0 0 12px rgba(230,184,84,.38))}.skill-duel-command .skill-owner{color:#a89572;font:8px DM Mono,monospace}.skill-duel-command>strong{margin-top:4px;color:#ffe2a0;font:900 clamp(20px,2.5vw,34px)/1.18 "Noto Serif SC",serif;text-shadow:0 4px 13px #000}.is-alternate .skill-duel-command>strong{color:#bcf0e8;text-shadow:0 4px 13px #000,0 0 16px rgba(219,54,79,.38)}.skill-duel-command>p{max-width:250px;margin:7px 0 0;color:#b2a287;font:10px/1.55 "Noto Serif SC",serif}.skill-roll{display:flex;align-items:baseline;justify-content:center;gap:5px;margin-top:12px}.skill-roll span{margin-right:5px;color:#8f816c;font:8px DM Mono,monospace}.skill-roll b{color:#fff0c4;font:800 25px/1 DM Mono,monospace}.skill-roll em{color:#8d806c;font:8px DM Mono,monospace;font-style:normal}.skill-outcome{margin-top:8px;padding:4px 12px;color:#d4c4a2;border:1px solid rgba(216,178,103,.3);font:9px "Noto Serif SC",serif}.skill-outcome.is-success{color:#fff0bd;border-color:#e1b85e;background:#aa392747;box-shadow:0 0 18px #dcac4126}.is-alternate .skill-outcome.is-success{color:#bdf3ea;border-color:#61d1c7;background:#901d3461;box-shadow:0 0 18px #39c2b72e}.skill-outcome.is-miss{color:#8b867e;border-style:dashed}.skill-duel-timeline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:48px;padding:8px 28px 12px;color:#817766;font:8px DM Mono,monospace}.skill-duel-timeline>div{display:flex;justify-content:center;gap:6px}.skill-duel-timeline i{width:34px;height:3px;background:#eddab321}.skill-duel-timeline i.done{background:#c9a659}.skill-duel-timeline i.current{background:#fff0b6;box-shadow:0 0 10px #eebf5580}.is-alternate .skill-duel-timeline i.done{background:#bd4059}.is-alternate .skill-duel-timeline i.current{background:#74d8ce;box-shadow:0 0 10px #4ccfc37a}.skill-duel-timeline em{justify-self:end;font-style:normal}.hero-skill-action-roll{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin-top:16px;padding:10px;border:1px solid rgba(216,178,103,.22);background:#d8b2670a}.hero-skill-action-roll span{color:#8c806f;font-size:9px}.hero-skill-action-roll strong{color:#edcb7d;font:13px DM Mono,monospace}.hero-skill-action-roll em{grid-column:1 / -1;color:#b9daca;font:9px "Noto Serif SC",serif;font-style:normal}.playing-card.is-divine .card-portrait-scrim{opacity:.34;background:linear-gradient(0deg,rgba(42,17,9,.82),transparent 48%),url(/assets/cards/skills/divine-aura.webp) center / cover;background-blend-mode:multiply,screen;mix-blend-mode:screen}.playing-card.is-alternate .card-portrait-scrim{opacity:.42;background:linear-gradient(0deg,rgba(21,5,13,.9),transparent 52%),url(/assets/cards/skills/alternate-aura.webp) center / cover;background-blend-mode:multiply,screen;mix-blend-mode:screen}@keyframes alternate-card-rift{0%{transform:translate(-12%)}to{transform:translate(12%)}}@keyframes skill-command-enter{0%{opacity:0;transform:scale(.82);filter:brightness(1.8)}45%{opacity:1;transform:scale(1.035)}to{transform:scale(1);filter:brightness(1)}}@keyframes skill-card-awaken{0%{filter:brightness(.96)}to{filter:brightness(1.18);box-shadow:0 18px 42px #00000085,0 0 30px #ebb84a54}}@keyframes skill-target-hit{0%{transform:translate(0)}25%{transform:translate(-7px)}55%{transform:translate(6px)}to{transform:translate(0)}}@media(max-height:680px){.skill-duel-heading{padding-top:7px}.skill-duel-heading h2{font-size:24px}.skill-duel-heading p{display:none}.skill-duel-versus{padding-top:0;padding-bottom:0}.skill-duel-cards .playing-card{width:clamp(110px,11vw,145px);min-height:clamp(150px,31vh,190px)}.skill-duel-command{min-height:170px;padding-top:10px;padding-bottom:10px}.skill-duel-command>strong{font-size:21px}.skill-duel-command>p{margin-top:4px}.skill-duel-timeline{min-height:38px;padding-top:4px;padding-bottom:7px}}@media(prefers-reduced-motion:reduce){.playing-card.is-alternate:before,.skill-duel-army.is-activating .playing-card,.skill-duel-army.is-targeted,.skill-duel-command{animation:none}}.winner-celebration{position:fixed;inset:68px 0 0;z-index:55;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:760px;overflow:hidden;padding:18px clamp(36px,7vw,110px) 20px;color:#f8e8c0;background:#120c0a;isolation:isolate}.winner-celebration-art{position:absolute;inset:0;z-index:-4;background:url(/assets/cards/skills/divine-stage.webp) center / cover no-repeat;filter:saturate(.82) brightness(.47) contrast(1.08);transform:scale(1.03);animation:winner-stage-arrive 4.8s ease-out both}.winner-celebration:before{content:"";position:absolute;inset:12px;z-index:-1;border:1px solid rgba(241,202,113,.32);box-shadow:inset 0 0 110px #130403bf}.winner-celebration:after{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(37,7,5,.86),transparent 26%,transparent 74%,rgba(37,7,5,.86)),linear-gradient(0deg,rgba(16,7,6,.86),transparent 48%,rgba(31,11,8,.48))}.winner-rays{position:absolute;top:42%;left:50%;z-index:-2;width:1px;height:1px}.winner-rays i{position:absolute;top:0;left:-48vw;width:96vw;height:1px;transform-origin:center;background:linear-gradient(90deg,transparent,rgba(255,218,126,.38),transparent);animation:winner-ray-pulse 1.7s ease-in-out infinite alternate}.winner-particles{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.winner-particles i{--particle-index: 0;position:absolute;bottom:-10px;left:calc((var(--particle-index) + 1) * 4%);width:3px;height:14px;background:#f2c361;box-shadow:0 0 9px #f6b847bf;opacity:0;transform:rotate(24deg);animation:winner-particle-rise 2.8s calc(var(--particle-index) * -.11s) linear infinite}.winner-celebration-heading{position:relative;z-index:2;text-align:center;animation:winner-heading-enter .72s cubic-bezier(.16,.82,.2,1) both}.winner-celebration-heading>span{color:#caa45b;font:8px DM Mono,monospace;letter-spacing:.18em}.winner-crown-seal{position:relative;display:grid;width:68px;height:68px;margin:5px auto 2px;place-items:center;color:#ffe7a4;border:2px solid #e1b659;box-shadow:inset 0 0 0 5px #8a291d75,0 0 32px #edb6444d;transform:rotate(-4deg)}.winner-crown-seal svg{position:absolute;top:-13px;filter:drop-shadow(0 4px 8px #000)}.winner-crown-seal b{font:900 34px "Noto Serif SC",serif}.winner-celebration-heading h2{margin:0;color:#ffe6a4;font:900 clamp(27px,4.5vh,43px)/1 "Noto Serif SC",serif;text-shadow:0 4px 16px #000,0 0 26px rgba(235,175,57,.34)}.winner-celebration-heading p{margin:4px 0 0;color:#b9a077;font:11px "Noto Serif SC",serif}.winner-celebration-armies{position:relative;z-index:2;display:flex;min-height:0;align-items:center;justify-content:center;gap:28px}.winner-celebration-army{min-width:0;animation:winner-army-enter .9s .22s cubic-bezier(.16,.82,.2,1) both}.winner-celebration-army>header{display:grid;grid-template-columns:1fr auto;align-items:end;width:min(46vw,430px);margin:0 auto 7px;padding:0 7px 7px;border-bottom:1px solid rgba(235,193,100,.42)}.winner-celebration-army>header span{grid-column:1 / -1;color:#a78d5c;font:8px DM Mono,monospace}.winner-celebration-army>header strong{color:#fff0c7;font:900 clamp(18px,2.2vw,28px) "Noto Serif SC",serif}.winner-celebration-army>header em{color:#f0c56d;font:800 22px DM Mono,monospace;font-style:normal}.winner-celebration-army>header small{display:block;color:#8f7e62;font:7px "Noto Serif SC",serif;font-weight:400;text-align:right}.winner-celebration-army>div{display:flex;justify-content:center;gap:clamp(10px,1.5vw,18px)}.winner-celebration-army .playing-card{width:clamp(132px,14vw,184px);min-height:clamp(178px,36vh,246px);box-shadow:0 22px 48px #00000094,0 0 28px #e6b14138}.winner-celebration>footer{position:relative;z-index:2;display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-self:center;gap:9px 13px;min-width:min(620px,72vw);padding:8px 15px;border-top:1px solid rgba(229,187,95,.32);border-bottom:1px solid rgba(229,187,95,.16);background:#230d09b8;animation:winner-footer-enter .6s .7s ease both}.winner-celebration>footer span{display:inline-flex;align-items:center;gap:6px;color:#b49a6b;font:9px "Noto Serif SC",serif}.winner-celebration>footer strong{color:#ffe19a;font:800 17px DM Mono,monospace}.winner-celebration>footer em{overflow:hidden;color:#8f806b;font:9px "Noto Serif SC",serif;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap}.hero-skill-duel.is-awakened .skill-stage-texture{filter:saturate(.5) brightness(.42) sepia(.18)}.hero-skill-duel.is-awakened .skill-duel-heading h2,.is-awakened .skill-duel-command>strong{color:#e8d6ad}.card-skill-detail.is-awakened{border-color:#d3b77c57;background:#97744112}@keyframes winner-stage-arrive{0%{opacity:0;transform:scale(1.12);filter:saturate(1.2) brightness(.8)}to{opacity:1;transform:scale(1.03)}}@keyframes winner-heading-enter{0%{opacity:0;transform:translateY(-18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes winner-army-enter{0%{opacity:0;transform:translateY(32px) scale(.9);filter:brightness(1.7)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}@keyframes winner-footer-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-ray-pulse{0%{opacity:.28}to{opacity:.82}}@keyframes winner-particle-rise{0%{opacity:0;transform:translateY(0) rotate(24deg)}18%{opacity:.9}to{opacity:0;transform:translateY(-96vh) rotate(24deg)}}@media(max-height:680px){.winner-celebration{padding-top:8px;padding-bottom:10px}.winner-crown-seal{width:51px;height:51px}.winner-crown-seal b{font-size:26px}.winner-crown-seal svg{width:27px}.winner-celebration-heading h2{font-size:25px}.winner-celebration-heading p{margin-top:1px;font-size:9px}.winner-celebration-army .playing-card{width:clamp(110px,12vw,148px);min-height:clamp(150px,31vh,194px)}.winner-celebration-army>header{margin-bottom:4px;padding-bottom:4px}.winner-celebration-army>header strong{font-size:18px}.winner-celebration>footer{padding-top:5px;padding-bottom:5px}}@media(prefers-reduced-motion:reduce){.winner-celebration-art,.winner-rays i,.winner-particles i,.winner-celebration-heading,.winner-celebration-army,.winner-celebration>footer{animation:none}.winner-particles{display:none}}.playing-card.is-inspectable{cursor:zoom-in;outline:none;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.playing-card.is-inspectable:focus-visible{box-shadow:0 0 0 3px #f1ce83,0 14px 30px #00000070}.card-skill-chip{position:absolute;top:4px;right:24px;left:4px;z-index:4;display:grid;gap:2px;min-width:0;pointer-events:none}.card-skill-chip>span{display:grid;grid-template-columns:15px minmax(0,1fr);align-items:center;min-width:0;min-height:16px;overflow:hidden;color:#ffe8ad;border:1px solid rgba(236,199,112,.5);background:#120e0cdb;box-shadow:0 3px 10px #00000061}.card-skill-chip>span>em{display:grid;align-self:stretch;place-items:center;color:#3a180f;background:#e9c368;font:900 8px/1 "Noto Serif SC",serif;font-style:normal}.card-skill-chip>span>b{min-width:0;padding:0 4px;overflow:hidden;font:700 7px/1 "Noto Serif SC",serif;text-overflow:ellipsis;text-shadow:0 1px 3px #000;white-space:nowrap}.card-skill-chip.is-alternate>span,.card-skill-chip.has-branches>span:last-child{color:#baf1e9;border-color:#59d2c88a}.card-skill-chip.is-alternate>span>em,.card-skill-chip.has-branches>span:last-child>em{color:#f4e9dc;background:#9b2b43}.card-inspect-cue{position:absolute;top:4px;right:4px;z-index:5;display:grid;width:17px;height:17px;place-items:center;color:#f8dfaa;border:1px solid rgba(239,205,133,.5);background:#0c0d0dc7;opacity:.72;pointer-events:none}.playing-card.is-inspectable:hover .card-inspect-cue,.playing-card.is-inspectable:focus-visible .card-inspect-cue{opacity:1}.duel-hand-preview .card-skill-chip,.hero-reveal-grid .card-skill-chip,.result-army-cards .card-skill-chip{top:2px;right:17px;left:2px;gap:1px}.duel-hand-preview .card-skill-chip>span,.hero-reveal-grid .card-skill-chip>span,.result-army-cards .card-skill-chip>span{grid-template-columns:11px minmax(0,1fr);min-height:11px}.duel-hand-preview .card-skill-chip>span>em,.hero-reveal-grid .card-skill-chip>span>em,.result-army-cards .card-skill-chip>span>em{font-size:5px}.duel-hand-preview .card-skill-chip>span>b,.hero-reveal-grid .card-skill-chip>span>b,.result-army-cards .card-skill-chip>span>b{padding:0 2px;font-size:5px}.duel-hand-preview .card-inspect-cue,.hero-reveal-grid .card-inspect-cue,.result-army-cards .card-inspect-cue{top:2px;right:2px;width:13px;height:13px}.duel-hand-preview .card-inspect-cue svg,.hero-reveal-grid .card-inspect-cue svg,.result-army-cards .card-inspect-cue svg{width:8px;height:8px}.card-details-overlay{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:28px;overflow:auto;background:#050708eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:card-details-backdrop .18s ease both}.card-details-dialog{position:relative;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(430px,1.22fr);gap:clamp(28px,4vw,60px);width:min(980px,calc(100vw - 56px));max-height:calc(100vh - 56px);padding:clamp(26px,4vw,52px);overflow:auto;color:#eee3cb;border:1px solid rgba(218,181,101,.58);background:linear-gradient(135deg,rgba(117,45,32,.17),transparent 38%),linear-gradient(145deg,#2a211b,#101516 64%);box-shadow:0 36px 110px #000000b8,inset 0 0 0 7px #dcb76609;animation:card-details-enter .26s cubic-bezier(.18,.82,.2,1) both}.card-details-dialog:before{content:"";position:absolute;inset:10px;border:1px solid rgba(221,186,112,.12);pointer-events:none}.card-details-dialog.is-alternate{border-color:#5cd5cb8c;background:linear-gradient(135deg,rgba(142,32,56,.25),transparent 42%),linear-gradient(145deg,#25171c,#0c1718 64%)}.card-details-close{position:absolute;top:14px;right:14px;z-index:4;display:grid;width:42px;height:42px;place-items:center;color:#f3ddb0;border:1px solid rgba(222,188,116,.48);background:#0d0f0fdb}.card-details-close:hover,.card-details-close:focus-visible{color:#17130f;outline:none;background:#e1bc6a}.card-details-visual{display:grid;align-self:center;place-items:center;min-width:0}.card-details-visual .playing-card{width:min(28vw,310px)!important;height:auto!important;min-height:0!important;aspect-ratio:192 / 248;box-shadow:0 25px 55px #0000008c,0 0 34px #d7a94729}.card-details-content{position:relative;z-index:1;align-self:center;min-width:0}.card-details-content>header>span{color:#d9b970;font:9px DM Mono,monospace}.card-details-content>header h2{margin:7px 0 0;color:#fff0c7;font:900 clamp(28px,3vw,42px)/1.15 "Noto Serif SC",serif}.card-details-content>header p{max-width:520px;margin:9px 0 0;color:#9f978a;font-size:11px;line-height:1.6}.card-details-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:22px}.card-details-stats>span{display:flex;min-width:0;align-items:baseline;justify-content:space-between;padding:9px 11px;border:1px solid rgba(219,188,122,.2);background:#03070852}.card-details-stats b{color:#999084;font:8px "Noto Serif SC",serif}.card-details-stats strong{color:#f7e5b8;font:800 21px/1 DM Mono,monospace}.card-details-path{margin-top:16px;padding:11px 13px;border-left:2px solid #d6ae58;background:#d6ae580e}.card-details-path>span{color:#d7b568;font:8px DM Mono,monospace}.card-details-path p{margin:5px 0 0;color:#aaa092;font-size:10px;line-height:1.55}.card-details-skills{margin-top:18px}.card-details-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid rgba(222,188,116,.18)}.card-details-section-title span{color:#f2dfb3;font:700 13px "Noto Serif SC",serif}.card-details-section-title em{color:#827b71;font:8px DM Mono,monospace;font-style:normal}.card-skill-detail{display:grid;grid-template-columns:32px minmax(0,1fr) 50px;align-items:center;gap:11px;min-height:66px;padding:9px 8px;border-bottom:1px solid rgba(230,207,161,.1)}.card-skill-alignment{display:grid;width:30px;height:30px;place-items:center;color:#33180f;border:1px solid #f2d58d;background:#dcb45a;font:900 17px "Noto Serif SC",serif}.card-skill-detail>div{min-width:0}.card-skill-detail>div strong{color:#f7dfaa;font:800 14px "Noto Serif SC",serif}.card-skill-detail>div p{margin:4px 0 0;color:#9e9588;font-size:9px;line-height:1.45}.card-skill-detail>em{color:#f1cf7d;font:800 18px/1 DM Mono,monospace;font-style:normal;text-align:right}.card-skill-detail>em small{display:block;margin-top:4px;color:#766f67;font:7px "Noto Serif SC",serif}.card-skill-detail.is-alternate .card-skill-alignment{color:#f5e9df;border-color:#72d3ca;background:#8e2a41}.card-skill-detail.is-alternate>div strong{color:#aeeae3}.card-skill-detail.is-alternate>em{color:#75d9cf}.card-skill-empty{display:flex;min-height:66px;align-items:center;gap:10px;color:#8d8579;font-size:10px}.card-skill-empty svg{color:#b79a5f}.duel-selection-overlay,.duel-selection-overlay:before,.duel-selection-overlay .stage-overlay-panel{transition:background .15s ease,opacity .15s ease,transform .15s ease,backdrop-filter .15s ease}.battlefield-peek-control{position:fixed;top:50%;right:8px;z-index:6;display:flex;width:52px;min-height:136px;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:10px 5px;color:#f1dba8;border:1px solid rgba(226,190,111,.68);background:#251c16f5;box-shadow:-8px 12px 30px #0000006b;transform:translateY(-50%);touch-action:none;user-select:none;-webkit-user-select:none}.battlefield-peek-control span{font:9px "Noto Serif SC",serif;line-height:1.25;writing-mode:vertical-rl}.battlefield-peek-control:hover,.battlefield-peek-control:focus-visible,.battlefield-peek-control[aria-pressed=true]{color:#17120d;outline:none;background:#ddb665}.duel-selection-overlay.is-peeking{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.duel-selection-overlay.is-peeking:before{opacity:0}.duel-selection-overlay.is-peeking .stage-overlay-panel{visibility:hidden;opacity:0;transform:scale(.985);pointer-events:none}@keyframes card-details-backdrop{0%{opacity:0}to{opacity:1}}@keyframes card-details-enter{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media(max-height:700px){.card-details-overlay{padding:16px}.card-details-dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:22px 34px}.card-details-visual .playing-card{width:min(31vh,235px)!important}.card-details-content>header h2{font-size:27px}.card-details-stats{margin-top:12px}.card-details-path{margin-top:10px;padding-top:8px;padding-bottom:8px}.card-details-skills{margin-top:10px}.card-skill-detail{min-height:55px;padding-top:6px;padding-bottom:6px}}@media(max-width:760px){.card-details-dialog{grid-template-columns:minmax(170px,.72fr) minmax(300px,1.28fr);gap:20px;padding:20px 28px}.card-details-close{top:8px;right:8px;width:36px;height:36px}.card-details-content>header p{display:none}.card-details-stats{margin-top:10px}.card-details-path{display:none}.card-details-skills{margin-top:10px}.card-skill-detail{min-height:50px}}@media(prefers-reduced-motion:reduce){.playing-card.is-inspectable,.card-details-overlay,.card-details-dialog,.duel-selection-overlay,.duel-selection-overlay:before,.duel-selection-overlay .stage-overlay-panel{animation:none;transition:none}}body,button,input{font-family:var(--font-ui)}.account-shell *,.app-shell *,.stage-overlay *{letter-spacing:0}.room-code,.timer-chip,.currency-pill,.currency-buyin-pill,.hall-balance strong,.hall-account small,.phase-steps,.seat-meta,.seat-stack,.pot-label,.pot-center>span,.card-name span,.card-stat-grid strong,.raise-label strong,.raise-bounds,.bet-context strong,.reveal-order,.reveal-state,.selection-count,.effect-ledger-order,.result-army-title>span,.result-army-title>em,.card-details-stats strong,.card-skill-detail>em{font-family:var(--font-data);font-variant-numeric:tabular-nums}.overline,.phase-kicker,.action-eyebrow,.stage-overlay-heading>div>span,.effect-ledger-panel>header span,.effect-ledger-current span,.card-details-content>header>span,.card-details-path>span,.card-details-section-title em{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:600;line-height:1.35}.primary-action,.replay-action{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.2}.auth-brand h1{font-family:var(--font-display);font-size:52px;line-height:1.1}.auth-brand>p{font-size:var(--type-subtitle);line-height:1.75}.auth-features{font-size:var(--type-control);line-height:1.45}.auth-tabs button{font-size:var(--type-body);font-weight:600}.auth-panel label,.hall-command label{font-family:var(--font-ui);font-size:var(--type-label);font-weight:600;line-height:1.4}.auth-panel input,.hall-command input{font-size:var(--type-body);font-weight:500}.register-grant strong{font-size:var(--type-body)}.register-grant span{font-size:var(--type-caption);line-height:1.45}.hall-account>div strong{font-size:var(--type-control)}.hall-account>div small{font-size:var(--type-caption)}.hall-balance small{font-size:var(--type-caption)}.hall-balance strong{font-size:var(--type-control)}.hall-command h1{font-family:var(--font-display);font-size:32px;line-height:1.36}.hall-command>p{font-size:var(--type-control);line-height:1.75}.hall-divider{font-size:var(--type-caption)}.hall-command form button{font-size:var(--type-control)}.room-browser h2{font-size:22px;line-height:1.25}.room-state{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:600}.room-title>span{font-family:var(--font-data);font-size:var(--type-label)}.room-title h3{font-size:var(--type-subtitle);line-height:1.35}.room-title p,.room-capacity{font-size:var(--type-caption)}.room-capacity strong{font-family:var(--font-data);font-size:16px}.room-list article>button{font-size:var(--type-label);font-weight:600}.empty-rooms strong{font-size:var(--type-body)}.empty-rooms span{font-size:var(--type-label)}.brand-lockup strong{font-family:var(--font-display);font-size:18px;line-height:1.2}.brand-lockup span{font-family:var(--font-ui);font-size:var(--type-caption);line-height:1.35}.topbar-center{font-size:var(--type-control)}.room-code{font-size:var(--type-label)}.profile-button{font-size:var(--type-control)}.toolbar-phase strong{font-family:var(--font-display);font-size:var(--type-title);line-height:1.2}.toolbar-help,.timer-chip{font-size:var(--type-label)}.table-ribbon{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:500}.seat-name{font-family:var(--font-ui);font-size:var(--type-label);font-weight:600}.seat-name em{font-family:var(--font-ui);font-size:9px;font-weight:700}.seat-meta{font-size:9px}.seat-stack{font-size:var(--type-caption)}.battlefield-player>header strong{font-family:var(--font-display);font-size:var(--type-control);line-height:1.25}.battlefield-player>header small{font-family:var(--font-ui);font-size:9px;line-height:1.3}.battlefield-player>header em{font-family:var(--font-data);font-size:var(--type-caption)}.battlefield-order{font-family:var(--font-data);font-size:var(--type-caption)}.battlefield-player-cards .card-inner-frame{grid-template-rows:19px minmax(0,1fr) 25px 44px}.battlefield-player-cards .card-faction,.battlefield-player-cards .card-hero-script{font-size:8px}.battlefield-player-cards .card-name strong{font-size:var(--type-label)}.battlefield-player-cards .card-stat-grid b{font-size:8px}.battlefield-player-cards .card-stat-grid strong{font-size:14px}.battlefield-resolving{font-family:var(--font-ui);font-size:9px;font-weight:700}.battlefield-overview .public-effects>span{font-size:var(--type-caption)}.battlefield-overview .pot-label{font-size:var(--type-caption)}.battlefield-overview .pot-center>span,.battlefield-overview .pot-center small{font-size:9px}.action-eyebrow{font-size:var(--type-caption)}.action-panel h2{font-family:var(--font-display);font-size:22px;line-height:1.32}.action-panel p{font-size:var(--type-control);line-height:1.65}.action-note{font-family:var(--font-ui);font-size:var(--type-caption);line-height:1.45}.bet-context{font-size:var(--type-label);line-height:1.45}.bet-context strong{font-size:14px}.raise-label{font-size:var(--type-label)}.raise-label strong{font-size:17px}.raise-bounds{font-size:9px}.bet-grid button{font-size:var(--type-body)}.bet-grid small{font-family:var(--font-ui);font-size:9px}.option-body strong{font-family:var(--font-display)}.option-body span{font-family:var(--font-ui)}.option-tag{font-family:var(--font-ui);font-size:9px;font-weight:600}.panel-heading h2{font-family:var(--font-display);font-size:16px;line-height:1.3}.event-row p{font-size:var(--type-label);line-height:1.55}.stage-overlay-heading span{font-family:var(--font-ui);font-size:var(--type-label);font-weight:600}.stage-overlay-heading h2{font-family:var(--font-display);font-size:29px;line-height:1.24}.stage-overlay-copy{font-size:var(--type-control);line-height:1.65}.selection-count strong{font-family:var(--font-display);font-size:34px}.selection-count span{font-size:var(--type-body)}.stage-overlay-footer{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:500}.draft-pick-mark{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:600}.duel-overlay-order strong{font-family:var(--font-display);font-size:19px}.duel-hand-preview>span,.duel-hand-preview>small{font-family:var(--font-ui);font-size:var(--type-caption)}.duel-option-grid .option-body span{font-size:var(--type-control);line-height:1.6}.hero-reveal-grid>article>header strong{font-size:14px}.hero-reveal-grid>article>header span{font-family:var(--font-ui);font-size:9px}.card-faction,.card-name strong{font-family:var(--font-display)}.card-name span{font-size:9px;line-height:1.2}.card-stat-grid b{font-family:var(--font-display)}.card-stat-grid strong{font-weight:800}.card-skill-chip>span>b{font-size:8px}.duel-hand-preview .card-stat-grid b,.hero-reveal-grid .card-stat-grid b,.desktop-stage .result-army-cards .card-stat-grid b{font-size:7px}.duel-hand-preview .card-stat-grid strong{font-size:13px}.hero-reveal-grid .card-stat-grid strong,.desktop-stage .result-army-cards .card-stat-grid strong{font-size:var(--type-label)}.effect-ledger-panel>header span{font-size:9px}.effect-ledger-panel>header strong{font-size:18px;line-height:1.25}.effect-ledger-current span{font-size:9px}.effect-ledger-current strong{font-size:14px;line-height:1.35}.effect-ledger-current em{font-size:9px;line-height:1.4}.effect-ledger-filter-modes button,.effect-ledger-filter-values button{font-family:var(--font-ui);font-size:var(--type-caption);font-weight:600}.effect-ledger-row strong{font-size:var(--type-control);line-height:1.35}.effect-ledger-row small{font-size:9px;line-height:1.35}.effect-ledger-row em{font-size:9px;line-height:1.45}.effect-ledger-group h3{font-size:var(--type-label);line-height:1.35}.effect-ledger-empty span{font-size:var(--type-control)}.effect-ledger-empty small{font-size:9px}.result-army-title strong{font-size:var(--type-control)}.result-army-title small,.result-army-title>em small{font-family:var(--font-ui);font-size:8px}.result-army-title>em{font-size:19px}.finale-copy>span{font-family:var(--font-ui);font-size:9px}.finale-copy p{font-size:var(--type-label);line-height:1.55}.card-details-content>header p{font-size:var(--type-control);line-height:1.7}.card-details-stats b{font-size:var(--type-caption)}.card-details-stats strong{font-size:22px}.card-details-path>span{font-size:var(--type-caption)}.card-details-path p{font-size:var(--type-label);line-height:1.65}.card-details-section-title span{font-size:14px}.card-details-section-title em{font-size:9px}.card-skill-detail>div strong{font-size:var(--type-subtitle)}.card-skill-detail>div p{font-size:var(--type-caption);line-height:1.55}.card-skill-detail>em{font-size:19px}.card-skill-detail>em small{font-size:8px}.card-skill-empty{font-size:var(--type-label);line-height:1.5}@media(max-height:760px){.stage-overlay-heading h2{font-size:24px}.stage-overlay-copy{font-size:var(--type-label)}.stage-overlay-footer{font-size:9px}}@media(min-width:901px)and (max-height:700px){.app-shell .desktop-stage .action-panel{padding:13px 14px 11px}.action-panel h2{margin:8px 0 5px;font-size:var(--type-title)}.action-panel p{font-size:var(--type-label);line-height:1.5}.bet-context{margin:9px 0 8px;padding-bottom:7px}.raise-control{margin:6px 0 8px;padding:7px 9px 5px}.bet-grid button{min-height:44px}.bet-grid .raise-button{min-height:46px}.action-note{margin-top:8px}.event-row p{font-size:var(--type-caption)}.battlefield-player-cards .card-stat-grid strong{font-size:var(--type-label)}}@media(min-width:901px)and (max-width:1280px){.battlefield-overview .ordered-seat .seat-stack{display:none}.battlefield-overview .ordered-seat .seat-copy,.battlefield-overview .ordered-seat .seat-name,.battlefield-overview .ordered-seat .seat-name>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
