.game2d{display:flex;height:100%;background:var(--ui-surface-sunken)}.game2d>.game2d-board{flex:1;min-width:0;min-height:0;--board-gutter: 16px}.game2d-landscape{flex-direction:row}.game2d-landscape>.pz{width:clamp(280px,24vw,360px);flex:none;border-left:1px solid var(--ui-border)}.game2d-portrait{flex-direction:column}.game2d-portrait>.game2d-board{flex:1;min-height:0}.game2d-portrait>.pz{flex:none;max-height:52vh;border-top:1px solid var(--ui-border)}.pz{display:flex;flex-direction:column;box-sizing:border-box;background:var(--ui-surface);color:var(--ui-text);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;overflow:hidden}.pz-column>.pz-focus{flex:1;justify-content:center}.pz-meta{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--ui-border)}.pz-meta-label{flex:1;min-width:0;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pz-meta-label i{font-style:normal;color:var(--ui-accent)}.pz-conn{font-size:11px;font-weight:500;padding:3px 8px;border-radius:999px;border:1px solid var(--ui-border-strong);color:var(--ui-text-muted);white-space:nowrap}.pz-conn[data-status=reconnecting],.pz-conn[data-status=failed]{color:var(--ui-danger);border-color:var(--ui-danger)}.pz-cube{width:24px;height:24px;flex:none;border-radius:5px;background:var(--ui-text);color:var(--ui-accent-text);display:flex;align-items:center;justify-content:center;font:600 12px/1 IBM Plex Mono,ui-monospace,monospace}.pz-player{display:flex;align-items:center;gap:12px;padding:10px 14px;min-width:0}.pz-player-end{flex-direction:row-reverse;text-align:right}.pz-player-end .pz-player-name{flex-direction:row-reverse}.pz-swatch{width:20px;height:20px;flex:none;border-radius:50%}.pz-swatch-white{background:var(--ui-checker-light);box-shadow:0 0 0 1.5px var(--ui-swatch-ring)}.pz-swatch-black{background:var(--ui-checker-dark);box-shadow:0 0 0 1.5px var(--ui-border-strong)}.pz-player-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pz-player-name{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:600;line-height:1.2}.pz-turn-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--ui-accent)}.pz-player-pips{font:400 12px/1 IBM Plex Mono,ui-monospace,monospace;color:var(--ui-text-muted)}.pz-player-figure{display:flex;align-items:baseline;gap:4px;flex:none}.pz-player-figure b{font:600 24px/1 IBM Plex Mono,ui-monospace,monospace}.pz-player-figure span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted)}.pz-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ui-border)}.pz-focus{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--ui-surface-sunken);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);min-height:0;overflow-y:auto}.pz-bar .pz-focus{flex:none;align-items:center;justify-content:center;text-align:center}.pz-headline{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;line-height:1.2}.pz-bar .pz-headline{font-size:19px;justify-content:center}.pz-detail{font-size:13px;line-height:1.4;color:var(--ui-text-muted);text-wrap:pretty;margin-top:-6px}.pz-spinner{width:12px;height:12px;flex:none;border-radius:50%;border:2px solid var(--ui-border-strong);border-top-color:var(--ui-accent);animation:pz-spin .7s linear infinite}.pz-dice{display:flex;gap:10px;flex-wrap:wrap}.pz-bar .pz-dice{justify-content:center}.pz-die{width:42px;height:42px;flex:none;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:6px;border-radius:9px;background:var(--ui-die-face);border:1px solid transparent}.pz-bar .pz-die{width:50px;height:50px}.pz-die-alt{background:var(--ui-die-face-alt);border-color:var(--ui-border-strong)}.pz-die-spent{opacity:.28}.pz-pip{border-radius:50%;width:75%;aspect-ratio:1;align-self:center;justify-self:center;background:transparent}.pz-pip-on{background:var(--ui-die-pip)}.pz-die-alt .pz-pip-on{background:var(--ui-die-pip-alt)}.pz-invite{display:flex;flex-direction:column;gap:10px;align-items:stretch}.pz-invite-code{font:600 20px/1.2 IBM Plex Mono,ui-monospace,monospace;letter-spacing:.02em;padding:10px 12px;border-radius:10px;background:var(--ui-surface);border:1px solid var(--ui-border-strong);text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all}.pz-invite-note{margin:0;font-size:12px;line-height:1.45;color:var(--ui-text-muted);text-wrap:pretty;text-align:left}.pz-actions{display:flex;flex-direction:column;gap:10px;padding:12px 14px}.pz-offer{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.pz-minor{display:flex;align-items:center;gap:8px}.pz-column>.pz-minor{padding:0 14px 12px}.pz-spacer{flex:1}.pz-btn{font-family:inherit;font-size:15px;font-weight:600;border-radius:10px;border:0;cursor:pointer;min-height:46px;padding:0 14px;color:var(--ui-text);background:transparent}.pz-bar .pz-actions>.pz-btn,.pz-bar .pz-offer .pz-btn{min-height:52px;border-radius:12px;font-size:16px}.pz-btn-primary{background:var(--ui-accent);color:var(--ui-accent-text);width:100%}.pz-btn-secondary{border:1px solid var(--ui-border-strong);font-weight:500;min-height:38px;font-size:13px}.pz-btn-quiet{background:none;color:var(--ui-text-muted);font-weight:500;min-height:38px;font-size:13px;padding:0 6px}.pz-btn:disabled{opacity:.38;cursor:not-allowed}.pz-btn:not(:disabled):hover{filter:brightness(1.08)}.pz-btn:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.pz-error{font-size:13px;line-height:1.4;color:var(--ui-danger);text-wrap:pretty}@media(pointer:coarse){.pz-btn{min-height:48px}.pz-btn-secondary,.pz-btn-quiet{min-height:44px}}.pz-actions-inline{padding:0;margin-top:2px}.pz-meta-btn{min-height:26px;padding:0 8px;font-size:12px;border:1px solid var(--ui-border-strong);border-radius:7px;flex:none}.game2d-board{position:relative;container-type:size}.pz-rail{display:flex;align-items:center;background:var(--ui-surface);color:var(--ui-text);flex:none;gap:10px}.game2d-landscape>.pz-rail{flex-direction:column;width:64px;padding:14px 0;border-left:1px solid var(--ui-border)}.game2d-portrait>.pz-rail{flex-direction:row;padding:0 14px;min-height:56px;border-top:1px solid var(--ui-border)}.pz-rail-gap{flex:1}.pz-rail-rule{background:var(--ui-border)}.game2d-landscape .pz-rail-rule{width:32px;height:1px}.game2d-portrait .pz-rail-rule{width:1px;height:24px}.pz-rail-player{display:flex;align-items:center;gap:6px;min-width:0}.game2d-landscape .pz-rail-player{flex-direction:column}.pz-rail-figure{font:600 20px/1 var(--ui-mono, ui-monospace, monospace)}.pz-rail-pips{font:400 11px/1 var(--ui-mono, ui-monospace, monospace);color:var(--ui-text-muted)}.pz-rail-cube{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:var(--ui-cube-fill);color:var(--ui-cube-text);font:600 12px/1 var(--ui-mono, ui-monospace, monospace);flex:none}.pz-rail-btn{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;background:none;border:0;border-radius:10px;color:var(--ui-text);cursor:pointer;font:500 17px/1 inherit}.pz-rail-btn:hover{background:var(--ui-surface-raised)}.pz-rail-expand{border:1px solid var(--ui-border-strong);width:36px;height:36px}.pz-burger{display:flex;flex-direction:column;gap:3px}.pz-burger i{display:block;width:18px;height:2px;background:var(--ui-text)}.pz-rail-badge{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-surface)}.ob{position:absolute;inset:var(--board-gutter, 0);margin:auto;max-width:calc(100% - 2 * var(--board-gutter, 0px));max-height:calc(100% - 2 * var(--board-gutter, 0px));pointer-events:none;z-index:2;container-type:size}.ob button,.ob .ob-scrim{pointer-events:auto}.ob-cluster{position:absolute;transform:translate(-50%,-50%) rotate(0);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:max(6px,1.8cqmin)}.ob-dice{display:flex;gap:max(4px,1.7cqmin)}.ob-pills{display:flex;gap:max(5px,1.1cqmin);align-items:center}.ob-moving{padding:max(4px,1.4cqmin) max(9px,3.1cqmin);border-radius:99px;background:var(--ui-on-board-fill);color:var(--ui-on-board-text);font:500 max(11px,2cqmin) / 1 inherit;white-space:nowrap}.ob-cluster-flipped .pz-die,.ob-cluster-flipped .ob-btn{transform:rotate(180deg)}.ob-cluster .pz-die,.ob-cluster .ob-btn{transition:transform .22s ease}@media(prefers-reduced-motion:reduce){.ob-cluster .pz-die,.ob-cluster .ob-btn{transition:none}}.ob-btn{border:0;border-radius:99px;padding:max(5px,1.8cqmin) max(11px,3.8cqmin);min-height:32px;display:inline-flex;align-items:center;justify-content:center;font:600 max(11px,2.3cqmin) / 1 inherit;cursor:pointer;white-space:nowrap}.ob-btn:disabled{opacity:.45;cursor:default}.ob-btn-primary{background:var(--ui-accent);color:var(--ui-accent-text);box-shadow:0 3px 9px var(--ui-shadow)}.ob-btn-quiet{background:var(--ui-on-board-fill);color:var(--ui-on-board-text)}.ob-btn-secondary{background:transparent;border:1px solid var(--ui-border-strong);color:var(--ui-text)}.ob-scrim{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--ui-scrim)}.ob-card{display:flex;flex-direction:column;gap:max(8px,3cqmin);min-width:min(300px,70%);max-width:86%;padding:max(12px,3.8cqmin) max(14px,4.5cqmin);border-radius:max(9px,2.6cqmin);background:var(--ui-surface);color:var(--ui-text);box-shadow:0 10px 30px var(--ui-shadow-strong)}.ob-card-text{display:flex;flex-direction:column;gap:6px}.ob-card-title{font:600 max(14px,3.4cqmin) / 1.2 inherit}.ob-card-sub{font:400 max(11px,2.3cqmin) / 1.4 inherit;color:var(--ui-text-muted);text-wrap:pretty}.ob-card-actions{display:flex;gap:8px}.ob-card-actions .ob-btn{flex:1;text-align:center}.pz-menu-scrim{position:absolute;inset:0;z-index:3;background:var(--ui-scrim)}.pz-menu{position:absolute;z-index:4;display:flex;flex-direction:column;gap:2px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 10px 30px var(--ui-shadow-strong);overflow-y:auto}.game2d-landscape .pz-menu{top:0;bottom:0;right:64px;width:min(320px,70vw);border-left:1px solid var(--ui-border)}.game2d-portrait .pz-menu{left:0;right:0;bottom:56px;max-height:70vh;border-top:1px solid var(--ui-border)}.pz-menu-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ui-border)}.pz-menu-head .pz-meta-label{flex:1}.pz-menu-body{display:flex;flex-direction:column;gap:10px;padding:14px}.pz-menu-row{font:400 13px/1.4 inherit;color:var(--ui-text-muted)}.pz-menu-action{width:100%}.pz-menu-lang{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;line-height:1.4;color:var(--ui-text-muted)}.pz-menu-lang select{min-height:32px;padding:0 8px;border:1px solid var(--ui-border-strong);border-radius:6px;background:var(--ui-surface);color:var(--ui-text);font:inherit}.pz-menu-foot{display:flex;justify-content:flex-end;padding:12px 14px;border-top:1px solid var(--ui-border);margin-top:auto}.pz-die-board{width:max(14px,6.6cqmin);height:max(14px,6.6cqmin);padding:max(2px,1cqmin);border-radius:19.6%}.pz-tabs-row{display:flex;align-items:center;gap:8px;padding:6px 10px 0 14px;border-bottom:1px solid var(--ui-border)}.pz-tabs{display:flex;flex:1;gap:4px}.pz-tab{position:relative;font-family:inherit;font-size:13px;font-weight:500;line-height:1;color:var(--ui-text-muted);background:none;border:0;border-bottom:2px solid transparent;padding:10px 10px 9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pz-tab[aria-selected=true]{color:var(--ui-text);border-bottom-color:var(--ui-accent)}.pz-tab:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-2px}.pz-tab-badge{min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--ui-accent);color:var(--ui-accent-text);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.pz>.pz-tabs-row+.pz-meta{padding-top:8px}.pz-chat{min-height:0}.game2d-portrait>.pz-chat{height:40vh}.pz-chat-list{flex:1;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.pz-chat-empty{margin:auto;font-size:13px;color:var(--ui-text-faint)}.pz-chat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:85%}.pz-chat-msg[data-mine="1"]{align-self:flex-end;align-items:flex-end}.pz-chat-who{font-size:11px;font-weight:500;color:var(--ui-text-muted);margin:8px 2px 3px}.pz-chat-who time{color:var(--ui-text-faint);font-weight:400;margin-left:4px}.pz-chat-text{font-size:14px;line-height:1.4;padding:7px 11px;border-radius:12px;background:var(--ui-surface-raised);color:var(--ui-text);white-space:pre-wrap;overflow-wrap:anywhere}.pz-chat-msg[data-mine="1"] .pz-chat-text{background:var(--ui-accent);color:var(--ui-accent-text)}.pz-chat-error{padding:0 14px 6px}.pz-chat-form{display:flex;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--ui-border)}.pz-chat-input{flex:1;min-width:0;font-family:inherit;font-size:14px;color:var(--ui-text);background:var(--ui-surface-sunken);border:1px solid var(--ui-border-strong);border-radius:10px;padding:0 12px;min-height:42px}.pz-chat-input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.pz-btn.pz-chat-send{width:auto;min-height:42px;font-size:14px}.pz-rail-chat-icon{color:var(--ui-text-muted)}.pz-voice{display:flex;align-items:center;gap:8px;padding:5px 0 6px}.pz-mic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:50%;border:1px solid var(--ui-border-strong);background:none;color:var(--ui-text-muted);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.pz-mic:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.pz-mic[data-live="1"]{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 30%,transparent)}.pz-mic[data-mic=denied],.pz-mic[data-mic=unsupported],.pz-mic[data-mic=error]{color:var(--ui-danger);border-color:var(--ui-danger)}.pz-mic-compact{width:44px;height:44px;border-color:transparent}.pz-mic-lock{position:absolute;right:2px;bottom:2px;padding:2px;border-radius:50%;background:var(--ui-surface);color:var(--ui-accent)}.pz-mic-wait{position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;border-top-color:var(--ui-accent);animation:pz-spin .8s linear infinite}@keyframes pz-spin{to{transform:rotate(360deg)}}.pz-talking{display:inline-flex;align-items:center;gap:5px;max-width:120px;font-size:12px;font-weight:500;color:var(--ui-accent)}.pz-talking-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pz-talking-wave{display:inline-flex;align-items:center;gap:2px;height:12px}.pz-talking-wave i{width:3px;height:100%;border-radius:2px;background:currentColor;animation:pz-wave .9s ease-in-out infinite}.pz-talking-wave i:nth-child(2){animation-delay:.15s}.pz-talking-wave i:nth-child(3){animation-delay:.3s}@keyframes pz-wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.pz-talking-wave i,.pz-mic-wait{animation:none}}.pz-hear{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:30;font:inherit;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;border:0;background:var(--ui-accent);color:var(--ui-accent-text);box-shadow:0 8px 24px var(--ui-shadow-strong);cursor:pointer}.pz-rail-voice{position:relative;display:flex;align-items:center;justify-content:center}.pz-rail-talking{position:absolute;top:4px;right:2px;width:9px;height:9px;border-radius:50%;background:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-surface);animation:pz-pulse 1s ease-in-out infinite}@keyframes pz-pulse{50%{opacity:.35}}:root{--bg: #191816;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.app{position:relative;height:100%}.app>div:first-child{height:100%}.ui-theme{display:contents}.pickers{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.picker{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--ui-on-board-fill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:var(--ui-text);font-size:13px;letter-spacing:.02em}.picker span,.picker .picker-label{opacity:.6;text-transform:uppercase;font-size:11px;min-width:58px}.picker select{min-width:150px;background:#ffffff0f;color:var(--ui-text);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:4px 8px;font:inherit}.segmented{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.14)}.segment{background:#ffffff0f;color:var(--ui-text);border:0;padding:4px 16px;font:inherit;cursor:pointer;transition:background .12s ease}.segment+.segment{border-left:1px solid rgba(255,255,255,.14)}.segment:hover{background:#ffffff1f}.segment.on{background:var(--ui-accent);color:var(--ui-accent-text)}.board2d{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--board-gutter, 16px);box-sizing:border-box}.board2d svg{width:100%;height:100%;shape-rendering:geometricPrecision}.board2d text{-webkit-user-select:none;user-select:none}.board-loading{height:100%;display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);font-size:14px;letter-spacing:.04em}.hud{position:absolute;top:16px;right:16px;width:260px;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:var(--ui-on-board-fill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--ui-text);font-size:13px}.hud .banner{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.3}.hud .spinner{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#ffc43d;animation:spin .7s linear infinite;flex:none}.hud .pips{display:flex;flex-direction:column;gap:2px;opacity:.75;font-size:12px}.hud .pips .active{opacity:1;color:#ffc43d}.hud .pips i{opacity:.6;font-style:normal}.hud .dice{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hud .used{opacity:.5;font-size:11px}.die{width:30px;height:30px;padding:3px;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);gap:1px;background:#f3efe6;border-radius:6px}.die .pip{border-radius:50%}.die .pip.on{background:#25384b}.hud .cube-state,.hud .match{font-size:12px;opacity:.8}.hud .match i{font-style:normal;color:#ffc43d}.hud .controls{display:flex;flex-wrap:wrap;gap:6px}.hud button{flex:1 1 auto;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:var(--ui-text);font:inherit;font-size:12px;cursor:pointer}.hud button:hover:not(:disabled){background:#ffffff24}.hud button:disabled{opacity:.35;cursor:not-allowed}.hud button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text)}.hud button.primary:hover:not(:disabled){filter:brightness(1.08)}.hud button.ghost{flex:0 0 auto;opacity:.5;font-size:11px}.hud .error{padding:6px 8px;border-radius:6px;background:#dc50502e;border:1px solid rgba(220,80,80,.4);font-size:11px;word-break:break-word}.debug-toggle{position:absolute;bottom:16px;left:16px;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:var(--ui-on-board-fill);color:var(--ui-text);font:inherit;font-size:11px;cursor:pointer}.debug{position:absolute;bottom:16px;left:16px;width:300px;max-height:calc(100% - 32px);overflow-y:auto;padding:12px;border-radius:12px;background:var(--ui-on-board-fill);border:1px solid rgba(255,255,255,.12);color:var(--ui-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.debug-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.debug-head button{background:none;border:none;color:var(--ui-text);font-size:16px;cursor:pointer}.debug section{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.debug section:last-child{border:none}.debug h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;opacity:.5;letter-spacing:.06em}.debug table{width:100%;border-collapse:collapse}.debug td{padding:1px 0}.debug td:first-child{opacity:.55;width:80px}.debug .kv{display:grid;grid-template-columns:80px 1fr;gap:1px 6px}.debug .kv span{opacity:.55}.debug .kv b{font-weight:500}.debug .force{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.debug .force-row{display:flex;gap:2px}.debug .force button{flex:1;padding:2px 0;font-size:9px}.debug button{border-radius:5px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--ui-text);font:inherit;padding:3px 7px;cursor:pointer}.debug button:hover{background:#ffffff1f}.debug button.on{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text)}.debug label{display:block;margin-bottom:5px;opacity:.8}.debug input[type=range]{width:100%}.debug .log{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto}.debug .log button{text-align:left;font-size:10px}.home{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--ui-text);gap:4px}.home h1{margin:0;font-size:32px;font-weight:600}.home p{opacity:.55;margin:0 0 16px;font-size:13px}.home ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.home li{font-size:13px;opacity:.75}.home a{color:var(--ui-accent);font-weight:500}.home-sub{margin-bottom:24px!important}.home-lang{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:13px;color:var(--ui-text-muted)}.home-lang select{min-height:32px;padding:0 8px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:var(--ui-surface);color:var(--ui-text);font:inherit}.modes{display:flex;gap:14px;width:100%;max-width:820px;padding:0 16px;box-sizing:border-box}.mode{flex:1;display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff05;text-decoration:none;color:inherit!important;transition:border-color .15s,background .15s,transform .15s}.mode:hover{border-color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 8%,transparent);transform:translateY(-2px)}.mode-name{font-size:16px;font-weight:600;color:var(--ui-text)}.mode-note{font-size:12px;line-height:1.55;opacity:.55}.learn-loading{height:100%;background:#4f6650}@media(max-width:680px){.modes{flex-direction:column;max-width:560px}}@media(max-width:560px){.pickers{top:8px;left:8px;right:8px;flex-direction:row;flex-wrap:wrap;gap:6px;pointer-events:none}.picker{pointer-events:auto;padding:4px 8px;gap:4px;font-size:11px}.picker span,.picker .picker-label{display:none}.picker select{min-width:88px;padding:2px 6px;font-size:11px}.segment{padding:3px 10px}}.dev-block{margin-top:36px;padding:14px 18px;border:1px dashed rgba(255,255,255,.16);border-radius:10px;max-width:520px;width:100%;box-sizing:border-box}.dev-block h2{margin:0 0 10px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.4}.die.spent{opacity:.32}.conn{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;padding:24px;color:var(--ui-text);background:var(--ui-on-board-fill);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50}.conn h2{margin:0;font-size:20px;font-weight:600}.conn p{margin:0;max-width:42ch;font-size:13px;line-height:1.55;opacity:.8}.conn-note{opacity:.55!important;font-size:12px!important}.conn-failed h2{color:#ff8f7a}.conn-actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.conn-actions .btn,.conn button{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--ui-text);border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;text-decoration:none}.conn-actions .btn:hover,.conn button:hover{background:#ffffff24}.spinner{width:26px;height:26px;border:2px solid rgba(255,255,255,.16);border-top-color:var(--ui-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.invite{display:flex;flex-direction:column;align-items:center;gap:8px}.invite-label{font-size:12px;opacity:.6}.invite-code{font-size:26px;font-weight:600;letter-spacing:.02em;color:var(--ui-accent);font-variant-ligatures:none}.invite-row{display:flex;gap:6px}.invite-url{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--ui-text);border-radius:6px;padding:7px 10px;font-size:12px;min-width:260px;font-family:inherit}.invite-tucked{position:fixed;left:16px;bottom:52px;z-index:20;color:var(--ui-text);font-size:12px;background:var(--ui-on-board-fill);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px}.invite-tucked summary{cursor:pointer;opacity:.7}.invite-tucked .invite{margin-top:10px}.lobby-block{border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:16px 20px;margin-bottom:14px;max-width:420px;width:100%}.lobby-block h2{margin:0 0 4px;font-size:15px;font-weight:600}.lobby-block p{margin:0 0 12px;font-size:12px;opacity:.6}.lobby-block ul{gap:6px}.btn-primary{display:inline-block;background:var(--ui-accent);border:1px solid var(--ui-accent);color:var(--ui-accent-text)!important;border-radius:6px;padding:8px 16px;font-size:13px;text-decoration:none;font-weight:500}.btn-primary:hover{filter:brightness(1.08)}.lobby-error{color:#ff8f7a!important;opacity:1!important;margin-top:8px!important}.lobby-note{max-width:420px;font-size:11.5px!important;line-height:1.6;opacity:.45!important;margin-top:8px!important}.muted{opacity:.5}.board-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ui-text-muted);font-size:13px}.rules-dialog{background:var(--ui-surface-raised);color:var(--ui-text);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:20px 22px;width:min(420px,calc(100vw - 32px));box-shadow:0 20px 60px #00000080}.rules-dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.rules-dialog h2{margin:0 0 16px;font-size:17px;font-weight:600}.rules-dialog form{display:flex;flex-direction:column;gap:16px}.rules-field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;font-size:13px}.rules-field legend{padding:0;margin-bottom:6px}.rules-field .invite-url{min-width:0;width:100%;box-sizing:border-box;font-size:13px}.rules-choices{display:flex;flex-wrap:wrap;gap:6px}.rules-choice{position:relative;min-width:40px;padding:7px 0;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}.rules-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.rules-choice[data-checked="1"]{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text)}.rules-choice:has(input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:2px}.rules-toggle{display:flex;gap:10px;align-items:flex-start;font-size:13px;cursor:pointer}.rules-toggle input{margin-top:3px;accent-color:var(--ui-accent)}.rules-hint{display:block;font-size:11.5px;opacity:.55;margin-top:2px}.rules-actions{display:flex;justify-content:flex-end;gap:8px}.rules-actions .btn-primary:disabled{opacity:.5;cursor:default}.lobby-block .invite-url{width:100%;box-sizing:border-box;min-width:0}.rules-actions button[type=button]{background:none;border:1px solid rgba(255,255,255,.16);color:var(--ui-text);border-radius:6px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}.rules-actions button[type=button]:hover{border-color:#ffffff4d}
