:root{--night:#141110;--night-raised:#2c2622;--night-line:#453c34;--night-glass:#100d0cd6;--lamp:#ffd86e;--ink-on-lamp:#1f1810;--paper:#fff8e7;--text:#f1e9dc;--text-dim:#b3a896;--danger:#ff7a6b;--radius-pill:999px;--font-ui:"Baloo 2", system-ui, sans-serif;--font-hand:"Itim", "Baloo 2", cursive;--duration-fast:.15s}*{box-sizing:border-box}html,body,#app,#stage{height:100%;margin:0}body{background:var(--night);color:var(--text);font-family:var(--font-ui);overscroll-behavior:none;overflow:hidden}#app{position:relative}#stage{touch-action:none;isolation:isolate;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}#ui>.hud__top,#ui>.hud__extras,#ui>.hud__notice,#ui>.challenge-wait,#ui>.spin,#ui>.hud__banner{pointer-events:none}button,input{font:inherit}button{cursor:pointer;transition:transform var(--duration-fast), background var(--duration-fast);border:0}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seat-list:focus-within{clip-path:none;white-space:normal;background:var(--night);border:2px solid var(--night-line);border-radius:12px;flex-wrap:wrap;gap:6px;width:auto;height:auto;max-height:40vh;margin:0;padding:8px;display:flex;top:56px;left:12px;right:12px;overflow:auto}.pill{border-radius:var(--radius-pill);background:var(--night-raised);color:var(--text);padding:8px 14px;font-size:14px;font-weight:700}.pill--lamp{background:var(--lamp);color:var(--ink-on-lamp)}.onboarding{background:radial-gradient(circle at 50% 12%, #3a2d1e, var(--night) 60%);padding:24px 16px 40px;position:absolute;inset:0;overflow-y:auto}.onboarding__panel{gap:18px;max-width:440px;margin:0 auto;display:grid}.onboarding h1{color:var(--lamp);margin:0;font-size:clamp(2rem,1.4rem + 3vw,3rem);line-height:1.05;transform:rotate(-1.5deg)}.onboarding h2{color:var(--text);margin:0 0 8px;font-size:16px}.onboarding__rules{color:var(--text-dim);margin:0;padding-left:20px;font-size:14px;line-height:1.5}.onboarding__crop{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.onboarding__crop canvas{background:var(--night-raised);border:3px solid var(--paper);cursor:grab;touch-action:none;border-radius:8px;width:148px;height:148px;transform:rotate(-2deg)}.onboarding__crop-actions{flex:1;gap:10px;min-width:150px;display:grid}.onboarding__error{color:var(--danger);min-height:1.4em;margin:8px 0 0;font-size:14px}.onboarding__accessories{flex-wrap:wrap;gap:8px;display:flex}.onboarding__accessory[aria-pressed=true]{background:var(--lamp);color:var(--ink-on-lamp)}.onboarding__bodies{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.onboarding__body{color:var(--ink-on-lamp);background:#f4efe0;border-radius:8px;outline:3px solid #0000;justify-items:center;gap:2px;padding:4px;font-size:12px;line-height:1.2;display:grid}.onboarding__body canvas{width:100%;height:auto}.onboarding__body[aria-pressed=true]{box-shadow:0 0 0 3px var(--lamp);background:#fff}.onboarding__body:focus-visible{outline-color:var(--lamp);outline-offset:2px}.onboarding__body[aria-pressed=true]:focus-visible{outline-offset:4px}.onboarding__name{border:2px solid var(--night-line);background:var(--night-raised);width:100%;color:var(--text);border-radius:12px;padding:12px 14px}.onboarding__enter{border-radius:var(--radius-pill);background:var(--lamp);color:var(--ink-on-lamp);padding:14px;font-size:18px;font-weight:700;box-shadow:0 8px 24px #ffd86e40}.file-button{text-align:center;cursor:pointer;display:inline-block}.file-button:focus-within{outline:3px solid var(--lamp);outline-offset:2px}input[type=range]{accent-color:var(--lamp)}.hud__top{top:max(10px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud__tag{background:var(--night-glass);color:#fff}.hud__move{background:var(--night-glass);min-height:44px;color:var(--lamp);box-shadow:0 0 0 2px var(--lamp);position:absolute;top:42%}.hud__move--left{left:10px}.hud__move--right{right:10px}.hud__bottom{padding:10px 10px max(10px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--night-glass) 30%);grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;display:grid;position:absolute;bottom:0;left:0;right:0}.hud__actions{grid-template-columns:repeat(4,1fr);gap:6px;width:min(100%,520px);display:grid}@media (width>=600px){.hud__actions{grid-template-columns:repeat(7,1fr);width:min(100%,720px)}}.hud__extras{top:calc(max(10px, env(safe-area-inset-top)) + 44px);justify-items:end;gap:6px;display:grid;position:absolute;right:10px}.hud__extra{pointer-events:auto;background:var(--night-glass);color:var(--lamp);box-shadow:0 0 0 2px var(--lamp);white-space:nowrap;text-overflow:ellipsis;max-width:60vw;overflow:hidden}.hud__extra--alert{background:var(--lamp);color:var(--ink-on-lamp);animation:1s ease-in-out infinite attention}.hud__emotes{z-index:1;background:var(--night-glass);border-radius:16px;justify-content:center;gap:4px;padding:6px;display:flex;position:relative}.hud__emote{background:0 0;width:clamp(48px,15vw,64px);padding:0;line-height:0}.hud__emote canvas{width:100%;height:auto}.hud__board-emote{justify-self:center}.hud__actions .pill{padding:8px 4px}.hud__chat{gap:6px;width:min(100%,520px);display:flex}.hud__scope{white-space:nowrap;flex:none;padding:8px 10px;font-size:13px}.hud__input{border:2px solid var(--night-line);border-radius:var(--radius-pill);background:var(--night-raised);min-width:0;color:var(--text);flex:1;padding:10px 16px}.hud__input::placeholder{color:var(--text-dim)}.hud__hint{color:var(--ink-on-lamp);background:var(--lamp);border-radius:var(--radius-pill);padding:8px 14px;font-size:13px;font-weight:700}.hud__notice{z-index:4;background:var(--paper);max-width:calc(100% - 24px);color:var(--ink-on-lamp);font-family:var(--font-hand);text-align:center;border-radius:14px;padding:8px 14px;font-size:15px;position:absolute;top:56px;left:50%;transform:translate(-50%)}.hud__banner{z-index:4;text-align:center;color:#7a1f16;background:#f7c331;border:3px solid #d73a2d;border-radius:6px;padding:10px 14px;font-weight:700;position:absolute;top:56px;left:12px;right:12px;transform:rotate(-.6deg)}[hidden]{display:none!important}.person-menu{background:var(--night);border:2px solid var(--night-line);border-radius:14px;gap:6px;min-width:150px;padding:10px;display:grid;position:absolute;box-shadow:0 10px 30px #00000080}.person-menu__name{margin:0;font-weight:700}.person-menu__tag{color:var(--lamp);margin:-4px 0 2px;font-size:12px}.person-menu__games{gap:6px;padding-left:10px;display:grid}.owner-menu{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--night);border:2px solid var(--lamp);border-radius:18px;gap:10px;width:min(100% - 20px,440px);max-height:80%;padding:12px;display:grid;position:absolute;overflow-y:auto;transform:translate(-50%);box-shadow:0 16px 40px #0009}.owner-menu__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.owner-menu h2{color:var(--lamp);margin:0;font-size:18px;transform:rotate(-1deg)}.owner-menu__hint{color:var(--text-dim);margin:0;font-size:14px}.owner-menu__dishes{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.owner-menu__dish{color:var(--ink-on-lamp);background:#f4efe0;border-radius:12px;justify-items:center;padding:6px 4px;font-size:13px;font-weight:700;line-height:1.2;display:grid}.owner-menu__dish canvas{width:48px;height:48px}.owner-menu__price{color:#8a3b2a;font-weight:500}.owner-menu__remote{width:100%}.tv-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tv-layer--big{z-index:2}.tv-frame{transform-origin:0 0;background:#000;position:absolute;top:0;left:0}.tv-frame__video{border:0;width:100%;height:100%;display:block}.tv-frame--big{top:calc(max(10px, env(safe-area-inset-top)) + 42px);aspect-ratio:16/9;pointer-events:auto;width:min(100%,960px,177.778dvh - 355.556px);box-shadow:0 0 0 3px var(--lamp), 0 20px 50px #000000b3;left:50%;transform:translate(-50%)}.tv-panel{top:calc(max(10px, env(safe-area-inset-top)) + 44px);background:var(--night);border:2px solid var(--lamp);border-radius:16px;gap:8px;width:min(100% - 20px,360px);max-height:calc(100% - 200px);padding:10px;display:grid;position:absolute;right:10px;overflow-y:auto;box-shadow:0 16px 40px #0009}.tv-panel__row{flex-wrap:wrap;gap:6px;display:flex}.tv-panel__row--head{flex-wrap:nowrap;justify-content:space-between;align-items:center}.tv-panel__title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tv-panel__remote{gap:8px;display:grid}.tv-panel__search{gap:6px;display:flex}.tv-panel__results{gap:4px;display:grid}.tv-panel__result{text-align:left;background:var(--night-raised);color:var(--text);border-radius:10px;grid-template-columns:96px 1fr;gap:8px;padding:4px;display:grid}.tv-panel__result img{object-fit:cover;background:#000;border-radius:6px;width:96px;height:54px}.tv-panel__result strong{max-height:2.5em;font-size:13px;line-height:1.25;display:block;overflow:hidden}.tv-panel__result small{color:var(--text-dim);font-size:12px}.tv-panel__next{color:var(--lamp);margin:0;font-size:13px}.tv-panel__queue{gap:6px;display:grid}.tv-panel__subtitle{color:var(--lamp);font-size:14px}.tv-panel__song{background:var(--night-raised);border-radius:10px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px;display:grid}.tv-panel__song img{object-fit:cover;background:#000;border-radius:6px;width:64px;height:36px}.tv-panel__song strong{max-height:2.5em;font-size:13px;line-height:1.25;display:block;overflow:hidden}.tv-panel__song small{color:var(--text-dim);font-size:12px}.tv-panel__song-actions{gap:4px;display:flex}.tv-panel__song .pill{padding:4px 10px;font-size:13px}.chat-log{top:calc(max(10px, env(safe-area-inset-top)) + 44px);background:var(--night-glass);border:2px solid var(--night-line);width:min(100% - 20px,320px);height:min(100% - 220px,420px);min-height:140px;color:var(--text);border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:8px;display:grid;position:absolute;left:10px}@media (width<=600px){.chat-log{width:calc(100% - 20px);height:30%;min-height:120px;top:auto;bottom:170px}}.chat-log__head{justify-content:space-between;gap:6px;display:flex}.chat-log__head .pill{padding:4px 12px;font-size:13px}.chat-log__list{align-content:start;gap:4px;display:grid;overflow-y:auto}.chat-log__list--people .chat-log__line--bot,.chat-log__list--people .chat-log__line--owner{display:none}.chat-log__line{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.3}.chat-log__name{color:var(--lamp);font-weight:700;font-size:inherit;background:0 0;margin-right:6px;padding:0}.chat-log__scope{color:var(--text-dim);margin-right:6px;font-size:12px}.chat-log__line--own .chat-log__name{color:var(--text)}.chat-log__line--bot .chat-log__name,.chat-log__line--bot .chat-log__text{color:var(--text-dim)}.spin{text-align:center;background:var(--night);border:2px solid var(--lamp);width:min(100% - 40px,300px);color:var(--text);border-radius:16px;padding:12px 18px;position:absolute;top:22%;left:50%;transform:translate(-50%)}.spin__title{color:var(--text-dim);margin:0;font-size:14px}.spin__name{color:var(--lamp);overflow-wrap:anywhere;margin:2px 0;font-size:26px;font-weight:700}.spin__detail{min-height:1.3em;margin:0;font-size:14px}#ui{--full-height:100vh;--side-col:150px}@supports (height:100dvh){#ui{--full-height:100dvh}}.game-panel{--board-width:min(100vw - 28px, 640px);--board-height:calc(var(--full-height) - 272px);--panel-shadow:0 16px 40px #000000a6;top:max(4px, env(safe-area-inset-top));background:var(--night);border:2px solid var(--night-line);width:min(100% - 8px,664px);max-height:calc(100% - 66px);box-shadow:var(--panel-shadow);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);border-radius:16px;justify-items:center;gap:5px;padding:6px 8px 8px;display:grid;position:absolute;left:50%;overflow-y:auto;transform:translate(-50%)}.game-panel--my-turn{border-color:var(--lamp);box-shadow:0 0 0 3px #ffd86e59, var(--panel-shadow)}.game-panel--urgent{border-color:var(--danger);box-shadow:0 0 0 4px #ff7a6b80, var(--panel-shadow)}.game-panel__head{align-items:center;gap:6px;width:100%;display:flex}.game-panel__head .pill{padding:5px 12px;font-size:13px}.game-panel__title{color:var(--lamp);margin:0 auto 0 4px;font-size:18px;transform:rotate(-1deg)}.game-panel__head .game-panel__sound{color:var(--text-dim);box-shadow:inset 0 0 0 1px var(--night-line);background:0 0}.game-panel__foot{align-items:center;gap:6px;width:100%;display:flex}.game-panel__foot .seat{flex:1;min-width:0}.game-panel__resign{color:var(--danger);background:0 0;flex:none;padding:5px 12px;font-size:13px;box-shadow:inset 0 0 0 2px}.seat{border-radius:var(--radius-pill);background:var(--night-raised);width:100%;min-height:34px;color:var(--text);transition:background var(--duration-fast), color var(--duration-fast);align-items:center;gap:8px;padding:4px 12px 4px 5px;display:flex}.seat--active{background:var(--lamp);color:var(--ink-on-lamp)}.seat--urgent{background:var(--danger);color:#2a0d08;animation:1s ease-in-out infinite attention}.seat__side{border-radius:var(--radius-pill);text-align:center;flex:none;min-width:26px;padding:1px 7px;font-size:12px;font-weight:700}.seat__side--light{color:#2a1a0c;background:#fff8e8}.seat__side--dark{color:#f1e9dc;background:#1c120b;box-shadow:inset 0 0 0 1px #6b5a48}.seat__side--red{color:#fff;background:#c0271b}.seat__side--x{color:#c0271b;background:#fff8e8}.seat__side--o{color:#1c4fa1;background:#fff8e8}.seat__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.seat__info{font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:13px;font-weight:700}.game-result{border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px 12px;animation:.26s cubic-bezier(.2,1.5,.4,1) result-in;display:flex}.game-result--win{background:var(--lamp);color:var(--ink-on-lamp)}.game-result--lose{color:#fff3ea;background:#7a1f16}.game-result--neutral{background:var(--paper);color:var(--ink-on-lamp)}.game-result__text{flex:1;gap:1px;min-width:0;display:grid}.game-result__title{font-size:19px;line-height:1.15}.game-result__detail{font-size:13px;line-height:1.25}.game-result__again{flex:none}.game-result--win .game-result__again{background:var(--ink-on-lamp);color:var(--lamp)}.board{--cols:8;--rows:8;--side:min(var(--board-height), calc(var(--board-width) * var(--rows) / var(--cols)));--cell:calc(var(--side) / var(--rows));grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);height:var(--side);width:calc(var(--side) * var(--cols) / var(--rows));touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:6px;display:grid;position:relative;overflow:hidden}.board__cell{cursor:default;background:0 0;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0;transition:none;display:grid;position:relative}.board__cell:hover:not(:disabled),.board__cell:active:not(:disabled){transform:none}.board__cell:focus-visible{outline-offset:-3px;z-index:3}.board__cell--playable{cursor:pointer}.board__cell--moving{z-index:2}.board__piece{z-index:1;place-items:center;display:grid;position:relative}.board__cell--target:after{content:"";z-index:2;background:#1e6e32b8;border-radius:50%;width:30%;height:30%;position:absolute}.board__cell--capture:after{border:calc(var(--cell) * .09) solid #1e6e32cc;background:0 0;width:auto;height:auto;inset:3%}.board__cell--check:before{content:"";background:radial-gradient(circle,#e2261af2 0%,#e2261a99 45%,#0000 75%);position:absolute;inset:0}.board--chess{box-shadow:0 0 0 3px #5b3a1e}.board__cell--light{background:#f0dcb4}.board__cell--dark{background:#a9743f}.board--chess .board__piece{width:94%;height:94%}.chess-piece{width:100%;height:100%;display:block}.chess-piece__body{stroke-width:1.5px;stroke-linejoin:round}.chess-piece--side0 .chess-piece__body{fill:#fff8e8;stroke:#2a1a0c}.chess-piece--side1 .chess-piece__body{fill:#2a1c12;stroke:#120b06}.chess-piece__detail{fill:none;stroke-width:1.5px;stroke-linecap:round}.chess-piece--side0 .chess-piece__detail{stroke:#2a1a0c}.chess-piece--side1 .chess-piece__detail{stroke:#e8d8b4}.board--chess .board__cell--last:before{content:"";background:#ffcd3c6b;position:absolute;inset:0}.board--chess .board__cell--selected:before{content:"";background:#ffd86ee6;position:absolute;inset:0}.board--chess .board__cell--check:before{background:radial-gradient(circle,#e2261af2 0%,#e2261a99 45%,#0000 75%)}.board__coords{z-index:1;grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);pointer-events:none;display:grid;position:absolute;inset:0}.board__coord{font-size:calc(var(--cell) * .2);padding:1px 3px;font-weight:700;line-height:1}.board__coord--rank{place-self:start}.board__coord--file{place-self:end}.board__coord--on-light{color:#8a5a2c}.board__coord--on-dark{color:#f0dcb4}.board--xiangqi{background:#e4c489;box-shadow:0 0 0 3px #5b3a1e}.board__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board__lines path{fill:none;stroke:#3a2410;stroke-width:.035px}.board__lines text{fill:#3a2410;opacity:.5;text-anchor:middle;dominant-baseline:central;font-family:Noto Serif CJK SC,Microsoft YaHei,PingFang SC,serif;font-size:.62px}.board--xiangqi .board__piece{width:92%;height:92%;font-size:calc(var(--cell) * .58);background:radial-gradient(circle at 35% 30%,#fff5da,#ecd09a 78%);border-radius:50%;font-family:Noto Serif CJK SC,Microsoft YaHei,PingFang SC,serif;font-weight:700;line-height:1;box-shadow:inset 0 0 0 1.5px,0 1px 3px #2814008c}.board--xiangqi .board__piece--side0{color:#c0271b}.board--xiangqi .board__piece--side1{color:#16100a}.board--xiangqi .board__cell--selected .board__piece{box-shadow:inset 0 0 0 1.5px currentColor, 0 0 0 3px var(--lamp), 0 3px 6px #28140099;transform:translateY(-2px)}.board--xiangqi .board__cell--last .board__piece{box-shadow:inset 0 0 0 1.5px,0 0 0 2.5px #d9701f}.board--xiangqi .board__cell--last[data-piece=""]:before{content:"";border:2px solid #d9701f;border-radius:50%;width:26%;height:26%;position:absolute}.board--caro{--mark-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4.5C9 9 15 15.5 19.5 19.5M19 4.5C14.5 9 9.5 15 4.5 19.5' fill='none' stroke='%23c0271b' stroke-width='3.8' stroke-linecap='round'/%3E%3C/svg%3E");--mark-o:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.5 4.2C17 4 20 7.5 19.8 12c-.2 4.5-3.8 8-8.3 7.8C7 19.6 4 16 4.3 11.5 4.6 7.3 8 4.4 12.5 4.2z' fill='none' stroke='%231c4fa1' stroke-width='3.4' stroke-linecap='round'/%3E%3C/svg%3E");background-color:#fbf8ef;background-image:linear-gradient(90deg,#b4cbe3 1px,#0000 1px),linear-gradient(#b4cbe3 1px,#0000 1px);background-size:calc(100% / var(--cols)) calc(100% / var(--rows));box-shadow:0 0 0 3px #5b3a1e}.board--caro .board__piece{background:50%/contain no-repeat;width:80%;height:80%}.board--caro .board__piece--side0{background-image:var(--mark-x)}.board--caro .board__piece--side1{background-image:var(--mark-o)}.board--caro .board__cell--last{background:#ffcd3c73}.board--caro .board__cell--win{background:#ffcd3ce6}.board--caro .board__cell--win .board__piece{animation:.52s ease-out win-pop}.board--caro .board__cell--ghost:before{content:"";opacity:.6;background:50%/contain no-repeat;animation:.8s ease-in-out infinite attention;position:absolute;inset:10%}.board--mark0 .board__cell--ghost:before{background-image:var(--mark-x)}.board--mark1 .board__cell--ghost:before{background-image:var(--mark-o)}@media (hover:hover) and (pointer:fine){.board--chess .board__cell--playable:hover:before{content:"";background:#ffd86e66;position:absolute;inset:0}.board--xiangqi .board__cell--playable:hover:before{content:"";background:#ffd86e8c;border-radius:50%;width:90%;height:90%;position:absolute}.board--caro .board__cell--playable:hover:before{content:"";opacity:.35;background:50%/contain no-repeat;position:absolute;inset:10%}.board--mark0 .board__cell--playable:hover:before{background-image:var(--mark-x)}.board--mark1 .board__cell--playable:hover:before{background-image:var(--mark-o)}}.game-lobby{top:calc(max(10px, env(safe-area-inset-top)) + 44px);background:var(--night);border:2px solid var(--lamp);z-index:2;border-radius:14px;gap:6px;width:min(100% - 20px,320px);max-height:calc(100% - 140px);padding:10px;display:grid;position:absolute;right:10px;overflow-y:auto;box-shadow:0 16px 40px #0009}.game-lobby__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-lobby__head h2{color:var(--lamp);margin:0;font-size:16px}.game-lobby__head .pill{padding:5px 12px;font-size:13px}.game-lobby__board{text-align:left;background:var(--night-raised);color:var(--text);border-radius:10px;padding:8px 12px;line-height:1.25;display:grid}.game-lobby__board strong{font-size:15px}.game-lobby__board span{color:var(--text-dim);font-size:13px}.game-lobby__group{color:var(--text-dim);margin:4px 0 0;font-size:12px;font-weight:700}.game-lobby__people{flex-wrap:wrap;gap:6px;display:flex}.game-lobby__note{color:var(--text-dim);margin:0;font-size:13px}.game-lobby>.pill{justify-self:start}.challenge-wait{background:var(--night-glass);max-width:calc(100% - 24px);color:var(--lamp);box-shadow:0 0 0 2px var(--lamp);border-radius:var(--radius-pill);text-align:center;z-index:3;width:max-content;padding:6px 14px;font-size:13px;font-weight:700;position:absolute;top:56px;left:50%;transform:translate(-50%)}.challenge{background:var(--paper);width:min(100% - 32px,340px);color:var(--ink-on-lamp);text-align:center;z-index:3;border:3px solid #d73a2d;border-radius:10px;justify-items:center;gap:6px;padding:14px;display:grid;position:absolute;top:30%;left:50%;transform:translate(-50%)rotate(-1deg);box-shadow:0 16px 40px #0009}.challenge__text{margin:0;font-size:18px;font-weight:700;line-height:1.25}.challenge__left{color:#8a3b2a;margin:0}.challenge__row{gap:8px;display:flex}@keyframes attention{50%{opacity:.82;transform:scale(1.03)}}@keyframes result-in{0%{opacity:0;transform:scale(.9)}}@keyframes win-pop{40%{transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.seat--urgent,.hud__extra--alert,.game-result,.board--caro .board__cell--win .board__piece,.board--caro .board__cell--ghost:before{animation:none}}@media (height<=520px) and (aspect-ratio>=8/5){.game-panel{--board-height:calc(var(--full-height) - 12px);--board-width:calc(100vw - var(--side-col) - 20px);width:auto;max-height:none;padding:4px;padding-left:max(4px, env(safe-area-inset-left));grid-template-columns:auto var(--side-col);border-width:0 2px 0 0;border-radius:0 14px 14px 0;grid-template-rows:max-content max-content max-content minmax(0,1fr);grid-template-areas:"board head""board top""board foot""board rest";align-content:start;justify-items:stretch;gap:4px 6px;top:0;bottom:0;left:0;transform:none}.game-panel .board{grid-area:board}.game-panel__head{flex-wrap:wrap;grid-area:head}.seat--top{grid-area:top}.game-panel__foot,.game-panel .game-result{flex-direction:column;grid-area:foot;align-items:stretch}.game-panel__head .game-panel__sound{display:none}.game-panel .seat{border-radius:12px;flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 6px;padding:4px 8px 4px 5px;display:grid}.game-panel .seat__info{grid-column:1/-1;margin-left:0}.game-panel .seat__info:empty{display:none}#ui.ui--board-open .hud__bottom{left:calc(var(--full-height) + var(--side-col) + max(4px, env(safe-area-inset-left)));padding-left:6px;padding-right:max(10px, env(safe-area-inset-right));grid-template-columns:minmax(0,1fr)}#ui.ui--board-open .hud__emote{width:34px}#ui.ui--board-open .hud__emotes{flex-wrap:wrap}#ui.ui--board-open .hud__actions{grid-template-columns:repeat(3,1fr)}.challenge-wait{max-width:calc(100vw - var(--full-height) - var(--side-col) - 20px);left:auto;right:10px;transform:none}}@media (height<=520px) and (aspect-ratio>=8/5) and (width<=740px){#ui{--side-col:116px}}.fatal{text-align:center;place-items:center;padding:24px;font-size:18px;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
