.screen,body{min-height:100vh}#help-btn,#stats-btn{background:0 0;border:none;z-index:200;line-height:0;transition:.1s;cursor:pointer;padding:0;position:fixed}#help-btn,#stats-btn,.pill,.tab{cursor:pointer}.menu-card,.tab.active{background:var(--card)}#join-status,.tab{color:var(--tab-off-text)}#join-status,#modal-box,.code-input,.disc-msg,.share-url{text-align:center}*,::after,::before{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:'IBM Plex Sans';src:url('IBMPlexSans-Medium.woff2') format('woff2'),url('IBMPlexSans-Medium.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('IBMPlexSans-Regular.woff2') format('woff2'),url('IBMPlexSans-Regular.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}:root{--bg:#111121;--card:#FDFDFD;--tab-off-bg:#4A4954;--tab-off-text:#FDFDFD;--pill-sel-bg:#111827;--pill-text:#111121;--pill-border:#DCDBE4;--blue:#2D55E4;--green:#35D601;--red:#ef4444;--panel-active:#454756;--panel-inactive:#252837;--muted:#6b7280;--font:"IBM Plex Sans"}body{background:var(--bg);color:#fff;font-family:var(--font)}.screen{display:none;flex-direction:column;align-items:center}#endgame-row.show,.menu-logo,.screen.active,.tabs{display:flex}#join-status,.turn-tag{min-height:1.2em}#help-btn{top:32px;right:24px}#help-btn:hover,#stats-btn:hover,.back-link:hover{transform:scale(1.15)}#stats-btn{top:36px;right:82px}#s-menu{padding-top:32px}.menu-logo{align-items:center;gap:10px;font-size:36px;font-weight:700;margin-bottom:32px}.menu-logo img{width:28px;height:auto}.menu-card{width:100%;max-width:470px;border-radius:8px;overflow:hidden}.tabs{height:44px;background-color:#111121}#endgame-row,.tab-panel{display:none}.tab{flex:1;font:500 13px/1 var(--font);border:none;background:var(--tab-off-bg);border-radius:8px 8px 0 0;transition:background .15s,color .15s}.pill,.setting-label{color:var(--pill-text)}.tab:first-child{margin-right:8px}.tab:nth-child(3){margin-left:8px}.tab.active{color:#111827}.tab-panel.active{display:flex;flex-direction:column}.settings-body{padding:32px 24px;display:flex;flex-direction:column;gap:24px}.setting-label{font-size:14px;font-weight:500;margin-bottom:10px}.pill-group{display:flex;gap:8px;flex-wrap:wrap}.card-cta,canvas{display:block}.pill{padding:8px 18px;border-radius:4px;border:1.5px solid var(--pill-border);background:var(--pill-border);font:500 14px var(--font);transition:background .1s,color .1s,border-color .1s}.act-btn,.card-cta,.join-go-btn{cursor:pointer;transition:filter .15s}.pill.active{background:var(--pill-sel-bg);color:#fff;border-color:var(--pill-sel-bg)}.card-cta{width:100%;padding:18px;border:none;border-radius:0 0 8px 8px;font:500 15px var(--font);margin-top:auto}.act-btn.blue,.card-cta.blue{background:var(--blue);color:#fff}.act-btn.green,.card-cta.green{background:var(--green);color:#fff}.act-btn:hover,.card-cta:hover,.join-go-btn:hover{filter:brightness(1.08)}.online-action-row{display:flex;align-items:stretch;border-top:1px solid var(--pill-border)}.host-btn-wrap{flex:1;display:flex;align-items:stretch}.host-btn-wrap .card-cta{border-radius:0 0 0 8px;flex:1;height:100%}.or-divider{display:flex;align-items:center;padding:0 10px;font-size:13px;color:var(--muted);flex-shrink:0}.join-wrap{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px 16px}.code-input{padding:9px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font:16px/1 monospace;letter-spacing:.3em;color:var(--pill-text);outline:0;text-transform:uppercase;width:100%}.code-input:focus{border-color:var(--blue)}.code-input::placeholder{color:#d1d5db;letter-spacing:.25em}.join-go-btn{padding:10px;border:none;border-radius:8px;background:var(--green);color:#fff;font:500 14px var(--font)}#join-status{font-size:13px;padding:16px 0}#online-waiting{flex-direction:column}.game-hdr,.waiting-top{align-items:center;display:flex}.waiting-top{gap:10px;padding:20px 24px;font-size:15px;color:var(--pill-text);font-weight:500}.loading-anim{animation:1.2s linear infinite spin;line-height:0}@keyframes spin{to{transform:rotate(360deg)}}.waiting-divider{border:none;border-top:1px solid #e5e7eb}.waiting-body{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px}.waiting-hint{font-size:13px;color:var(--muted)}.big-code{font-size:42px;font-weight:700;letter-spacing:.22em;color:var(--blue);line-height:1}.share-url{font-size:13px;color:var(--muted);word-break:break-all}.waiting-btns{display:flex;gap:10px;margin-top:4px}.act-btn{padding:10px 22px;border:none;border-radius:8px;font:500 14px var(--font)}.act-btn.red{background:var(--red);color:#fff}.act-btn.dark{background:#374151;color:#fff}#s-game{padding:0}.game-hdr{width:100%;justify-content:space-between;padding:32px 24px}#modal-close,.back-link{background:0 0;cursor:pointer;padding:0}.back-link{border:none;color:var(--muted);font:14px var(--font);white-space:nowrap;transition:.1s}.game-title-center{display:flex;align-items:center;gap:10px;font-size:36px;white-space:nowrap}.game-title-center img{height:auto}.gt-name{font-weight:700;color:#fff}.gt-mode,th{font-weight:400}.gt-mode{color:var(--muted)}.p-name,.turn-tag{font-weight:600;font-size:13px}.hdr-spacer{width:100px}.game-body{display:flex;align-items:stretch;gap:12px;margin-top:48px}.player-panel{width:120px;min-width:100px;border-radius:10px;background:var(--panel-inactive);display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px;transition:background .2s;color:var(--tab-off-text)}#panel-left,#panel-right,#panel-right .player-info-block,.game-msg{align-items:center}.player-panel.lit{background:var(--panel-active)}.player-info-block{display:flex;flex-direction:column;gap:6px;text-align:center}.p-swatch{width:56px;height:56px;border-radius:8px;background:#555;border:2px solid var(--bg);margin:0 auto}.p-pct{font-size:13px}.trophy{width:36px;height:auto}.canvas-border{border-radius:8px;overflow:hidden;flex-shrink:0}.game-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px}#color-row{display:flex;gap:8px}.cbtn{width:52px;height:52px;border-radius:8px;border:none;font:700 16px var(--font);color:#111121;cursor:pointer;transition:transform .1s,filter .1s}.cbtn:not(:disabled):hover{transform:scale(1.08)}.cbtn:not(:disabled):active{transform:scale(.95)}.cbtn:disabled{cursor:not-allowed}.game-msg{font-size:14px;color:var(--tab-off-text);display:flex;gap:7px}.game-msg img{width:14px;height:14px}#endgame-row{gap:10px}#modal-overlay{display:none;position:fixed;inset:0;background:rgba(17,17,33,.7);z-index:1000;align-items:center;justify-content:center}#modal-overlay.open{display:flex;animation:.18s both overlay-in}@keyframes modal-in{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes modal-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes overlay-in{from{opacity:0}to{opacity:1}}@keyframes overlay-out{from{opacity:1}to{opacity:0}}#modal-overlay.closing{animation:.18s both overlay-out}#modal-overlay.open #modal-box{animation:.18s both modal-in}#modal-overlay.closing #modal-box{animation:.18s both modal-out}#modal-box{background:#fdfdfd;border-radius:8px;position:relative;padding:48px;max-width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;color:var(--pill-text)}#modal-close{position:absolute;top:16px;right:16px;border:none;line-height:0}#s-disc{justify-content:flex-start}.disc-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px}.disc-msg{font-size:16px;color:var(--muted)}#statsTable{text-align:left;border-collapse:collapse;width:300px;margin-top:32px}#statsTable tr{height:30px}td,th{padding:0 16px}th{color:#bcbcce}#statsTable tr:nth-child(2),#statsTable tr:nth-child(4),#statsTable tr:nth-child(6){background-color:#efeef7}a{color:#111121;text-decoration:underline;transition:.15s;}a:hover{color:#2D55E4;}@media (max-width:860px){#help-btn,#stats-btn{position:fixed;background:0 0;border:none;cursor:pointer;z-index:200;padding:0;line-height:0}.game-title-center,.gt-mode{left:50%;transform:translateX(-50%);position:absolute}#help-btn{top:8px;right:8px}#stats-btn{top:12px;right:58px}.game-hdr{padding:20px 16px 12px}.game-title-center{flex-direction:row;gap:2px;font-size:26px;text-align:center;white-space:normal}.cbtn,.gt-mode{font-size:14px}.p-name,.p-pct{text-align:left}.gt-mode{width:100%;top:40px}.hdr-spacer{width:80px}.game-body{flex-direction:column;gap:0;margin-top:64px;width:calc(100vw - 16px);align-items:stretch}#panel-right{order:0}#panel-left{order:2}.player-panel{width:100%;min-width:unset;border-radius:8px;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px 16px;min-height:68px}.turn-tag{display:none}.player-info-block{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;text-align:left;width:100%}.p-swatch{grid-column:1;grid-row:1/3;width:44px;height:44px;margin:0}.p-name{grid-column:2;grid-row:1}.p-pct{grid-column:2;grid-row:2}#panel-right .player-info-block{grid-template-columns:1fr auto}#panel-right .p-swatch{grid-column:2;grid-row:1/3}#panel-right .p-name{grid-column:1;grid-row:1;text-align:right}#panel-right .p-pct{grid-column:1;grid-row:2;text-align:right}.canvas-border{order:1;width:100%;border-radius:8px;margin:8px 0}canvas{width:100%!important;height:auto!important}.game-controls{bottom:32px;position:absolute}.cbtn{width:46px;height:46px}}