:root{--font-main:"Segoe UI", system-ui, -apple-system, sans-serif;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition:.2s ease;--color-red:#e53935;--color-yellow:#fdd835;--color-blue:#1e88e5;--color-green:#43a047;--color-cyan:#00838f;--color-purple:#8e24aa;--color-magenta:#f06292;--color-orange:#fb8c00}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-card:#fff;--bg-overlay:#00000073;--text-primary:#1a1a2e;--text-secondary:#557;--text-muted:#889;--text-on-accent:#fff;--border:#dde;--border-focus:#1e88e5;--accent:#1e88e5;--accent-hover:#1565c0;--danger:#e53935;--board-bg:#ccc;--board-empty:#e8e8e8;--board-path:#f0f0f0;--board-border:#999;--target-highlight:#ffeb3b73;--shadow:0 2px 12px #0000001f;--shadow-lg:0 6px 24px #0000002e}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-card:#22223b;--bg-overlay:#000000a6;--text-primary:#e8e8f0;--text-secondary:#aac;--text-muted:#668;--text-on-accent:#fff;--border:#33334a;--border-focus:#1e88e5;--accent:#42a5f5;--accent-hover:#1e88e5;--danger:#ef5350;--board-bg:#2a2a3e;--board-empty:#1e1e30;--board-path:#33334a;--board-border:#444460;--target-highlight:#ffeb3b73;--shadow:0 2px 12px #0006;--shadow-lg:0 6px 24px #0000008c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;height:100%;font-family:var(--font-main);color:var(--text-primary);transition:color var(--transition);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;forced-color-adjust:none;-webkit-forced-color-adjust:none;background-color:#000;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}a{color:var(--accent);text-decoration:none}button{font-family:var(--font-main);cursor:pointer;border:none;outline:none}.page{background-color:var(--bg-primary);background-image:linear-gradient(160deg, color-mix(in srgb, var(--bg-secondary) 75%, transparent) 0%, color-mix(in srgb, var(--bg-primary) 88%, transparent) 100%), url(/images/header-upscaled.png);background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-lg);border-radius:var(--radius-full);transition:background-color var(--transition), transform .1s;-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.btn:disabled:active,.btn[disabled]:active{transform:none}.btn-primary{background-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-danger{background-color:var(--danger);color:#fff}.btn-lg{padding:var(--sp-md) var(--sp-xl);border-radius:var(--radius-full);font-size:1.15rem}.card{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--sp-md);box-shadow:var(--shadow)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-page{padding:var(--sp-lg) var(--sp-md);background-color:var(--bg-primary);background-image:linear-gradient(160deg, color-mix(in srgb, var(--bg-secondary) 75%, transparent) 0%, color-mix(in srgb, var(--bg-primary) 88%, transparent) 100%), url(/images/header-upscaled.png);background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:space-between;align-items:center;min-height:100%;display:flex}.menu-header{justify-content:flex-end;width:100%;display:flex}.menu-theme-btn{padding:var(--sp-sm);border-radius:var(--radius-full);font-size:1.4rem}.menu-hero{padding:var(--sp-xl) 0;flex:1;justify-content:center;align-items:center;display:flex}.menu-logo{align-items:center;gap:var(--sp-md);flex-direction:column;animation:.5s fadeIn;display:flex}.menu-logo-icon{filter:drop-shadow(0 0 16px #c896ffa6);font-size:5rem}.menu-title{text-align:center;color:var(--text-primary);letter-spacing:-.5px;font-size:clamp(1.4rem,6vw,2rem);font-weight:800}.menu-nav{gap:var(--sp-md);flex-direction:column;width:100%;max-width:320px;display:flex}.menu-btn{width:100%;padding:var(--sp-md) var(--sp-lg);font-size:1.1rem}.menu-footer{padding-top:var(--sp-lg)}.menu-footer-text{color:var(--text-muted);font-size:.8rem}.setup-page{flex-direction:column;display:flex;overflow:hidden}.setup-header{padding:var(--sp-md);border-bottom:1px solid var(--border);background:var(--bg-secondary);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.setup-title{color:var(--text-primary);text-align:center;font-size:1.1rem;font-weight:700}.setup-back-btn{border-radius:var(--radius-full);border:1px solid var(--border);justify-content:center;justify-self:start;align-items:center;width:44px;height:44px;padding:0 0 6px;font-size:1.8rem;line-height:1;display:flex}.setup-header-actions{justify-self:end;gap:2px;display:flex}.setup-scroll{padding:var(--sp-md);align-items:center;gap:var(--sp-md);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.setup-scroll>*{width:100%;max-width:480px}.setup-count-row{align-items:center;gap:var(--sp-sm);flex-direction:column;display:flex}.setup-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.setup-count-btns{gap:var(--sp-sm);display:flex}.count-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:40px;height:40px;color:var(--text-primary);transition:all var(--transition);font-size:1rem;font-weight:700}.count-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.setup-players{gap:var(--sp-md);flex-direction:column;display:flex}.player-card{gap:var(--sp-sm);flex-direction:column;display:flex}.player-card-top{justify-content:center;align-items:center;gap:var(--sp-sm);display:flex}.player-avatar{border-radius:var(--radius-full);color:#fff;text-shadow:0 1px 3px #0006;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;display:flex}.player-name-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-sm) var(--sp-md);color:var(--text-primary);font-size:.95rem;font-family:var(--font-main);flex:1}.player-name-input:focus{border-color:var(--border-focus);outline:none}.player-colors{gap:var(--sp-sm);flex-wrap:wrap;justify-content:center;display:flex}.color-dot{border-radius:var(--radius-full);cursor:pointer;border:3px solid #0000;width:28px;height:28px;transition:transform .15s,border-color .15s}.color-dot--active{box-shadow:0 0 0 2px var(--text-primary);border-color:#fff;transform:scale(1.2)}.color-dot--taken{opacity:.3;cursor:not-allowed}.setup-footer{padding:var(--sp-md);border-top:1px solid var(--border);background:var(--bg-secondary);justify-content:center;display:flex}.setup-start-btn{width:100%;max-width:480px;padding:var(--sp-sm) var(--sp-md);font-size:.95rem}.board-wrapper{--bs:min(100vw, calc(100svh - 100px));justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.board-dice-overlay{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-die{--die-size:calc(var(--bs) * .1);width:var(--die-size);height:var(--die-size);pointer-events:none;background:0 0;border:none;border-radius:12%;justify-content:center;align-items:center;display:flex;position:relative}.center-die--has-value{background:#fff;border:2px solid #333;box-shadow:2px 2px 6px #0000004d}.center-die--active{pointer-events:auto;cursor:pointer;animation:1.4s ease-in-out infinite center-die-pulse}.center-die--active:not(.center-die--has-value){box-shadow:none;background:0 0;border:none}.center-die--rolling{animation:.6s ease-in-out center-die-spin!important}.center-die-pip{background:#222;border-radius:50%;width:18%;height:18%;position:absolute;transform:translate(-50%,-50%)}.center-die-label{font-size:calc(var(--bs) * .05);line-height:1}.center-die-rolls{color:var(--accent);white-space:nowrap;pointer-events:none;font-size:.7rem;font-weight:900;line-height:1}@keyframes center-die-pulse{0%,to{filter:drop-shadow(0 0 3px var(--player-color,var(--accent)))}50%{filter:drop-shadow(0 0 7px var(--player-color,var(--accent)))}}@keyframes center-die-spin{0%{transform:rotateY(0)rotateX(0)}25%{transform:rotateY(180deg)rotateX(90deg)}75%{transform:rotateY(270deg)rotateX(180deg)}to{transform:rotateY(360deg)rotateX(360deg)}}.board-grid{width:var(--bs);height:var(--bs);border:2px solid var(--board-border);background-color:var(--board-bg);box-shadow:var(--shadow-lg);border-radius:4px;grid-template-rows:repeat(19,1fr);grid-template-columns:repeat(19,1fr);display:grid;position:relative;overflow:hidden}.bridge-overlay{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;top:0;left:0}.board-cell{border:.5px solid var(--board-border);font-size:calc(var(--bs) / 40);cursor:default;justify-content:center;align-items:center;transition:background-color .15s;display:flex;position:relative;overflow:hidden}.board-cell--empty,.board-cell--center{background-color:#0000;border-color:#0000}.board-cell--outer-path,.board-cell--inner-path{background-color:var(--board-path)}.board-cell--home.board-cell--red{background-color:#e53935}.board-cell--home.board-cell--yellow{background-color:#fdd835}.board-cell--home.board-cell--blue{background-color:#1e88e5}.board-cell--home.board-cell--green{background-color:#43a047}.board-cell--home.board-cell--cyan{background-color:#00838f}.board-cell--home.board-cell--purple{background-color:#8e24aa}.board-cell--home.board-cell--magenta{background-color:#f06292}.board-cell--home.board-cell--orange{background-color:#fb8c00}.board-cell--finish.board-cell--red{background-color:#e53935}.board-cell--finish.board-cell--yellow{background-color:#fdd835}.board-cell--finish.board-cell--blue{background-color:#1e88e5}.board-cell--finish.board-cell--green{background-color:#43a047}.board-cell--finish.board-cell--cyan{background-color:#00838f}.board-cell--finish.board-cell--purple{background-color:#8e24aa}.board-cell--finish.board-cell--magenta{background-color:#f06292}.board-cell--finish.board-cell--orange{background-color:#fb8c00}.board-cell--target{cursor:pointer;animation:1.2s ease-in-out infinite pulse;background-color:var(--target-highlight)!important}.figures-group{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;width:100%;height:100%;padding:1px;display:flex;position:relative}.figures-group--home{gap:1px}.figure{width:calc(var(--bs) / 19 * .55);height:calc(var(--bs) / 19 * .55);cursor:pointer;border:1.5px solid #ffffffb3;border-radius:50%;flex-shrink:0;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0006}.figure:active{transform:scale(.9)}.figure--moveable{cursor:pointer;box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--figure-color,#2196f3e6);animation:1s ease-in-out infinite pulse}.spawn-arrow{font-size:calc(var(--bs) / 30);pointer-events:none;z-index:0;opacity:.85;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;inset:0}.special-icon{font-size:calc(var(--bs) / 38);pointer-events:none;z-index:2;opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.special-icon--badge{font-size:calc(var(--bs) / 52);width:calc(var(--bs) / 34);height:calc(var(--bs) / 34);z-index:3;opacity:1;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;top:1px;left:auto;right:1px;transform:none}.special-icon--armed{opacity:.65}.special-icon--swap{width:calc(var(--bs) / 36);height:calc(var(--bs) / 36);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.special-icon--swap.special-icon--badge{width:calc(var(--bs) / 50);height:calc(var(--bs) / 50);background:0 0;border:none}.finish-slot-num{font-size:calc(var(--bs) / 26);color:#0000008c;pointer-events:none;justify-content:center;align-items:center;font-weight:900;line-height:1;display:flex;position:absolute;inset:0}.board-center-text{font-size:calc(var(--bs) / 19 * .7);pointer-events:none}[data-theme=light] .figure{border-color:#0009}@supports (container-type:size){.board-wrapper{--bs:min(100cqw, 100cqh)}}.player-panel{padding:5px var(--sp-md);background:var(--bg-secondary);border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:4px;display:flex}.panel-current{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;display:grid}.panel-center-group{align-items:center;gap:var(--sp-sm);grid-column:2;display:flex}.panel-place-actions{grid-column:3;align-items:center;gap:6px;padding-left:10px;display:flex}.panel-action-btn{cursor:pointer;width:32px;height:32px;transition:all var(--transition);border:2px solid;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.panel-action-btn--confirm{color:#43a047;background:0 0;border-color:#43a047}.panel-action-btn--confirm:hover{color:#fff;background:#43a047}.panel-action-btn--pickup{border-color:var(--accent);color:var(--accent);background:0 0}.panel-action-btn--pickup:hover{background:var(--accent);color:#fff}.panel-action-btn--skip{border-color:var(--text-secondary);color:var(--text-secondary);background:0 0}.panel-action-btn--skip:hover{color:#ef4444;border-color:#ef4444}.panel-avatar{color:#fff;text-shadow:0 1px 3px #0006;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:flex}.panel-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.panel-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.panel-status{color:var(--text-secondary);white-space:nowrap;font-size:.72rem}.panel-dice{color:var(--accent);font-weight:700}.panel-specials{gap:var(--sp-xs);flex-wrap:wrap;justify-content:center;align-items:center;min-height:30px;display:flex}.special-chip{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);cursor:default;transition:all var(--transition);padding:4px 8px;font-size:1rem}.special-chip--active{cursor:pointer;border-color:var(--accent)}.special-chip--selected{background:var(--accent);color:#fff;border-color:var(--accent)}.special-chip--disabled{opacity:.35;cursor:not-allowed;border-color:var(--border);text-decoration:line-through}.special-chip-count{color:var(--text-secondary);font-size:.75rem;font-weight:700}[data-theme=dark] .special-chip-count{color:#fff}.panel-players-strip{gap:var(--sp-xs);-webkit-overflow-scrolling:touch;padding-bottom:2px;display:flex;overflow-x:auto}.strip-player{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);transition:all var(--transition);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.strip-player--active{border-color:var(--pcolor);background:color-mix(in srgb, var(--pcolor) 15%, var(--bg-card))}.strip-dot{border-radius:50%;width:10px;height:10px}.strip-finish{color:var(--text-secondary);font-size:.7rem;font-weight:700}.modal-overlay{background:var(--bg-overlay);z-index:100;padding:var(--sp-md);justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{flex-direction:column;width:100%;max-width:340px;max-height:80svh;animation:.2s fadeIn;display:flex;overflow:hidden}.modal-box--wide{max-width:520px}.modal-header{justify-content:space-between;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-md);background:var(--bg-card);z-index:1;flex-shrink:0;display:flex;position:sticky;top:0}.modal-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.modal-close-btn{padding:4px 10px;font-size:1rem;line-height:1}.modal-body{gap:var(--sp-sm);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.rules-page{flex-direction:column;display:flex;overflow:hidden}.rules-header{padding:var(--sp-md);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.rules-title{font-size:1.1rem;font-weight:700}.rules-scroll{padding:var(--sp-md);align-items:center;gap:var(--sp-md);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.rules-content{gap:var(--sp-md);flex-direction:column;width:100%;max-width:480px;display:flex}.rules-rule{align-items:flex-start;gap:var(--sp-sm);background:var(--bg-secondary);padding:var(--sp-sm) var(--sp-md);color:var(--text-primary);border-radius:8px;font-size:.9rem;line-height:1.65;display:flex}.rules-rule--sub{margin-left:var(--sp-md);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.rules-rule-num{color:var(--accent);white-space:nowrap;flex-shrink:0;min-width:2.4rem;font-weight:700}.rules-specials{gap:var(--sp-sm);padding-left:var(--sp-sm);flex-direction:column;display:flex}.rules-special-row{align-items:flex-start;gap:var(--sp-sm);background:var(--bg-secondary);padding:var(--sp-sm) var(--sp-md);border-radius:8px;font-size:.9rem;line-height:1.5;display:flex}.rules-special-emoji{text-align:center;flex-shrink:0;width:1.8rem;font-size:1.3rem}.rules-special-text strong{color:var(--accent)}.gameboard-page{background:var(--bg-primary);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;height:100%;display:flex;overflow:hidden}.game-topbar{padding:var(--sp-md);background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.game-turn-label{text-align:center;transition:color var(--transition);font-size:1.1rem;font-weight:700}.game-exit-btn{justify-self:start;font-size:1rem}.game-topbar-actions{justify-self:end;gap:2px;display:flex}.game-timer-track{background:var(--border);flex-shrink:0;height:4px}.game-timer-bar{background:var(--accent);transform-origin:0;height:100%;transition:width 1s linear}.game-timer-bar--pulse{animation:.6s ease-in-out infinite pulse}.game-board-area{touch-action:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden;container-type:size}.game-bottom{background:var(--bg-secondary);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.game-controls{align-items:center;gap:var(--sp-md);padding:5px var(--sp-md);display:flex}.swap-strip{padding:6px var(--sp-md);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;align-items:center;gap:5px;display:flex}.swap-strip-info{flex-shrink:0;align-items:center;gap:5px;display:flex}.swap-strip-icon{font-size:1rem}.swap-strip-label{color:var(--text-primary);white-space:nowrap;font-size:.8rem;font-weight:700}.swap-strip-waiting{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.swap-strip-empty{color:var(--text-secondary);font-size:.8rem}.swap-strip-figs{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.swap-fig-btn{color:#fff;cursor:pointer;text-shadow:0 1px 3px #0006;border:2px solid #ffffff59;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:38px;padding:4px 8px;line-height:1.2;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.swap-fig-num{text-align:center;width:100%;font-size:.9rem;font-weight:800}.swap-fig-coord{opacity:.85;text-align:center;width:100%;font-size:.65rem;font-weight:600}.swap-fig-btn:hover:not(:disabled){border-color:#fff;transform:scale(1.1);box-shadow:0 0 0 2px #ffffff4d}.swap-fig-btn:disabled{opacity:.45;cursor:not-allowed}.swap-skip-btn{flex-shrink:0;padding:4px 8px;font-size:1rem}.settings-page{flex-direction:column;display:flex;overflow:hidden}.settings-header{padding:var(--sp-md);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.settings-title{text-align:center;font-size:1.1rem;font-weight:700}.settings-scroll{padding:var(--sp-md);align-items:center;gap:var(--sp-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.setting-group{gap:var(--sp-sm);flex-direction:column;width:100%;max-width:480px;display:flex}.setting-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:.8rem;font-weight:700}.setting-toggle-row{gap:var(--sp-sm);display:flex}.toggle-option{padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition);flex:1;font-size:.95rem;font-weight:600}.toggle-option--active{background:var(--accent);color:#fff;border-color:var(--accent)}.setting-links{gap:var(--sp-sm);flex-direction:column;display:flex}.setting-link{padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);transition:all var(--transition);justify-content:space-between;align-items:center;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.setting-link:hover{border-color:var(--accent);color:var(--accent)}.setting-link-icon{color:var(--text-secondary);font-size:.85rem}.lobby-page{flex-direction:column;display:flex}.lobby-header{padding:8px var(--sp-md);background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.lobby-content{gap:var(--sp-lg);padding:var(--sp-lg) var(--sp-md);flex-direction:column;flex:1;width:100%;max-width:420px;margin:0 auto;display:flex;overflow-y:auto}.lobby-title{color:var(--text-primary);text-align:center;margin:0;font-size:1.4rem;font-weight:800}.lobby-section{gap:var(--sp-sm);flex-direction:column;display:flex}.lobby-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:700}.lobby-code-input{text-transform:uppercase;letter-spacing:.25em;text-align:center;font-size:1.1rem;font-weight:700}.lobby-divider{align-items:center;gap:var(--sp-sm);color:var(--text-secondary);font-size:.85rem;font-weight:600;display:flex}.lobby-divider:before,.lobby-divider:after{content:"";background:var(--border);flex:1;height:1px}.lobby-error{color:#ef4444;text-align:center;margin:0;font-size:.9rem}.lobby-room-page{flex-direction:column;display:flex}.lobby-room-content{gap:var(--sp-lg);padding:var(--sp-lg) var(--sp-md);flex-direction:column;flex:1;width:100%;max-width:420px;margin:0 auto;display:flex;overflow-y:auto}.lobby-code-display{text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-md)}.lobby-code-display h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:.85rem;font-weight:600}.lobby-code-value{letter-spacing:.3em;color:var(--text-primary);font-size:2rem;font-weight:900}.lobby-code-hint{color:var(--text-secondary);margin:4px 0 0;font-size:.8rem}.lobby-players-list{gap:var(--sp-xs);flex-direction:column;display:flex}.lobby-players-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:.85rem;font-weight:700}.lobby-player-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;display:flex}.lobby-player-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.lobby-player-name{flex:1;font-size:.95rem}.lobby-player-name.is-me{font-weight:700}.lobby-status-msg{color:var(--text-secondary);text-align:center;margin:0;font-size:.85rem}.lobby-google-btn{justify-content:center;align-items:center;gap:10px;display:flex}.lobby-user-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 12px;display:flex}.lobby-user-avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px}.lobby-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:600;overflow:hidden}
