:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#aaa;--glass-bg: linear-gradient(180deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03)), linear-gradient(180deg, rgba(18, 24, 34, .72), rgba(8, 10, 16, .6));--glass-bg-strong: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04)), linear-gradient(180deg, rgba(20, 27, 38, .82), rgba(7, 10, 16, .72));--glass-border: rgba(255, 255, 255, .14);--glass-border-strong: rgba(255, 255, 255, .2);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), inset 0 -1px 0 rgba(255, 255, 255, .03), 0 18px 50px rgba(0, 0, 0, .22);--glass-shadow-strong: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -1px 0 rgba(255, 255, 255, .04), 0 24px 72px rgba(0, 0, 0, .28);--glass-blur: 22px;--glass-blur-strong: 30px;--glass-tint: rgba(255, 255, 255, .08);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.glass-surface{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(165%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(165%)}.glass-surface--strong{background:var(--glass-bg-strong);border-color:var(--glass-border-strong);box-shadow:var(--glass-shadow-strong);backdrop-filter:blur(var(--glass-blur-strong)) saturate(175%);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(175%)}.glass-pill{background:linear-gradient(180deg,#ffffff1f,#ffffff0a),#0a0e1470;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff2e,0 10px 24px #00000029;backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%)}.glass-button{backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px #ffffff29,0 8px 18px #0000001f}.interactive-glass-tilt{display:block;width:100%;overflow:hidden;border-radius:inherit;transform-style:preserve-3d}.interactive-glass-tilt--fill{display:flex;flex:1;min-height:0}.interactive-glass-tilt--fill>*{width:100%;min-height:0;flex:1}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:1rem;box-sizing:border-box;background:radial-gradient(circle at 18% 18%,rgba(216,180,100,.12),transparent 22%),radial-gradient(circle at 82% 12%,rgba(255,255,255,.05),transparent 16%),linear-gradient(160deg,#0d1116,#07090d)}.home-shell{width:min(1180px,100%);margin:0 auto;min-height:min(720px,calc(100vh - 5rem));display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(360px,.95fr);gap:1rem;border-radius:28px;border:1px solid var(--glass-border);background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-strong);padding:clamp(1.35rem,2vw,1.8rem)}.home-intro{padding:clamp(1rem,3vw,2.6rem);display:flex;flex-direction:column;justify-content:center}.home-eyebrow{margin:0 0 .9rem;color:#d8b464c2;font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.game-title{margin:0;color:#f5f1e7;font-size:clamp(3rem,7vw,6rem);line-height:.95;font-weight:800;letter-spacing:.04em}.home-copy{margin:1rem 0 0;max-width:20ch;color:#ffffffa3;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.35}.home-panel{padding:clamp(.8rem,1.8vw,1.2rem);display:flex;align-items:stretch;background:transparent;border:none;box-shadow:none}.home-actions{width:100%;display:flex;flex-direction:column;justify-content:center;gap:1rem}.color-mode-selector,.join-section{padding:1rem;border-radius:20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}.mode-label{color:#ffffff80;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;display:block;margin-bottom:.7rem}.mode-buttons{display:flex;gap:.65rem;width:100%}.mode-btn{flex:1;min-height:3.1rem;padding:.8rem;background:#ffffff14;color:#ffffffb8;border:1px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease,color .2s ease;font-size:.98rem;font-weight:600}.mode-btn:hover{transform:translateY(-1px);background:#ffffff14}.mode-btn.active{background:#d8b4641f;color:#f2d594;border-color:#d8b46457}.btn-primary,.btn-secondary{width:100%;min-height:3.4rem;padding:1rem 1.1rem;font-size:1rem;border:none;border-radius:16px;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;font-weight:700}.btn-primary{background:linear-gradient(180deg,#ddb45d,#bd8f33);color:#1b1508;box-shadow:0 10px 26px #d8b4643d}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.56;cursor:not-allowed}.btn-secondary{margin-top:.85rem;background:#ffffff1f;color:#f3f0e8;border:1px solid rgba(255,255,255,.14)}.room-input{width:100%;min-height:3.2rem;padding:.95rem 1rem;box-sizing:border-box;font-size:1.05rem;text-align:left;background:#080e1857;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:14px;text-transform:uppercase;letter-spacing:.16em;transition:border-color .2s ease,box-shadow .2s ease}.room-input:focus{outline:none;border-color:#d8b4648c;box-shadow:0 0 0 3px #d8b46424}.room-input::placeholder{color:#ffffff52;letter-spacing:.04em;text-transform:none}.error-message{color:#ffb0b0;text-align:center;padding:.8rem .95rem;background:#a0282838;border:1px solid rgba(255,120,120,.28);border-radius:14px}.home-footer{width:min(1180px,100%);margin:0 auto}.instructions-text{margin:0;color:#ffffff70;text-align:right;font-size:.88rem}@media (max-width: 900px){.home-shell{min-height:auto;grid-template-columns:1fr}.home-intro,.home-panel{padding:1rem}.home-copy{max-width:none}.instructions-text{text-align:left}}@media (max-width: 640px){.home-page{padding:.75rem}.home-shell{border-radius:22px}.mode-buttons{flex-direction:column}}.hex-board-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;flex:1;user-select:none;-webkit-user-select:none;position:relative;min-height:0;padding:.15rem;box-sizing:border-box}.hex-board-container:before{content:"";position:absolute;inset:10% 12%;border-radius:999px;background:radial-gradient(circle,#d8b4640f,#d8b46400 72%);filter:blur(32px);pointer-events:none}.hex-board{position:relative;width:min(100%,calc(100vh - 2rem));height:auto;max-width:100%;max-height:calc(100vh - 2rem);cursor:default;filter:drop-shadow(0 18px 34px rgba(0,0,0,.22))}@media (max-width: 1200px){.hex-board{width:min(100%,calc(100vh - 11rem));max-height:calc(100vh - 11rem)}}@media (max-width: 720px){.hex-board-container{padding:.35rem}.hex-board{width:min(100%,calc(100vh - 4.5rem));max-height:calc(100vh - 4.5rem)}}.move-history{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;padding:.45rem;background:var(--glass-bg);border-radius:18px;border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);overflow:hidden}.move-history:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(216,180,100,.08),transparent 36%);pointer-events:none}.move-history-header{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding-bottom:.35rem}.header-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.15rem;padding:.45rem .55rem;border-radius:12px;background:linear-gradient(180deg,#ffffff17,#ffffff08);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff29,0 8px 20px #0000001a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.header-cell-monogram{font-size:2.9rem;font-weight:700;line-height:1;color:var(--3chess-seat-fill);-webkit-text-stroke:.5px var(--3chess-seat-stroke)}.header-cell-status{font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1;margin-bottom:.2rem;color:var(--seat-sublabel);text-transform:uppercase}.header-cell.active-player{border-color:var(--3chess-seat-fill);background:linear-gradient(180deg,var(--seat-indicator),rgba(255,255,255,.04)),linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:inset 0 1px #ffffff0a,0 16px 30px #0000003d;transform:translateY(-1px)}.move-history-scroll{position:relative;z-index:1;flex:1;min-height:120px;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#080c123d;box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff05;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);padding:.2rem}.move-history-empty{margin:0;padding:2rem 1rem;text-align:center;color:#ffffff61;font-size:.9rem;font-style:italic}.move-row{display:grid;grid-template-columns:1.6rem 1fr;align-items:stretch;gap:.2rem;margin-bottom:0;padding:.1rem;border-bottom:1px solid rgba(255,255,255,.04)}.move-row:last-child{border-bottom:none}.move-row:nth-child(odd){background:linear-gradient(90deg,#ffffff05,#fff0);border-radius:12px}.move-number{display:flex;align-items:center;justify-content:flex-end;font-weight:700;color:#f5d594b3;font-size:.72rem;font-family:ui-monospace,Cascadia Code,Courier New,monospace;text-align:right;padding:0 .12rem 0 0;align-self:stretch}.move-cells-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.move-cell{position:relative;padding:.15rem .25rem;text-align:center;font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:.7rem;display:flex;justify-content:center;align-items:center;min-height:1.5rem;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-left:2px solid var(--3chess-seat-fill)}.move-cell--empty{opacity:.28;background:#ffffff05}.move-cell--skip{color:#fff6}.move-cell--timeout{gap:.32rem}.move-skip-label{font-weight:700;letter-spacing:.08em;font-size:1rem}.move-timeout-icon{font-size:.95rem;line-height:1}.move-timeout-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffe0}.move-text{display:flex;align-items:center;justify-content:center;gap:.18rem;font-weight:700;width:100%;min-width:0}.piece-icon{font-size:1.05rem;line-height:1;flex-shrink:0;-webkit-text-stroke:.45px}.move-notation{color:#ffffffe0;font-weight:600;letter-spacing:0;font-size:.68rem;white-space:nowrap}.move-promotion{margin-left:.1em}.move-history-scroll::-webkit-scrollbar{width:7px}.move-history-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:4px}.move-history-scroll::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.move-history-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff42}@media (max-width: 720px){.move-history{border-radius:20px}.move-history-top{flex-direction:column;align-items:stretch}.move-history-header,.move-cells-container{gap:.35rem}.header-cell{min-height:3rem;padding:.4rem .45rem}.header-cell-monogram{font-size:2.35rem}.move-row{grid-template-columns:1.8rem 1fr}}.promotion-modal-overlay{position:fixed;inset:0;background:#030508d1;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem}.promotion-modal{position:relative;width:min(600px,92vw);padding:1.5rem;text-align:center;border-radius:24px;background:var(--glass-bg-strong);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-strong)}.promotion-modal:before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,rgba(216,180,100,.84),transparent)}.promotion-modal h2{margin:0 0 1rem;font-size:1.55rem;font-weight:700}.promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}@media (max-width: 640px){.promotion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.color-selection-modal-overlay{position:fixed;inset:0;background:#030508d6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.25rem}.color-selection-modal{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 2.5rem);overflow-y:auto;padding:1.5rem;border-radius:24px;background:var(--glass-bg-strong);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-strong)}.modal-kicker{display:block;margin-bottom:.3rem;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#d8b464bd}.modal-title{color:#f2d594;font-size:1.55rem;text-align:center;margin:0 0 .45rem;font-weight:700;letter-spacing:.02em}.modal-subtitle{color:#ffffff7a;text-align:center;margin:0 auto 1rem;font-size:.9rem;line-height:1.5;max-width:30ch}.modal-error{margin:0 0 1rem;padding:.7rem .9rem;border-radius:12px;background:#a028283d;border:1px solid rgba(255,120,120,.3);color:#ffb0b0;font-size:.88rem;text-align:center}.seat-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-top:.35rem}.seat-option{position:relative;width:100%;overflow:hidden;min-height:168px;padding:1rem .9rem .9rem;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff17,#ffffff08);cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:inherit}.seat-option:focus{outline:none}.seat-option:focus-visible{outline:2px solid rgba(216,180,100,.8);outline-offset:3px}.seat-option:disabled{opacity:.58;cursor:not-allowed;transform:none}.seat-option--unavailable{background:linear-gradient(180deg,#ffffff0b,#ffffff05)}.seat-option--unavailable .seat-option-monogram,.seat-option--unavailable .seat-option-name{color:#ffffff6b;-webkit-text-stroke-color:rgba(255,255,255,.18)}.seat-option--unavailable .seat-option-meta{color:#ffffff4d}.seat-option-glow{position:absolute;pointer-events:none}.seat-option-glow{inset:-40%;opacity:0;transition:opacity .25s ease}.seat-option:not(:disabled):hover{background:linear-gradient(180deg,#ffffff1c,#ffffff0a);box-shadow:inset 0 1px #ffffff2e,0 12px 26px #0000002e}.seat-option:not(:disabled):hover .seat-option-glow{opacity:1}.seat-option-monogram,.seat-option-name,.seat-option-meta{position:relative;z-index:1}.seat-option-monogram{font-size:4.2rem;line-height:1;font-weight:700;color:var(--team-fill);-webkit-text-stroke:.5px var(--team-stroke)}.seat-option-name{display:inline-block;font-size:1.08rem;font-weight:700;color:var(--team-fill);letter-spacing:.04em}.seat-option-meta{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--team-fill);opacity:.78}.seat-option-name:before,.seat-option-meta:before{content:attr(data-text);position:absolute;inset:0;z-index:-1;color:transparent;pointer-events:none}.seat-option-name:before{-webkit-text-stroke:1px var(--team-stroke)}.seat-option-meta:before{-webkit-text-stroke:.8px var(--team-stroke)}.seat-option--unavailable .seat-option-name:before,.seat-option--unavailable .seat-option-meta:before{-webkit-text-stroke-color:rgba(255,255,255,.18)}@media (max-width: 720px){.seat-option-grid{grid-template-columns:1fr}.seat-option{min-height:150px}.seat-option-monogram{font-size:3.7rem}}.waiting-room{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:.75rem;box-sizing:border-box;background:radial-gradient(circle at 18% 18%,rgba(216,180,100,.12),transparent 22%),radial-gradient(circle at 82% 12%,rgba(255,255,255,.05),transparent 16%),linear-gradient(160deg,#0d1116,#07090d)}.waiting-container{width:100%;max-width:1180px;margin:0 auto;height:min(760px,calc(100vh - 1.5rem));display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:.9rem;padding:1rem;box-sizing:border-box;border-radius:24px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-strong);overflow:hidden}.waiting-header{grid-column:1 / -1;text-align:left;margin-bottom:0;padding:.1rem .15rem .25rem}.waiting-container h2{margin:0;color:#f2d594;font-size:1.8rem;font-weight:700;letter-spacing:.02em}.waiting-subtitle{margin:.35rem 0 0;max-width:none;color:#ffffff80;font-size:.92rem;line-height:1.4}.room-info,.share-section,.ready-section,.your-seat-panel{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:inset 0 1px #ffffff1f,0 10px 28px #0000001f}.room-info{padding:1rem}.panel-header,.players-list-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.panel-header{margin-bottom:.9rem}.panel-kicker,.players-list-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#d8b464b8}.panel-chip,.players-count{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;padding:.28rem .65rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f5d594e0;font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:.72rem;letter-spacing:.08em}.room-code-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.room-code-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#ffffff61}.room-code-display{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;padding:.9rem 1rem;border-radius:14px;background:#00000059;border:1px solid rgba(216,180,100,.12)}.room-code-display .code{font-size:1.8rem;font-weight:700;color:#f2d594;letter-spacing:.18em;font-family:ui-monospace,Cascadia Code,Courier New,monospace}.copy-code-btn{position:absolute;right:.75rem;min-width:4.25rem;padding:.38rem .55rem;background:#ffffff1a;color:#ffffffdb;border:1px solid rgba(255,255,255,.16);border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,transform .15s ease}.copy-code-btn:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.invite-actions{display:flex;flex-direction:column;gap:.5rem}.copy-btn{width:100%;padding:.85rem 1rem;background:#ffffff14;color:#eee;border:1px solid rgba(255,255,255,.12);border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:700;transition:background .2s ease,transform .15s ease,border-color .2s ease}.copy-btn:hover{transform:translateY(-1px)}.copy-btn--primary{background:linear-gradient(180deg,#ddb45d,#bd8f33);color:#1b1508;border-color:#ffffff2e;box-shadow:0 6px 18px #d8b4643d}.copy-btn--primary:hover{filter:brightness(1.04)}.invite-url{margin:0;padding:.75rem;background:#00000052;border-radius:10px;font-family:ui-monospace,Cascadia Code,Courier New,monospace;word-break:break-all;color:#ffffff6b;font-size:.72rem;text-align:center;border:1px solid rgba(255,255,255,.06);line-height:1.45}.copy-error{margin:0 0 1rem;padding:.75rem .9rem;border-radius:12px;background:#a0282838;border:1px solid rgba(255,120,120,.28);color:#ffb0b0;font-size:.88rem;text-align:center}.players-list{grid-column:2;grid-row:2 / span 4;margin:0;min-height:0;display:flex;flex-direction:column;padding:1rem;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:inset 0 1px #ffffff1f,0 10px 28px #0000001f}.players-list-header{margin-bottom:.8rem}.players-list-title{margin:0}.seat-card-grid{display:flex;flex-direction:column;gap:.65rem;min-height:0;overflow-y:auto;padding-top:.2rem;padding-right:.15rem}.seat-card{position:relative;display:flex;gap:.9rem;padding:.8rem .9rem;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);border-radius:18px;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff29,0 14px 28px #00000024;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);transition:transform .2s ease,border-color .2s ease,background .2s ease;overflow:hidden}.seat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--team-fill)}.seat-card:hover{transform:translateY(-1px);background:linear-gradient(180deg,#ffffff0f,#ffffff06)}.seat-card--local{background:linear-gradient(180deg,#ffffff0f,#ffffff06)}.seat-card-glyph{width:4.2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.seat-monogram{font-size:3.45rem;font-weight:700;line-height:.9;color:var(--team-fill);-webkit-text-stroke:.45px var(--team-stroke)}.seat-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.seat-card-top,.seat-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.seat-card-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.seat-name{font-weight:700;font-size:.96rem}.seat-occupancy{color:#ffffff7a;font-size:.78rem}.connection-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.28rem .55rem;border-radius:999px;white-space:nowrap}.connection-tag--on{color:#a7e0a7;background:#50a0502e}.connection-tag--you{color:#f3f0e8;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff0f}.connection-tag--off{color:#ffffff80;background:#ffffff0f}.ready-tag{font-size:.7rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;white-space:nowrap}.ready-tag--yes{color:#a8e6a8;background:#4caf502e}.ready-tag--no{color:#ffd08ae0;background:#ffb4501f}.share-section,.ready-section{margin-top:0;padding:.9rem 1rem}.share-section{color:#ffffff85;font-size:.9rem;line-height:1.5}.share-section .panel-kicker{display:block;margin-bottom:.4rem}.ready-section{text-align:center}.ready-btn{width:100%;margin-top:.85rem;padding:1rem;font-size:1rem;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;letter-spacing:.05em;text-transform:uppercase}.ready-btn.not-ready{background:linear-gradient(180deg,#ddb45d,#bd8f33);color:#1b1508;box-shadow:0 6px 20px #d8b46447}.ready-btn.ready{background:linear-gradient(180deg,#5dbf7a,#418f5a);color:#fff;box-shadow:0 6px 20px #4caf503d}.ready-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.waiting-message{text-align:left;color:#ffffff75;margin-top:0;padding:0 .15rem;font-size:.92rem;line-height:1.45}.countdown{font-size:1.7rem;font-weight:700;color:#f2d594;text-shadow:0 2px 12px rgba(0,0,0,.45)}.seat-card-grid::-webkit-scrollbar{width:7px}.seat-card-grid::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.seat-card-grid::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}@media (max-width: 640px){.waiting-room{padding:.75rem}.waiting-container{height:auto;display:block;padding:1.25rem 1rem;border-radius:20px;overflow-y:auto}.panel-header,.players-list-header,.seat-card-top,.seat-card-bottom{flex-direction:column;align-items:stretch}.room-code-display{padding-right:5.25rem}.connection-tag,.ready-tag,.panel-chip,.players-count{align-self:flex-start}.players-list{margin-top:1rem}.seat-card-grid{overflow:visible;padding-right:0}}.game-page{height:100vh;background:radial-gradient(circle at 18% 22%,rgba(216,180,100,.12),transparent 22%),radial-gradient(circle at 82% 14%,rgba(255,255,255,.05),transparent 18%),linear-gradient(160deg,#0d1116,#07090d);display:flex;align-items:stretch;justify-content:center;color:#f4f0e7;overflow:hidden}.game-shell{display:flex;flex-direction:row;align-items:stretch;width:100%;max-width:1960px;min-height:100vh;margin:0 auto;padding:.35rem .45rem;box-sizing:border-box;gap:.55rem}.board-stage{flex:1;min-width:0;min-height:0;display:flex;align-items:stretch;justify-content:stretch}.board-stage-frame{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center}.game-sidebar{width:min(420px,34vw);flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;min-height:0;overflow:hidden}.sidebar-header{flex-shrink:0;padding:.75rem;border-radius:18px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.status-strip{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.status-strip--top{padding-bottom:.65rem;margin-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.06)}.status-strip{flex-wrap:wrap}.room-code-chip{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:2.75rem;padding:.6rem .9rem;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff29,0 10px 24px #0000001f;color:#f2d594;font-family:ui-monospace,Cascadia Code,Courier New,monospace;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.seat-chip{flex:1 1 180px;display:flex;flex-direction:column;justify-content:center;gap:.22rem;min-height:3.2rem;padding:.65rem .85rem;border-radius:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff29,0 10px 24px #0000001f}.seat-chip{color:#0b0d10}.seat-chip .chip-label{color:inherit;opacity:.72}.chip-label{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ffffff75}.chip-value{font-size:1rem;font-weight:700;line-height:1.2;color:inherit}.chip-symbol{display:inline-block;font-size:2rem;line-height:.8;vertical-align:-.14em}.game-sidebar>.move-history{flex:1;min-height:0}.loading-screen,.error-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:.75rem;box-sizing:border-box;background:radial-gradient(circle at 18% 22%,rgba(216,180,100,.12),transparent 22%),linear-gradient(160deg,#0d1116,#07090d)}.loading-container,.error-container{width:min(1040px,100%);min-height:min(280px,calc(100vh - 1.5rem));padding:2rem;border-radius:24px;text-align:left;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#ffffff09,#fff0),linear-gradient(180deg,#12171efa,#080a0efa);border:1px solid rgba(216,180,100,.14);box-shadow:inset 0 1px #ffffff0d,0 24px 72px #00000075}.loading-container h2,.error-container h2{color:#f2d594;margin:0 0 .6rem;font-size:1.9rem}.loading-container p,.error-container p{color:#ffffffa8;margin:0 0 1rem;line-height:1.45;max-width:42ch}.redirect-message{color:#ffffff7a;font-size:.92rem;font-style:italic}.loading-spinner{width:52px;height:52px;margin:0;border:3px solid rgba(255,255,255,.08);border-top-color:#f2d594;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.game-page{height:auto;min-height:100vh;overflow-y:auto}.game-shell{flex-direction:column;min-height:auto;padding:.6rem}.board-stage{min-height:min(62vh,720px)}.game-sidebar{width:100%;max-width:none}}@media (max-width: 720px){.game-shell{gap:.75rem;padding:.75rem}.sidebar-header,.loading-container,.error-container{border-radius:22px}.status-strip{flex-direction:column;align-items:stretch}.room-code-chip{width:100%}.seat-chip{flex-basis:auto}}.victory-overlay{position:fixed;inset:0;background:#030508d1;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem;animation:fadeIn .4s ease}.victory-modal{position:relative;width:min(420px,92vw);padding:2.5rem 2rem;text-align:center;border-radius:24px;background:var(--glass-bg-strong);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-strong);animation:scaleIn .35s ease}.victory-modal:before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,rgba(216,180,100,.84),transparent)}.victory-crown{font-size:5rem;line-height:1;margin-bottom:.5rem}.victory-modal h2{margin:0 0 .5rem;font-size:2rem;font-weight:700}.victory-modal p{color:#fff9;margin:0 0 1.5rem;font-size:1rem}.victory-home-btn{padding:.75rem 2rem;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#f2d594;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.victory-home-btn:hover{background:#ffffff2e;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
