*,:before,:after{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Transformers;src:url(/transformers.ttf)format("truetype");font-display:swap}#rotate-overlay{display:none}@media (orientation:portrait) and (pointer:coarse) and (width<=600px){#rotate-overlay{z-index:100000;color:#e2e8f0;text-align:center;background:#0d1117;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}#rotate-overlay .rotate-icon{font-size:56px;line-height:1;animation:2.4s ease-in-out infinite rotate-hint}#rotate-overlay .rotate-text{opacity:.85;max-width:16em;font-size:1rem}}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}body{color:#e2e8f0;-webkit-user-select:none;user-select:none;background:#0d1117;height:100dvh;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#loading-screen{z-index:450;background:#121a24;justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.loading-screen__stack{flex-direction:column;align-items:center;gap:12px;display:flex}#loading-screen img{pointer-events:none;width:100px;height:100px}.loading-screen__bar{background:#ffffff1f;border-radius:2px;width:100px;height:3px;overflow:hidden}.loading-screen__bar-fill{background:#f2eed8;border-radius:2px;width:0%;height:100%;transition:width .28s ease-out}#loading-screen.loading-screen--hide{opacity:0;visibility:hidden;pointer-events:none}#app{height:100dvh;display:flex}#canvas-wrap{flex-direction:column;flex:1;min-width:0;display:flex}#canvas-container{opacity:0;flex:1;min-height:0;transition:opacity .4s,filter .4s;position:relative}#canvas-container.lobby-blur{filter:blur(5px)}@media (width<=767px){#canvas-container.lobby-blur{filter:blur(1px)}}#game-canvas{width:100%;height:100%;display:block}#drag-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#canvas-container.can-throw{cursor:crosshair}@keyframes tut-chevron-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes tut-text-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes tut-arc-pulse{0%,to{opacity:.15}50%{opacity:1}}@keyframes tut-dir-n{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}@keyframes tut-dir-s{0%,to{opacity:.6;transform:rotate(180deg)translateY(0)}50%{opacity:1;transform:rotate(180deg)translateY(-10px)}}@keyframes tut-dir-e{0%,to{opacity:.6;transform:rotate(90deg)translateY(0)}50%{opacity:1;transform:rotate(90deg)translateY(-10px)}}@keyframes tut-dir-w{0%,to{opacity:.6;transform:rotate(-90deg)translateY(0)}50%{opacity:1;transform:rotate(-90deg)translateY(-10px)}}.tutorial{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:10px;transition:opacity .6s;display:flex}.tutorial.visible{opacity:1}.tutorial--canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial--card{z-index:105;background:#000000ad;border:1px solid #ffffff14;border-radius:18px;gap:14px;padding:28px 40px;position:fixed;top:20%;left:50%;transform:translate(-50%,-50%)}.tutorial--fixed{z-index:200;position:fixed;transform:translate(-50%)}.tutorial-icon{filter:drop-shadow(0 4px 18px #000000f2)}.tutorial-icon--touch{display:none}.tutorial-text{color:#fff;white-space:nowrap;text-shadow:0 2px 6px #000,0 0 24px #000000e6;font-family:Permanent Marker,cursive;font-size:1.7rem}.tutorial--card .tutorial-text{text-shadow:0 2px 10px #000000f2,0 1px 4px #000000e6}.tutorial-text--touch{display:none}.tutorial.visible .tutorial-text{animation:2s ease-in-out infinite tut-text-pulse}.tutorial.visible .tutorial-icon--bob{animation:1.2s ease-in-out infinite tut-chevron-bob}.tutorial.visible .tut-arc-inner{animation:1.6s ease-in-out infinite tut-arc-pulse}.tutorial.visible .tut-arc-outer{animation:1.6s ease-in-out .4s infinite tut-arc-pulse}.tutorial.visible .tut-dir-n{animation:1.1s ease-in-out infinite tut-dir-n}.tutorial.visible .tut-dir-s{animation:1.1s ease-in-out .15s infinite tut-dir-s}.tutorial.visible .tut-dir-e{animation:1.1s ease-in-out .3s infinite tut-dir-e}.tutorial.visible .tut-dir-w{animation:1.1s ease-in-out .45s infinite tut-dir-w}html.touch .tutorial-icon--mouse{display:none}html.touch .tutorial-icon--touch{display:block}html.touch .tutorial-text--mouse{display:none}html.touch .tutorial-text--touch{display:block}html.touch .tutorial.visible .tutorial-icon--touch.tutorial-icon--bob{animation:1.2s ease-in-out infinite tut-chevron-bob}.tut-shake-row{align-items:center;gap:10px;display:flex}.tut-dir-grid{grid-template:".n."48px"w m e"74px".s."48px/48px 74px 48px;place-items:center;display:grid}.tut-dir-n{grid-area:n}.tut-dir-e{grid-area:e;transform:rotate(90deg)}.tut-dir-s{grid-area:s;transform:rotate(180deg)}.tut-dir-w{grid-area:w;transform:rotate(-90deg)}.tut-dir-m{grid-area:m}.score-early-arrow{filter:drop-shadow(0 4px 18px #000000f2);transform-origin:50%;position:fixed}#cam-reset-btn{top:calc(12px + env(safe-area-inset-top));z-index:10;color:#8b949e;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#161b22cc;border:1px solid #30363d;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .15s,border-color .15s,color .15s;display:none;position:absolute;left:12px;box-shadow:0 2px 8px #0006}#cam-reset-btn.visible{display:flex}#cam-reset-btn:active{color:#c9d1d9;background:#2d333be6;border-color:#484f58}@media (hover:hover) and (pointer:fine){#cam-reset-btn:hover{color:#c9d1d9;background:#2d333be6;border-color:#484f58}}#dice-editor-back-btn{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));z-index:12;color:#8b949e;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(4px);background:#161b22cc;border:1px solid #30363d;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .15s,border-color .15s,color .15s;display:none;position:absolute;box-shadow:0 2px 8px #0006}body.dice-editor-open #dice-editor-back-btn{display:flex}body.dice-editor-open #cam-reset-btn{display:none!important}#dice-editor-back-btn:active{color:#c9d1d9;background:#2d333be6;border-color:#484f58}@media (hover:hover) and (pointer:fine){#dice-editor-back-btn:hover{color:#c9d1d9;background:#2d333be6;border-color:#484f58}}#dice-editor-panel{--de-panel-r:max(0px, calc(env(safe-area-inset-right,0px) - 10px));--de-pad-r:max(0px, calc(var(--de-panel-r) - 20px));width:calc(35% + var(--de-panel-r));box-sizing:border-box;min-width:0;height:100%;padding-top:env(safe-area-inset-top,0px);padding-right:var(--de-pad-r);background:#0d1117;border-left:1px solid #30363d;flex-direction:column;flex:none;display:none;overflow:hidden}body.dice-editor-open #app{flex-direction:row;align-items:stretch}body.dice-editor-open #canvas-wrap{flex:1 1 0;width:auto;min-width:0;height:100%}body.dice-editor-open #dice-editor-panel.open{display:flex}html.touch body.dice-editor-open #dice-editor-panel{width:calc(40% + var(--de-panel-r));max-width:calc(340px + var(--de-panel-r))}#dice-editor-die-bar{left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:12;padding-top:16px;padding-left:max(12px, env(safe-area-inset-left,0px));padding-right:max(12px, env(safe-area-inset-left,0px));pointer-events:auto;justify-content:center;align-items:flex-end;display:none;position:absolute}body.dice-editor-open #dice-editor-die-bar{display:flex}#dice-editor-die-bar .de-die-chips{touch-action:manipulation;-webkit-backdrop-filter:blur(6px);background:#161b22e0;border:1px solid #30363d;border-radius:12px;gap:8px;width:min(320px,92%);padding:8px 10px;box-shadow:0 4px 16px #00000073}.de-tabs{background:#0d1117;border-bottom:1px solid #21262d;flex:none;gap:0;display:flex}.de-tab{color:#8b949e;letter-spacing:.03em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;min-width:0;padding:11px 6px;font-size:.82rem;font-weight:600}.de-tab:active{color:#c9d1d9;background:#161b22}@media (hover:hover) and (pointer:fine){.de-tab:hover{color:#c9d1d9;background:#161b22}}.de-tab.active{color:#e6edf3;border-bottom-color:#58a6ff}.de-tab-panel{flex-direction:column;gap:12px}.de-controls>.de-tab-panel:not(.active){display:none}.de-tab-panel.active{display:flex}.de-header{padding:calc(14px + env(safe-area-inset-top)) 18px 14px;border-bottom:1px solid #21262d;flex:none;justify-content:space-between;align-items:center;display:flex}.de-header h2{color:#e6edf3;margin:0;font-size:1.05rem;font-weight:600}.de-close{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:8px;width:30px;height:30px}.de-close:hover{color:#e6edf3;background:#21262d}.de-controls{-webkit-overflow-scrolling:touch;padding:10px 6px calc(10px + env(safe-area-inset-bottom,0px)) 12px;flex-direction:column;flex:auto;gap:0;min-height:0;display:flex;overflow-y:auto}.de-hint{color:#6e7681;letter-spacing:.03em;text-align:center;padding-bottom:4px;font-size:.72rem}.de-bank{flex-direction:column;gap:7px;display:flex}.de-bank-label{color:#8b949e;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.de-bank-grid{flex-wrap:wrap;gap:7px;display:flex}.de-bank-swatch{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:3px;line-height:0;display:inline-flex}.de-bank-swatch:hover{background:#161b22;border-color:#30363d}.de-bank-swatch.active{background:#58a6ff1f;border-color:#58a6ff}.de-bank-empty{color:#6e7681;font-size:.78rem;font-style:italic}.de-die-chips{gap:6px;display:flex}.de-die-chip{color:#adbac7;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#161b22;border:1px solid #30363d;border-radius:8px;flex:1 1 0;min-width:0;min-height:44px;padding:10px 0;font-size:.9rem;font-weight:700}.de-die-chip:active{background:#21262d}@media (hover:hover) and (pointer:fine){.de-die-chip:hover{background:#21262d}}.de-die-chip.active{color:#e6edf3;background:#58a6ff29;border-color:#58a6ff}.de-die-controls{flex-direction:column;gap:13px;display:flex}.de-die-controls.de-locked{opacity:.4;pointer-events:none}.de-copy{position:relative}.de-copy-btn{text-align:center;width:100%}.de-copy-menu{z-index:5;background:#161b22;border:1px solid #30363d;border-radius:8px;flex-direction:column;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.de-copy-menu.open{display:flex}.de-copy-item{color:#e6edf3;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #21262d;padding:8px 12px;font-size:.85rem}.de-copy-item:last-child{border-bottom:none}.de-copy-item:hover{background:#21262d}.de-row{flex-direction:column;gap:5px;display:flex}.de-row>span{color:#adbac7;font-size:.8rem}.de-row-text,.de-row:not(.de-row-slider){flex-direction:row;justify-content:space-between;align-items:center}.de-row-check{cursor:pointer;justify-content:flex-start;gap:10px}.de-row-check input{accent-color:#3fb950;cursor:pointer;width:16px;height:16px}.de-row input[type=text]{color:#e6edf3;background:#161b22;border:1px solid #30363d;border-radius:7px;flex:auto;margin-left:12px;padding:6px 9px;font-size:.85rem}.de-row input[type=color]{cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:6px;width:42px;height:26px;padding:2px}.de-row select{color:#e6edf3;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:6px;padding:6px 9px;font-size:.85rem}.de-pick-box{box-sizing:border-box;border:1px solid #30363d;border-radius:8px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.de-texture{flex-direction:column;gap:13px;display:flex;position:relative}.de-texture-box{color:#6e7681;cursor:pointer;background:#161b22 50%/cover no-repeat;padding:0;font-size:.62rem}.de-texture-box:hover:not(:disabled){border-color:#58a6ff}.de-texture-box:disabled{opacity:.45;cursor:not-allowed}.de-color-box{cursor:pointer;background:#161b22;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative;overflow:hidden}.de-color-box input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.de-color-box:hover:not(.de-color-box--disabled){border-color:#58a6ff}.de-color-box--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.de-texture-menu{z-index:5;background:#161b22;border:1px solid #30363d;border-radius:8px;flex-wrap:wrap;gap:7px;padding:9px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0}.de-texture-menu.open{display:flex}.de-texture-swatch{cursor:pointer;background:#0d1117 50%/cover no-repeat;border:1px solid #30363d;border-radius:6px;width:40px;height:40px}.de-texture-swatch:hover{border-color:#58a6ff}.de-texture-swatch.active{border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff}.de-texture-swatch--atlas,.de-texture-box.de-texture-box--atlas{box-shadow:inset 0 0 0 1px #58a6ff59}.de-texture-swatch--atlas{background-size:cover}.de-texture-none{color:#6e7681;background-image:none;justify-content:center;align-items:center;font-size:.6rem;display:inline-flex}.de-finish-tab{flex-direction:column;gap:14px;display:flex}.de-surface-row,.de-icon-slider-row{align-items:center;gap:10px;display:flex}.de-slider-track{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:5px;min-width:0;display:flex}.de-slider-val{color:#adbac7;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1}.de-slider-track input[type=range]{accent-color:#58a6ff;cursor:pointer;width:100%}.de-finish-icon{pointer-events:none;background:#21262d;justify-content:center;align-items:center;padding:0;display:inline-flex}.de-row-slider .de-row-top{justify-content:space-between;align-items:center;display:flex}.de-val{color:#6e7681;font-variant-numeric:tabular-nums;font-size:.78rem}.de-row-slider input[type=range]{accent-color:#58a6ff;cursor:pointer;width:100%}.de-shape-row{gap:8px}.de-shape-picker{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.de-shape-btn,.de-depth-btn{cursor:pointer;background:#21262d;padding:0}.de-shape-btn:hover:not(:disabled),.de-depth-btn:hover:not(:disabled){border-color:#58a6ff}.de-shape-btn.active,.de-depth-btn.active{background:#1c2128;border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff}.de-shape-btn:disabled,.de-depth-btn:disabled{opacity:.45;cursor:not-allowed}.de-shape-btn img,.de-depth-btn img,.de-finish-icon img{object-fit:contain;pointer-events:none;width:32px;height:32px;display:block}.de-section{flex-direction:column;gap:8px;padding-top:4px;display:flex}.de-section-label{letter-spacing:.06em;text-transform:uppercase;color:#6e7681;font-size:.72rem;font-weight:600}.de-section-body{flex-direction:column;gap:10px;display:flex}.de-sub-label{color:#8b949e;font-size:.78rem}.de-btn-picker{flex-wrap:wrap;gap:8px;display:flex}.de-icon-btn{color:#e6edf3;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:8px;width:44px;height:44px;font-size:1.15rem;line-height:1}.de-icon-btn:hover:not(:disabled){border-color:#58a6ff}.de-icon-btn.active{background:#1c2128;border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff}.de-icon-btn:disabled{opacity:.45;cursor:not-allowed}.de-depth-picker{gap:8px}.de-depth-btn{cursor:pointer}.de-check-row{color:#c9d1d9;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:4px;font-size:.82rem;display:flex}.de-check-row input[type=checkbox]{accent-color:#58a6ff;cursor:pointer;width:16px;height:16px;margin:0}.de-check-row:has(input:disabled){opacity:.45;cursor:not-allowed}.de-effects{gap:12px}.de-effect{background:#161b22;border:1px solid #30363d;border-radius:10px;overflow:hidden}.de-effect-head{background:#21262d;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.de-effect-title{color:#e6edf3;font-size:.85rem}.de-effect-toggle{color:#8b949e;cursor:pointer;background:#0d1117;border:1px solid #30363d;border-radius:999px;min-width:44px;padding:4px 10px;font-size:.75rem}.de-effect-toggle.active{color:#3fb950;background:#122117;border-color:#3fb950}.de-effect-toggle:disabled{opacity:.45;cursor:not-allowed}.de-effect-body{flex-direction:column;gap:8px;padding:8px 10px 10px;display:none}.de-effect-body--open{display:flex}.de-stickers{flex-direction:column;gap:10px;display:flex}.de-sticker-hint{color:#6e7681;font-size:.75rem;line-height:1.35}.de-sticker-grid{flex-wrap:wrap;gap:7px;display:flex}.de-sticker-swatch{cursor:pointer;background:#0d1117 50%/contain no-repeat;border:1px solid #30363d;border-radius:8px;width:44px;height:44px}.de-sticker-swatch:hover{border-color:#58a6ff}.de-sticker-swatch.armed{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff}.de-sticker-swatch:disabled{opacity:.4;cursor:default}.de-sticker-list{flex-direction:column;gap:5px;display:flex}.de-sticker-item{cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:7px;align-items:center;gap:9px;padding:5px 7px;display:flex}.de-sticker-item:hover{background:#21262d}.de-sticker-item.active{background:#58a6ff1f;border-color:#58a6ff}.de-sticker-item-thumb{background:#0d1117 50%/contain no-repeat;border-radius:5px;flex:none;width:26px;height:26px}.de-sticker-item-name{color:#adbac7;flex:auto;font-size:.8rem}.de-sticker-del{color:#6e7681;cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;width:22px;height:22px;font-size:.8rem}.de-sticker-del:hover{color:#f85149;background:#5a2a2a}.de-sticker-slider input[type=range]{accent-color:#58a6ff;cursor:pointer;width:100%}.de-sticker-slider input:disabled{opacity:.4;cursor:default}.de-footer{border-top:none;flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;margin-top:4px;padding:4px 0 0;display:flex}.de-footer .de-btn{text-align:center;flex:auto}.de-btn{cursor:pointer;border:1px solid #30363d;border-radius:8px;padding:8px 16px;font-size:.85rem}.de-btn-primary{color:#fff;background:#238636;border-color:#2ea043;font-weight:600}.de-btn-primary:hover{background:#2ea043}.de-btn:not(.de-btn-primary){color:#e6edf3;background:#21262d}.de-btn:not(.de-btn-primary):hover:not(:disabled){background:#30363d}.de-btn.de-btn-danger{color:#f85149;border-color:#5a2a2a}.de-btn.de-btn-danger:hover:not(:disabled){background:#f851491f}.de-btn:disabled{opacity:.4;cursor:not-allowed}.die-dropdown-label{flex:auto}.die-dropdown-del{color:#6e7681;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:.8rem}.die-dropdown-del:hover{color:#f85149;background:#f851491f}#pwa-update-banner{z-index:500;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;background:#161b22;border:1px solid #30363d;border-radius:12px;align-items:center;gap:14px;max-width:min(520px,100vw - 24px);padding:12px 14px;transition:transform .28s,opacity .28s;display:flex;position:fixed;transform:translate(-50%)translateY(120%);box-shadow:0 8px 32px #0000008c}#pwa-update-banner.pwa-update-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}#pwa-update-banner.pwa-update-dismissed{opacity:0;transform:translate(-50%)translateY(120%)}.pwa-update-text{color:#e6edf3;flex-direction:column;flex:auto;gap:2px;min-width:0;font-size:.85rem;display:flex}.pwa-update-text strong{font-weight:600}.pwa-update-commit{color:#58a6ff;word-break:break-all;font-family:ui-monospace,Cascadia Code,SF Mono,monospace;font-size:.78rem}.pwa-update-actions{flex:none;align-items:center;gap:8px;display:flex}.pwa-update-btn{color:#e6edf3;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:8px;padding:7px 12px;font-size:.82rem}.pwa-update-reload{color:#fff;background:#238636;border-color:#2ea043;font-weight:600}.pwa-update-reload:hover{background:#2ea043}.pwa-update-dismiss{color:#8b949e;width:32px;height:32px;padding:0;line-height:1}.pwa-update-dismiss:hover{color:#e6edf3;background:#30363d}body.dice-editor-open #pwa-update-banner{max-width:min(480px,65vw - 24px);left:calc(32.5vw - 12px)}#settings-panel{top:calc(62px + env(safe-area-inset-top));z-index:211;transform-origin:100% 0;opacity:0;pointer-events:none;min-width:140px;max-height:calc(100dvh - 62px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);overscroll-behavior:contain;background:#161b22;border:1px solid #30363d;border-radius:10px;padding:8px 6px;transition:transform .18s,opacity .18s;position:fixed;right:16px;overflow:hidden auto;transform:scale(.9)translateY(-8px);box-shadow:0 4px 16px #00000080}#settings-panel.open{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.settings-divider{background:#30363d;height:1px;margin:4px 8px}.settings-toggle{color:#8b949e;cursor:pointer;align-items:center;gap:8px;width:100%;padding:7px 8px;font-size:.85rem;display:flex}.settings-toggle input[type=checkbox]{accent-color:#3fb950;cursor:pointer}.settings-tutorials-row{align-items:center;gap:8px;width:100%;display:flex}.settings-tutorials-row .settings-toggle{flex:none;width:auto}#reset-tutorials-btn{color:#c9d1d9;cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:1rem;line-height:1}#reset-tutorials-btn:hover{color:#fff}#reset-tutorials-btn:disabled{opacity:.35;cursor:default}.settings-select{color:#8b949e;box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 8px;font-size:.85rem;display:flex}.settings-select select{color:#c9d1d9;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.82rem}.settings-select select:focus{border-color:#3fb950;outline:none}#dice-volume-slider{appearance:none;cursor:pointer;background:#30363d;border-radius:2px;outline:none;width:90px;height:4px}#dice-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3fb950;border-radius:50%;width:14px;height:14px}#dice-volume-slider::-moz-range-thumb{cursor:pointer;background:#3fb950;border:none;border-radius:50%;width:14px;height:14px}#new-game-btn{color:#f85149;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:7px 8px;font-size:.85rem;transition:background .12s,color .12s;display:block}#new-game-btn:hover{color:#ff7b72;background:#21262d}.theme-die{border:1.5px solid;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.theme-pip{border-radius:50%;width:7px;height:7px}.theme-die-rosewood{background:linear-gradient(160deg,#7a3a1d 0%,#4a1a08 45%,#6b3015 100%);border-color:#3a1008!important}.theme-die-brushed-metal{background:linear-gradient(#7a7e84 0%,#b8bcc4 18%,#8c9098 32%,#c4c8d0 50%,#909498 64%,#b0b4bc 80%,#7e8288 100%);border-color:#555!important}.theme-die-ice{background:linear-gradient(135deg,#e4f4fc 0%,#a8d8f0 25%,#eef8ff 50%,#b8e4f8 75%,#d4f0fc 100%);border-color:#80c8e8!important}.theme-die-onyx{background:linear-gradient(135deg,#1a1420 0%,#0a080e 40%,#1c1624 68%,#0e0c14 100%);border-color:#2e2838!important}.theme-die-stone{background:linear-gradient(160deg,#9a9080 0%,#7a7060 28%,#8e8472 50%,#6e6458 72%,#888070 100%);border-color:#5a5248!important}.theme-die-concrete,.theme-die-marble,.theme-die-paving{background:linear-gradient(160deg,#9e9a96 0%,#7a7672 28%,#8e8a86 50%,#726e6a 72%,#8a8480 100%);border-color:#5a5652!important}.die-dropdown{position:relative}.die-dropdown-trigger{color:#c9d1d9;cursor:pointer;white-space:nowrap;background:#21262d;border:1px solid #30363d;border-radius:4px;align-items:center;gap:6px;padding:3px 5px;font-family:inherit;font-size:.82rem;display:flex}.die-dropdown-trigger:hover{border-color:#484f58}.die-dropdown-trigger .die-dropdown-chevron{opacity:.6;margin-left:2px;transition:transform .15s}.die-dropdown.open .die-dropdown-chevron{transform:rotate(180deg)}.die-dropdown-list{overscroll-behavior:contain;z-index:220;background:#161b22;border:1px solid #30363d;border-radius:6px;min-width:100%;max-height:calc(100dvh - 130px);display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden auto;box-shadow:0 4px 16px #0009}.die-dropdown.open .die-dropdown-list{display:block}.die-dropdown-item{cursor:pointer;color:#c9d1d9;white-space:nowrap;align-items:center;gap:8px;padding:5px 8px;font-family:inherit;font-size:.82rem;display:flex}.die-dropdown-item:hover{background:#21262d}.die-dropdown-item.selected{color:#3fb950}#score-toggle-btn{bottom:calc(38px + env(safe-area-inset-bottom));z-index:103;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none;background:#21262d;border:1px solid #30363d;border-radius:20px;align-items:center;gap:8px;padding:9px 16px;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex;position:fixed;right:16px;box-shadow:0 2px 8px #0006}#score-toggle-btn:hover{color:#c9d1d9;background:#2d333b;border-color:#484f58}#score-toggle-btn .btn-icon-close,#score-toggle-btn.is-open .btn-icon-pencil{display:none}#score-toggle-btn.is-open .btn-icon-close{display:block}#score-toggle-btn.simul-left{left:16px;right:auto}@media (width<=600px){#cam-reset-btn{width:48px;height:48px}#cam-reset-btn svg{width:22px;height:22px}}@media (width<=767px){#score-toggle-btn{left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom) / 2);transform:translate(-50%)translateY(50%)}}.hidden{display:none!important}#lobby-screen{opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s}.overlay-screen{z-index:200;-webkit-backdrop-filter:blur(8px);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#0a0e0fbf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lobby-inner{flex-direction:column;flex:0 auto;align-items:center;gap:clamp(10px,2.4vw,32px);max-height:calc(100% - 56px);display:flex}.lobby-logo-wrap{flex-direction:row;align-items:center;gap:clamp(6px,1.4vw,18px);display:flex;transform:rotate(-9deg)}.lobby-logo-svg{fill:#fff;opacity:.92;filter:drop-shadow(3px 4px 8px #0000008c);flex-shrink:0;width:clamp(130px,28vw,340px);height:clamp(130px,28vw,340px)}.lobby-text-block{flex-direction:column;gap:4px;display:flex}.lobby-title{color:#fff;text-shadow:3px 3px #00000073;white-space:nowrap;filter:drop-shadow(3px 4px 8px #0000008c);font-family:Permanent Marker,cursive;font-size:clamp(3rem,12vw,9rem);line-height:1}.lobby-subtitle{letter-spacing:.65em;color:#8b949e;white-space:nowrap;filter:drop-shadow(3px 4px 8px #0000008c);font-size:clamp(.78rem,2.35vw,1.85rem);font-weight:700}.lobby-actions{flex-direction:column;align-items:stretch;gap:10px;width:min(400px,92vw);display:flex}.lobby-buttons{gap:10px;width:100%;display:flex}.lobby-buttons-primary,.lobby-buttons-secondary{flex-direction:row}.lobby-btn{color:#3fb950;cursor:pointer;background:#3fb9501f;border:1.5px solid #3fb950;border-radius:12px;font-weight:700;transition:background .15s,color .15s}.lobby-btn-square{letter-spacing:.05em;text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:62px;padding:12px 8px;font-size:.88rem;line-height:1.15;display:flex}.lobby-btn-icon{font-size:1.25rem;line-height:1}.lobby-btn-label{max-width:100%;display:block}.lobby-btn-wide{letter-spacing:.05em;flex:1 1 0;min-width:0;padding:12px 14px;font-size:.88rem}.lobby-btn:hover{color:#5ec96b;background:#3fb95040}.lobby-btn-versus{color:#58a6ff;background:#58a6ff1a;border-color:#58a6ff}.lobby-btn-versus:hover{color:#79b8ff;background:#58a6ff38}.setup-inner{flex-direction:column;align-items:center;gap:16px;width:min(460px,100vw - 24px);max-height:calc(100dvh - 32px);display:flex;overflow-y:auto}.setup-heading{letter-spacing:.3em;color:#8b949e;margin:0;font-size:.7rem;font-weight:700}.setup-section{background:#111618;border:1px solid #1e2628;border-radius:10px;flex-direction:column;gap:10px;width:100%;padding:14px 16px;display:flex}.setup-player-label{letter-spacing:.2em;color:#58a6ff;font-size:.62rem;font-weight:700}.setup-player-label-p2{color:#f5a623}.setup-theme-label{letter-spacing:.15em;color:#484f58;font-size:.58rem;font-weight:700}.setup-name-input{color:#e2e8f0;background:#0a0e0f;border:1px solid #30363d;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:1rem;transition:border-color .12s}.setup-name-input:focus{border-color:#58a6ff}.setup-themes{flex-wrap:wrap;gap:8px;display:flex}.setup-theme-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:7px;padding:4px;transition:border-color .12s}.setup-theme-btn:hover{border-color:#484f58}.setup-theme-btn.active{border-color:#3fb950}.setup-color-row{align-items:center;gap:12px;display:flex}.setup-color-swatch{cursor:pointer;border-color:#ccc8b0;transition:box-shadow .12s,transform .12s}.setup-color-swatch .theme-pip{background:#080810}.setup-color-swatch:hover{transform:scale(1.08)}.setup-color-swatch.active{box-shadow:0 0 0 2px #0a0e0f,0 0 0 4px #3fb950}.setup-hue-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,#e03e3e,#e0e03e,#3ee03e,#3ee0e0,#3e3ee0,#e03ee0,#e03e3e);border:1px solid #30363d;border-radius:7px;outline:none;flex:1;height:14px}.setup-hue-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#f2eed8;border:2px solid #0a0e0f;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0009}.setup-hue-slider::-moz-range-thumb{cursor:pointer;background:#f2eed8;border:2px solid #0a0e0f;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0009}.setup-variant-btn{color:#c9d1d9;font:inherit;cursor:pointer;background:#161b22;border:2px solid #30363d;border-radius:7px;padding:6px 14px;font-size:.85rem;transition:border-color .12s,background .12s}.setup-variant-btn:hover{border-color:#484f58}.setup-variant-btn.active{background:#1b3325;border-color:#3fb950}.setup-actions{gap:12px;width:100%;display:flex}.setup-btn-back{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:8px;flex:1;padding:12px;font-size:.9rem;font-weight:600;transition:background .12s,color .12s}.setup-btn-back:hover{color:#c9d1d9;background:#21262d}.setup-btn-start{color:#3fb950;cursor:pointer;background:#3fb9501f;border:1.5px solid #3fb950;border-radius:8px;flex:2;padding:12px;font-size:.9rem;font-weight:700;transition:background .12s,color .12s}.setup-btn-start:hover{color:#5ec96b;background:#3fb95040}.lobby-btn-online{color:#bc8cff;background:#bc8cff1a;border-color:#bc8cff}.lobby-btn-online:hover{color:#d2a8ff;background:#bc8cff38}.ol-label{color:#8b949e;letter-spacing:.06em;text-align:center;margin:0 0 6px;font-size:.85rem}.ol-code{letter-spacing:.22em;color:#f0f6fc;text-align:center;background:#0d111799;border:2px solid #30363d;border-radius:8px;margin:4px 0 8px;padding:12px 20px;font-family:DM Mono,Courier New,monospace;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700}.ol-code-input{letter-spacing:.2em;color:#f0f6fc;text-align:center;text-transform:uppercase;background:#161b22;border:1.5px solid #30363d;border-radius:8px;width:200px;margin:0 auto;padding:10px 16px;font-family:DM Mono,Courier New,monospace;font-size:1.5rem;font-weight:700;display:block}.ol-code-input:focus{border-color:#58a6ff;outline:none}.ol-status{color:#8b949e;text-align:center;min-height:1.2em;margin:6px 0 2px;font-size:.82rem}#game-over-screen{z-index:200;padding:14px 16px max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}#game-over-screen.hidden{display:none}.go-actions{pointer-events:auto;-webkit-backdrop-filter:blur(10px);background:#0a0e0fe0;border:1px solid #30363d;border-radius:12px;flex-direction:row;gap:10px;padding:10px 14px;display:flex}.go-btn{color:#3fb950;cursor:pointer;letter-spacing:.05em;white-space:nowrap;background:#3fb9501f;border:1.5px solid #3fb950;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:background .12s,color .12s}.go-btn:hover{color:#5ec96b;background:#3fb95040}.go-btn-secondary{color:#8b949e;background:0 0;border-color:#30363d}.go-btn-secondary:hover{color:#c9d1d9;background:#21262d}.go-disconnect-msg{color:#e88a8a;white-space:nowrap;z-index:200;pointer-events:none;background:#161b22f2;border:1px solid #6e3a3a;border-radius:10px;padding:10px 20px;font-size:.85rem;position:fixed;top:120px;left:50%;transform:translate(-50%)}.confirm-modal{z-index:600;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal.hidden{display:none}.confirm-modal-box{text-align:center;background:#161b22;border:1px solid #30363d;border-radius:12px;width:90%;max-width:340px;padding:24px 28px}.confirm-modal-msg{color:#c9d1d9;margin-bottom:20px;font-size:.95rem;line-height:1.5}.confirm-modal-btns{justify-content:center;gap:12px;display:flex}.confirm-btn{color:#8b949e;cursor:pointer;background:0 0;border:1.5px solid #30363d;border-radius:8px;padding:8px 22px;font-size:.9rem;font-weight:600;transition:background .12s,color .12s}.confirm-btn:hover{color:#c9d1d9;background:#21262d}.confirm-btn-danger{color:#f85149;border-color:#da3633}.confirm-btn-danger:hover{color:#ff7b72;background:#da363326}#ol-emoji-picker{flex-wrap:wrap;gap:4px;max-width:288px;padding:4px 0 8px;display:flex}.emoji-btn{cursor:pointer;background:#ffffff0d;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.35rem;line-height:1;transition:border-color .12s,background .12s;display:flex}.emoji-btn:hover{background:#ffffff1a;border-color:#fff3}.emoji-btn.active{background:#388bfd26;border-color:#388bfd}.ol-name-bars{gap:10px;width:100%;display:flex}.ol-name-bar{background:#111618;border:1px solid #1e2628;border-radius:10px;flex-direction:column;flex:1;gap:6px;min-width:0;padding:10px 12px;display:flex}.ol-name-bar-label{letter-spacing:.2em;font-size:.6rem;font-weight:700}.ol-name-bar.host{border-color:#388bfd80}.ol-name-bar.guest{border-color:#f8514980}.ol-name-bar.host .ol-name-bar-label{color:#58a6ff}.ol-name-bar.guest .ol-name-bar-label{color:#ff7b72}.ol-name-bar.host input{color:#79b8ff;border-color:#388bfd}.ol-name-bar.guest input{color:#ff8b82;border-color:#f85149}.ol-name-bar.host input:focus{border-color:#58a6ff}.ol-name-bar.guest input:focus{border-color:#ff7b72}.ol-name-bar input:disabled{opacity:.7;cursor:default}.ol-name-color{gap:8px}.ol-name-color .setup-hue-slider:disabled{opacity:.85;cursor:default}.ol-name-bar.is-me{background:#141b1d}.emoji-btn.sel-host,.setup-theme-btn.sel-host{border-color:#388bfd;box-shadow:0 0 0 2px #388bfd59}.emoji-btn.sel-guest,.setup-theme-btn.sel-guest{border-color:#f85149;box-shadow:0 0 0 2px #f8514959}.emoji-btn.sel-host{background:#388bfd26}.emoji-btn.sel-guest{background:#f8514926}.emoji-btn.taken,.setup-theme-btn.taken{opacity:.4;cursor:not-allowed;pointer-events:none}#turn-indicator{top:calc(16px + env(safe-area-inset-top));z-index:50;color:#8b949e;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(4px);opacity:0;background:#161b22e6;border:1px solid #30363d;border-radius:20px;padding:5px 14px;font-size:.78rem;font-weight:600;transition:opacity .2s;position:fixed;left:50%;transform:translate(-50%)}#turn-indicator.visible{opacity:1}.build-info{color:#484f58;text-align:center;-webkit-user-select:text;user-select:text;font-size:.65rem;line-height:1.6}.build-info-lobby{left:0;right:0;bottom:calc(6px + env(safe-area-inset-bottom));pointer-events:none;padding:0 12px;position:absolute}.build-info-lobby code{font-size:.6rem}@media (height<=520px),(width<=600px){#lobby-screen{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:calc(44px + env(safe-area-inset-bottom));justify-content:flex-start}.lobby-inner{gap:clamp(22px,6vh,36px);width:min(400px,94vw);max-height:none}.lobby-logo-wrap{gap:clamp(8px,2vh,14px)}.lobby-logo-svg{width:clamp(128px,36vh,240px);height:clamp(128px,36vh,240px)}.lobby-title{font-size:clamp(2.65rem,10.5vh,6rem)}.lobby-subtitle{letter-spacing:.56em;font-size:clamp(.7rem,2.4vh,1.35rem)}.lobby-actions{gap:10px;width:100%}.lobby-btn-square{gap:5px;min-height:55px;padding:10px 6px;font-size:.82rem}.lobby-btn-icon{font-size:1.1rem}.lobby-btn-wide{padding:9px 12px;font-size:.82rem}}#privacy-policy-btn{color:#484f58;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:7px 8px;font-size:.75rem;transition:background .12s,color .12s;display:block}#privacy-policy-btn:hover{color:#8b949e;background:#21262d}#privacy-modal{z-index:500;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}#privacy-modal.open{display:flex}#privacy-modal-inner{background:#161b22;border:1px solid #30363d;border-radius:12px;width:100%;max-width:480px;max-height:80vh;padding:24px;position:relative;overflow-y:auto}#privacy-modal h2{letter-spacing:.1em;color:#9e6a99;margin-bottom:16px;font-size:.95rem}#privacy-modal h3{letter-spacing:.08em;color:#8b949e;margin:14px 0 6px;font-size:.8rem}#privacy-modal h4{letter-spacing:.06em;color:#6b727c;margin:12px 0 4px;font-size:.75rem}.about-table{border-collapse:collapse;width:100%;margin:6px 0 4px}.about-table td{color:#6b727c;vertical-align:top;padding:3px 8px 3px 0;font-size:.75rem}.about-table td:last-child{color:#484f58;white-space:nowrap}#privacy-modal a{color:#9e6a99;text-decoration:none}#privacy-modal a:hover{text-decoration:underline}#privacy-modal p,#privacy-modal li{color:#6b727c;font-size:.8rem;line-height:1.7}#privacy-modal ul{margin:4px 0;padding-left:16px}#privacy-close-btn{color:#484f58;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.1rem;line-height:1;transition:color .12s,background .12s;position:absolute;top:12px;right:12px}#privacy-close-btn:hover{color:#8b949e;background:#21262d}#reconnect-overlay{z-index:550;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a10b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#reconnect-overlay.hidden{display:none}.reconnect-box{color:#dde0ea;text-align:center;background:#161923;border:1px solid #2a2e3a;border-radius:14px;flex-direction:column;align-items:center;gap:18px;max-width:86vw;padding:28px 34px;display:flex}.reconnect-box p{margin:0;font-size:15px;line-height:1.5}.reconnect-spinner{border:3px solid #2a2e3a;border-top-color:#9e6a99;border-radius:50%;width:38px;height:38px;animation:.9s linear infinite reconnect-spin}@keyframes reconnect-spin{to{transform:rotate(360deg)}}
