:root{--bg-dark: #0e1117;--bg-surface: #171b23;--bg-surface-elevated: #212631;--bg-table: radial-gradient(circle at 50% 40%, #1b2230 0%, #0e1117 80%);--card-bg: #f9f8f4;--card-border: #232731;--card-text-active: #11141a;--card-text-inactive: #8a94a6;--accent-gold: #f5b700;--accent-gold-dark: #b8860b;--accent-teal: #00b4d8;--accent-coral: #e63946;--accent-green: #2a9d8f;--text-primary: #f0f3f8;--text-secondary: #9aa5b8;--text-muted: #5e697a;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-card: 8px;--shadow-card: 0 4px 12px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .3);--shadow-card-active: 0 8px 24px rgba(0, 180, 216, .35), 0 0 0 2px var(--accent-teal);--shadow-card-hover: 0 6px 18px rgba(0, 0, 0, .6);--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-dark);color:var(--text-primary);font-family:var(--font-main);line-height:1.4}#app{width:100%;height:100%;display:flex;flex-direction:column}button{font-family:var(--font-main);cursor:pointer;border:none;outline:none;border-radius:var(--radius-md);transition:all .15s ease;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--accent-gold);color:#11141a;padding:10px 20px;box-shadow:0 4px 12px #f5b7004d}.btn-primary:hover:not(:disabled){background:#ffc41e;transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid rgba(255,255,255,.1);padding:10px 18px}.btn-secondary:hover:not(:disabled){background:#2b3240}.btn-danger{background:#e6394626;color:var(--accent-coral);border:1px solid rgba(230,57,70,.3);padding:8px 14px}.btn-danger:hover:not(:disabled){background:#e6394640}.app-header{height:52px;background:#0e1117e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:50}.logo-badge{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.25rem;letter-spacing:2px;color:var(--accent-gold)}.logo-icon{width:28px;height:28px;background:var(--accent-gold);color:#11141a;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem}.header-actions{display:flex;align-items:center;gap:10px}.user-tag{display:flex;align-items:center;gap:8px;background:var(--bg-surface-elevated);padding:4px 12px;border-radius:20px;font-size:.85rem;cursor:pointer;border:1px solid rgba(255,255,255,.08)}.user-tag:hover{border-color:#fff3}.avatar-circle{width:24px;height:24px;border-radius:50%;background:var(--accent-gold);color:#11141a;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.75rem;overflow:hidden}.avatar-circle img{width:100%;height:100%;object-fit:cover}.scout-card{width:62px;height:98px;background:var(--card-bg);border-radius:var(--radius-card);border:1.5px solid var(--card-border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;justify-content:space-between;padding:5px 6px;position:relative;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0;cursor:pointer}.scout-card.selected{transform:translateY(-14px);box-shadow:var(--shadow-card-active);border-color:var(--accent-teal)}.scout-card.flipped{animation:cardFlip3D .28s ease-out;border-color:var(--accent-gold)}@keyframes cardFlip3D{0%{transform:translateY(-14px) rotateX(65deg) scale(.95)}to{transform:translateY(-14px) rotateX(0) scale(1)}}.scout-card.disabled{opacity:.6;cursor:default}.card-half-top{display:flex;flex-direction:column;align-items:flex-start}.card-main-num{font-size:2rem;font-weight:900;line-height:1;color:var(--card-text-active);font-family:var(--font-main);align-self:center;margin-top:2px}.card-corner-num{font-size:.75rem;font-weight:800;line-height:1;color:var(--card-text-active)}.card-divider{width:100%;height:1px;background:#cbd5e1;margin:3px 0;position:relative}.card-half-bottom{display:flex;flex-direction:column;align-items:flex-end;transform:rotate(180deg)}.card-bottom-num{font-size:1.25rem;font-weight:800;line-height:1;color:var(--card-text-inactive);align-self:center}.scout-card.mini{width:48px;height:76px;padding:4px}.scout-card.mini .card-main-num{font-size:1.5rem}.scout-card.mini .card-bottom-num{font-size:1rem}.game-table-container{flex:1;background:var(--bg-table);display:flex;flex-direction:column;overflow:hidden;position:relative}.roundtable-arena{flex:1;display:grid;grid-template-columns:minmax(130px,auto) 1fr minmax(130px,auto);grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;position:relative;padding:8px 16px;gap:12px;min-height:280px;overflow:hidden}.roundtable-felt{position:absolute;top:8px;right:14px;bottom:8px;left:14px;background:radial-gradient(ellipse at center,#0e2a3273,#090e14e0 85%);border:1.5px solid rgba(0,180,216,.16);border-radius:64px;box-shadow:inset 0 0 32px #0009,0 0 16px #0000004d;pointer-events:none;z-index:1}.table-center-cell{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;width:100%}.roundtable-arena.players-2 .table-center-cell{grid-column:1 / 4;grid-row:2}.opponent-badge{background:#171b23e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:8px 12px;display:flex;align-items:center;gap:10px;transition:all .2s ease;position:relative;z-index:10;box-shadow:0 4px 16px #0006}.opponent-badge.is-turn{border-color:var(--accent-gold);box-shadow:0 0 18px #f5b70059;background:#212631f2;animation:turnPulse 1.8s infinite ease-in-out}.opponent-badge.ready{border-color:var(--accent-green);box-shadow:0 0 12px #2ec4b640}@keyframes turnPulse{0%,to{box-shadow:0 0 12px #f5b7004d}50%{box-shadow:0 0 24px #f5b70099}}.opponent-badge.seat-top{grid-column:2;grid-row:1;justify-self:center}.opponent-badge.seat-left{grid-column:1;grid-row:2;justify-self:start}.opponent-badge.seat-right{grid-column:3;grid-row:2;justify-self:end}.opponent-badge.seat-top-left{grid-column:1;grid-row:1;justify-self:start}.opponent-badge.seat-top-right{grid-column:3;grid-row:1;justify-self:end}.opponent-badge.seat-bottom-left{grid-column:1;grid-row:3;justify-self:start}.opponent-badge.seat-bottom-right{grid-column:3;grid-row:3;justify-self:end}.opponent-info{display:flex;flex-direction:column}.opponent-name{font-size:.85rem;font-weight:700;color:var(--text-primary);max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opponent-stats{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-secondary);font-family:var(--font-mono)}.active-tray{background:#0e1117b3;border:1.5px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:18px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 12px 36px #00000080;max-width:90%;animation:fadeIn .25s ease}.active-tray-header{display:flex;align-items:center;gap:10px;font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;color:var(--text-secondary)}.active-tray-header .owner{color:var(--accent-gold)}.active-cards-cluster{display:flex;align-items:center;gap:12px}.scout-btn{background:#00b4d826;border:1.5px solid var(--accent-teal);color:var(--accent-teal);padding:8px 12px;font-size:.8rem;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;gap:2px}.scout-btn:hover:not(:disabled){background:var(--accent-teal);color:#11141a}.empty-table-msg{color:var(--text-muted);font-style:italic;font-size:.95rem;padding:24px}.action-controls{background:#0e1117f2;border-top:1px solid rgba(255,255,255,.08);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:20}.turn-status-banner{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:8px}.turn-status-banner.my-turn{color:var(--accent-gold)}.selected-combo-tag{background:#00b4d833;color:var(--accent-teal);padding:3px 10px;border-radius:12px;font-size:.8rem;font-weight:800}.hand-action-btns{display:flex;align-items:center;gap:10px}.player-hand-container{background:var(--bg-surface);border-top:2px solid rgba(255,255,255,.05);padding:16px 12px 20px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:30}.hand-cards-row{display:flex;align-items:flex-end;justify-content:center;gap:6px;max-width:100%;overflow-x:auto;padding:16px 8px 4px;scrollbar-width:thin}.insertion-slot{width:14px;height:98px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .15s ease}.insertion-slot:hover,.insertion-slot.active{background:#00b4d833;border-radius:4px}.insertion-slot:after{content:"▼";font-size:10px;color:var(--accent-teal);position:absolute;top:-12px;opacity:0;transition:opacity .15s}.insertion-slot:hover:after,.insertion-slot.active:after{opacity:1}.scout-ghost-card{position:relative;display:flex;flex-direction:column;align-items:center;margin:0 4px;animation:fadeIn .15s ease}.scout-ghost-card .scout-card{border:2px dashed var(--accent-gold);box-shadow:0 0 16px #ffb70373;background:#fffffff2;transform:translateY(-8px)}.scout-ghost-badge{font-size:.65rem;font-weight:800;color:var(--accent-gold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.orient-panel{background:#171b23f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:22px 28px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 16px 48px #0009;max-width:500px;animation:fadeIn .25s ease;z-index:40}.orient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e1117e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:100;padding:24px;text-align:center}.orient-dialog{background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:28px;max-width:440px;box-shadow:0 16px 48px #0009;display:flex;flex-direction:column;gap:16px}.orient-dialog h2{font-size:1.4rem;font-weight:800;color:var(--accent-gold)}.orient-dialog p{color:var(--text-secondary);font-size:.95rem}.orient-btns{display:flex;gap:12px;margin-top:10px}.orient-btns button{flex:1;padding:12px}.lobby-view{flex:1;background:var(--bg-table);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.lobby-card{background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:520px;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;gap:24px}.lobby-title-area{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.lobby-title-area h1{font-size:2rem;font-weight:900;letter-spacing:3px;color:var(--accent-gold)}.room-code-badge{background:var(--bg-surface-elevated);border:1px dashed var(--accent-gold);border-radius:var(--radius-md);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.room-code-text{font-family:var(--font-mono);font-size:1.3rem;font-weight:800;letter-spacing:2px;color:var(--text-primary)}.members-list{display:flex;flex-direction:column;gap:8px}.member-item{background:var(--bg-surface-elevated);border-radius:var(--radius-md);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.05)}.member-name{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:8px}.badge{font-size:.7rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase}.badge-host{background:var(--accent-gold);color:#11141a}.badge-bot{background:var(--bg-surface);color:var(--text-secondary);border:1px solid rgba(255,255,255,.2)}.badge-ready{background:#2a9d8f33;color:var(--accent-green);border:1px solid var(--accent-green)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-surface);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 24px 72px #000c;display:flex;flex-direction:column;gap:20px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1.4rem;font-weight:800;color:var(--text-primary)}.close-btn{background:transparent;color:var(--text-secondary);font-size:1.5rem;padding:4px 8px}.close-btn:hover{color:var(--text-primary)}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.leaderboard-table th{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-size:.75rem;text-transform:uppercase}.leaderboard-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.05)}.rank-pill{font-weight:800;color:var(--accent-gold);width:24px;display:inline-block}.score-pile-wrapper{display:inline-flex;align-items:center;gap:6px;position:relative;-webkit-user-select:none;user-select:none}.score-pile-card{width:44px;height:60px;border-radius:6px;position:relative;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.score-pile-wrapper.mini .score-pile-card{width:32px;height:44px;border-radius:4px}.score-pile-card.has-cards{background:linear-gradient(135deg,#1c2330,#0f131a);border:1.5px solid var(--accent-gold)}.card-back-design{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:2px;border-radius:4px;background:radial-gradient(circle at center,rgba(245,183,0,.12) 0%,transparent 70%)}.card-back-text{font-size:.55rem;font-weight:900;letter-spacing:1.5px;color:var(--accent-gold);line-height:1;text-transform:uppercase}.score-pile-wrapper.mini .card-back-text{font-size:.42rem;letter-spacing:.8px}.card-back-count{font-size:.85rem;font-weight:800;color:#fff;margin-top:4px;line-height:1}.score-pile-wrapper.mini .card-back-count{font-size:.65rem;margin-top:2px}.score-pile-card.empty{border:1.5px dashed rgba(255,255,255,.15);background:#ffffff05}.card-empty-design{font-size:.7rem;color:var(--text-muted);font-weight:600}.score-pile-wrapper.mini .card-empty-design{font-size:.55rem}.score-chips-pill{background:#f5b70026;border:1px solid var(--accent-gold);color:var(--accent-gold);font-size:.75rem;font-weight:800;padding:2px 7px;border-radius:12px;white-space:nowrap}.score-pile-wrapper.mini .score-chips-pill{font-size:.65rem;padding:1px 5px}.table-action-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#12161ee0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--accent-teal);padding:6px 14px;border-radius:8px;margin:6px 16px;animation:fadeIn .2s ease;position:relative;z-index:20}.action-banner-content{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-icon{font-size:1rem;flex-shrink:0}.action-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-log-toggle-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:14px;cursor:pointer;white-space:nowrap;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.action-log-toggle-btn:hover{background:#ffffff1f;color:var(--text-primary);border-color:var(--accent-teal)}.action-log-panel{position:absolute;top:48px;right:16px;width:420px;max-width:calc(100vw - 32px);max-height:420px;background:#10141cfa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);box-shadow:0 16px 40px #000c;display:flex;flex-direction:column;z-index:50;animation:fadeIn .15s ease;overflow:hidden}.action-log-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem;font-weight:800;color:var(--text-primary)}.action-log-list{padding:10px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;font-size:.8rem;max-height:340px}.action-log-item{padding:6px 10px;background:#ffffff08;border-left:2px solid var(--accent-gold);border-radius:4px;color:var(--text-secondary);line-height:1.35}.action-log-item:last-child{border-left-color:var(--accent-teal);background:#00b4d814;color:var(--text-primary);font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.scout-card{width:50px;height:80px;padding:3px 4px}.card-main-num{font-size:1.6rem}.card-bottom-num{font-size:1rem}.hand-cards-row{gap:4px;padding:10px 4px 2px}.lobby-card{padding:20px}.roundtable-arena{padding:4px 6px;gap:6px;grid-template-columns:minmax(70px,auto) 1fr minmax(70px,auto);min-height:240px}.opponent-badge{padding:4px 6px;gap:5px}.opponent-badge .opponent-name{max-width:65px;font-size:.72rem}.opponent-badge .opponent-stats{font-size:.65rem}.active-tray{padding:10px 12px;gap:8px}}
