:root{color:#f8f4ea;background:#051b22;font-family:SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;background:radial-gradient(circle at 25% 20%,rgba(115,182,255,.14),transparent 24%),radial-gradient(circle at 80% 12%,rgba(132,207,255,.12),transparent 18%),linear-gradient(180deg,#07253a,#03171f)}button{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:16px}.app-topbar{width:min(100vw - 32px,1500px);display:flex;align-items:center;justify-content:space-between;gap:16px}.app-title-group{display:flex;flex-direction:column;gap:4px}.app-title-group h1{margin:0;font-size:clamp(1.2rem,2vw,1.8rem);color:#f8f4ea}.app-subtitle{margin:0;max-width:720px;color:#ecf2ffc2;font-size:.94rem;line-height:1.5}.app-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;text-decoration:none}.app-back-button{padding:11px 18px}.agent-mode-shell{min-height:100vh;padding:20px;display:grid;gap:18px;align-content:start}.agent-mode-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.agent-mode-panel{border:1px solid rgba(214,229,255,.18);border-radius:18px;padding:18px;background:#07131fd6;box-shadow:0 22px 40px #0000003d}.agent-mode-panel pre{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.5;color:#dce9f7}.agent-link-row{display:flex;gap:12px;flex-wrap:wrap}.agent-form-field{display:grid;gap:8px}.agent-form-field input,.agent-mode-panel input[type=text],.agent-mode-panel input[type=number]{width:100%;padding:11px 13px;border-radius:12px;border:1px solid rgba(214,229,255,.18);background:#ffffff0a;color:#f8f4ea}.agent-submit-button,.agent-choose-button{padding:11px 16px}.agent-hand-row{margin:0;line-height:1.8;color:#f8f4ea}.agent-actions-list{display:grid;gap:10px}.agent-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#ffffff0a}.agent-action-id{color:#87d9ff;word-break:break-all}.muted-copy{margin:0;color:#ecf2ffbd}.danger-copy{margin:0;color:#ffb8b1}.start-screen{width:min(100vw - 32px,1200px);min-height:calc(100vh - 32px);display:flex;flex-direction:column;justify-content:center;gap:34px;margin:0 auto;padding:24px 0}.start-hero{max-width:840px;display:flex;flex-direction:column;gap:8px}.start-hero h1{margin:8px 0 10px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.95;color:#fff7e8}.start-hero p{margin:0;color:#ecf2ffc7;font-size:1.04rem;line-height:1.72;max-width:760px}.start-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.start-mode-card{border:1px solid rgba(225,237,255,.14);border-radius:28px;padding:24px;text-align:left;background:radial-gradient(circle at 85% 18%,rgba(124,240,189,.18),transparent 24%),linear-gradient(180deg,#0e2254d1,#081735e6);color:#f8f4ea;cursor:pointer;box-shadow:0 28px 48px #0000003d,inset 0 1px #ffffff0d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.start-mode-card:hover{transform:translateY(-3px);border-color:#ffd96847;box-shadow:0 34px 56px #00000047,inset 0 1px #ffffff14}.start-mode-card.practice{background:radial-gradient(circle at 85% 18%,rgba(124,240,189,.18),transparent 24%),linear-gradient(180deg,#0e2254d1,#081735e6)}.start-mode-card.arena{background:radial-gradient(circle at 82% 16%,rgba(255,197,117,.18),transparent 24%),linear-gradient(180deg,#0b295bd1,#07193ae6)}.start-mode-card.multiplayer{background:radial-gradient(circle at 82% 16%,rgba(140,176,255,.2),transparent 24%),linear-gradient(180deg,#152a63d1,#09163ce6)}.start-mode-kicker,.start-mode-footer{display:block;color:#edf4ffb3;letter-spacing:.08em}.start-mode-kicker{margin-bottom:12px;font-size:.74rem;text-transform:uppercase}.start-mode-card strong{display:block;font-size:1.65rem}.start-mode-card p{margin:12px 0 16px;color:#ecf2ffc7;line-height:1.6;font-size:.96rem}.start-mode-footer{font-size:.82rem}.start-extra-links{display:flex;justify-content:flex-start}.start-extra-links .ghost-button{padding:11px 18px;text-decoration:none}.arena-setup-shell{width:min(100vw - 32px,1100px);min-height:calc(100vh - 32px);display:flex;flex-direction:column;justify-content:center;gap:18px}.arena-setup-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.arena-setup-panel{max-width:1000px}.practice-setup-shell{width:min(100vw - 32px,1100px);min-height:calc(100vh - 32px);display:flex;flex-direction:column;justify-content:center;gap:18px}.practice-setup-panel{display:grid;gap:18px}.practice-ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practice-ai-card{min-height:180px;padding:18px;text-align:left;color:#f5f9ff;border:1px solid rgba(219,235,255,.16);border-radius:22px;background:#0b1c427a;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}.practice-ai-card:hover{transform:translateY(-2px);border-color:#fbe27d6b}.practice-ai-card.active{border-color:#fbe27de0;background:#fbe27d1f}.practice-ai-card:disabled{cursor:not-allowed;opacity:.52}.practice-ai-card strong{display:block;margin-top:8px;font-size:1.25rem}.practice-ai-card p,.practice-status-box p{color:#eff5ffc2;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.practice-setup-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);gap:14px;align-items:stretch}.practice-status-box{padding:14px;border:1px solid rgba(219,235,255,.14);border-radius:18px;background:#07143061}.arena-form-error{margin-bottom:14px;padding:12px 14px;border-radius:14px;background:#ee63521f;border:1px solid rgba(238,99,82,.24);color:#ffd9d2}.mode-switch{display:inline-flex;padding:6px;border-radius:999px;background:#0b1c427a;border:1px solid rgba(219,235,255,.14);box-shadow:inset 0 1px #ffffff0a}.mode-switch-button{border:none;background:transparent;color:#eff5ffb8;padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.mode-switch-button:hover{transform:translateY(-1px)}.mode-switch-button.active{color:#081a34;background:linear-gradient(135deg,#fbe27d,#ffd15b)}.table-stage{position:relative;width:min(100vw - 32px,1500px);aspect-ratio:19.5 / 9;overflow:hidden;border-radius:26px;background:radial-gradient(circle at 50% 42%,rgba(129,197,255,.34),transparent 34%),linear-gradient(180deg,#4b86e8f0,#2c59adfa);border:1px solid rgba(185,223,255,.22);box-shadow:0 28px 60px #0000006b,inset 0 0 0 1px #ffffff0f}.table-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at bottom center,rgba(19,37,72,.35),transparent 28%),repeating-linear-gradient(-28deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 2px,transparent 2px,transparent 7px);pointer-events:none}.stage-overlay{position:absolute;z-index:3;display:flex;gap:10px;align-items:center}.stage-overlay.top-left{top:18px;left:18px}.stage-overlay.top-right{top:18px;right:18px}.rule-box,.info-chip{min-width:86px;padding:10px 14px;border-radius:14px;background:#0c1e4e7a;border:1px solid rgba(220,236,255,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.rule-box strong,.info-chip strong{display:block;margin-top:2px;font-size:1.25rem}.rule-box-label,.label,.eyebrow,.info-chip span,.trace-label,.trace-empty,.trace-pass{display:block;font-size:.72rem;letter-spacing:.08em;color:#f0f7ffbd}.eyebrow{margin:0;text-transform:uppercase}.ghost-button,.primary-button,.secondary-button,.link-button{border:1px solid transparent;border-radius:999px;cursor:pointer;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.ghost-button:hover,.primary-button:hover,.secondary-button:hover,.link-button:hover{transform:translateY(-1px)}.ghost-button{color:#f5f9ff;background:#ffffff14;border-color:#ffffff2e}.stage-button{padding:11px 18px}.table-watermark{position:absolute;top:28%;left:50%;transform:translate(-50%);font-family:Baskerville,Songti SC,STSong,serif;font-size:clamp(2.4rem,4vw,4.2rem);letter-spacing:.08em;color:#fff8e2e6;text-shadow:0 10px 24px rgba(12,29,67,.24);pointer-events:none}.ai-seat{position:absolute;z-index:2;display:flex;gap:14px;align-items:center}.ai-seat.top{top:56px;left:50%;transform:translate(-50%);flex-direction:row;align-items:flex-start;gap:18px}.ai-seat.left{left:42px;top:24%}.ai-seat.right{right:42px;top:24%;flex-direction:row-reverse}.ai-seat.active .player-avatar{box-shadow:0 0 0 3px #ffd86f6b,0 12px 24px #00000047}.table-seat.active .player-avatar,.arena-seat.active .player-avatar{box-shadow:0 0 0 3px #7ef0bd6b,0 12px 24px #00000047}.ai-profile{display:flex;align-items:center;gap:12px}.ai-seat.top .ai-profile{flex-direction:column;gap:10px;align-items:center}.ai-meta{display:flex;flex-direction:column;gap:4px}.ai-seat.right .ai-meta,.ai-seat.right .trace-cards-row{align-items:flex-end}.ai-meta strong{font-size:1.05rem}.player-avatar{width:68px;height:68px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff7e6;border:2px solid rgba(255,255,255,.26);box-shadow:0 12px 24px #0000003d}.player-avatar.seat-0{background:linear-gradient(135deg,#ffd65a,#f59e1b);color:#563600}.player-avatar.seat-1{background:linear-gradient(135deg,#ee6352,#d83333)}.player-avatar.seat-2{background:linear-gradient(135deg,#2dd4bf,#0ea5a4)}.player-avatar.seat-3{background:linear-gradient(135deg,#647dee,#4c51bf)}.ai-trace{min-width:120px;min-height:42px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 12px;border-radius:16px;background:#0e1f4857;border:1px solid rgba(226,238,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flash-in{animation:flash-in .32s ease-out}.ai-seat.top .ai-trace{align-items:center;margin-top:28px;min-width:180px}.trace-cards-row{display:flex;align-items:flex-end;gap:0}.trace-cards-row .playing-card{margin-left:-10px}.trace-cards-row .playing-card:first-child{margin-left:0}@keyframes flash-in{0%{opacity:.18;transform:scale(.96);box-shadow:0 0 #fff0}45%{opacity:1;transform:scale(1.02);box-shadow:0 0 24px #ffffff2e}to{opacity:1;transform:scale(1);box-shadow:0 0 #fff0}}.bottom-play-area{position:absolute;inset:auto 0 0 0;z-index:3;padding:0 34px 12px;display:flex;flex-direction:column;gap:14px}.control-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:6px;position:relative;z-index:8}.primary-button,.secondary-button,.control-row .ghost-button{min-width:160px;padding:12px 20px;font-size:1rem}.primary-button{background:linear-gradient(135deg,#7df0bf,#2fd692);color:#08382c}.secondary-button{background:linear-gradient(135deg,#ffd968,#f0ba33);color:#654200}.control-row .ghost-button{color:#f5f9ff;background:#0c1e4e75;border-color:#dcecff38}.primary-button:disabled,.secondary-button:disabled,.control-row .ghost-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.human-zone{display:flex;flex-direction:column;gap:8px;padding-right:340px;position:relative;z-index:2}.human-headline{display:flex;align-items:center;gap:12px;padding:0 6px}.human-meta{display:flex;flex-direction:column;gap:4px}.human-meta strong{font-size:1.18rem}.human-count{padding:8px 12px;border-radius:12px;background:#0c1e4e66;border:1px solid rgba(220,236,255,.16);color:#f3f8ffdb}.human-trace{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 6px}.bottom-tool-stack{position:absolute;right:34px;bottom:24px;z-index:8;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.straight-flush-hint-panel{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:18px;background:#0a173f94;border:1px solid rgba(218,230,255,.14);box-shadow:0 10px 24px #0000002e}.straight-flush-hint-title{color:#eff5ffeb;font-size:.92rem;font-weight:700;letter-spacing:.04em}.straight-flush-hint-row{display:flex;align-items:center;gap:8px}.straight-flush-suit-chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid rgba(227,239,255,.12);background:#ffffff0f;color:#e6edf96b;font-size:1.08rem;font-weight:700;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease}.straight-flush-suit-chip.active{transform:translateY(-1px);border-color:#ffe28f61;background:#ffde8129;box-shadow:0 8px 16px #00000024,inset 0 0 0 1px #fff7d614}.straight-flush-suit-chip.red{color:#e056567a}.straight-flush-suit-chip.black{color:#ecf2ff75}.straight-flush-suit-chip.active.red{color:#ff8a8a}.straight-flush-suit-chip.active.black{color:#f3f7ff}.arrange-controls{display:flex;gap:12px;align-items:center}.arrange-button{border:1px solid transparent;border-radius:999px;cursor:pointer;min-width:148px;padding:14px 20px;font-size:1.02rem;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.arrange-button:hover{transform:translateY(-1px)}.arrange-button.restore{color:#effff8;background:linear-gradient(135deg,#5bd28a,#2fb66a)}.arrange-button.one-click{color:#fff6e6;background:linear-gradient(135deg,#f0aa43,#df8a18)}.arrange-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.arrange-count{align-self:center;font-size:13px;color:#fff6e6d9;background:#00000040;border-radius:999px;padding:4px 10px;white-space:nowrap}.human-trace .trace-cards-row{margin:0}.hand-grid{display:flex;align-items:flex-end;justify-content:center;gap:6px;min-height:174px;padding:4px 8px 0;position:relative;z-index:2}.hand-column{position:relative;height:174px;width:68px;min-width:68px}.stack-card-button{position:absolute;left:0;bottom:0;border:none;background:transparent;padding:0;cursor:pointer}.stack-card-button.selected .playing-card,.stack-card-button:hover .playing-card{transform:none}.stack-card-button:hover .playing-card{border-color:#ffd676a8;box-shadow:0 12px 24px #0000003d,0 0 0 1px #ffd6762e}.playing-card{position:relative;width:72px;height:108px;border-radius:16px;padding:9px;background:linear-gradient(160deg,#fffffffc,#f9f2e9f2),#f9f0e5;color:#111;border:2px solid rgba(20,32,45,.08);box-shadow:0 10px 22px #00000038,inset 0 1px #ffffffeb;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.playing-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#1f283a00;box-shadow:inset 0 0 #fff0;transition:background .18s ease,box-shadow .18s ease;pointer-events:none}.stack-card-button.selected .playing-card:after{background:#1d263742;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 -18px 28px #0000001f}.playing-card.grouped{width:68px;height:102px}.playing-card.grouped .corner{position:absolute;top:7px;left:8px;right:8px;z-index:1;flex-direction:row;align-items:center;gap:3px;white-space:nowrap}.playing-card.grouped .corner strong{font-size:1.12rem}.playing-card.grouped .corner span{font-size:1.02rem;line-height:1}.playing-card.compact{width:44px;height:66px;border-radius:12px;padding:6px}.playing-card.compact.trace{width:50px;height:72px}.playing-card.red{color:#c92d2d}.playing-card.black{color:#1c2330}.playing-card.gold{color:#8b5d00}.playing-card.gold .corner strong{letter-spacing:.04em}.playing-card.gold.joker-big{color:#c83a32}.playing-card.gold.joker-small{color:#6b6f7a}.playing-card.wild{background:linear-gradient(160deg,#fff8ddfc,#ffeab1f5),#fff0c8;border-color:#d69e3fc7}.corner{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:4px}.corner strong{font-size:1.24rem}.playing-card.compact .corner strong{font-size:.92rem}.playing-card.compact.trace .corner strong{font-size:1rem}.playing-card.grouped.joker-big .corner strong,.playing-card.grouped.joker-small .corner strong{font-size:.84rem;letter-spacing:.02em}.playing-card.grouped.joker-big .corner span,.playing-card.grouped.joker-small .corner span{font-size:.62rem}.playing-card.compact .corner{gap:2px}.playing-card.compact .corner span{font-size:.72rem}.center-glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Baskerville,Songti SC,STSong,serif;font-size:1.55rem;opacity:.9}.playing-card.grouped .center-glyph{inset:auto 0 9px 0;align-items:flex-end;justify-content:center;font-size:1rem;opacity:.28}.playing-card.compact .center-glyph{inset:auto 0 8px 0;align-items:flex-end;justify-content:center;font-size:.72rem;opacity:.32}.wild-badge{position:absolute;right:8px;bottom:8px;padding:2px 6px;border-radius:999px;background:#cd922f29;font-size:.68rem}.table-hud{width:min(100vw - 32px,1500px);display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.table-hud-secondary{margin-top:6px}.hud-item{min-width:170px;flex:1;padding:10px 12px;border-radius:16px;background:#0916358a;border:1px solid rgba(220,236,255,.14)}.hud-item.wide{min-width:320px;flex:1.5}.hud-item strong{display:block;margin-top:4px;font-size:.95rem;color:#f7faffe6}.hud-switch{padding:0 18px;min-height:62px;color:#edf6ff;background:#ffffff14;border-color:#ffffff29}.hud-inline-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.hud-inline-button{padding:9px 14px;min-width:110px;border-radius:12px}.hud-inline-button.active{border-color:#7df0bf6b;background:#7df0bf29}.hud-key-row{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hud-key-input{min-width:280px;flex:1;padding:10px 12px;border-radius:12px;border:1px solid rgba(214,229,255,.18);background:#ffffff0a;color:#f8f4ea}.table-center-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);z-index:3;width:min(34vw,460px);padding:18px 22px;border-radius:22px;background:#09173a6b;border:1px solid rgba(222,237,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;box-shadow:0 22px 48px #0000002e}.table-center-panel strong{display:block;margin-top:6px;font-size:1.25rem;line-height:1.45}.table-center-note{display:block;margin-top:8px;color:#e9f1ffb8;font-size:.88rem}.arena-stage{min-height:680px}.arena-center-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);z-index:3;width:min(34vw,460px);padding:18px 22px;border-radius:22px;background:#09173a6b;border:1px solid rgba(222,237,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;box-shadow:0 22px 48px #0000002e}.arena-center-panel strong{display:block;margin-top:6px;font-size:1.25rem;line-height:1.45}.arena-center-note{display:block;margin-top:8px;color:#e9f1ffb8;font-size:.88rem}.arena-control-rail{position:absolute;left:50%;bottom:30px;transform:translate(-50%);z-index:4;display:flex;gap:12px;align-items:center}.arena-action{min-width:148px;padding:13px 20px}.table-seat{position:absolute;z-index:2;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.table-seat.top{top:84px;left:50%;transform:translate(-50%)}.table-seat.left{left:44px;top:28%}.table-seat.right{right:44px;top:28%}.table-seat.bottom{left:42px;bottom:32px}.table-seat-body{display:flex;gap:14px;align-items:flex-start}.table-seat.top .table-seat-body{align-items:center}.table-seat.right .table-seat-body{flex-direction:row-reverse}.table-seat-profile{display:flex;gap:12px;align-items:center}.table-seat.top .table-seat-profile{flex-direction:column}.table-seat-meta{display:flex;flex-direction:column;gap:4px}.table-seat-meta strong{font-size:1.05rem}.table-seat-meta span,.table-seat-meta em{font-style:normal;color:#e9f1ffc2;font-size:.84rem}.table-seat.right .table-seat-meta,.table-seat.right .trace-cards-row{align-items:flex-end}.table-seat-trace{min-width:150px;min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 12px;border-radius:16px;background:#0e1f4857;border:1px solid rgba(226,238,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.table-seat.top .table-seat-trace{margin-top:22px;min-width:190px;align-items:center}.table-seat.bottom .table-seat-trace{min-width:220px}.table-seat.open-hand.left,.table-seat.open-hand.right{top:20%}.table-seat.open-hand.bottom{bottom:18px}.table-seat.top .table-seat-hand-preview{align-self:center}.table-seat.right .table-seat-hand-preview{align-self:flex-end}.table-seat-hand-preview{display:flex;align-items:flex-end;gap:4px;min-height:88px;max-width:min(42vw,620px);padding:6px 2px 4px;overflow-x:auto}.table-seat.left .table-seat-hand-preview,.table-seat.right .table-seat-hand-preview{max-width:min(32vw,520px)}.table-seat.top .table-seat-hand-preview{max-width:min(46vw,700px)}.table-seat.bottom .table-seat-hand-preview{max-width:min(44vw,700px)}.table-seat-hand-column{position:relative;width:44px;min-width:44px;height:88px;flex:0 0 44px}.table-seat-hand-card{position:absolute;left:0;bottom:0}.table-seat-hand-card .playing-card.grouped{width:44px;height:66px;padding:6px;border-radius:12px}.table-seat-hand-card .playing-card.grouped .corner{gap:2px}.table-seat-hand-card .playing-card.grouped .corner strong{font-size:.88rem}.table-seat-hand-card .playing-card.grouped .corner span{font-size:.68rem}.table-seat-hand-card .playing-card.grouped .center-glyph{inset:auto 0 6px 0;align-items:flex-end;font-size:.72rem;opacity:.2}.table-seat-hand-card .playing-card.grouped .wild-badge{right:4px;bottom:4px;padding:1px 4px;font-size:.5rem}.table-seat-hand-card .playing-card.grouped.joker-big .corner strong,.table-seat-hand-card .playing-card.grouped.joker-small .corner strong{font-size:.66rem}.table-seat-hand-card .playing-card.grouped.joker-big .corner span,.table-seat-hand-card .playing-card.grouped.joker-small .corner span{font-size:.48rem}.arena-seat{position:absolute;z-index:2;display:flex;gap:14px;align-items:flex-start}.arena-seat.top{top:84px;left:50%;transform:translate(-50%)}.arena-seat.left{left:44px;top:28%}.arena-seat.right{right:44px;top:28%;flex-direction:row-reverse}.arena-seat.bottom{left:42px;bottom:32px}.arena-seat-profile{display:flex;gap:12px;align-items:center}.arena-seat.top .arena-seat-profile{flex-direction:column}.arena-seat-meta{display:flex;flex-direction:column;gap:4px}.arena-seat-meta strong{font-size:1.05rem}.arena-seat-meta span,.arena-seat-meta em{font-style:normal;color:#e9f1ffc2;font-size:.84rem}.arena-seat.right .arena-seat-meta,.arena-seat.right .trace-cards-row{align-items:flex-end}.arena-seat-trace{min-width:150px;min-height:76px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 12px;border-radius:16px;background:#0e1f4857;border:1px solid rgba(226,238,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.arena-seat.top .arena-seat-trace{margin-top:22px;min-width:190px;align-items:center}.arena-seat.bottom .arena-seat-trace{min-width:220px}.arena-dashboard{width:min(100vw - 32px,1500px);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.35fr) minmax(280px,1fr);gap:12px;align-items:start}.arena-panel{min-height:280px;padding:16px;border-radius:18px;background:#0916358a;border:1px solid rgba(220,236,255,.14)}.arena-open-table-panel{grid-column:1 / -1}.arena-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.arena-panel-header strong{display:block;margin-top:4px;font-size:1.02rem;color:#f7faffe6}.ghost-button.small{padding:10px 14px}.arena-global-config{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-bottom:14px}.arena-field{display:flex;flex-direction:column;gap:8px}.arena-field.wide{min-width:0}.arena-text-input{width:100%;border:1px solid rgba(219,235,255,.14);border-radius:12px;background:#07122ab8;color:#f6f9ff;padding:10px 12px}.arena-panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.arena-inline-button{min-width:180px;padding:11px 18px}.arena-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arena-select-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-select-card strong{font-size:1rem}.arena-seat-strategy-card{gap:12px;padding:16px}.arena-seat-strategy-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.arena-seat-strategy-pill{flex:0 0 auto;padding:7px 11px;border-radius:999px;font-size:.74rem;border:1px solid rgba(227,239,255,.12);color:#f4f8ffe0}.arena-seat-strategy-pill.local{background:#71c99224;border-color:#71c99242}.arena-seat-strategy-pill.remote{background:#5b91ff24;border-color:#5b91ff3d}.arena-config-note{margin:0;color:#e9f1ffad;line-height:1.5;font-size:.86rem}.arena-setup-actions{display:flex;justify-content:flex-end;margin-top:16px}.arena-text-input:disabled{opacity:.55;cursor:not-allowed}.arena-roster-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arena-summary-card{padding:14px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-summary-card strong{display:block;margin:6px 0 8px}.arena-summary-card div{color:#edf3ffcc;line-height:1.45}.arena-summary-model{margin-top:4px;font-size:.88rem;color:#e9f1ffa8;overflow-wrap:anywhere}.arena-open-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arena-open-seat-card{padding:14px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-open-seat-card.active{border-color:#7df0bf5c;box-shadow:inset 0 0 0 1px #7df0bf1f}.arena-open-seat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.arena-open-seat-header strong{display:block;margin-top:6px}.arena-open-seat-pill{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#0c1e4ea8;border:1px solid rgba(220,236,255,.12);color:#f3f8ffe6;font-size:.84rem}.arena-open-seat-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.arena-open-seat-meta .arena-stat-block{padding:10px 12px}.arena-open-seat-meta .arena-stat-block strong{font-size:.96rem}.arena-open-seat-trace{min-height:84px;display:flex;align-items:center;padding:10px 12px;border-radius:14px;background:#050e2285;border:1px solid rgba(227,239,255,.08);overflow-x:auto}.arena-open-seat-trace-text{color:#e9f1ffbd;line-height:1.5;font-size:.88rem}.arena-open-seat-hand{min-height:146px;padding-bottom:8px;border-bottom:none}.arena-open-seat-hand-empty{margin-top:12px;padding:14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(227,239,255,.08);color:#e9f1ffb8}.arena-speed-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.arena-speed-control{flex:1;display:flex;flex-direction:column;gap:8px}.arena-speed-control input{width:100%}.arena-helper-text{margin:14px 0 0;color:#e9f1ffbd;line-height:1.5;font-size:.92rem}.arena-helper-text code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace}.arena-inline-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.arena-stat-block{padding:12px 14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-stat-block strong{display:block;margin-top:4px}.arena-hand-grid{display:flex;align-items:flex-end;flex-wrap:nowrap;gap:6px;min-height:146px;overflow-x:auto;padding:8px 2px 16px;border-bottom:1px solid rgba(227,239,255,.08)}.arena-hand-column{position:relative;width:60px;min-width:60px;height:146px;flex:0 0 60px}.arena-hand-card{position:absolute;left:0;bottom:0}.arena-hand-card .playing-card.grouped{width:60px;height:90px;padding:8px;border-radius:14px}.arena-hand-card .playing-card.grouped .corner strong{font-size:1.02rem}.arena-hand-card .playing-card.grouped .corner span{font-size:.82rem}.arena-hand-card .playing-card.grouped .wild-badge{right:6px;bottom:6px;font-size:.58rem;padding:2px 5px}.arena-hand-card .playing-card.grouped.joker-big .corner strong,.arena-hand-card .playing-card.grouped.joker-small .corner strong{font-size:.74rem}.arena-hand-card .playing-card.grouped.joker-big .corner span,.arena-hand-card .playing-card.grouped.joker-small .corner span{font-size:.56rem}.arena-legal-actions{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto;padding:14px 0}.arena-action-chip{min-width:148px;max-width:100%;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-action-chip.pass{background:#ffd9681f;border-color:#ffd9682e}.arena-action-chip span{color:#e9f1ffa8;font-size:.72rem;overflow-wrap:anywhere}.arena-prompt-preview{margin:0;max-height:300px;overflow:auto;padding:14px;border-radius:16px;background:#050e22b8;border:1px solid rgba(227,239,255,.08);color:#ecf2ffdb;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.arena-llm-status-panel{grid-column:1 / -1}.arena-llm-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.arena-llm-seat-card,.arena-llm-status-entry{padding:14px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-llm-seat-header,.arena-llm-status-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.arena-llm-seat-header strong,.arena-llm-status-topline strong{display:block;margin-top:4px}.arena-llm-status-message,.arena-llm-status-entry p{margin:10px 0 0;color:#e9f1ffcc;line-height:1.5}.arena-llm-status-meta,.arena-llm-status-topline span{color:#e9f1ffa3;font-size:.8rem;line-height:1.45}.arena-llm-status-meta{margin-top:10px}.arena-llm-status-pill{flex:0 0 auto;padding:6px 10px;border-radius:999px;border:1px solid rgba(227,239,255,.12);background:#0c1e4e9e;color:#f7faffe6;font-size:.74rem}.arena-llm-status-pill.info{background:#5b91ff29;border-color:#5b91ff47}.arena-llm-status-pill.success{background:#40c98829;border-color:#40c9884d}.arena-llm-status-pill.warn{background:#ffbf5729;border-color:#ffbf5747}.arena-llm-status-pill.error{background:#ff787829;border-color:#ff787847}.arena-llm-status-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow-y:auto}.arena-llm-status-detail{margin:10px 0 0;padding:12px;border-radius:14px;background:#050e22b8;border:1px solid rgba(227,239,255,.08);color:#ecf2ffd1;font-size:.78rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.arena-log-list{display:flex;flex-direction:column;gap:10px;max-height:620px;overflow-y:auto}.arena-log-entry{padding:12px 14px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1)}.arena-log-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.arena-log-topline span,.arena-log-entry p{color:#e9f1ffb8}.arena-log-action{font-size:1rem;color:#f8f4ea;margin-bottom:4px}.arena-log-entry p{margin:0;line-height:1.45;font-size:.9rem}.arena-empty{padding:16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(227,239,255,.1);color:#e9f1ffbd;line-height:1.5}@media (max-width: 1100px){.app-shell{padding:8px}.agent-mode-grid{grid-template-columns:1fr}.app-topbar,.table-stage,.table-hud,.arena-dashboard,.start-screen,.arena-setup-shell{width:min(100vw - 16px,1200px)}.arena-dashboard{grid-template-columns:1fr}.arena-llm-status-grid,.start-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-seat.left,.table-seat.right,.ai-seat.left,.ai-seat.right{top:20%}.arena-seat.left,.arena-seat.right{top:22%}.table-watermark{font-size:clamp(2rem,3vw,3rem)}.hand-column{width:58px;min-width:58px}.playing-card.grouped{width:58px;height:88px}.human-zone{padding-right:310px}.bottom-tool-stack{right:24px}.table-center-panel,.arena-center-panel{width:min(48vw,420px)}}@media (max-width: 860px){.app-shell{padding:0}.agent-mode-shell{padding:14px}.agent-action-row{grid-template-columns:1fr}.table-stage{width:100vw;aspect-ratio:auto;min-height:100vh;border-radius:0}.app-topbar{width:100vw;padding:14px;flex-direction:column;align-items:flex-start}.start-screen{width:100vw;min-height:100vh;padding:18px 14px 24px;justify-content:center}.start-hero h1{font-size:clamp(2rem,9vw,3.4rem)}.arena-setup-shell{width:100vw;min-height:100vh;padding:18px 14px 24px;justify-content:flex-start}.arena-setup-header{flex-direction:column;align-items:flex-start}.stage-overlay,.table-seat,.ai-seat,.arena-seat,.bottom-play-area,.table-watermark,.bottom-tool-stack,.arrange-controls,.table-center-panel,.arena-center-panel,.arena-control-rail{position:static;transform:none}.table-stage{display:flex;flex-direction:column;gap:12px;padding:14px}.stage-overlay,.table-hud,.arena-dashboard,.human-headline,.control-row,.bottom-tool-stack,.arrange-controls,.arena-control-rail,.mode-switch{flex-wrap:wrap}.ai-seat,.table-seat,.arena-seat,.ai-seat.right,.ai-seat.top,.table-seat.right,.table-seat.top,.table-seat.bottom,.arena-seat.right,.arena-seat.top,.arena-seat.bottom{flex-direction:row;justify-content:space-between}.table-hud,.arena-dashboard{width:100vw;padding:0 14px 14px}.human-zone{padding-right:0}.bottom-tool-stack{align-items:stretch}.straight-flush-hint-panel{justify-content:space-between}.hand-grid{overflow-x:auto;justify-content:flex-start}.arena-inline-meta,.arena-global-config,.arena-llm-status-grid,.arena-open-table-grid,.arena-roster-grid,.arena-roster-summary,.start-mode-grid{grid-template-columns:1fr}.arena-center-panel,.table-center-panel,.arena-control-rail{width:100%}.hud-key-input{min-width:0;width:100%}}
