*{box-sizing:border-box}@font-face{font-family:Blinker;src:url(/fonts/blinker-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Blinker;src:url(/fonts/blinker-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Blinker;src:url(/fonts/blinker-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--tlx-background: var(--tl-color-background, hsl(210, 20%, 98%));--tlx-canvas-outline: var(--tl-color-background, hsl(210, 20%, 98%));--tlx-low: var(--tl-color-low, hsl(204, 16%, 94%));--tlx-panel: var(--tl-color-panel, hsl(0, 0%, 99%));--tlx-panel-contrast: var(--tl-color-panel-contrast, hsl(0, 0%, 100%));--tlx-divider: var(--tl-color-divider, hsl(0, 0%, 91%));--tlx-muted-1: var(--tl-color-muted-1, hsl(0, 0%, 0%, 10%));--tlx-muted-2: var(--tl-color-muted-2, hsl(0, 0%, 0%, 4.3%));--tlx-overlay: var(--tl-color-overlay, hsl(0, 0%, 0%, 20%));--tlx-text: var(--tl-color-text, hsl(0, 0%, 0%));--tlx-text-1: var(--tl-color-text-1, hsl(0, 0%, 18%));--tlx-text-3: var(--tl-color-text-3, hsl(204, 4%, 45%));--tlx-text-disabled: var(--tl-color-text-disabled, hsl(204, 4%, 55%));--tlx-selected: var(--tl-color-selected, hsl(214, 84%, 56%));--tlx-selected-contrast: var(--tl-color-selected-contrast, hsl(0, 0%, 100%));--tlx-focus: var(--tl-color-focus, hsl(219, 65%, 50%));--tlx-danger: var(--tl-color-danger, hsl(0, 90%, 43%));--tlx-success: var(--tl-color-success, hsl(123, 46%, 34%));--tlx-info: var(--tl-color-info, hsl(201, 98%, 41%));--tlx-warning: var(--tl-color-warning, hsl(27, 98%, 47%));--tlx-hint: var(--tl-color-hint, #dcdcdc);--tlx-selection: var(--tl-color-selection, #3d7dc9);--tlx-text-2: var(--tl-color-text-2, hsl(0, 0%, 45%));--tlx-border: var(--tl-color-border, #e2e4ea);--tlx-tooltip: var(--tl-color-tooltip, hsla(200, 14%, 4%, 1));--tlx-primary: var(--tl-color-primary, hsl(214, 84%, 56%));--tlx-error: var(--tl-color-error, #e03131);--tlx-radius-1: var(--tl-radius-1, 2px);--tlx-radius-2: var(--tl-radius-2, 2px);--tlx-radius-3: var(--tl-radius-3, 2px);--tlx-radius-4: var(--tl-radius-4, 2px);--code-comment: #7a8a99;--code-string: #b0684a;--code-number: #8a6bbf;--code-keyword: #3d7dc9;--code-literal: #8a6bbf;--code-api: #2f9e6e;--glsl-comment: hsl(120, 8%, 56%);--glsl-pre: hsl(280, 30%, 55%);--glsl-keyword: hsl(262, 62%, 52%);--glsl-type: hsl(207, 78%, 44%);--glsl-number: hsl(24, 88%, 42%);--glsl-builtin: hsl(340, 58%, 46%);--glsl-uniform: hsl(190, 70%, 34%);--glsl-param: hsl(180, 75%, 26%);--stmt-do: #4a7dc9;--stmt-do-text: #3a68ad;--stmt-if: #d9962e;--stmt-if-text: #b07818;--stmt-loop: #8a63c9;--stmt-loop-text: #6f4cb0;--stmt-set: #2e9e83;--stmt-set-text: #237e69;--stmt-flow: #9a9a92;--stmt-flow-text: #7a7a72;--stmt-num: #3a68ad;--stmt-bool: #b07818;--stmt-str: #b0684a;--stmt-local: #237e69;--stmt-slot: #8a63c9;--stmt-pvar: #a34da0;--stmt-fld: #6f4cb0;--wash-1: rgba(0, 0, 0, .035);--wash-2: rgba(0, 0, 0, .06);--wash-3: rgba(0, 0, 0, .03);--tlx-shadow-2: var( --tl-shadow-2, 0px 0px 2px hsl(0, 0%, 0%, 16%), 0px 2px 3px hsl(0, 0%, 0%, 24%), 0px 2px 6px hsl(0, 0%, 0%, .1), inset 0px 0px 0px 1px hsl(0, 0%, 100%) );--tlx-shadow-3: var( --tl-shadow-3, 0px 1px 2px hsl(0, 0%, 0%, 28%), 0px 2px 6px hsl(0, 0%, 0%, 14%), inset 0px 0px 0px 1px hsl(0, 0%, 100%) )}body .tl-container{--tl-radius-0: 2px;--tl-radius-1: 2px;--tl-radius-2: 2px;--tl-radius-3: 2px;--tl-radius-4: 2px}:root[data-theme=dark]{--tlx-background: hsl(240, 5%, 6.5%);--tlx-canvas-outline: #f9fafb;--tlx-low: hsl(260, 4.5%, 10.5%);--tlx-panel: hsl(235, 6.8%, 13.5%);--tlx-panel-contrast: hsl(245, 12%, 23%);--tlx-divider: hsl(240, 9%, 22%);--tlx-muted-1: hsl(0, 0%, 100%, 10%);--tlx-muted-2: hsl(0, 0%, 100%, 5%);--tlx-overlay: hsl(0, 0%, 0%, 50%);--tlx-text: hsl(210, 17%, 98%);--tlx-text-1: hsl(0, 0%, 85%);--tlx-text-3: hsl(204, 4%, 75%);--tlx-text-disabled: hsl(204, 4%, 50%);--tlx-selected: hsl(217, 89%, 61%);--tlx-selected-contrast: hsl(0, 0%, 100%);--tlx-focus: hsl(217, 76%, 80%);--tlx-danger: hsl(0, 82%, 66%);--tlx-success: hsl(123, 38%, 57%);--tlx-info: hsl(199, 92%, 56%);--tlx-warning: hsl(36, 100%, 57%);--tlx-hint: hsl(0, 0%, 100%, 7%);--tlx-selection: hsl(217, 89%, 61%);--tlx-text-2: hsl(204, 4%, 65%);--tlx-border: hsl(240, 9%, 22%);--tlx-tooltip: hsla(0, 0%, 100%, 1);--tlx-error: hsl(0, 82%, 66%);--tlx-shadow-2: 0px 1px 3px hsl(0, 0%, 0%, 66.6%), 0px 2px 6px hsl(0, 0%, 0%, 33%), inset 0px 0px 0px 1px var(--tlx-panel-contrast);--tlx-shadow-3: 0px 1px 3px hsl(0, 0%, 0%, 50%), 0px 2px 12px hsl(0, 0%, 0%, 50%), inset 0px 0px 0px 1px var(--tlx-panel-contrast);--code-comment: #8b9bab;--code-string: #d08a67;--code-number: #b394e0;--code-keyword: #6ba3e8;--code-literal: #b394e0;--code-api: #4fc48c;--glsl-comment: hsl(120, 8%, 62%);--glsl-pre: hsl(280, 45%, 72%);--glsl-keyword: hsl(262, 80%, 74%);--glsl-type: hsl(207, 85%, 66%);--glsl-number: hsl(24, 95%, 64%);--glsl-builtin: hsl(340, 75%, 68%);--glsl-uniform: hsl(190, 75%, 55%);--glsl-param: hsl(180, 65%, 48%);--stmt-do: #6ba3e8;--stmt-do-text: #8cbcf2;--stmt-if: #e8ae52;--stmt-if-text: #eec47e;--stmt-loop: #a985dd;--stmt-loop-text: #c2a5ec;--stmt-set: #4fc48c;--stmt-set-text: #74d6a8;--stmt-flow: #8f8f88;--stmt-flow-text: #a5a59e;--stmt-num: #8cbcf2;--stmt-bool: #eec47e;--stmt-str: #d08a67;--stmt-local: #74d6a8;--stmt-slot: #a985dd;--stmt-pvar: #cc74c4;--stmt-fld: #c2a5ec;--wash-1: rgba(255, 255, 255, .055);--wash-2: rgba(255, 255, 255, .09);--wash-3: rgba(255, 255, 255, .045);color-scheme:dark}:root[data-theme=dark] .hud-help-modal,:root[data-theme=dark] .hud-help-close{background:#232a20;color:#d9ddc9}input,select,textarea{font-family:inherit}html,body,#root{margin:0;height:100%;overflow:hidden;background:var(--tlx-background);font-family:Blinker,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;color:var(--tlx-text-1)}html.profile-page{height:auto;overflow-x:hidden;overflow-y:auto}html.profile-page body,html.profile-page #root{height:auto;overflow:visible}.room-overlay button,.gate-card button{font-family:inherit}.room-overlay :focus-visible,.gate :focus-visible{outline:2px solid var(--tlx-focus);outline-offset:0}.rich-text-select{height:32px;margin-right:4px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-1);font-family:inherit;font-size:12px;cursor:pointer}.rich-text-select:hover{background:var(--tlx-muted-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.room-view{position:fixed;top:0;left:0;right:0;height:100vh;height:100svh}.inspect-ribbon{position:absolute;top:10px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:10px;padding:2px 6px 2px 12px;border:1px solid color-mix(in srgb,#2e7d32 55%,transparent);border-radius:2px;background:color-mix(in srgb,var(--tlx-background) 85%,transparent);color:color-mix(in srgb,#2e7d32 80%,var(--tlx-text-1));font-size:11px;white-space:nowrap;z-index:300}.inspect-ribbon-scripts{border:0;background:none;font:inherit;font-size:11px;font-weight:600;color:inherit;cursor:pointer;padding:2px 8px;border-radius:2px}.inspect-ribbon-scripts:hover{background:color-mix(in srgb,#2e7d32 18%,transparent)}.script-blocks-ro{pointer-events:none;opacity:.92}.script-blocks.script-blocks-ro .script-ro-hide,.script-blocks-ro .script-ro-hide,.script-blocks.script-blocks-ro .script-row-actions,.script-blocks.script-blocks-ro .script-drag-handle{display:none}.script-ro-name{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate{height:100%;display:grid;place-items:center;background:var(--tlx-low);color:var(--tlx-text-1)}.gate[data-step]{display:flex;flex-direction:column;align-items:center;padding:18px;overflow-y:auto}.gate-title{margin:0;flex:0 0 auto;font-family:Blinker,system-ui,sans-serif;font-size:26px;font-weight:700;letter-spacing:.01em}.gate-title span{display:inline-block;animation:16s ease-in-out infinite}.gate-title span:nth-child(1){animation-name:cge-squeeze-0}.gate-title span:nth-child(2){animation-name:cge-squeeze-1}.gate-title span:nth-child(3){animation-name:cge-squeeze-2}.gate-title span:nth-child(4){animation-name:cge-squeeze-3}.gate-title span:nth-child(5){animation-name:cge-squeeze-4}.gate-title span:nth-child(6){animation-name:cge-squeeze-5}.gate-title span:nth-child(7){animation-name:cge-squeeze-6}.gate-title span:nth-child(8){animation-name:cge-squeeze-7}@keyframes cge-squeeze-0{0%,15%{transform:none}20%{transform:translate(.06em)}25%,to{transform:none}}@keyframes cge-squeeze-1{0%,15%{transform:none}20%{transform:translate(-.06em)}30%{transform:translate(.06em)}35%,to{transform:none}}@keyframes cge-squeeze-2{0%,25%{transform:none}30%{transform:translate(-.06em)}40%{transform:translate(.06em)}45%,to{transform:none}}@keyframes cge-squeeze-3{0%,35%{transform:none}40%{transform:translate(-.06em)}50%{transform:translate(.06em)}55%,to{transform:none}}@keyframes cge-squeeze-4{0%,45%{transform:none}50%{transform:translate(-.06em)}60%{transform:translate(.06em)}65%,to{transform:none}}@keyframes cge-squeeze-5{0%,55%{transform:none}60%{transform:translate(-.06em)}70%{transform:translate(.06em)}75%,to{transform:none}}@keyframes cge-squeeze-6{0%,65%{transform:none}70%{transform:translate(-.06em)}80%{transform:translate(.06em)}85%,to{transform:none}}@keyframes cge-squeeze-7{0%,75%{transform:none}80%{transform:translate(-.06em)}85%,to{transform:none}}@media(prefers-reduced-motion:reduce){.gate-title span{animation:none}}.gate button,.gate-char-link{font-family:Blinker,system-ui,sans-serif;font-weight:600}.gate h1,.gate h2{font-family:Blinker,system-ui,sans-serif;font-weight:700}.gate-row{display:flex;align-items:stretch;gap:18px;flex:1 1 auto;min-height:0;width:100%;max-width:1400px}.gate-char-col{flex:none;width:min(300px,90vw);display:flex;flex-direction:column;gap:10px}.gate-char-group{display:flex;flex-direction:column;gap:10px;margin:auto 0}.gate-join{background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);padding:12px;display:flex;flex-direction:column;gap:8px}.gate-char{width:100%;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);padding:16px;display:flex;flex-direction:column;gap:10px}.gate-char-preview{position:relative;padding:70px 0;border-radius:2px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 62%),var(--tlx-panel-contrast);overflow:hidden;cursor:crosshair}.gate-char-preview .avatar-face{filter:none}.gate-char-holder{position:absolute;left:50%;top:50%;width:104px;height:104px}.gate-char-sliders{display:flex;flex-direction:column;gap:10px}.gate-char-slider{display:block}.gate-char-slider-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.gate-char-slider-head label{font-size:12px;color:#fff}.gate-char-slider-val{font-size:11px;font-variant-numeric:tabular-nums;color:var(--tlx-text-1);background:var(--tlx-muted-2);border-radius:2px;padding:1px 6px}.gate-char-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:20px;margin:0;background:transparent;cursor:pointer;--p: 50%}.gate-char-slider input[type=range]:focus{outline:none}.gate-char-slider input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:2px;background:linear-gradient(90deg,var(--tlx-selected) var(--p),var(--tlx-divider) var(--p))}.gate-char-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;margin-top:-5px;border-radius:2px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px #0000004d;transition:transform .12s ease,box-shadow .12s ease}.gate-char-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}.gate-char-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 1px 4px #0000004d,0 0 0 3px var(--tlx-selected, rgba(59, 130, 246, .4))}.gate-char-slider input[type=range]::-moz-range-track{height:5px;border-radius:2px;background:var(--tlx-divider)}.gate-char-slider input[type=range]::-moz-range-progress{height:5px;border-radius:2px;background:var(--tlx-selected)}.gate-char-slider input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:2px;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px #0000004d;transition:transform .12s ease}.gate-char-slider input[type=range]:hover::-moz-range-thumb{transform:scale(1.15)}.gate-char-links{display:flex;flex-direction:row;gap:8px}.gate-legal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:8px}.gate-legal-link{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-size:11.5px;font-weight:600;text-decoration:none}.gate-legal-link:hover{color:var(--tlx-text-1);border-color:var(--tlx-text-3)}.gate-char-link{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 12px;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px;font-weight:600;text-decoration:none}.gate-char-link:hover{background:var(--tlx-muted-2)}.gate-char-link svg{flex:none}.gate-next{height:42px;border-radius:2px;border:0;background:var(--tlx-selected);color:var(--tlx-selected-contrast, #fff);font-weight:600;font-size:13.5px;cursor:pointer}.gate-card.gate-char-editor{width:min(340px,92vw)}.gate-card.gate-char-editor button.gate-next{height:44px;font-size:14px;font-weight:600}.gate-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1400px}.gate-mobile-account{display:flex;align-items:center;gap:8px}.gate-mobile-bar .gate-account,.gate-mobile-bar .gate-char-link{flex:0 0 auto}.gate-mobile-bar .gate-account .room-menu-title{width:auto}@media(max-width:860px){.gate-row{flex-wrap:wrap;justify-content:center}.gate-char-col{display:contents}.gate-char-links,.gate-char,.gate-legal,.gate-login-error{display:none}.gate-char-group{order:2;width:min(420px,90vw);margin:0}.gate-head .gate-title{display:none}.gate-picker .rb-head{flex-wrap:wrap}.gate-picker .rb-head-label{display:none}.gate-picker .rb-head .rb-tabs{flex:1 1 100%}.gate-picker .rb-head .rb-tabs .rb-tab{flex:1 1 0;justify-content:center}.gate-picker .rb-head .rb-viewtoggle{order:1}.gate-picker .rb-head .rb-hidden-toggle,.gate-picker .rb-head .rb-reload{order:2}.gate[data-step]{padding:12px}}.gate-card{width:min(420px,90vw);background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);padding:16px;display:flex;flex-direction:column;gap:10px}.gate-card h1{margin:0;font-size:16px;font-weight:600}.player-sub{margin:0;font-size:12.5px;color:var(--tlx-text-secondary, #6b7280)}.gate-card input{height:36px;padding:0 10px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.gate-card input:focus{outline:none;border-color:var(--tlx-selected)}.gate-error{margin:0;font-size:12px;color:var(--tlx-warning, #e5534b)}.gate-link{align-self:flex-start;background:transparent;border:0;padding:0;color:var(--tlx-text-3);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.gate-link:hover{color:var(--tlx-text-1)}.gate-picker{flex:1 1 auto;min-height:0;max-height:100%}.gate-char{flex:0 0 auto;max-height:100%;overflow-y:auto}.gate-picker .gate-head{display:flex;flex-wrap:nowrap;align-items:center;gap:4px 12px}.gate-picker .gate-head .gate-title{font-size:20px}.gate-tabs-slot{display:contents}.gate-picker .gate-recent{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;align-items:center;gap:4px;padding:2px;margin:-2px;scrollbar-width:none}.gate-picker .gate-recent::-webkit-scrollbar{display:none}.gate-picker .gate-recent-item{flex:none;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px 0 3px;border-radius:2px;border:1px solid var(--tlx-muted-2, #d9d9d9);background:transparent;color:var(--tlx-text-2);font:inherit;font-size:11px;cursor:pointer}.gate-picker .gate-recent-badge{width:18px;height:18px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;color:#fff;font-size:10px;font-weight:700;text-shadow:0 1px 2px hsl(0,0%,0%,30%)}.gate-picker .gate-recent-item:hover{border-color:var(--tlx-selected);color:var(--tlx-text-1)}.gate-join .gate-creator-row{display:flex;gap:6px}.gate-join .gate-creator-toggle{flex:1 1 auto;min-width:0;height:32px;border-radius:2px;border:1px dashed var(--tlx-divider);background:transparent;color:var(--tlx-text-3);font:inherit;font-size:12px;cursor:pointer}.gate-join .gate-creator-toggle:hover{color:var(--tlx-text-1);border-color:var(--tlx-selected)}.gate-join .gate-new-room{flex:0 0 auto;height:32px;padding:0 12px;border-radius:2px;border:1px solid var(--tlx-selected);background:var(--tlx-selected);color:var(--tlx-selected-contrast);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.gate-join .gate-new-room:hover{filter:brightness(1.1)}.gate-join .gate-creator{display:flex;flex-direction:column;gap:4px;padding:8px 10px 10px;border:1px solid var(--tlx-divider);border-radius:2px}.gate-join .gate-creator label{font-size:11px;color:var(--tlx-text-3)}.gate-join .gate-creator .gate-creator-join{margin-top:4px;width:100%;background:var(--tlx-selected);color:var(--tlx-selected-contrast);font-weight:600}.rb{flex:1 1 auto;min-height:120px;display:flex;flex-direction:column;gap:6px}.rb-tabs{flex:none;display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-muted-2)}.gate-picker .rb-tab{height:20px;padding:0 10px;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-size:11px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.gate-picker .rb-tab:hover{color:var(--tlx-text-1)}.gate-picker .rb-tab.is-on{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.rb-tab-count{font-size:10px;opacity:.75}.rb-head{display:flex;align-items:center;gap:8px}.rb-head-label{flex:none;font-size:11px;color:var(--tlx-text-3)}.rb-head input{flex:1 1 auto;min-width:0;height:28px;padding:0 8px;font-size:12px}.rb-viewtoggle{flex:none;display:flex;border:1px solid var(--tlx-divider);border-radius:2px;overflow:hidden}.gate-picker .rb-reload{flex:none;height:26px;min-width:30px;padding:0 4px;margin-right:4px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-3);font-size:13px;line-height:1;cursor:pointer}.gate-picker .rb-reload:hover{color:var(--tlx-text-1);border-color:var(--tlx-selected)}.gate-picker .rb-hidden-toggle{flex:none;height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-3);font:inherit;font-size:12px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.gate-picker .rb-hidden-toggle:hover:not(:disabled){color:var(--tlx-text-1);border-color:var(--tlx-selected);background:transparent}.gate-picker .rb-hidden-toggle[data-on]{background:var(--tlx-selected);border-color:var(--tlx-selected);color:var(--tlx-selected-contrast)}.gate-picker .rb-hidden-toggle[data-on]:hover:not(:disabled){background:var(--tlx-selected);color:var(--tlx-selected-contrast);filter:brightness(1.06)}.rb-hidden-count{min-width:17px;padding:2px 4px;border-radius:2px;background:var(--tlx-muted-2);color:var(--tlx-text-3);font-size:10.5px;font-weight:600;line-height:1;text-align:center}.gate-picker .rb-hidden-toggle[data-on] .rb-hidden-count{background:#ffffff3d;color:var(--tlx-selected-contrast)}.gate-picker .rb-viewtoggle button,.profile-games .rb-viewtoggle button{height:26px;width:30px;padding:0;border:0;border-radius:0;background:transparent;color:var(--tlx-text-3);font-size:13px;line-height:1;cursor:pointer}.gate-picker .rb-viewtoggle button.is-on,.profile-games .rb-viewtoggle button.is-on{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.rb-empty{margin:0;padding:12px 4px;font-size:12px;color:var(--tlx-text-3)}.rb-table{flex:1 1 auto;min-height:0;overflow-y:auto;border:1px solid var(--tlx-divider);border-radius:2px}.rb-tr{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 8px}.rb-th{position:sticky;top:0;z-index:1;height:30px;background:var(--tlx-panel);border-bottom:1px solid var(--tlx-divider)}.gate-picker .rb-sort,.profile-games .rb-sort{height:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--tlx-text-3);font:inherit;font-size:11px;font-weight:600;text-align:left;cursor:pointer}.gate-picker .rb-sort:hover,.profile-games .rb-sort:hover{color:var(--tlx-text-1)}.profile-games .rb-tr{grid-template-columns:minmax(0,1fr) auto auto}.rb-row{height:38px;cursor:pointer}.rb-row+.rb-tr:not(.rb-details),.rb-row+.rb-details+.rb-tr:not(.rb-details){border-top:1px solid var(--tlx-divider)}.rb-row:hover,.rb-row[data-open]{background:var(--tlx-panel-contrast)}.rb-row:focus-visible{outline:2px solid var(--tlx-selected);outline-offset:-2px}.rb-cell-icon{display:flex;align-items:center}.rb-cell-name{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.rb-cell-players{font-size:11px}.rb-players{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--tlx-text-3);white-space:nowrap}.rb-players[data-live]{padding:1px 7px;border-radius:2px;background:color-mix(in srgb,#43a047 16%,transparent);color:color-mix(in srgb,#2e7d32 78%,var(--tlx-text-1));font-weight:600}.rb-dot{flex:none;width:6px;height:6px;border-radius:2px;background:#43a047}.rb-row[data-unpublished] .rb-cell-name,.rb-card[data-unpublished] .rb-card-name{color:var(--tlx-text-3)}.rb-flag{flex:none;padding:1px 5px;border:1px solid var(--tlx-divider);border-radius:2px;font-size:10px;line-height:14px;font-weight:400;color:var(--tlx-text-3)}.rb-flag-oss{border-color:color-mix(in srgb,#2e7d32 55%,transparent);color:color-mix(in srgb,#2e7d32 80%,var(--tlx-text-1))}.rb-flag-oss-icon{padding:1px 4px;font-size:11px;line-height:12px}.rb-icon{flex:none;display:block;border-radius:2px;object-fit:cover;image-rendering:pixelated}.rb-icon-fallback{display:inline-flex;align-items:center;justify-content:center;color:#ffffffeb;font-weight:700;line-height:1}.gate-picker .rb-join,.rb-modal .rb-join,.profile-games .rb-join{height:26px;padding:0 12px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-low);color:var(--tlx-text-1);font:inherit;font-size:12px;cursor:pointer}.gate-picker .rb-join:hover,.rb-modal .rb-join:hover,.profile-games .rb-join:hover{border-color:var(--tlx-selected);background:var(--tlx-muted-2)}.gate-picker .rb-join-wide,.rb-modal .rb-join-wide,.profile-games .rb-join-wide{width:100%;height:30px}.rb-modal .rb-join-wide{height:36px;font-size:13px}.rb-card-actions{display:flex;align-items:center;gap:6px}.rb-card-actions .rb-join-wide{flex:1 1 auto;width:auto}.rb-card-actions .rb-join-wide.rb-join-wide{width:auto}.gate-picker .rb-heart,.rb-modal .rb-heart{flex:none;width:30px;height:30px;padding:0;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-3);font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.gate-picker .rb-heart:hover:not(:disabled),.rb-modal .rb-heart:hover:not(:disabled){border-color:#d6336c;background:var(--tlx-low);color:#d6336c}.gate-picker .rb-heart[data-on],.rb-modal .rb-heart[data-on]{border-color:#d6336c;color:#d6336c;background:#d6336c1f}.rb-modal-head .rb-heart{width:32px;height:32px;font-size:16px}.gate-picker .rb-card-bare .rb-heart{width:24px;height:20px;font-size:12px}.rb-details{padding:0}.rb-details-body{grid-column:1 / -1;display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;padding:10px;background:var(--tlx-panel-contrast);border-top:1px solid var(--tlx-divider)}.rb-details-img{align-self:start;border-radius:2px;overflow:hidden;background:var(--tlx-panel-contrast);display:flex;align-items:center;justify-content:center}.rb-details-img:has(>img){aspect-ratio:auto}.rb-details-img:not(:has(>img)){height:120px}.rb-details-img img{display:block;max-width:100%;max-height:300px;width:auto;height:auto;image-rendering:pixelated}.rb-details-img-none{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffffeb;font-size:28px;font-weight:700;opacity:.85}.rb-details-text{display:flex;flex-direction:column;gap:6px;min-width:0}.rb-details-desc{margin:0;font-size:12px;line-height:1.45;color:var(--tlx-text-1);overflow-wrap:anywhere}.rb-details-none{color:var(--tlx-text-3);font-style:italic}.rb-details-creator{margin:0;font-size:11px;color:var(--tlx-text-3)}.rb-cards{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:3px;grid-auto-flow:dense;gap:8px;align-content:start}@media(max-width:900px){.rb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.rb-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1400px){.rb-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}.rb-card{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel);cursor:pointer}.rb-card .rb-card-actions{margin-top:auto}.rb-cards .rb-card{justify-content:space-between}.rb-cards .rb-card .rb-card-actions{margin-top:0}.rb-cards .rb-card .rb-card-actions .rb-join-wide{height:20px;padding:0 9px;font-size:11px}.rb-cards .rb-card .rb-card-actions .rb-heart{width:20px;height:20px}.rb-card:hover{border-color:var(--tlx-selected)}.rb-card:focus-visible{outline:2px solid var(--tlx-selected);outline-offset:-2px}.rb-card-head{display:flex;align-items:center;gap:6px;min-width:0}.rb-card-head .rb-card-name{flex:1 1 auto}.rb-card-head>.rb-flag-oss{flex:none;margin-left:auto}.rb-card-name{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;font-size:12.5px;white-space:nowrap}.rb-card-img{position:relative;flex:0 0 auto;aspect-ratio:630 / 500;border-radius:2px;overflow:hidden;background:var(--tlx-panel-contrast);display:flex;align-items:center;justify-content:center}.rb-card-img img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.rb-card-img .rb-heart{position:absolute;top:6px;right:6px;z-index:1}.rb-card-bare{flex-direction:row;align-items:center;gap:8px;padding:7px 8px}.rb-cards .rb-card-bare{grid-row:span 4}.rb-card-bare .rb-card-name{flex:1 1 auto;font-size:11.5px}.rb-card-bare .rb-players,.rb-card-bare .rb-join{flex:none}.rb-card-bare .rb-join{height:20px;padding:0 9px;font-size:11px}@keyframes rb-card-in{0%{opacity:0;transform:translateY(5px)}}.rb-cards .rb-card{animation:rb-card-in .22s cubic-bezier(.2,.7,.3,1) both}.rb-cards .rb-card:nth-child(3n+2){animation-delay:40ms}.rb-cards .rb-card:nth-child(3n+3){animation-delay:80ms}@keyframes rb-spin{to{transform:rotate(360deg)}}.gate-picker .rb-reload[data-busy]{animation:rb-spin .9s linear infinite;opacity:.7}.rb-spinner{flex:none;width:13px;height:13px;margin-left:auto;border:2px solid var(--tlx-divider);border-top-color:var(--tlx-selected);border-radius:50%;animation:rb-spin .8s linear infinite}.rb-head .rb-empty{padding:0}.rb-cards-skel{pointer-events:none}.rb-skel-card{grid-row:span 24}.rb-skel-head{display:flex;align-items:center;gap:6px}.rb-skel{position:relative;overflow:hidden;background:var(--tlx-panel-contrast);border-radius:2px}.rb-skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);animation:rb-skel-sweep 1.3s ease-in-out infinite}@keyframes rb-skel-sweep{to{transform:translate(100%)}}.rb-skel-dot{flex:none;width:20px;height:20px;border-radius:50%}.rb-skel-bar{height:11px}.rb-skel-cover{width:100%;aspect-ratio:630 / 500}@media(prefers-reduced-motion:reduce){.rb-cards .rb-card{animation:none}.gate-picker .rb-reload[data-busy],.rb-spinner{animation-duration:1.6s}.rb-skel:after{animation:none;display:none}}.rb-card-img-none{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffffeb;font-size:28px;font-weight:700;opacity:.85}.rb-card-count{position:absolute;right:4px;bottom:4px;display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:2px;background:#2e7d32;color:#fff;font-size:10px;font-weight:600;line-height:15px;white-space:nowrap}.rb-card-count .rb-dot{width:5px;height:5px;background:#fff;opacity:.9}.rb-card-count:not([data-live]){background:color-mix(in srgb,#000 58%,transparent);color:#ffffffe0;font-weight:500}.rb-modal{width:min(480px,92vw);max-height:92vh;overflow-y:auto;position:relative;gap:12px}.rb-modal-img{margin:-16px -16px 0;overflow:hidden;background:var(--tlx-panel-contrast)}.rb-modal-img:not(:has(>img)){height:160px}.rb-modal-img img{display:block;width:100%;height:auto;max-height:42vh;object-fit:cover;image-rendering:pixelated}.rb-modal .rb-modal-close{position:absolute;top:10px;right:10px;z-index:1;width:28px;height:28px;padding:0;border:0;border-radius:2px;background:#0000008c;color:#fff;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.rb-modal .rb-modal-close:hover:not(:disabled){background:#000000c7;filter:none}.rb-modal-head{display:flex;align-items:center;gap:8px}.rb-modal-head h2{margin:0;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.room-settings-textarea{resize:vertical;min-height:54px;padding:8px 10px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font:inherit;font-size:12px;line-height:1.45}.room-settings-textarea:focus{outline:none;border-color:var(--tlx-selected)}.room-settings-img-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-settings-img-thumb{width:44px;height:44px;border-radius:2px;border:1px solid var(--tlx-divider);object-fit:cover;image-rendering:pixelated;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--tlx-text-3)}.room-settings-img-wide{width:96px;height:54px;object-fit:contain;image-rendering:pixelated}.room-settings-img-none{background:var(--tlx-panel-contrast)}.gate-card button{height:36px;padding:0 12px;border-radius:2px;border:0;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px;font-weight:400;cursor:pointer}.gate-card button.primary{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.gate-card button.primary:hover:not(:disabled){background:var(--tlx-selected);filter:brightness(1.06)}.gate-card button.danger{background:transparent;color:var(--tlx-danger)}.gate-card button.danger:hover:not(:disabled){background:transparent;filter:brightness(1.2);text-decoration:underline}.gate-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tlx-overlay);z-index:2000;display:flex;overflow-y:auto;padding:24px}.gate-modal>.gate-card{margin:auto}.gate-card h2{margin:0;font-size:14px;font-weight:600}.gate-card .row{justify-content:flex-end}.delete-room-card{max-width:400px}.delete-room-card h2{color:#c0392b}.delete-room-warning,.delete-room-note{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:var(--tlx-text-1)}.delete-room-note{color:var(--tlx-text-2)}.delete-room-backup-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 2px;padding:10px;border:1px solid var(--tlx-background);border-radius:2px;background:color-mix(in srgb,var(--tlx-background) 55%,transparent)}.delete-room-confirm{border:0;padding:6px 12px;font:inherit;font-size:12px;color:#fff;background:#c0392b;border-radius:2px;cursor:pointer}.delete-room-confirm:hover{background:#a93226}.color-swatches{display:flex;gap:8px}.color-swatches .swatch{width:36px;height:36px;flex:none;padding:0;border-radius:2px;border:2px solid transparent;background-clip:padding-box;cursor:pointer}.color-swatches .swatch.selected{border-color:var(--tlx-text-1)}.color-swatches .swatch:focus-visible{outline:2px solid var(--tlx-focus);outline-offset:1px}.gate-char .color-swatches{width:100%}.gate-char .color-swatches .swatch{flex:1 1 0;width:auto}.room-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:300}.room-overlay>*{pointer-events:auto}.room-view[data-hide-cursor="1"] .room-overlay>*{cursor:auto}.room-header{position:absolute;top:0;left:0;z-index:310;display:flex;flex-direction:column;align-items:flex-start;color:var(--tlx-text-1);font-size:12px}.room-title-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--tlx-low) 93%,transparent);border-right:2px solid color-mix(in srgb,var(--tlx-low) 93%,transparent);border-bottom:2px solid color-mix(in srgb,var(--tlx-low) 93%,transparent);border-bottom-right-radius:var(--tlx-radius-4)}.room-header:has(.player-status) .room-title-row{border-bottom:0;border-bottom-right-radius:0}.room-header:has(.room-menu-pop){z-index:320}.room-title-row strong{font-weight:600}.room-menu{position:relative}.room-menu-title{border:0;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}button.room-menu-title{gap:6px;padding:3px 5px 3px 10px;border-radius:2px;background:color-mix(in srgb,currentColor 8%,transparent)}button.room-menu-title:hover{background:color-mix(in srgb,currentColor 14%,transparent);text-decoration:none}.room-menu-caret{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:2px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);color:var(--tlx-text-2);background:var(--tlx-background);transition:transform .12s ease}button.room-menu-title[aria-expanded=true] .room-menu-caret{transform:rotate(180deg)}.room-menu-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:240px;max-width:300px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--tlx-low);color:var(--tlx-text-1);border:1px solid var(--tlx-background);border-radius:2px;box-shadow:0 4px 14px #0000002e}.room-menu-item{border:0;background:none;padding:6px 8px;font:inherit;font-size:12px;color:inherit;text-align:left;cursor:pointer;border-radius:2px}.room-menu-pop .room-menu-item{display:flex;align-items:center;gap:8px}.room-menu-ico{flex:none;display:inline-flex;color:var(--tlx-text-2)}.room-menu-item:hover:not(:disabled){background:#7f7f7f2e}.room-menu-item:disabled{opacity:.55;cursor:default}.room-menu-label{margin-top:5px;padding:5px 8px 1px;border-top:1px solid var(--tlx-background);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tlx-text-3);pointer-events:none}button.room-menu-divided{margin-top:5px;border-top:1px solid var(--tlx-background);padding-top:8px;border-radius:0 0 2px 2px}.room-menu-confirm{padding:6px 8px;font-size:11.5px;color:var(--tlx-text-2);border-top:1px solid var(--tlx-background);margin-top:2px}.room-menu-confirm p{margin:0 0 6px}.room-menu-check{display:flex;align-items:flex-start;gap:6px;margin:0 0 6px;cursor:pointer}.room-menu-check input{margin:2px 0 0}.room-menu-confirm-row{display:flex;gap:6px}.room-menu-danger{border:0;padding:5px 10px;font:inherit;font-size:12px;color:#fff;background:#c0392b;border-radius:2px;cursor:pointer}.room-menu-danger:disabled{opacity:.55;cursor:default}.room-menu-note,.room-menu-error{margin:2px 0 0;padding:0 8px 4px;font-size:11px;color:var(--tlx-text-3)}.room-menu-error{color:#c0392b}.room-menu-dims{display:flex;align-items:center;gap:6px;color:var(--tlx-text-2)}.room-menu-dims input{width:64px;padding:4px 6px;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-background);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:2px}.room-settings-card{width:360px;max-width:calc(100vw - 48px);max-height:min(92vh,900px);display:flex;flex-direction:column;gap:10px}.room-settings-head h2{margin:0;font-size:16px;font-weight:600}.room-settings-sub{margin:0;font-size:11.5px;color:var(--tlx-text-3)}.room-settings-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.room-settings-section{margin:12px 0 2px;padding-top:11px;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--tlx-text-3)}.room-settings-body>.room-settings-section:first-child{margin-top:0;padding-top:0;border-top:0}.room-settings-field{display:flex;flex-direction:column;gap:6px;min-width:0}.room-settings-labelrow{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.room-settings-label{font-size:11px;color:var(--tlx-text-3)}.prefs-link.room-settings-help{height:auto;padding:0;border:0;border-radius:0;background:none;font-size:11px;line-height:inherit;margin-left:auto;cursor:pointer;outline:none}@media(min-width:700px){.room-settings-card{width:640px}.room-settings-body{display:grid;grid-template-columns:1fr 1fr;align-content:start;column-gap:20px}.room-settings-wide,.room-settings-section,.room-settings-danger-zone{grid-column:1 / -1}}.room-settings-switch{padding:7px 9px;font:inherit;font-size:12px;text-align:left;cursor:pointer;border-radius:2px;transition:background .15s,border-color .15s}.room-settings-switch.is-on{background:color-mix(in srgb,var(--tlx-success) 26%,var(--tlx-low));border:1px solid color-mix(in srgb,var(--tlx-success) 55%,transparent);color:var(--tlx-text-1)}.room-settings-switch.is-on:hover{background:color-mix(in srgb,var(--tlx-success) 36%,var(--tlx-low))}.room-settings-switch.is-off{background:color-mix(in srgb,var(--tlx-danger) 20%,var(--tlx-low));border:1px solid color-mix(in srgb,var(--tlx-danger) 45%,transparent);color:var(--tlx-text-1)}.room-settings-switch.is-off:hover{background:color-mix(in srgb,var(--tlx-danger) 30%,var(--tlx-low))}.room-settings-seg{display:flex}.room-settings-seg button{flex:1;padding:6px 8px;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-background);border:1px solid color-mix(in srgb,currentColor 20%,transparent);cursor:pointer}.room-settings-seg button+button{margin-left:-1px}.room-settings-seg button:first-child{border-radius:2px 0 0 2px}.room-settings-seg button:last-child{border-radius:0 2px 2px 0}.room-settings-seg button[aria-checked=true]{background:var(--tlx-selected);font-weight:600}.room-settings-toggle{align-self:flex-start;padding:6px 10px;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;cursor:pointer}.room-settings-toggle:hover:not(:disabled){background:var(--tlx-muted-1)}.room-settings-toggle:disabled{opacity:.55;cursor:default}.room-settings-toggle.is-on{border-color:color-mix(in srgb,var(--tlx-success) 55%,transparent);color:var(--tlx-success)}.room-settings-oss-confirm{border:1px solid color-mix(in srgb,#2e7d32 35%,transparent);border-radius:2px;padding:8px 10px}.room-settings-oss-check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--tlx-text-1);margin:8px 0;cursor:pointer}.room-settings-oss-check input{margin-top:2px;accent-color:#2e7d32}.room-settings-oss-row{display:flex;gap:6px;align-items:center}.room-settings-card input{padding:6px 8px;font:inherit;font-size:12.5px;color:var(--tlx-text-1);background:var(--tlx-background);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:2px}.room-settings-pw-row{display:flex;gap:6px}.room-settings-oob-row{display:flex;gap:6px;align-items:center}.room-settings-oob-row input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--tlx-primary, var(--tl-color-primary, #2563eb))}.room-settings-oob-picker{flex:none;width:34px;height:28px;padding:2px;background:var(--tlx-background);border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:2px;cursor:pointer}.room-settings-pw-row input{flex:1;min-width:0}.room-settings-pw-row button{flex:none;border:0;padding:6px 12px;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-selected);border-radius:2px;cursor:pointer}.room-settings-note{margin:0;font-size:11.5px;line-height:1.45;color:var(--tlx-text-3)}.room-settings-error{color:#c0392b}.room-settings-danger-label{padding-top:10px;border-top:1px solid color-mix(in srgb,#c0392b 35%,transparent);color:#c0392b}.room-settings-danger{align-self:flex-start;padding:6px 12px}.conn-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--tlx-text-3)}button.conn-chip{background:none;border:0;padding:1px 4px;margin:-1px -4px;font:inherit;color:inherit;cursor:pointer;border-radius:2px}button.conn-chip:hover{color:var(--tlx-text-1);background:var(--tlx-muted-1)}.conn-caret{font-size:9px;line-height:1;color:var(--tlx-text-3)}.conn-dot{width:7px;height:7px;border-radius:2px;background:var(--tlx-success)}.role-chip{font-size:11px;padding:1px 6px;border-radius:2px;color:var(--tlx-selected);background:color-mix(in srgb,var(--tlx-selected) 12%,transparent)}.role-chip.role-spectator{color:var(--tlx-text-2);background:color-mix(in srgb,var(--tlx-text-2) 10%,transparent)}.player-status{display:flex;align-items:center;gap:8px;padding:6px 12px;background:color-mix(in srgb,var(--tlx-low) 93%,transparent);border-right:2px solid color-mix(in srgb,var(--tlx-low) 93%,transparent);border-bottom:2px solid color-mix(in srgb,var(--tlx-low) 93%,transparent);border-bottom-right-radius:var(--tlx-radius-4);border-top:0;color:var(--tlx-text-1);font-size:12px}.player-dot{width:9px;height:9px;border-radius:2px}.room-back{background:transparent;border:0;color:var(--tlx-text-3);font:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0 2px;border-radius:2px}.room-back:hover{color:var(--tlx-text-1);background:var(--tlx-muted-1)}.player-name{background:transparent;border:0;color:var(--tlx-text-1);font:inherit;font-weight:600;cursor:pointer;padding:0}.player-name:hover{text-decoration:underline}.player-status .pos,.player-status .range{color:var(--tlx-text-3);font-variant-numeric:tabular-nums}.tool-chip{font-size:11px;color:var(--tlx-text-3);background:var(--tlx-muted-1);padding:1px 6px;border-radius:2px;text-transform:capitalize}.tile-widget{display:flex;flex-direction:column;gap:8px}.tile-widget-sub{margin:0;font-size:11px;color:var(--tlx-text-3)}.tile-widget-fields{border:0;padding:0;margin:0;min-width:0;display:contents}.tile-lock{display:inline-flex;align-items:center;gap:4px;flex:none;height:26px;padding:0 6px;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:12px;white-space:nowrap;cursor:pointer}.tile-lock:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.tile-save{flex:none;height:32px;border:none;border-radius:2px;background:var(--tlx-selected);color:var(--tlx-selected-contrast);font-size:12px;font-weight:600;cursor:pointer}.tile-save:hover{filter:brightness(1.06)}.tile-cancel{flex:none;height:32px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:12px;font-weight:600;cursor:pointer}.tile-cancel:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.field-label-row{display:flex;align-items:baseline;justify-content:space-between}.field-label-row .field-label{flex:1}.desc-count{font-size:10px;color:var(--tlx-text-3);font-variant-numeric:tabular-nums}.tile-desc{resize:vertical;min-height:0;padding:6px 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-family:inherit;font-size:12px;line-height:1.4}.tile-desc:focus{outline:none;border-color:var(--tlx-selected)}.tile-color-row{display:flex;align-items:center;gap:8px}.tile-color-row input[type=color]{width:42px;height:36px;padding:2px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);cursor:pointer}.tile-color-row input[type=text]{width:90px;height:36px;padding:0 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-family:ui-monospace,monospace;font-size:12px}.tile-preview{flex:1;height:36px;border-radius:2px;border:1px solid var(--tlx-divider)}.palette-panel{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px}.mode-menu{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:2px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-2);padding:2px;z-index:310;opacity:.85}.mode-menu .tool-btn.locked{opacity:.45}.mode-menu .tool-btn.locked kbd{font-size:9px}@media(pointer:coarse){.mode-menu{bottom:auto;left:auto;top:10px;right:10px}}.room-view .tlui-layout :is(.tlui-main-toolbar,.tlui-navigation-panel,.tlui-page-menu,.tlui-helper-buttons),.room-view .right-sidebar{opacity:.88}.right-sidebar{width:164px;transition:width .18s ease}.right-sidebar[data-view=effects],.right-sidebar[data-view=tags]{width:236px}.right-sidebar[data-view=inspector]{width:296px}.right-sidebar[data-view=tile]{width:264px}.right-sidebar{margin:10px 10px 8px 0;max-height:calc(100% - 18px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-2);pointer-events:all;z-index:312}@media(pointer:coarse){.right-sidebar{margin-top:62px;max-height:calc(100% - 72px)}}.right-sidebar .tlui-style-panel__wrapper{margin:0;background:transparent;box-shadow:none;border-radius:0;max-height:none;overflow:visible}.right-sidebar .tlui-style-panel{width:100%;max-width:100%}@keyframes sidebar-view-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.right-sidebar-tools,.effects-widget,.tags-widget,.tile-widget,.right-sidebar-inspector{min-width:0;animation:sidebar-view-in .16s ease}.right-sidebar .inspector{position:static;width:auto;max-height:none;background:transparent;box-shadow:none;border-radius:0;padding:4px 0 0}.draw-sidebar-grip-row{display:flex;flex:none}.draw-sidebar-grip{display:inline-flex;align-items:center;justify-content:center;padding:2px 0;color:var(--tlx-text-3, #999)}.sidebar-drag-grip:hover{color:var(--tlx-text-2, #666)}.sidebar-effects-btn{flex:none;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:2px;background:var(--tlx-selected);color:var(--tlx-selected-contrast);font-size:12px;font-weight:600;cursor:pointer}.sidebar-effects-btn:hover{filter:brightness(1.06)}.sidebar-effects-btn:disabled{opacity:.45;cursor:default}.sidebar-effects-btn:disabled:hover{filter:none}.sidebar-foot{flex:none;display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:4px;border-top:1px solid var(--tlx-border)}.sidebar-foot-group{display:flex;flex-direction:column;gap:3px}.sidebar-foot-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tlx-text-3);padding:0 2px}.sidebar-foot-btn{height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--tlx-border);border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:12px;font-weight:500;cursor:pointer}.sidebar-foot-btn:hover{background:var(--tlx-hint);color:var(--tlx-text-1)}.sidebar-foot-btn:disabled{opacity:.45;cursor:default}.sidebar-foot-btn:disabled:hover{background:transparent;color:var(--tlx-text-2)}.transparency-card{width:min(880px,94vw);max-height:calc(100vh - 48px);overflow-y:auto}.transparency-head{display:flex;align-items:center;gap:10px}.transparency-head h2{margin:0;flex:none}.transparency-hint{flex:1;min-width:0;font-size:11px;color:var(--tlx-text-3)}.transparency-close{flex:none;width:28px;padding:0;font-size:16px;line-height:1}.transparency-panes{display:flex;gap:12px}.transparency-pane{flex:1 1 0;min-width:0;margin:0;display:flex;flex-direction:column;gap:6px}.transparency-frame{position:relative;height:min(46vh,420px);display:flex;align-items:center;justify-content:center;border-radius:2px;border:1px solid var(--tlx-divider);overflow:hidden;cursor:crosshair;touch-action:none;background:repeating-conic-gradient(var(--tlx-panel-contrast) 0% 25%,var(--tlx-panel) 0% 50%) top left / 16px 16px}.transparency-frame canvas{max-width:100%;max-height:100%;image-rendering:pixelated}.transparency-handle{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:2px;border:2px solid #fff;box-shadow:0 0 0 1.5px #000000bf,inset 0 0 0 1.5px #000000bf;pointer-events:none}.transparency-caption{font-size:11px;color:var(--tlx-text-3)}.transparency-loading{position:absolute;font-size:11px;color:var(--tlx-text-3)}.transparency-error{margin:0;font-size:12px;color:var(--tlx-warning)}.transparency-bar{display:flex;align-items:center;gap:10px}.transparency-swatch{flex:none;width:22px;height:22px;border-radius:2px;border:1px solid var(--tlx-divider)}.transparency-hex{flex:none;min-width:62px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;color:var(--tlx-text-2)}.transparency-tolerance{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tlx-text-2)}.transparency-tolerance input[type=range]{flex:1;min-width:0;margin:0;height:auto;border:0;background:none;padding:0;accent-color:var(--tlx-selected)}.transparency-tolerance output{flex:none;min-width:36px;text-align:right;font-variant-numeric:tabular-nums;color:var(--tlx-text-1)}.transparency-actions{flex:none;display:flex;gap:8px}.effects-widget{display:flex;flex-direction:column;gap:8px}.effects-head{display:flex;align-items:center;gap:2px}.effects-head .sidebar-drag-grip{flex:0 0 auto;align-self:stretch;width:13px;display:inline-flex;align-items:center;justify-content:center;color:var(--tlx-text-3, #999);font-size:9px;letter-spacing:-1px}.effects-head .sidebar-drag-grip:before{content:"⋮⋮"}.effects-back{flex:1;height:26px;min-width:0;display:inline-flex;align-items:center;gap:4px;padding:0 6px;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-1);font-size:13px;font-weight:700;text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap}.effects-back-chev{flex:none;font-size:18px;line-height:1;color:var(--tlx-text-2)}.effects-back:hover{background:var(--tlx-muted-2)}.tags-help{flex:none;width:22px;height:22px;margin-left:4px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tlx-muted-1);border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:12px;font-weight:700;cursor:pointer}.tags-help:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.shader-show{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--tlx-text-1);cursor:pointer}.shader-list{display:grid;grid-template-columns:1fr 1fr;gap:4px}.shader-option{height:30px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-1);font-size:12px;cursor:pointer}.shader-option:hover:not(:disabled){background:var(--tlx-muted-2)}.shader-option:disabled{color:var(--tlx-text-3);cursor:default;opacity:.55}.shader-option.active{background:var(--tlx-selected);color:var(--tlx-selected-contrast);border-color:transparent}.shader-show.shader-content{margin:2px 0}.shader-remove{height:30px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-1);font-size:12px;cursor:pointer}.shader-remove:hover{background:var(--tlx-muted-2);color:var(--tlx-danger)}.shader-search{height:32px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.shader-search:focus{outline:none;border-color:var(--tlx-selected)}.shader-param-filter{width:100%;height:28px;padding:0 8px;margin:2px 0 4px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.shader-param-filter:focus{outline:none;border-color:var(--tlx-selected)}.shader-list{display:flex;flex-direction:column;gap:6px;max-height:264px;overflow-y:auto;padding-right:10px}.shader-group{display:flex;flex-direction:column;gap:2px}.shader-group-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tlx-text-3);padding:0 2px}.shader-row{display:flex;align-items:center;gap:2px}.shader-row .shader-option{flex:1;display:flex;align-items:center;gap:6px;min-width:0;text-align:left}.shader-row .shader-option.has-doc{height:auto;flex-direction:column;align-items:stretch;gap:1px;padding-top:4px;padding-bottom:5px}.shader-doc{font-size:9.5px;line-height:1.3;color:var(--tlx-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shader-row.hl .shader-option:not(.active){background:var(--tlx-muted-2)}.shader-chip{flex:none;font-size:9px;font-weight:600;padding:1px 5px;border-radius:2px;line-height:1.4}.shader-chip.live{color:var(--tlx-selected-contrast);background:var(--tlx-selected);animation:shader-live-pulse 1.6s ease-in-out infinite}@keyframes shader-live-pulse{0%,to{opacity:1}50%{opacity:.45}}.shader-chip.warn{color:var(--tlx-danger)}.shader-chip.ok{margin-left:auto;opacity:.85}.shader-actions{display:inline-flex;gap:2px}.shader-pick{position:relative;margin-bottom:6px}.shader-pick-input{display:flex;align-items:center;gap:4px}.shader-pick-input .shader-search{flex:1;min-width:0;width:100%}.shader-pick-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;display:flex;flex-direction:column;gap:6px;max-height:264px;overflow-y:auto;padding:8px;background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;box-shadow:var(--tlx-shadow-2)}.shader-none{height:28px;border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-1);font-size:12px;cursor:pointer}.shader-none:hover,.shader-none.hl{background:var(--tlx-muted-2)}.shader-act{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-size:12px;cursor:pointer}.shader-act:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.shader-act.danger:hover{color:var(--tlx-danger)}.shader-new{height:30px;border:1px dashed var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-1);font-size:12px;cursor:pointer}.shader-new:hover:not(:disabled){background:var(--tlx-muted-2)}.shader-new:disabled{color:var(--tlx-text-disabled);cursor:default}.shader-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tlx-overlay);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.shader-viewer{width:min(860px,100%);height:min(640px,100%)}.shader-viewer .shader-editor-body{grid-template-columns:minmax(0,1fr) 300px}.shader-viewer-code{flex:1;min-height:0;margin:0;padding:8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-family:var(--tlx-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11px;line-height:1.5;white-space:pre;overflow-wrap:normal;-moz-tab-size:2;tab-size:2;overflow:auto;-webkit-user-select:text;user-select:text}.shader-editor{width:min(1080px,100%);height:min(760px,100%);display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;box-shadow:var(--tlx-shadow-3)}.shader-editor-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px}.shader-editor-main{display:flex;flex-direction:column;gap:6px;min-height:0}.shader-editor-side{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto}.shader-preview-frame{width:100%;aspect-ratio:1;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);overflow:hidden;position:relative}.shader-preview-dock{flex:none;width:100%;display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;box-shadow:var(--tlx-shadow-2);font-size:11px}.shader-editor-actions{flex:none;display:flex;gap:8px;width:100%}.shader-editor-actions button{flex:1;height:34px;padding:0 12px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px;cursor:pointer}.shader-editor-actions button:hover:not(:disabled){background:var(--tlx-muted-2);border-color:var(--tlx-selected)}.shader-editor-actions button.primary{background:var(--tlx-selected);border-color:var(--tlx-selected);color:var(--tlx-selected-contrast);font-weight:600}.shader-editor-actions button.primary:hover:not(:disabled){background:var(--tlx-selected);filter:brightness(1.08)}.shader-editor-actions button:disabled{opacity:.45;cursor:default}.shader-preview-source{display:flex;align-items:center;gap:6px;padding-bottom:5px;border-bottom:1px solid var(--tlx-divider);color:var(--tlx-text-1);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}.shader-preview-source input{margin:0;accent-color:var(--tlx-selected)}.shader-preview-param-head{display:flex;align-items:center;gap:4px}.shader-preview-param-head label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tlx-text-1);font-size:10px}.shader-preview-param-reset{flex:none;width:18px;height:18px;padding:0;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-size:11px;line-height:1;cursor:pointer}.shader-preview-param-reset:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.shader-preview-param .var-slider{width:100%}.shader-preview-frame canvas{width:100%;height:100%;display:block}@media(max-width:900px){.shader-editor{height:auto;max-height:100%}.shader-editor-body{grid-template-columns:1fr;overflow-y:auto}.shader-preview-frame{max-width:300px;margin:0 auto}}.shader-editor header{display:flex;align-items:center;gap:8px}.shader-editor header strong{font-size:14px}.shader-live-note{font-size:11px;color:var(--tlx-selected);margin-right:auto}.shader-editor-close{width:24px;height:24px;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-3);cursor:pointer}.shader-editor-close:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.shader-guide-toggle{border:1px solid var(--tlx-divider);border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:11px;padding:2px 8px;cursor:pointer;white-space:nowrap}.shader-guide-toggle:hover,.shader-guide-toggle.open{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.shader-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;margin:8px 0 12px;padding:10px 12px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);overflow-y:auto;max-height:min(40vh,320px)}.shader-guide h4{margin:6px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--tlx-text-3)}.shader-guide h4:first-child{margin-top:0}.shader-guide p{margin:0 0 6px;font-size:11px;line-height:1.45;color:var(--tlx-text-2)}.shader-guide b{color:var(--tlx-text-1)}.shader-guide code{font-family:var(--tlx-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:10.5px;color:var(--tlx-text-1);background:var(--tlx-muted-1);border-radius:2px;padding:0 3px}.shader-guide-code{margin:0 0 6px;padding:4px 6px;border-radius:2px;background:var(--tlx-muted-1);color:var(--tlx-text-1);font-family:var(--tlx-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:10.5px;white-space:pre;overflow-x:auto}@media(max-width:900px){.shader-guide{grid-template-columns:minmax(0,1fr)}}.shader-editor input[type=text]{height:32px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.shader-editor input[type=text]:focus,.shader-code-wrap:focus-within{outline:none;border-color:var(--tlx-selected)}.shader-code-wrap{position:relative;flex:1;min-height:220px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast)}.shader-code-hl,.shader-code{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:8px;font-family:var(--tlx-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11px;line-height:1.5;white-space:pre;overflow-wrap:normal;-moz-tab-size:2;tab-size:2}.shader-code-hl{overflow:hidden;pointer-events:none;color:var(--tlx-text-1)}.shader-code{border:none;background:transparent;color:transparent;caret-color:var(--tlx-text-1);resize:none;overflow:auto}.shader-code::selection{background:#3182ed38}.tok-comment{color:var(--glsl-comment)}.tok-pre{color:var(--glsl-pre)}.tok-keyword{color:var(--glsl-keyword)}.tok-type{color:var(--glsl-type)}.tok-number{color:var(--glsl-number)}.tok-builtin{color:var(--glsl-builtin)}.tok-uniform{color:var(--glsl-uniform)}.tok-param{color:var(--glsl-param);font-weight:600}.shader-editor-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shader-editor-result{flex:none}.shader-editor-result.ok{font-size:11px;color:var(--tlx-text-3)}.shader-log{margin:4px 0 0;padding:6px 8px;max-height:96px;overflow:auto;background:var(--tlx-panel-contrast);border-radius:2px;color:var(--tlx-danger);font-size:10px;line-height:1.45;white-space:pre-wrap}.tile-shader-canvas{position:absolute;left:0;top:0;pointer-events:none;z-index:1;will-change:transform}.shader-shape-canvas{position:absolute;top:0;left:0;pointer-events:none;z-index:10;transform-origin:0 0}[data-shape-id]:has(>.shader-shape-canvas[data-drawn])>:not(.shader-shape-canvas){visibility:hidden}.tl-container [data-shape-type=draw]>*,.tl-container [data-shape-type=highlight]>*,.tl-container [data-shape-type=text]>*,.tl-container [data-shape-type=image]>*,.tl-container [data-shape-type=curve]>*,.tl-container [data-shape-type=geo]>*,.tl-container [data-shape-type=arrow]>*,.tl-container [data-shape-type=note]>*{opacity:var(--tlx-sketch-fade, 1)}.check-row{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--tlx-text-1);cursor:pointer}.palette-tools{display:flex;align-items:stretch;gap:2px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-2);padding:2px}.palette-sep{width:1px;background:var(--tlx-divider);margin:6px 3px}.tool-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;background:transparent;color:var(--tlx-text-1);height:40px;padding:0 12px;border-radius:2px;font-size:12px;cursor:pointer}.tool-btn:hover{background:var(--tlx-muted-2)}.tool-btn.accent{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.tool-btn.accent:hover{filter:brightness(1.06)}.tool-btn kbd{font-family:inherit;font-size:11px;opacity:.6}.palette-hint{border:none;background:var(--tlx-low);color:var(--tlx-text-3);font-family:inherit;font-size:12px;padding:3px 10px;border-radius:2px;cursor:pointer}.palette-hint:hover{color:var(--tlx-text-1)}.hotbar-slot{position:relative;width:40px;align-self:stretch;min-height:40px;padding:0;border:1px solid var(--tlx-divider);border-radius:2px;cursor:pointer}.hotbar-slot:hover{border-color:var(--tlx-text-3)}.hotbar-slot.active{border-color:var(--tlx-selected);box-shadow:0 0 0 2px var(--tlx-panel),0 0 0 3px var(--tlx-selected);z-index:1}.hotbar-slot.drop-target{border-color:var(--tlx-selected);outline:2px dashed var(--tlx-selected);outline-offset:1px}.hotbar-slot.empty{background:repeating-conic-gradient(var(--tlx-muted-1) 0% 25%,transparent 0% 50%) 0 0 / 10px 10px,var(--tlx-muted-2);border-style:dashed;border-color:var(--tlx-divider)}.sheet-palette{position:fixed;bottom:86px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);padding:10px 12px;z-index:600}.sprite-dock,.tiles-sidebar-panel{opacity:.9;transition:opacity .15s ease}.sprite-dock:hover,.sprite-dock:focus-within,.tiles-sidebar-panel:hover,.tiles-sidebar-panel:focus-within{opacity:1}.sheet-palette.collapsed>:not(header){display:none}.sheet-palette header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--tlx-text-1)}.sprite-panel{width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 170px);overflow-y:auto;gap:10px}.sprite-row{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.sprite-sheet-select{flex:1;min-width:140px;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;padding:4px 6px}.tool-btn.danger:hover{background:var(--tlx-warn, #b3402f);color:#fff}.sprite-work-canvas{display:flex;flex-direction:column;gap:4px;align-items:center}.sprite-canvas-caption{font-size:11px;color:var(--tlx-text-3)}.sheet-picker{position:relative;overflow:hidden;line-height:0;cursor:crosshair;background-image:conic-gradient(var(--tlx-divider) 25%,transparent 0 50%,var(--tlx-divider) 0 75%,transparent 0);background-size:16px 16px;flex:none}.sheet-picker img{display:block;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none}.sheet-picker-world{position:absolute;left:0;top:0;transform-origin:0 0}.sheet-picker-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,var(--tlx-divider) 1px,transparent 1px),linear-gradient(to bottom,var(--tlx-divider) 1px,transparent 1px)}.sheet-picker-hover{position:absolute;pointer-events:none;outline:1px solid var(--tlx-text-2)}.sheet-picker-sel{position:absolute;pointer-events:none;outline:2px solid var(--tlx-accent, #4d7cff);background:color-mix(in srgb,var(--tlx-accent, #4d7cff) 22%,transparent)}.sheet-picker-armed{position:absolute;pointer-events:none;outline:2px dashed var(--tlx-accent, #4d7cff)}.sprite-field{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--tlx-text-2)}.sprite-field.grow{flex:1;min-width:110px}.sprite-field select,.sprite-field input{font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;padding:4px 6px}.sprite-field input[type=number]{width:52px}.sprite-items{display:flex;gap:6px;flex-wrap:wrap}.sprite-item{display:inline-flex;align-items:center;border:1px solid var(--tlx-divider);border-radius:2px;overflow:hidden}.sprite-item.set{border-style:dashed}.sprite-item.armed{border-color:var(--tlx-accent, #4d7cff);box-shadow:0 0 0 1px var(--tlx-accent, #4d7cff)}.sprite-item-main{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:none;border:none;cursor:pointer;font:inherit;font-size:11px;color:var(--tlx-text-1)}.sprite-item-main:hover{background:color-mix(in srgb,var(--tlx-accent, #4d7cff) 10%,transparent)}.sprite-item-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sprite-item-del{border:none;background:none;cursor:pointer;font-size:13px;line-height:1;padding:4px 7px;color:var(--tlx-text-3)}.sprite-item-del:hover{color:#fff;background:var(--tlx-warn, #b3402f)}.sprite-thumb{display:inline-block;background-repeat:no-repeat;image-rendering:pixelated;flex:none}.sprite-thumb.set{width:18px;height:18px;border:2px dotted var(--tlx-accent, #4d7cff);border-radius:2px}.hotbar-slot.sprite-slot{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--tlx-accent, #4d7cff);background:var(--tlx-panel)}.sprite-dock{position:fixed;right:12px;bottom:148px;z-index:600;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);max-width:300px}.sprite-dock .sheet-picker{align-self:center;max-width:100%}.sprite-dock-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.sprite-dock-row select{flex:1;min-width:0;font:inherit;font-size:12px;color:var(--tlx-text-1);background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;padding:3px 6px}.sprite-dock-label{font-size:11px;color:var(--tlx-text-3);min-width:30px}.dock-chip{font:inherit;font-size:11px;color:var(--tlx-text-1);background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:2px;padding:2px 7px;cursor:pointer}.dock-chip:hover{border-color:var(--tlx-accent, #4d7cff)}.dock-chip.active{background:var(--tlx-accent, #4d7cff);border-color:var(--tlx-accent, #4d7cff);color:#fff}.sprite-dock-eyes{display:inline-flex;gap:2px;margin-left:auto}.dock-eye{border:none;background:none;cursor:pointer;font-size:12px;line-height:1;padding:2px 3px;color:var(--tlx-text-1)}.dock-eye.vis-dim{opacity:.55}.dock-eye.vis-off{color:var(--tlx-text-3)}.sprite-dock-caption{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--tlx-text-2)}.sprite-empty{font-size:12px;color:var(--tlx-text-3)}.sheet-grid{display:grid;grid-template-columns:repeat(10,40px);grid-auto-rows:40px;gap:2px;max-height:calc(100vh - 170px);overflow-y:auto}.sheet-palette-hint{margin:0;font-size:11px;color:var(--tlx-text-3)}.sheet-cell{position:relative;padding:0;border:1px solid var(--tlx-divider);border-radius:2px;cursor:pointer}.sheet-cell:hover{border-color:var(--tlx-text-3)}.sheet-cell.active{border-color:var(--tlx-selected);box-shadow:0 0 0 2px var(--tlx-panel),0 0 0 3px var(--tlx-selected);z-index:1}.sheet-cell.drop-target{border-color:var(--tlx-selected);outline:2px dashed var(--tlx-selected);outline-offset:1px;z-index:1}.sheet-cell[draggable=true]{cursor:grab}.sheet-cell[draggable=true]:active{cursor:grabbing}.sheet-cell.empty{background-color:var(--tlx-muted-2);background-image:conic-gradient(var(--tlx-muted-1) 25%,transparent 0 50%,var(--tlx-muted-1) 0 75%,transparent 0);background-size:50% 50%}.sheet-cell.empty:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;display:grid;place-items:center;border:1.5px solid var(--tlx-text-1);border-radius:2px;color:var(--tlx-text-1);font-size:10px;font-weight:700;line-height:1;opacity:0;background:var(--tlx-panel);transition:opacity .1s}.sheet-cell.empty:hover:after{opacity:1}.sheet-lock{position:absolute;right:1px;bottom:1px;color:#1a1a1a;filter:drop-shadow(0 0 1px rgba(255,255,255,.8))}.sheet-palette header .close,.inspector .close{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:0;border-radius:2px;color:var(--tlx-text-3);font-size:16px;cursor:pointer;line-height:1;padding:0}.sheet-palette header .close:hover,.inspector .close:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.inspector{position:absolute;top:62px;right:10px;width:280px;max-height:calc(100vh - 160px);overflow:auto;background:var(--tlx-panel);color:var(--tlx-text-1);border-radius:2px;box-shadow:var(--tlx-shadow-2);padding:12px}.inspector header{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px}.inspector h4{margin:12px 0 6px;font-size:12px;font-weight:400;color:var(--tlx-text-3)}.tile-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swatch-inline{width:13px;height:13px;border-radius:2px;border:1px solid var(--tlx-divider);display:inline-block}.chips{display:inline-flex;gap:4px;flex-wrap:wrap}.chip{font-size:11px;padding:1px 6px;border-radius:2px;background:var(--tlx-muted-1);color:var(--tlx-text-1)}.chip.locked{color:var(--tlx-warning);background:color-mix(in srgb,var(--tlx-warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--tlx-warning) 40%,transparent)}.chip.zone{color:var(--tlx-info);background:color-mix(in srgb,var(--tlx-info) 12%,transparent);border:1px solid color-mix(in srgb,var(--tlx-info) 40%,transparent)}.chip.out{color:var(--tlx-danger);background:color-mix(in srgb,var(--tlx-danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--tlx-danger) 40%,transparent)}.chip.tag button{background:transparent;border:0;color:inherit;cursor:pointer;padding:0 0 0 4px}.tag-row{display:flex;gap:4px;flex-wrap:wrap}.tags-clip-row{align-items:center;margin-bottom:6px}.tag-clip-actions{display:inline-flex;gap:2px}.tag-clip-actions .tool-btn{height:26px;padding:0 8px;font-size:11px;gap:4px}.tag-add{display:flex;gap:5px;margin-top:6px}.tag-add input{flex:1;min-width:0;height:36px;padding:0 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.tag-add input:focus,.inspector input:focus,.inspector textarea:focus{outline:none;border-color:var(--tlx-selected)}.tag-add button,.inspector .row button{height:36px;padding:0 12px;border-radius:2px;border:0;cursor:pointer;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px}.tag-add button:hover:not(:disabled),.inspector .row button:hover:not(:disabled){background:var(--tlx-muted-2)}.inspector button.primary{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.inspector button.primary:hover:not(:disabled){filter:brightness(1.06)}.inspector button.danger{background:var(--tlx-danger);color:var(--tlx-selected-contrast)}.inspector button.danger:hover:not(:disabled){filter:brightness(1.06)}.inspector button:disabled,.gate-card button:disabled{color:var(--tlx-text-disabled);background:var(--tlx-low);filter:none;cursor:default}.var-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0}.var-row label{color:var(--tlx-text-1)}.var-row .var-value{min-width:84px;text-align:right;color:var(--tlx-text-1);font-size:12px;font-variant-numeric:tabular-nums}.var-row input[type=number],.var-row input[type=text]{width:84px;height:32px;padding:0 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.var-row select,.shader-preview-param select{width:84px;height:32px;padding:0 4px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px}.var-row select:disabled,.shader-preview-param select:disabled{color:var(--tlx-text-disabled)}.var-row input[type=checkbox],.shader-preview-param input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--tlx-selected)}.var-row input[type=color],.shader-preview-param input[type=color]{width:84px;height:28px;padding:2px;box-sizing:border-box;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);cursor:pointer}.shader-preview-param input[type=color]{width:100%}.inspector input[type=checkbox]{accent-color:var(--tlx-selected)}.var-slider{display:flex;align-items:center;gap:8px;width:140px}.var-slider input[type=range]{flex:1;min-width:0;margin:0;accent-color:var(--tlx-selected)}.var-slider input[type=range]:disabled{opacity:.45;cursor:not-allowed}.var-slider-value,.var-slider-edit{width:46px;height:18px;box-sizing:border-box;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--tlx-text-1)}.var-slider-value{min-width:0;padding:0;border:1px solid transparent;background:none;font-family:inherit;cursor:text}.var-slider-value:disabled{opacity:.45;cursor:not-allowed}.var-slider-edit{padding:0 4px;background:var(--tlx-panel-contrast);border:1px solid var(--tlx-selected);border-radius:2px}.inspector textarea,.inspector input[type=text]#marker-label{width:100%;padding:7px 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font:inherit;resize:vertical}.marker-label-row{display:flex;align-items:center;gap:7px}.marker-label-row>input[type=text]{flex:1;min-width:0}.marker-label-row .read-slider{width:64px;flex:none;margin:0;accent-color:var(--tlx-selected)}.marker-label-row .read-value{flex:none;min-width:16px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--tlx-text-1)}.counter{text-align:right;font-size:10px;color:var(--tlx-text-3);margin-top:2px}.row{display:flex;gap:8px;margin-top:8px}.reason{margin:8px 0 0;font-size:11px;color:var(--tlx-danger)}.owner-line{margin:2px 0;color:var(--tlx-text-3)}.meta-line{margin:4px 0 0;font-size:11px;color:var(--tlx-text-3)}.meta-line .docs-link{color:var(--tlx-text-2);text-decoration:underline;text-underline-offset:2px}.meta-line .docs-link:hover{color:var(--tlx-text-1)}.field-label{display:block;font-size:12px;color:var(--tlx-text-3);margin:10px 0 4px}.inspector select{width:100%;padding:6px 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font:inherit}.check-row{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:12px;color:var(--tlx-text-1);cursor:pointer;-webkit-user-select:none;user-select:none}.check-row input{accent-color:var(--tlx-primary));margin:0}.toast-stack{position:absolute;bottom:96px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;z-index:60}[data-room=qweasd] .toast-stack{bottom:190px}[data-room=vine] .toast-stack{bottom:224px}.toast{background:var(--tlx-panel);color:var(--tlx-text-1);border-left:3px solid var(--tlx-info);padding:8px 12px;border-radius:2px;box-shadow:var(--tlx-shadow-2);overflow:hidden;max-width:min(70vw,340px);font-size:12px}.toast.error{border-left-color:var(--tlx-danger)}.toast.info{border-left-color:var(--tlx-info)}.toast.win{border-left-color:#f0b429}.tilemap-root{position:relative;width:100%;height:100%;pointer-events:none}.tile{position:relative;--seam: calc(-1px/min(var(--cam-z), 1)) ;margin:0 var(--seam) var(--seam) 0}.tile.locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--tlx-warning) 22%,transparent) 0 5px,transparent 5px 11px)}.tile.zoned{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--tlx-info) 26%,transparent) 0 6px,transparent 6px 14px)}.tile.selected{outline:3px solid var(--tlx-selected);outline-offset:-3px}.tile-hover{position:absolute;box-sizing:border-box;border:2px solid var(--tlx-selected);border-radius:2px;pointer-events:none;z-index:3}.tile-rect-preview{position:absolute;box-sizing:border-box;border:2px solid var(--tlx-selected);border-radius:2px;pointer-events:none;z-index:2}.tile-hover.denied{border:2px dashed var(--tlx-warning);background:none}.tl-shape.tlx-media-pixelated :is(img,video){image-rendering:pixelated}.tl-shape.tlx-media-smooth :is(img,video){image-rendering:auto}.avatar-root{position:relative;width:100%;height:100%;pointer-events:none;transition:opacity 1.2s ease}.avatar-root[data-idle="1"]{opacity:var(--player-idle-opacity, .4)}.avatar-root[data-on-grid="1"]{opacity:.8}.avatar-token.grid-quiet>span{display:none}.avatar-token{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68%;height:68%;border-radius:2px;border:3px solid rgba(255,255,255,.92);box-shadow:0 2px 8px #0006;display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:transform 90ms linear;will-change:transform}.avatar-token.body-square{border-radius:2px}.avatar-token.body-circle{background:transparent!important;border:none;box-shadow:none}.avatar-token.body-squircle{border-radius:2px}.avatar-token.body-triangle{background:transparent!important;border:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}.avatar-token .ship-body{display:none}.avatar-token.body-triangle .ship-body{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.avatar-token.body-triangle .ship-body path{fill:var(--ship-fill, #6b7280);stroke:#ffffffeb;stroke-width:6;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke}.avatar-token.body-triangle span{display:none}.avatar-token.body-kart{background:transparent!important;border:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}.avatar-token .kart-body{display:none}.avatar-token.body-kart .kart-body{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.avatar-token.body-kart .kart-chassis{fill:var(--ship-fill, #6b7280);stroke:#ffffffeb;stroke-width:6;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke}.avatar-token.body-kart .kart-wheel{fill:#272e3b;stroke:#ffffffeb;stroke-width:5;stroke-linejoin:round;paint-order:stroke}.avatar-token.body-kart .kart-glass{fill:#ffffff8c;stroke:#ffffffeb;stroke-width:3;stroke-linejoin:round;paint-order:stroke}.avatar-token.body-kart span{display:none}.avatar-token .avatar-face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));transition:transform 90ms linear;will-change:transform;pointer-events:none}.avatar-token .avatar-face[data-imperative="1"]{transition:none}.avatar-token.body-square .avatar-face,.avatar-token.body-squircle .avatar-face,.avatar-token.body-triangle .avatar-face,.avatar-token.body-kart .avatar-face{display:none}.avatar-token span{position:relative}.avatar-name{position:absolute;left:50%;top:100%;transform-origin:top center;margin-top:2px;max-width:260px;overflow:hidden;text-overflow:ellipsis;background:#0a0c1047;color:var(--tlx-panel);border:none;border-radius:3px;text-shadow:0 1px 2px rgba(0,0,0,.55);font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1.5;padding:0 4px;white-space:nowrap;pointer-events:none}:root[data-theme=dark] .avatar-name,.tl-theme__dark .avatar-name{color:#e9e9ed}.avatar-held{position:absolute;left:50%;top:50%;width:0;height:0;transform-origin:0 0;pointer-events:none;will-change:transform;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.avatar-held-art{position:absolute;left:0;top:0;display:block}.avatar-held-img{display:block}.avatar-held-emoji{display:block;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.5)}.avatar-attrs{position:absolute;left:50%;top:6%;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;pointer-events:none}.avatar-attr-track{height:5px;border-radius:3px;background:#0a0c108c;overflow:hidden;box-shadow:0 0 0 1px #ffffff40}.avatar-attr-fill{height:100%;border-radius:3px;transition:width .15s linear}.marker-root{position:relative;width:100%;height:100%;pointer-events:none}.marker-label-layer{position:absolute;left:0;top:0;width:0;height:0;z-index:1000000;pointer-events:none}.marker-pin{position:absolute;left:50%;top:12%;transform:translate(-50%);width:55%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));transition:opacity .15s}.marker-root:not(.readable) .marker-pin{opacity:.55;filter:grayscale(.7) drop-shadow(0 2px 3px rgba(0,0,0,.35))}.marker-locked{position:absolute;left:50%;bottom:4px;transform:translate(-50%);width:15px;height:15px;display:grid;place-items:center;background:var(--tlx-tooltip));color:var(--tlx-panel));font-size:9px;font-weight:700;border-radius:2px}.marker-label{position:absolute;left:50%;bottom:2px;transform:translate(-50%);background:var(--tlx-tooltip));color:var(--tlx-panel));font-size:10px;padding:1px 7px;border-radius:2px;white-space:nowrap;max-width:160%;overflow:hidden;text-overflow:ellipsis}.marker-dot{position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);border-radius:2px;background:#fff;border:1.5px solid rgba(0,0,0,.45);box-shadow:0 1px 3px #00000059}.marker-border{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:4px solid currentColor;border-radius:2px;box-shadow:0 0 6px #00000040,inset 0 0 6px #00000026}.marker-root.style-hidden{display:none}.marker-ghost-box{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:2px dashed color-mix(in srgb,currentColor 55%,transparent);border-radius:2px;background:color-mix(in srgb,currentColor 8%,transparent)}.marker-pad{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.marker-root.pad .marker-pin{left:50%;top:50%;transform:translate(-50%,-50%);width:24%;max-width:56px}.marker-pad-surface{position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:2px;background:color-mix(in srgb,currentColor 22%,transparent);border:2px dashed color-mix(in srgb,currentColor 65%,transparent);box-shadow:inset 0 0 18px color-mix(in srgb,currentColor 35%,transparent),0 0 10px color-mix(in srgb,currentColor 25%,transparent)}.marker-pad-ring{position:absolute;top:14%;right:14%;bottom:14%;left:14%;border-radius:2px;border:2px solid color-mix(in srgb,currentColor 55%,transparent);animation:marker-pad-pulse 2.4s ease-in-out infinite}@keyframes marker-pad-pulse{0%,to{transform:scale(.92);opacity:.55}50%{transform:scale(1.04);opacity:1}}.pad-field-row{display:flex;flex-direction:column;gap:3px;margin-top:8px}.pad-field-row>label{font-size:11px;color:var(--tlx-text-2))}.pad-pair{display:flex;align-items:center;gap:6px}.pad-pair input{width:72px}.conn-dot-connecting{background:var(--tlx-warning, hsl(38, 90%, 46%))}.conn-dot-offline{background:var(--tlx-text-3)}.presence-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:200}.presence-cursor{position:absolute;top:0;left:0;will-change:transform;display:grid;justify-items:start}.presence-arrow{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.presence-flag{margin:-2px 0 0 12px;padding:1px 7px 2px;background:color-mix(in srgb,var(--peer-color, #6b7280) 50%,transparent);color:#fff;font-size:11px;font-weight:600;line-height:1.4;border-radius:2px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.55)}.host-chip{display:inline-block;margin-left:4px;padding:0 3px;border-radius:3px;background:#0000002e;color:#e3c27c;font-size:8px;font-weight:600;letter-spacing:.03em;line-height:1.5;vertical-align:1px;text-shadow:none;box-shadow:none}.player-status .host-chip{background:#0000008c}.peer-chip{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:11px;color:var(--tlx-text-3);background:none;border:0;border-left:1px solid var(--tlx-hint);padding:0 0 0 8px;cursor:pointer}.peer-chip:hover{color:var(--tlx-text-1);text-decoration:underline}.peer-chip-more{color:var(--tlx-text-3);font-variant-numeric:tabular-nums}.peer-chip-more:hover{text-decoration:none;color:var(--tlx-text-1)}.peer-chip-static{cursor:default}.peer-chip-static:hover{color:var(--tlx-text-3);text-decoration:none}.prefs-link{border:0;background:none;padding:0;font:inherit;font-size:11px;color:var(--tlx-text-3);cursor:pointer}.prefs-link:hover{color:var(--tlx-text-1);text-decoration:underline}.prefs-gear,.fs-ico{display:block;margin-top:1px}.prefs-link:hover :is(.prefs-gear,.fs-ico){color:var(--tlx-text-1)}.prefs-card{width:min(340px,90vw);max-height:min(92vh,900px);display:flex;flex-direction:column;gap:10px}.prefs-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.prefs-field{display:flex;flex-direction:column;gap:6px;min-width:0}@media(min-width:700px){.prefs-card{width:640px}.prefs-body{display:grid;grid-template-columns:1fr 1fr;align-content:start;column-gap:20px}.prefs-wide{grid-column:1 / -1}}.prefs-opacity-row{display:flex;align-items:center;gap:10px}.prefs-opacity-row input[type=range]{flex:1;min-width:0;margin:0;accent-color:var(--tlx-selected)}.prefs-opacity-row output{min-width:32px;text-align:right;font-size:12px;color:var(--tlx-text-1);font-variant-numeric:tabular-nums}.prefs-opacity-keys{display:flex;justify-content:space-between;margin-top:-4px}.prefs-opacity-keys button{border:0;background:none;padding:0;font:inherit;font-size:11px;color:var(--tlx-text-3);cursor:pointer}.prefs-opacity-keys button:hover{color:var(--tlx-text-1)}.prefs-grid-styles{display:flex;gap:6px}.prefs-grid-styles button{flex:1;height:32px;padding:0 8px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px;cursor:pointer}.prefs-grid-styles button:hover{background:var(--tlx-muted-2)}.prefs-grid-styles button.accent{border-color:var(--tlx-selected);color:var(--tlx-selected);background:color-mix(in srgb,var(--tlx-selected) 12%,transparent)}.prefs-keys{display:flex;flex-direction:column;gap:4px}.prefs-key-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.prefs-key-name{font-size:12px;color:var(--tlx-text-1)}.prefs-key-chips{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.prefs-key-chip-wrap{display:inline-flex;align-items:center}.prefs-key-chip{min-width:40px;height:24px;padding:0 7px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font:inherit;font-size:11px;cursor:pointer}.prefs-key-chip:hover{background:var(--tlx-muted-2)}.prefs-key-chip.add{color:var(--tlx-text-3);border-style:dashed}.prefs-key-chip.capturing{border-color:var(--tlx-selected);color:var(--tlx-selected)}.prefs-key-unbind{border:0;background:none;padding:0 3px;font:inherit;font-size:12px;line-height:1;color:var(--tlx-text-3);cursor:pointer}.prefs-key-unbind:hover{color:var(--tlx-text-1)}.prefs-keys-reset{align-self:flex-start;border:0;background:none;padding:2px 0;font:inherit;font-size:11px;color:var(--tlx-text-3);cursor:pointer}.prefs-keys-reset:hover:not(:disabled){color:var(--tlx-text-1)}.prefs-keys-reset:disabled{opacity:.45;cursor:default}.prefs-keys-note{margin:2px 0 0;font-size:11px;color:var(--tlx-text-3)}.tile-grid{position:relative;--cam-z: 1;z-index:0;--dot: clamp(calc(4px / var(--cam-z)), 4px, calc(8px / var(--cam-z)));--grid-line: clamp(calc(2px / var(--cam-z)), 2px, calc(4px / var(--cam-z)));--grid-gray: rgba(130, 130, 130, .95);--grid-gray-invert: rgba(240, 240, 240, .95)}.tile-grid[data-grid=dots]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at 0 0,var(--grid-gray) calc(var(--dot) / 2 - .5px),transparent calc(var(--dot) / 2 + .5px));background-size:var(--ts) var(--ts)}.tile-grid[data-grid=lines]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:linear-gradient(to bottom,var(--grid-gray) 0 var(--grid-line),transparent var(--grid-line)),linear-gradient(to right,var(--grid-gray) 0 var(--grid-line),transparent var(--grid-line));background-size:var(--ts) var(--ts)}.tile-grid[data-grid=lines]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:linear-gradient(var(--grid-gray),var(--grid-gray)),linear-gradient(var(--grid-gray),var(--grid-gray));background-size:var(--grid-line) 100%,100% var(--grid-line);background-position:100% 0,0 100%;background-repeat:no-repeat}.tile-grid[data-grid=dots] .tile.dark:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at 0 0,var(--grid-gray-invert) calc(var(--dot) / 2 - .5px),transparent calc(var(--dot) / 2 + .5px));background-repeat:no-repeat}.tlui-style-panel .tlui-grid [data-id^=custom]{display:none}.tlui-style-panel .tlui-grid [data-id=wall] .tlui-icon,.tlui-style-panel .tlui-grid [data-id=bouncywall] .tlui-icon{-webkit-mask:none!important;mask:none!important;border-radius:2px}.custom-color-row{display:grid;grid-template-columns:repeat(4,1fr);padding:2px;margin-top:8px}.custom-color-field{position:relative;aspect-ratio:1;margin:3px;padding:0;border:1px dashed var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);cursor:pointer;display:flex;align-items:center;justify-content:center}.custom-color-field[data-active]{outline:2px solid var(--tlx-selected);outline-offset:1px}.custom-color-field .custom-color-swatch{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid var(--tlx-divider)}.custom-color-field .custom-color-empty{color:var(--tlx-text-3);font-size:16px;line-height:1;-webkit-user-select:none;user-select:none}.custom-color-picker-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.tl-rich-text-wrapper.tl-text__outline,.tl-rich-text-wrapper.tl-text__no-outline{text-shadow:none;-webkit-text-stroke:var(--tlx-text-outline, .16em) var(--tlx-canvas-outline);paint-order:stroke fill}.tl-rich-text,.tl-rich-text-wrapper{font-synthesis-style:none}.text-outline-row{display:grid;grid-template-columns:repeat(4,1fr);padding:2px;margin-top:8px}.text-outline-field{position:relative;aspect-ratio:1;margin:3px;padding:0;overflow:hidden;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-outline-preview-bg, hsl(220 13% 73%));cursor:pointer}.text-outline-field[data-active]{outline:2px solid var(--tlx-selected);outline-offset:1px}.text-outline-glyph{position:absolute;right:1px;bottom:-10px;font-size:76px;font-weight:800;line-height:1;color:var(--tlx-text-1);-webkit-text-stroke:0 var(--tlx-background);paint-order:stroke fill;-webkit-user-select:none;user-select:none;pointer-events:none}.text-outline-field[data-step=s] .text-outline-glyph{-webkit-text-stroke-width:3px}.text-outline-field[data-step=m] .text-outline-glyph{-webkit-text-stroke-width:6px}.text-outline-field[data-step=l] .text-outline-glyph{-webkit-text-stroke-width:10px}.fps-counter{position:fixed;right:10px;bottom:10px;z-index:310;cursor:pointer;padding:2px 8px;border-radius:2px;background:color-mix(in srgb,var(--tlx-panel) 58%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--tlx-shadow-2);color:var(--tlx-text-3);font-family:ui-monospace,monospace;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums;white-space:nowrap}@media(pointer:coarse){.fps-counter{font-size:8.5px;padding:1px 5px}}.hud-br-stack{position:fixed;right:10px;bottom:10px;z-index:310;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.hud-br-stack .fps-counter{position:static}.joystick-zone{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:2px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.joystick-zone.joystick-half{width:50%}.joystick-base{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:14px;border:2px solid color-mix(in srgb,var(--tlx-text-3) 60%,transparent);background:color-mix(in srgb,var(--tlx-panel) 45%,transparent);box-shadow:var(--tlx-shadow-2);opacity:0;transition:opacity .12s ease;pointer-events:none}.joystick-zone[data-active=true] .joystick-base{opacity:1}.joystick-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:10px;background:color-mix(in srgb,var(--tlx-text-3) 55%,transparent);border:2px solid color-mix(in srgb,var(--tlx-text-1) 65%,transparent);pointer-events:none}.joystick-knob[data-sprint]{background:color-mix(in srgb,var(--tlx-text-1) 70%,transparent)}.joystick-zone[data-axis=x] .joystick-base,.joystick-zone[data-axis=y] .joystick-base{border-radius:18px}.joystick-zone[data-axis=x] .joystick-base{width:200px;margin-left:-100px}.joystick-zone[data-axis=y] .joystick-base{height:200px;margin-top:-100px}.zone-stick-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:24}.joystick-zone.zone-stick{position:absolute;width:0;height:0;overflow:visible}.joystick-pin{position:absolute;left:90px;top:calc(100% - 170px);width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:8px;border:1px solid color-mix(in srgb,var(--tlx-text-1) 38%,transparent);background:color-mix(in srgb,var(--tlx-panel) 72%,transparent);color:var(--tlx-text-1);box-shadow:var(--tlx-shadow-2);touch-action:none;user-select:none;-webkit-user-select:none;z-index:25;opacity:0;pointer-events:none;transition:opacity .12s ease}.joystick-zone[data-active=true] .joystick-pin,.joystick-zone[data-fixed=true] .joystick-pin{opacity:1;pointer-events:auto}.joystick-zone[data-fixed=true] .joystick-base{opacity:1}.joystick-pin[data-on=true] svg path:last-child{fill:currentColor}.plat-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:26}.plat-cluster-left{position:absolute;left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));display:flex;gap:0;pointer-events:auto;touch-action:none;box-shadow:var(--tlx-shadow-2)}.plat-btn{width:72px;height:72px;border:1px solid color-mix(in srgb,var(--tlx-text-1) 38%,transparent);background:color-mix(in srgb,var(--tlx-panel) 72%,transparent);color:var(--tlx-text-1);font-size:26px;font-weight:700;display:grid;place-items:center;box-shadow:var(--tlx-shadow-2);touch-action:none;user-select:none;-webkit-user-select:none}.plat-btn:active{background:color-mix(in srgb,var(--tlx-text-1) 55%,transparent);color:var(--tlx-panel, #fff)}.plat-dir{border-radius:0}.plat-cluster-left .plat-dir:first-child{border-radius:2px 0 0 2px}.plat-cluster-left .plat-dir:last-child{border-radius:0 2px 2px 0;border-left:none}.plat-jump{position:absolute;right:calc(22px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:88px;height:88px;font-size:34px;pointer-events:auto}.room-settings-seg{display:flex;flex-wrap:wrap;gap:6px}.room-settings-seg-btn{padding:6px 10px;border-radius:2px;border:1px solid color-mix(in srgb,var(--tlx-text-3) 55%,transparent);background:color-mix(in srgb,var(--tlx-panel) 55%,transparent);color:var(--tlx-text-1);font-size:12px;cursor:pointer}.room-settings-seg-btn.on{background:color-mix(in srgb,var(--tlx-text-1) 60%,transparent);color:var(--tlx-panel, #fff);border-color:transparent}.controls-workspace{min-height:480px}.controls-seg{padding:4px 10px}.controls-tap-btn{margin:8px 10px 0;display:block;width:calc(100% - 20px)}.controls-pad-head{margin-top:10px}.controls-pad-list{max-height:42vh;overflow:auto;padding:0 6px 6px}.controls-pad-row{border:1px solid color-mix(in srgb,var(--tlx-text-3) 30%,transparent);border-radius:2px;margin:4px 2px;padding:2px}.controls-pad-row.on{border-color:color-mix(in srgb,var(--tlx-text-1) 55%,transparent)}.controls-pad-row .race-row{width:100%;text-align:left}.controls-pane{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;position:relative}.controls-stage{position:relative;flex:0 0 auto}.controls-frame{position:absolute;top:0;left:0;transform-origin:top left;border-radius:18px;border:2px solid color-mix(in srgb,var(--tlx-text-3) 60%,transparent);background:repeating-conic-gradient(color-mix(in srgb,var(--tlx-panel) 7%,transparent) 0% 25%,transparent 0% 50%) 0 0 / 28px 28px,color-mix(in srgb,var(--tlx-panel) 30%,#0b0e12);box-shadow:var(--tlx-shadow-2);overflow:hidden;touch-action:none}.controls-frame .joystick-zone,.controls-frame .zone-stick-layer,.controls-frame .plat-controls,.controls-frame .touch-zoom{position:absolute}.touch-zoom[data-dock=lifted]{bottom:calc(348px + env(safe-area-inset-bottom))}.controls-map{position:absolute;border:1px dashed color-mix(in srgb,var(--tlx-text-3) 55%,transparent);background:color-mix(in srgb,var(--tlx-text-3) 8%,transparent)}.controls-map-label{position:absolute;left:6px;top:4px;font-size:11px;color:color-mix(in srgb,var(--tlx-text-3) 85%,transparent);white-space:nowrap}.controls-outline{position:absolute;border:1.5px solid color-mix(in srgb,#4cc2ff 75%,transparent);background:color-mix(in srgb,#4cc2ff 12%,transparent);pointer-events:none}.controls-outline span{position:absolute;left:4px;top:-18px;font-size:11px;color:#4cc2ff;white-space:nowrap}.controls-outline.on{border-color:#ffd54a;background:color-mix(in srgb,#ffd54a 14%,transparent)}.controls-outline.on span{color:#ffd54a}.controls-size-tag{position:absolute;right:8px;top:6px;font-size:11px;color:color-mix(in srgb,var(--tlx-text-3) 85%,transparent);background:color-mix(in srgb,var(--tlx-panel) 55%,transparent);padding:1px 6px;border-radius:2px;z-index:40}.controls-grip{position:absolute;right:0;bottom:0;width:26px;height:26px;cursor:nwse-resize;touch-action:none;z-index:41;background:linear-gradient(135deg,transparent 0 50%,color-mix(in srgb,var(--tlx-text-3) 70%,transparent) 50% 55%,transparent 55% 65%,color-mix(in srgb,var(--tlx-text-3) 70%,transparent) 65% 70%,transparent 70% 80%,color-mix(in srgb,var(--tlx-text-3) 70%,transparent) 80% 85%,transparent 85%)}.controls-presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.touch-action-stack{position:absolute;right:calc(22px + env(safe-area-inset-right));bottom:calc(348px + env(safe-area-inset-bottom));display:grid;gap:12px;justify-items:stretch;z-index:30;pointer-events:auto;touch-action:none}.touch-action-stack[data-dock=corner]{bottom:calc(128px + env(safe-area-inset-bottom))}.touch-action-stack .touch-action-btn[data-ready=false]{opacity:.45;filter:saturate(.4)}.touch-action-stack .touch-action-btn{position:static;transform:none}.touch-action-word{width:auto;min-width:52px;height:36px;padding:0 10px;font-size:13px;font-weight:600}.touch-action-word .chip-label{display:inline-flex;align-items:center;gap:6px}.touch-action-word .chip-icon{display:inline-flex;flex:none;color:var(--tlx-text-1)}.touch-action-word .chip-icon svg{display:block}.touch-action-word .chip-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:3px}.touch-action-btn.touch-action-mini{min-width:0;width:28px;height:28px;padding:0;justify-self:end}.touch-action-mini .chip-label{display:inline-flex;align-items:center;justify-content:center}.touch-action-mini .chip-icon{display:inline-flex;color:var(--tlx-text-1)}.movable-ctl{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.movable-inner{display:contents}.movable-ctl.arranging .movable-inner>*{pointer-events:none!important}.movable-plate{position:absolute;border:2px dashed #4cc2ff;background:color-mix(in srgb,#4cc2ff 10%,transparent);border-radius:6px;pointer-events:auto;touch-action:none;cursor:move;z-index:60}.touch-dpad,.plat-controls,.touch-zoom,.touch-action-btn,.touch-action-stack,.touch-drive{transform:translate(var(--ctl-dx, 0px),var(--ctl-dy, 0px))}.look-zone{left:auto;top:calc(64px + env(safe-area-inset-top));right:0;bottom:0;width:50%;height:auto;border-radius:0}.touch-dpad{left:calc(10px + env(safe-area-inset-left));right:auto;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));width:168px;height:168px;pointer-events:auto}.dpad-grid{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:150px;height:150px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border-radius:2px;background:color-mix(in srgb,var(--tlx-panel) 45%,transparent);border:2px solid color-mix(in srgb,var(--tlx-text-3) 60%,transparent);box-shadow:var(--tlx-shadow-2);pointer-events:none}.dpad-arm{display:grid;place-items:center;font-size:18px;color:color-mix(in srgb,var(--tlx-text-3) 75%,transparent);border-radius:2px}.touch-dpad[data-dir=up] .dpad-arm[data-dir=up],.touch-dpad[data-dir=left] .dpad-arm[data-dir=left],.touch-dpad[data-dir=right] .dpad-arm[data-dir=right],.touch-dpad[data-dir=down] .dpad-arm[data-dir=down]{background:color-mix(in srgb,var(--tlx-text-1) 55%,transparent);color:var(--tlx-panel, #fff)}.touch-action-btn{position:absolute;right:calc(22px + env(safe-area-inset-right));bottom:calc(128px + env(safe-area-inset-bottom));width:64px;height:64px;border-radius:2px;border:1px solid color-mix(in srgb,var(--tlx-text-1) 38%,transparent);background:color-mix(in srgb,var(--tlx-panel) 72%,transparent);color:var(--tlx-text-1);font-size:22px;font-weight:700;display:grid;place-items:center;box-shadow:var(--tlx-shadow-2);touch-action:none;user-select:none;-webkit-user-select:none;z-index:30;pointer-events:auto}.touch-action-btn:active{background:color-mix(in srgb,var(--tlx-text-1) 55%,transparent);color:var(--tlx-panel, #fff)}.touch-zoom{position:absolute;right:calc(22px + env(safe-area-inset-right));bottom:calc(212px + env(safe-area-inset-bottom));display:grid;gap:0;z-index:30;pointer-events:auto;touch-action:none;box-shadow:var(--tlx-shadow-2)}.touch-zoom-btn{width:44px;height:44px;border:1px solid color-mix(in srgb,var(--tlx-text-1) 38%,transparent);background:color-mix(in srgb,var(--tlx-panel) 72%,transparent);color:var(--tlx-text-1);font-size:20px;font-weight:700;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none}.touch-zoom-btn:first-child{border-radius:2px 2px 0 0}.touch-zoom-btn:last-child{border-radius:0 0 2px 2px;border-top:none}.touch-zoom-btn:active{background:color-mix(in srgb,var(--tlx-text-1) 55%,transparent);color:var(--tlx-panel, #fff)}.home-ring-root{position:relative;width:100%;height:100%;pointer-events:none}.home-ring-svg{display:block;width:100%;height:100%;overflow:visible}.home-ring-circle{fill:none;stroke:var(--home-ring-color, #6b7280);stroke-width:3;stroke-dasharray:.001 7.5;stroke-linecap:round;opacity:.7;transform-origin:50% 50%;animation:home-ring-spin 36s linear infinite}@keyframes home-ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.home-ring-circle{animation:none}}.help-card{width:min(700px,94vw);max-height:min(880px,92vh);padding:0;gap:0;overflow:hidden}.help-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 10px;border-bottom:1px solid var(--tlx-divider)}.help-head button{height:28px}.help-doc{overflow-y:auto;padding:0 18px 18px;scroll-behavior:smooth}.help-jump{position:sticky;top:0;z-index:5;display:flex;gap:4px;margin:0 -18px;padding:8px 12px;background:var(--tlx-panel);border-bottom:1px solid var(--tlx-divider)}.help-jump button{flex:1;min-width:0;height:30px;padding:0 2px;border:none;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.help-jump button:hover{background:color-mix(in srgb,var(--tlx-text-1) 7%,transparent);color:var(--tlx-text-1)}.help-jump-bar{position:absolute;bottom:-1px;height:3px;border-radius:2px 2px 0 0;background:var(--tlx-selected);pointer-events:none;transition:left .22s cubic-bezier(.4,0,.2,1),width .22s cubic-bezier(.4,0,.2,1)}.help-doc h3{margin:20px 0 6px;font-size:15px;font-weight:600;scroll-margin-top:56px}.help-doc p,.help-doc li{margin:3px 0;font-size:13.5px;line-height:1.55;color:var(--tlx-text-1)}.help-doc ul{margin:2px 0;padding-left:18px;list-style:disc}.help-doc .help-lede{color:var(--tlx-text-3)}.help-keys{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 8px}.help-keys td{padding:4px 10px 4px 0;vertical-align:top}.help-keys td:first-child{white-space:nowrap;font-weight:600}.help-keys td:last-child{color:var(--tlx-text-3)}.help-keys tr.help-keys-group td{padding:10px 0 2px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tlx-text-3)}.help-demo{margin:6px 0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-low);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.help-demo-caption{font-size:12px;color:var(--tlx-text-3)}.demo-tabs,.demo-hotbar,.demo-toolbar,.demo-swatch-row,.demo-status{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.demo-tab,.demo-tool{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:2px;background:var(--tlx-panel);color:var(--tlx-text-1);font-size:12px;white-space:nowrap}.demo-tab.active,.demo-tool.active{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.demo-tab kbd,.demo-tool kbd{font-family:inherit;font-size:10px;opacity:.6}.demo-status{gap:8px;font-size:12px}.demo-dot{width:9px;height:9px;border-radius:2px}.demo-pos{color:var(--tlx-text-3);font-variant-numeric:tabular-nums}.demo-chip{font-size:11px;padding:1px 6px;border-radius:2px;background:color-mix(in srgb,var(--tlx-text-1) 8%,transparent);color:var(--tlx-text-3);white-space:nowrap}.demo-tile{position:relative;width:34px;height:34px;flex:none;border:1px solid var(--tlx-divider);border-radius:2px}.demo-tile.active{border-color:var(--tlx-selected);box-shadow:0 0 0 2px var(--tlx-panel),0 0 0 3px var(--tlx-selected)}.demo-tile.empty{background:repeating-conic-gradient(var(--tlx-muted-1) 0% 25%,transparent 0% 50%) 0 0 / 8px 8px,var(--tlx-muted-2);border-style:dashed}.demo-swatch{display:inline-block;width:20px;height:20px;flex:none;border-radius:2px;border:1px solid color-mix(in srgb,var(--tlx-text-1) 20%,transparent)}.demo-swatch.squared{border-radius:2px}.demo-swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--tlx-text-3)}.demo-card-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--tlx-text-1)}.demo-field{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;align-items:center;font-size:12px;color:var(--tlx-text-3)}.demo-input{display:flex;align-items:center;height:26px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:12px;font-variant-numeric:tabular-nums}.demo-search{width:100%}.demo-check{display:inline-flex;align-items:center;gap:6px;color:var(--tlx-text-1)}.demo-box{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--tlx-selected);border-radius:2px;color:var(--tlx-selected);font-size:10px;line-height:1}.demo-slider{display:flex;align-items:center;gap:8px;color:var(--tlx-text-1);font-variant-numeric:tabular-nums}.demo-track{position:relative;flex:1;height:4px;border-radius:2px;background:var(--tlx-muted-2)}.demo-track i{position:absolute;top:50%;width:10px;height:10px;border-radius:2px;background:var(--tlx-selected);transform:translate(-50%,-50%)}.demo-group-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--tlx-text-3)}.demo-shader-row{padding:4px 8px;border-radius:2px;font-size:12px;color:var(--tlx-text-1)}.demo-shader-row.active{background:var(--tlx-selected);color:var(--tlx-selected-contrast)}.inspector .tile-meta{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.inspector .inspector-swatch{width:16px;height:16px;border-radius:2px;border:1px solid var(--tlx-divider, rgba(0, 0, 0, .15));flex:none}.inspector .tile-meta-walk{margin-left:auto;color:var(--tlx-text-3, #6b7280);font-size:11px}.inspector .inspector-line{font-size:12px;color:var(--tlx-text-2, #374151);margin-bottom:4px}.inspector .close{background:none;border:none;font-size:16px;line-height:1;cursor:pointer;color:var(--tlx-text-2, #374151);padding:2px 6px;border-radius:2px}.inspector .close:hover{background:var(--tlx-hover, rgba(0, 0, 0, .06))}@media(max-width:700px){.room-title-row,.player-status{flex-wrap:wrap}.room-header:not([data-collapsed=true]){max-width:100%}.room-title-row{gap:6px;padding:8px 12px}.room-back{font-size:20px;padding:10px 12px 10px 2px;margin-right:4px}.room-title-row .prefs-link,.room-title-row .conn-chip,.room-title-row .role-chip{min-height:36px;display:inline-flex;align-items:center}.room-title-row .prefs-link{min-width:36px;justify-content:center}.room-menu-title{min-height:36px}.room-header:has(.room-menu-pop){z-index:320}.palette-tools{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px)}.room-view[data-mode=tile] .palette-panel{bottom:44px}}.room-header[data-collapsed=true] .conn-chip,.room-header[data-collapsed=true] .role-chip,.room-header[data-collapsed=true] .prefs-link,.room-header[data-collapsed=true] .player-status,.room-header[data-collapsed=true] .room-back,.room-header[data-collapsed=true] .room-menu-caret{display:none}.room-header[data-collapsed=true] .room-title-row{background:transparent;border:0;border-radius:0;padding:8px 12px}.room-header[data-collapsed=true] button.room-menu-title{background:none;padding:6px 8px;font-size:15px;gap:8px}.room-header[data-collapsed=true] .room-menu .rb-icon{border-radius:3px}.room-menu[data-tone=dark]{color:#fff}.room-menu[data-tone=light]{color:#000}@media(pointer:coarse){.room-view[data-mode=play] .palette-panel{bottom:calc(244px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}}.shader-pick-drop.tag-drop{max-height:min(460px,calc(100vh - 200px))}.chat-bar{position:fixed;left:50%;bottom:48px;transform:translate(-50%);width:min(560px,86vw);z-index:600}.chat-bar input{width:100%;height:34px;padding:0 12px;border-radius:2px;border:1px solid var(--tlx-divider);background:color-mix(in srgb,var(--tlx-panel) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--tlx-text-1);font-size:13px;box-sizing:border-box;box-shadow:var(--tlx-shadow-3)}.chat-bar input:focus{outline:none;border-color:var(--tlx-selected)}.chat-suggest{display:flex;align-items:center;gap:4px;margin-bottom:4px;flex-wrap:wrap}.chat-suggest-item{height:24px;padding:0 10px;border-radius:2px;border:1px solid var(--tlx-divider);background:color-mix(in srgb,var(--tlx-panel) 92%,transparent);color:var(--tlx-text-1);font-size:12px;cursor:pointer}.chat-suggest-item.active{border-color:var(--tlx-selected);background:color-mix(in srgb,var(--tlx-selected) 18%,var(--tlx-panel))}.chat-suggest-hint{font-size:11px;color:var(--tlx-text-3);margin-left:2px}.chat-bar input::placeholder{color:var(--tlx-text-3)}.admin-command{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,90vw);display:flex;flex-direction:column;gap:8px;background:var(--tlx-panel);border-radius:2px;box-shadow:var(--tlx-shadow-3);padding:14px}.admin-command input{height:36px;padding:0 10px;border-radius:2px;border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);font-size:13px}.admin-command input:focus{outline:none;border-color:var(--tlx-selected)}.admin-hint{margin:0;font-size:11px;color:var(--tlx-text-3)}.admin-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1240px,94vw);max-height:min(880px,90vh)}.admin-totals{font-weight:400;font-size:12px;color:var(--tlx-text-3);margin-left:8px}.admin-scroll{overflow:auto;min-height:0;border:1px solid var(--tlx-divider);border-radius:2px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{position:sticky;top:0;background:var(--tlx-panel);text-align:left;font-weight:500;color:var(--tlx-text-3);padding:8px 10px;border-bottom:1px solid var(--tlx-divider);white-space:nowrap}.admin-table td{padding:7px 10px;border-bottom:1px solid var(--tlx-muted-1);white-space:nowrap;font-variant-numeric:tabular-nums}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover,.admin-table tr[data-current]{background:var(--tlx-muted-2)}.admin-room-id{font-weight:500;color:var(--tlx-text-1)}.admin-flag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-3);font-size:10px;font-weight:500;vertical-align:1px}.admin-live{color:var(--tlx-selected);font-weight:600}.admin-actions{text-align:right}.admin-actions button{height:26px;padding:0 10px;margin-left:6px;border-radius:2px;border:0;background:var(--tlx-low);color:var(--tlx-text-1);font-size:11.5px;cursor:pointer}.admin-actions button:hover{background:var(--tlx-muted-2)}.admin-actions button.admin-act-state{min-width:64px}.admin-actions button.admin-danger{color:var(--tlx-warning, #e5534b)}.admin-actions button.admin-danger:hover{background:var(--tlx-warning, #e5534b);color:#fff}.tiles-sidebar-panel{display:flex;flex-direction:column;gap:8px}.tiles-sidebar-panel header{display:flex;align-items:center;font-size:12px;color:var(--tlx-text-1);position:sticky;top:0;z-index:1;background:var(--tlx-panel);margin:-8px -8px 0;padding:8px 8px 4px;box-shadow:0 1px 0 var(--tlx-divider)}.sidebar-drag-grip{flex:1}.tiles-sidebar-panel .sidebar-drag-grip{display:inline-flex;align-items:center;gap:6px}.tiles-tool-row{display:flex;align-items:center;gap:2px}.tiles-layer-row{display:grid;grid-template-columns:40px minmax(0,1fr) 12px 40px 40px;align-items:center;gap:2px}.tiles-layer-row>:first-child{grid-column:1}.tiles-layer-row .tiles-layer-name{grid-column:2}.tiles-layer-side{grid-column:3;justify-self:center}.tiles-slot-vis{grid-column:4}.tiles-slot-del{grid-column:5}.tiles-player-up{grid-column:4}.tiles-player-down{grid-column:5}.tool-slot{display:inline-flex;border-radius:2px}.tool-slot.active{background:color-mix(in srgb,var(--tlx-accent, #4d7cff) 22%,transparent);outline:1px solid var(--tlx-accent, #4d7cff)}.tiles-tool-caption{margin:0;font-size:11px;color:var(--tlx-text-3)}.tiles-sep{height:1px;background:var(--tlx-divider)}.tiles-layer-name{font-size:11px;color:var(--tlx-text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tiles-layer-side{font-size:8px;color:var(--tlx-text-3);padding:0 1px}.tiles-player-row .tiles-layer-name{color:var(--tlx-text-1)}.tiles-player-glyph{color:var(--tlx-text-3);justify-content:center}.tiles-layer-add{margin:4px 2px 2px;padding:2px 6px;font-size:11px;text-align:left;color:var(--tlx-text-3);background:none;border:1px dashed var(--tlx-divider);border-radius:4px;cursor:pointer}.tiles-layer-add:hover{color:var(--tlx-text-1);border-color:var(--tlx-text-3)}.tiles-layer-add-form{display:flex;align-items:center;gap:2px;margin:4px 2px 2px}.tiles-layer-add-input{flex:1;min-width:0;font-size:11px;padding:2px 4px;color:var(--tlx-text-1);background:var(--tlx-background, transparent);border:1px solid var(--tlx-divider);border-radius:4px}.palette-drag-grip,.dock-grip,.sidebar-drag-grip{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.palette-drag-grip:active,.dock-grip:active,.sidebar-drag-grip:active{cursor:grabbing}.dock-grip{display:inline-flex;align-items:center;padding:2px 3px;color:var(--tlx-text-3)}.dock-grip:hover{color:var(--tlx-text-1)}.admin-console{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--tlx-background);padding:20px}.admin-console .gate-card.admin-login-card{width:min(340px,90vw)}.admin-console .gate-card.admin-login-card h1{font-size:16px;font-weight:600;margin:0}.admin-console .admin-card{position:static;transform:none;width:min(1560px,97vw);max-height:min(1000px,94vh)}.admin-bulk{display:flex;align-items:center;gap:6px;margin:6px 0;padding:5px 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel)}.admin-bulk-count{font-size:12px;font-weight:600;margin-right:6px}.admin-table th.admin-col-check,.admin-table td.admin-col-check{width:26px;padding:6px 4px 6px 8px;text-align:center}.admin-table th.admin-col-check .admin-sort-arrow{display:none}.admin-col-check input[type=checkbox]{accent-color:var(--tlx-selected);cursor:pointer}.race-line-root{position:absolute;left:0;top:0;width:100%;height:100%;cursor:move}.race-line-bar{position:absolute;left:0;top:-5px;height:10px;border-radius:2px;pointer-events:none}.race-line-root[data-kind=start] .race-line-bar{background:repeating-linear-gradient(90deg,#3dd478 0 10px,transparent 10px 17px)}.race-line-root[data-kind=checkpoint] .race-line-bar{background:repeating-linear-gradient(90deg,#f2b63c 0 10px,transparent 10px 17px)}.race-line-root[data-kind=finish] .race-line-bar{background:repeating-linear-gradient(90deg,#fff 0,#fff 10px,#23262d 10px,#23262d 20px)}.race-line-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font:700 10px/1 inherit;color:#fff;background:#14161cd9;padding:2px 5px;border-radius:2px;white-space:nowrap;letter-spacing:.04em}.race-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:39}.race-overlay-line{position:absolute;left:0;top:0;height:0}.race-overlay-bar{position:absolute;left:0;top:-5px;height:10px;border-radius:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.race-overlay-line.kind-start .race-overlay-bar{background:repeating-linear-gradient(90deg,#3dd478 0 12px,transparent 12px 20px)}.race-overlay-line.kind-checkpoint .race-overlay-bar{background:repeating-linear-gradient(90deg,#f2b63c 0 12px,transparent 12px 20px)}.race-overlay-line.kind-finish .race-overlay-bar{background:repeating-linear-gradient(90deg,#fff 0,#fff 12px,#23262d 12px,#23262d 24px)}.race-overlay-chevron{position:absolute;left:50%;top:-26px;transform:translate(-50%);color:#3dd478;font-size:14px;letter-spacing:-3px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.race-overlay-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:700 11px/1 inherit;color:#fff;background:#14161ccc;padding:3px 6px;border-radius:2px;white-space:nowrap;letter-spacing:.05em}.race-overlay-line.next .race-overlay-bar{animation:race-line-pulse 1.1s ease-in-out infinite}.race-overlay-line.next .race-overlay-label{box-shadow:0 0 0 2px #ffd24aa6;color:#ffd24a}@keyframes race-line-pulse{0%,to{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));opacity:.9}50%{filter:drop-shadow(0 0 12px rgba(255,210,74,.95));opacity:1}}.race-chip{position:fixed;bottom:64px;left:50%;transform:translate(-50%);z-index:40;pointer-events:auto;background:var(--tlx-low));border:1px solid var(--tlx-border);border-radius:2px;box-shadow:0 6px 24px #0000002e;padding:8px 14px;min-width:180px;text-align:center}.race-chip-timer-row{display:flex;align-items:baseline;justify-content:center;gap:8px}.race-chip-laps{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--tlx-text-1);opacity:.7}.race-chip-timer{font:700 24px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;color:var(--tlx-text-1)}.race-chip-dots{display:flex;justify-content:center;gap:6px;margin-top:5px}.race-dot{width:9px;height:9px;border-radius:2px;background:var(--tlx-border);box-shadow:inset 0 0 0 1px #0000001f}.race-dot.done{background:#3dd478}.race-chip-delta{margin-top:3px;font:700 12px/1 ui-monospace,monospace}.race-chip-delta.neg{color:#1d8f4a}.race-chip-delta.pos{color:#c9553d}.race-chip-delta.lap{color:#1d8f4a}.race-chip-guide{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;font:600 11px/1 inherit;color:var(--tlx-text-2)}.race-chip-guide-arrow{display:inline-block;color:#f2b63c;font-size:13px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.15);will-change:transform}.race-chip-guide-label{font-variant-numeric:tabular-nums;letter-spacing:.02em}.race-chip-total{margin-top:2px;font:600 11px/1 ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--tlx-text-3)}.race-chip-refs{margin-top:5px;display:flex;justify-content:center;gap:12px;font-size:11px;color:var(--tlx-text-3)}.race-chip-board{margin-top:8px;border-top:1px solid var(--tlx-border);padding-top:6px;display:flex;flex-direction:column;gap:2px;max-height:200px;overflow:auto}.race-chip-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tlx-text-1)}.race-chip-row.me{font-weight:700}.race-chip-rank{width:18px;text-align:right;color:var(--tlx-text-3)}.race-chip-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.race-chip-time{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.race-chip-board-empty{font-size:11px;color:var(--tlx-text-3)}.race-finish-text{position:fixed;z-index:41;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;animation:race-finish-rise 2.5s ease-out forwards}.race-finish-line1{font:800 16px/1 inherit;letter-spacing:.14em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55)}.race-finish-line1.rr{color:#ffd24a}.race-finish-line1.cancel{color:#e06a55}.race-finish-line2{font:700 30px/1.1 ui-monospace,monospace;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}@keyframes race-finish-rise{0%{opacity:0;margin-top:0}10%{opacity:1}70%{opacity:1}to{opacity:0;margin-top:-70px}}.race-burst-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;pointer-events:none}.race-vignette-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;box-shadow:inset 0 0 140px #ffd24a8c;animation:race-vignette-fade .9s ease-out forwards}@keyframes race-vignette-fade{0%{opacity:1}to{opacity:0}}.race-panel{display:flex;flex-direction:column;gap:10px}.race-panel .race-count{margin-left:auto;font-size:11px;color:var(--tlx-text-3, #999)}.race-create,.race-detail{display:flex;flex-direction:column;gap:8px}.race-panel input{width:100%;box-sizing:border-box;height:32px;padding:0 8px;border-radius:2px;border:1px solid var(--tlx-border-1, #ccc);background:var(--tlx-panel-contrast, #fff);color:var(--tlx-text-1, #333);font-size:12px}.race-panel input:focus{outline:none;border-color:var(--tlx-selected, #2f80ed)}.race-panel .race-laps-input{width:72px}.race-create-row{display:flex;gap:6px}.race-panel button{height:32px;padding:0 12px;border-radius:2px;border:0;cursor:pointer;background:var(--tlx-low, #f3f3f3);color:var(--tlx-text-1, #333);font-size:12px}.race-panel button:hover:not(:disabled){background:var(--tlx-muted-2, #e8e8e8)}.race-panel button:disabled{color:var(--tlx-text-disabled, #aaa);background:var(--tlx-low, #f3f3f3);cursor:default}.race-panel button.primary{background:var(--tlx-selected, #2f80ed);color:var(--tlx-selected-contrast, #fff)}.race-panel button.primary:hover:not(:disabled){filter:brightness(1.06)}.race-panel button.danger{background:var(--tlx-danger, #e3342f);color:#fff}.race-create-row button{flex:1;min-width:0}.race-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;height:auto;padding:6px 10px;border-radius:2px;background:var(--tlx-low, #f3f3f3)}.race-row-name{font-weight:600;font-size:12px;color:var(--tlx-text-1, #333)}.race-row-sub{font-weight:400;font-size:11px;color:var(--tlx-text-3, #999)}.race-row-meta{font-size:11px;color:var(--tlx-text-3, #999)}.race-row-meta.warn,.race-panel .race-warn{color:#b4770f}.race-panel .race-ok{color:#1d8f4a}.race-list{display:flex;flex-direction:column;gap:4px}.race-laps-row{display:flex;align-items:center;gap:8px}.race-laps-row .field-label{margin:0}.race-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tlx-text-1, #333);cursor:pointer}.race-check input{width:auto;height:auto;margin:0;accent-color:var(--tlx-selected, #2f80ed)}.race-lines{display:flex;flex-direction:column;gap:6px}.race-line-row{display:flex;align-items:center;gap:8px;font-size:12px;min-height:32px}.race-line-kind{font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:2px;color:#fff}.race-line-kind.kind-start{background:#1d8f4a}.race-line-kind.kind-checkpoint{background:#c98d1e}.race-line-kind.kind-finish{background:#23262d}.race-line-status{color:var(--tlx-text-3, #999)}.race-line-actions{margin-left:auto;display:flex;gap:4px}.race-line-actions button{height:24px;padding:0 8px;font-size:11px}.race-placing-note{font-size:12px;line-height:1.4;color:var(--tlx-text-1, #333);background:var(--tlx-low, #f3f3f3);border-radius:2px;padding:8px 10px;margin:0}.race-detail-footer{display:flex;justify-content:space-between;gap:6px;margin-top:4px}.race-admin-list h2{margin:0 0 8px;font-size:15px}.script-js-editor{width:100%;font:inherit;font-family:var(--tl-font-mono, ui-monospace, monospace);font-size:11px;line-height:1.45;color:var(--tlx-text);background:var(--tlx-muted-1);border:1px solid var(--tlx-border);border-radius:2px;padding:6px 8px;resize:vertical;white-space:pre}.script-sub{border-left:3px solid var(--tlx-border);border-radius:2px;padding:2px 0 2px 6px;margin:4px 0}.script-trigger{border:1px solid var(--tlx-border);border-radius:2px;padding:6px;margin:6px 0;display:flex;flex-direction:column;gap:4px}.script-blocks .script-trigger>.race-create-row{position:sticky;top:-1px;z-index:30;background:var(--tlx-background);margin:0 -6px 2px;padding:0 6px 3px;border-bottom:1px solid var(--tlx-border);border-radius:2px 2px 0 0}.creator-hud{position:fixed;top:56px;left:12px;z-index:40;pointer-events:none;max-width:min(360px,50vw)}.creator-hud.pos-top-right{left:auto;right:12px}.creator-hud.hud-title{right:0;bottom:0;top:0;left:0;max-width:none;z-index:45;pointer-events:auto}.creator-hud.hud-title iframe{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh}.creator-hud.pos-bottom-left{top:auto;bottom:12px}.creator-hud.pos-bottom-right{top:auto;left:auto;bottom:12px;right:12px}.creator-hud.pos-bottom-center{top:auto;bottom:12px;left:50%;transform:translate(-50%)}.creator-hud.pos-top-center{left:50%;transform:translate(-50%)}.creator-hud.pos-top-center-low{left:50%;top:118px;transform:translate(-50%)}:is(.room-view,.player-stage)[data-glass="1"] :is(.creator-hud,.mode-menu,.interact-hint,.fps-counter,.race-chip,.toast-stack,.leaderboard){pointer-events:none;transition:opacity .15s ease}:is(.room-view,.player-stage)[data-glass="1"] :is(.creator-hud,.mode-menu,.interact-hint,.fps-counter,.race-chip,.toast-stack,.leaderboard).hud-glass-hover{opacity:.5}:is(.room-view,.player-stage)[data-glass="1"] .room-header{transition:opacity .15s ease}:is(.room-view,.player-stage)[data-glass="1"] .room-header:hover{opacity:.7}:is(.room-view,.player-stage)[data-glass="1"] :is(.creator-hud.hud-title,.creator-hud.hud-title.hud-glass-hover){pointer-events:auto;opacity:1;transition:none}:is(.room-view,.player-stage) .creator-hud.interactive{pointer-events:auto}:is(.room-view,.player-stage)[data-glass="1"] .creator-hud.hud-glass-hover.hud-engaged{opacity:1}@media(pointer:coarse){:is(.room-view,.player-stage)[data-glass="1"] .mode-menu{pointer-events:auto}}.creator-hud.hud-modal{top:0;right:0;bottom:0;left:0;max-width:none!important;transform:none!important;translate:none!important;display:flex;align-items:center;justify-content:center;background:#141a1080;pointer-events:auto}.creator-hud.hud-modal iframe{width:min(92vw,380px)!important;height:min(76vh,640px)!important}.creator-hud iframe{border:none;width:100%;height:120px;background:transparent;color-scheme:normal}.hud-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#141a1073;display:grid;place-items:center;pointer-events:auto}.hud-help-modal{max-width:min(420px,86vw);max-height:70vh;overflow:auto;background:#f6f3e4;color:#2c3e2d;border-radius:2px;border:1.5px solid #4f7038;box-shadow:var(--tlx-shadow-2);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.hud-help-text{white-space:pre-line;font-size:13.5px;line-height:1.45}.hud-help-close{align-self:flex-end;border-radius:2px;border:1.5px solid #4f7038;background:#f6f3e4;color:#2c3e2d;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer}.creator-hud-preview{width:100%;height:96px;border:1px dashed var(--tlx-border);border-radius:2px;background:#fff}.leaderboard{position:static;min-width:172px;max-width:250px;padding:6px 9px 7px;background:color-mix(in srgb,var(--tlx-panel, #fff) 58%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:2px;box-shadow:var(--tlx-shadow-2, 0 2px 10px rgba(0, 0, 0, .18));font-size:11.5px}.leaderboard-head{display:flex;align-items:center;gap:6px;width:100%;margin-bottom:4px;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.leaderboard-title{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-chev{color:var(--tlx-text-3, #999);font-size:10px}.leaderboard.collapsed{min-width:0}:is(.room-view,.player-stage)[data-glass="1"] .leaderboard-head{pointer-events:auto}.leaderboard-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.leaderboard-rows li{display:flex;align-items:baseline;gap:6px}.lb-rank{width:12px;text-align:right;color:var(--tlx-text-3, #999);font-variant-numeric:tabular-nums}.lb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-weight:700;font-variant-numeric:tabular-nums}.lb-best{min-width:26px;text-align:right;color:var(--tlx-text-3, #999);font-size:10px;font-variant-numeric:tabular-nums}.lb-mark{margin-left:5px;color:#ffd76a;font-size:11px;letter-spacing:1px}.leaderboard-rows li.lead .lb-score{color:#b8860b}.code-editor{position:relative;min-height:220px;display:flex}.code-editor-highlight,.code-editor-input{font:12px/1.5 var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);white-space:pre;-moz-tab-size:2;tab-size:2;padding:6px 10px 6px 44px;margin:0;border:1px solid var(--tlx-border);border-radius:2px;overflow:auto}.code-editor-highlight{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--tlx-muted-1);color:var(--tlx-text);pointer-events:none;z-index:0}.code-editor-input{position:relative;flex:1;min-width:0;resize:none;background:transparent;color:transparent;caret-color:var(--tlx-text);z-index:1}.code-editor-input::placeholder{color:var(--tlx-text-3)}.code-editor-input::selection{background:#3d7dc947}.tok-comment{color:var(--code-comment);font-style:italic}.tok-string{color:var(--code-string)}.tok-number{color:var(--code-number)}.tok-keyword{color:var(--code-keyword);font-weight:600}.tok-literal{color:var(--code-literal)}.tok-api{color:var(--code-api);font-weight:600}.code-editor-gutter{position:absolute;top:0;bottom:0;left:0;width:34px;overflow:hidden;background:var(--tlx-muted-1);border-right:1px solid var(--tlx-border);border-radius:2px 0 0 2px;pointer-events:none;z-index:2}.code-editor-gutter-inner{padding:7px 0;will-change:transform}.code-editor-gutter-inner div{font:12px/18px var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);height:18px;text-align:right;padding-right:7px;color:var(--tlx-text-3);font-variant-numeric:tabular-nums}.script-code-card{width:min(920px,94vw);height:min(78vh,860px);display:flex;flex-direction:column;gap:8px}.script-code-card .code-editor{flex:1;min-height:0}.script-modal-actions{display:flex;gap:8px;margin-left:auto}.script-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden}.script-modal-body .code-editor{flex:1;min-height:160px}.script-modal-body.script-modal-body-fill{overflow:hidden}.script-modal-body-fill .code-editor{min-height:140px}.code-editor code{display:block;position:relative}.code-editor-line-flash{position:absolute;left:0;right:0;height:18px;border-radius:2px;background:#3d7dc942;pointer-events:none;animation:code-editor-flash 1.7s ease forwards}@keyframes code-editor-flash{0%{background:#3d7dc966}60%{background:#3d7dc938}to{background:#3d7dc900}}.script-err-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:var(--tlx-error);box-shadow:0 0 0 3px #e031312e;vertical-align:baseline;flex:none}.script-error-banner{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:2px;background:#e0313114;border:1px solid rgba(224,49,49,.35);color:var(--tlx-text);font-size:12px}.script-error-text{flex:1;min-width:0;font-family:var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-error-hint{color:var(--tlx-text-3);flex:none}.script-js-layout{flex:1;min-height:0;display:flex;gap:8px}.script-js-editor-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.script-api-rail{width:230px;flex:none;overflow-y:auto;border:1px solid var(--tlx-border);border-radius:2px;background:var(--tlx-muted-1);padding:6px;display:flex;flex-direction:column;gap:2px}.script-api-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tlx-text-3);padding:6px 4px 2px;flex:none}.script-api-rail .script-api-entry{display:flex;flex-direction:column;gap:1px;text-align:left;padding:4px 22px 4px 6px;position:relative;border:0;border-radius:2px;background:transparent;cursor:pointer;font:inherit;color:inherit;flex:none;height:auto;min-height:0}.script-api-entry:hover{background:var(--tlx-muted-2)}.script-api-sig{font:11px/1.35 var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);color:var(--code-api);word-break:break-all}.script-api-doc{font-size:10.5px;line-height:1.35;color:var(--tlx-text-3)}.interact-hint{position:fixed;left:50%;bottom:calc(48px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:5px 10px 5px 6px;border-radius:2px;background:var(--tlx-panel, rgba(255, 255, 255, .94));box-shadow:var(--tlx-shadow-2, 0 2px 10px rgba(0, 0, 0, .18));font-size:12px;pointer-events:none;z-index:400}.interact-hint-key{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:2px;background:var(--tlx-text);color:var(--tlx-background);font:700 11px/1 var(--tl-font-sans, sans-serif)}.script-drag-handle{cursor:grab;color:var(--tlx-text-3);font-size:13px;line-height:1;padding:0 2px;flex:none}.script-drag-handle:active{cursor:grabbing}.script-drag-src{outline:1px dashed var(--tlx-border)}.script-drop-before{border-top:2px solid var(--stmt-do)}.script-blocks .script-stmt>.race-create-row,.script-blocks .script-raw-row,.script-blocks .script-sub>.race-create-row{position:relative;padding-right:6px}.script-blocks .script-stmt>.race-create-row[data-strip-free],.script-blocks .script-raw-row[data-strip-free],.script-blocks .script-sub>.race-create-row[data-strip-free]{padding-right:6px}.script-blocks .script-row-actions{position:absolute;top:2px;right:0;display:inline-flex;gap:3px;align-items:center}.script-blocks .race-create-row .script-row-actions{opacity:0;pointer-events:none;transition:opacity 80ms ease}.script-blocks .race-create-row:hover .script-row-actions,.script-blocks .race-create-row:focus-within .script-row-actions{opacity:1;pointer-events:auto}.script-floor-head{display:flex!important;align-items:center;gap:8px}.script-floor-head .script-floor-meta{flex:1 1 auto;min-width:0;display:block}.script-floor-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-blocks .race-create-row:has(.script-search-input) .script-search-input,.script-blocks .race-create-row:has(.script-search-input) button{vertical-align:middle}@media(max-width:700px){.script-floor-meta{max-width:100%}}.script-blocks .script-add-stmt-row .script-typeahead-input{height:26px!important;width:auto!important;min-width:120px;max-width:200px;border:1.5px dashed var(--tlx-border)!important;border-radius:2px;background:transparent!important;font-weight:600;color:var(--tlx-text-3)!important}.script-blocks .script-add-stmt-row .script-typeahead-input:hover,.script-blocks .script-add-stmt-row .script-typeahead-input:focus{border-color:var(--tlx-text)!important;color:var(--tlx-text)!important;background:var(--wash-3)!important}.script-trigger>.race-create-row.is-stuck{box-shadow:0 -22px 0 0 var(--tlx-background)}@media(hover:hover){.script-add-chip,.script-add-stmt-row .script-typeahead-input,.script-else-add{opacity:.45;transition:opacity .14s ease,border-color .14s ease,color .14s ease,background-color .14s ease}.script-blocks .script-stmt-list:hover .script-add-stmt-row .script-typeahead-input,.script-add-stmt-row:hover .script-typeahead-input,.script-add-stmt-row .script-typeahead-input:focus,.script-add-chip:hover,.script-sub:hover .script-add-chip,.script-else-add-row:hover .script-else-add,.script-else-add:hover{opacity:1}}.script-add-chip{display:inline-flex;align-items:center;height:26px;margin:2px 0;padding:0 10px;border:1.5px dashed var(--tlx-border)!important;border-radius:2px;background:transparent;color:var(--tlx-text-3);font-weight:600;font-size:12px;opacity:.85;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.script-add-chip:hover{border-color:var(--tlx-text)!important;color:var(--tlx-text);background:var(--wash-3)}.script-const-note{font-style:italic;color:var(--tlx-text-3)}.script-note-input{width:100%!important;height:24px!important;border:0!important;background:transparent;font-style:italic;color:var(--tlx-text-3);padding:0 4px 0 26px}.script-note-input:focus{background:var(--tlx-muted-1);color:var(--tlx-text)}.script-note-on{color:var(--stmt-set)}.script-help-float{position:fixed;z-index:2200;width:340px;max-width:calc(100vw - 16px);max-height:min(420px,62vh);overflow-y:auto;padding:10px 12px;background:var(--tlx-background);border:1px solid var(--tlx-border);border-radius:2px;box-shadow:0 14px 34px #00000038;text-align:left}.script-help-back{display:inline-block;margin-bottom:6px;border:1px solid var(--tlx-border);border-radius:3px;background:var(--tlx-muted-1);color:inherit;font:11px system-ui;padding:2px 8px;cursor:pointer}.script-help-back:hover{background:var(--tlx-muted-2, #ececec)}.script-help-summary{display:block;font:11px/1.5 var(--tl-font-mono, ui-monospace, Menlo, monospace);background:var(--tlx-muted-1);border-radius:2px;padding:4px 6px;margin-bottom:6px;word-break:break-all}.script-help-permalink{display:block;margin-top:8px;padding-top:6px;border-top:1px solid var(--tlx-border);font-size:11px;color:var(--tlx-text);text-decoration:underline}.script-md h3,.script-md h4,.script-md h5{margin:6px 0 2px}.script-md p{margin:4px 0;font-size:12px;line-height:1.5}.script-md ul{margin:4px 0;padding-left:18px}.script-md li{font-size:12px;line-height:1.5}.script-md table{border-collapse:collapse;margin:6px 0;width:100%;font-size:11px}.script-md th,.script-md td{border:1px solid var(--tlx-muted-2, #ddd);padding:2px 5px;text-align:left;vertical-align:top}.script-md th{background:var(--tlx-muted-1, #f4f4f4);font-weight:600}.script-md code{font:11px var(--tl-font-mono, ui-monospace, Menlo, monospace);background:var(--tlx-muted-1);border-radius:2px;padding:1px 4px}.script-md pre{margin:4px 0;padding:4px 6px;background:var(--tlx-muted-1);border-radius:2px;font:11px var(--tl-font-mono, ui-monospace, Menlo, monospace);white-space:pre;overflow-x:auto}.script-md img{max-width:100%;border-radius:2px}.script-code-wrap{position:relative}.script-code-wrap pre{padding-right:52px}.script-code-tabs{display:flex;gap:2px;padding:2px;border-radius:2px;background:var(--tlx-muted-2, #f0f0f0);width:max-content;margin-bottom:4px}.script-code-tabs button{border:0;border-radius:2px;background:transparent;color:var(--tlx-text-3, #888);font:600 10px system-ui;padding:2px 8px;cursor:pointer}.script-code-tabs button:hover{color:var(--tlx-text-1, #222)}.script-code-tabs button.on{background:var(--tlx-selected, #4a90d9);color:var(--tlx-selected-contrast, #fff)}.script-code-wrap.has-tabs pre{padding-right:6px}.script-code-wrap.has-tabs .script-code-copy{top:6px}.script-blocks-preview{padding:2px 0}.script-blocks-preview{pointer-events:auto}.script-blocks-preview :is(input,select,textarea){pointer-events:none}.script-blocks-preview button{display:none}.script-blocks-preview .script-fold-btn,.script-blocks-preview .script-fold-count,.script-blocks-preview .script-preview-fold{display:inline-flex}.script-blocks-preview .script-else-add,.script-blocks-preview .script-else-add-row{display:none}.script-preview-fold{align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--tlx-border);border-radius:4px;background:var(--tlx-muted-2);color:var(--tlx-text-2);font:10px/1 var(--tl-font-mono, ui-monospace, Menlo, monospace);cursor:pointer}.script-blocks-preview .script-preview-fold:hover{color:var(--tlx-text);border-color:var(--tlx-panel-contrast)}.script-preview-fold-summary{font:italic 11px var(--tl-font-sans, system-ui, sans-serif);color:var(--tlx-text-3)}.script-preview-pre{display:flex;gap:8px;align-items:flex-start;padding:3px 0 6px}.script-preview-pre-code{font:11px var(--tl-font-mono, ui-monospace, Menlo, monospace);color:var(--tlx-text-2);white-space:pre-wrap;word-break:break-word;min-width:0}.script-preview-const-row{padding-bottom:4px}.script-code-jumpline{background:#6091ff47}.script-preview-trigger{padding:2px 0 6px}.script-preview-trigger+.script-preview-trigger{border-top:1px solid var(--tlx-border);margin-top:6px;padding-top:8px}.script-preview-when{display:flex;align-items:center;gap:6px;padding:0 0 5px}.script-preview-when-word{font:600 11px var(--tl-font-sans, system-ui, sans-serif);color:var(--tlx-text-3)}.script-preview-when-ev{font:600 11px var(--tl-font-mono, ui-monospace, Menlo, monospace);color:var(--tlx-text-1);background:var(--tlx-muted-1);border:1px solid var(--tlx-border);border-radius:3px;padding:1px 7px}.script-preview-when-ms{font:11px system-ui,sans-serif;color:var(--tlx-text-3)}.script-code-copy{position:absolute;top:3px;right:3px;border:1px solid var(--tlx-muted-3, #ccc);border-radius:3px;background:var(--tlx-muted-2, #f4f4f4);color:inherit;font:10px system-ui;padding:1px 6px;cursor:pointer;opacity:.65}.script-code-wrap:hover .script-code-copy{opacity:1}.script-code-copy.script-code-copied{opacity:1;color:#1a7f37}.script-word-op{flex:none;font-weight:700;font-size:11px;color:var(--tlx-text-3);padding:0 2px}.script-collapse-btn{padding:0 6px;flex:none}.script-summary-btn{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:var(--tlx-text);font:12px/1.4 var(--tl-font-sans, sans-serif);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px}.script-summary-btn:hover{background:var(--tlx-muted-2);border-radius:2px}.script-fold-btn{color:var(--tlx-text-3);min-width:18px}.script-fold-btn:hover{color:var(--tlx-text)}.script-fold-count{flex:none;color:var(--tlx-text-3);font-style:italic;margin-left:auto}.script-else-block{margin-top:4px;padding-top:4px;border-top:1px dashed var(--tlx-border);display:flex;flex-direction:column;gap:4px}.script-raw-row{background:var(--tlx-muted-1);border-radius:2px;padding:2px 4px}.script-raw-input{flex:1;min-width:0;font:11px/1.4 var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);color:var(--code-comment);background:transparent;border:none;outline:none;padding:0;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}.script-raw-input:focus{color:var(--tlx-text)}.script-prelude-card{display:flex;flex-direction:column;gap:2px;margin:4px 0;padding:4px 6px;background:var(--tlx-muted-1);border:1px dashed var(--tlx-border);border-radius:2px;min-width:0}.script-prelude-code{margin:2px 0 0;max-height:132px;overflow:auto;font:11px/1.45 var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);color:var(--code-comment);white-space:pre}.script-prelude-input{font:11px/1.4 var(--tl-font-mono, ui-monospace, "SF Mono", Menlo, monospace);color:var(--code-comment);background:transparent;border:none;outline:none;padding:0;resize:none;display:block;width:100%;box-sizing:border-box;max-height:220px;overflow:auto;white-space:pre;word-break:normal;min-height:44px;border-radius:2px}.script-prelude-input:focus{color:var(--tlx-text);background:var(--tlx-background)}.script-stmt-list{margin:4px 0 4px 12px;padding-left:8px;border-left:2px solid var(--tlx-border);border-radius:0 2px 2px 0;display:flex;flex-direction:column;gap:3px;min-width:0}.script-stmt{display:flex;flex-direction:column;gap:4px;min-width:0;padding:3px 0 3px 8px;border-radius:2px;border-left:3px solid transparent;background:transparent;transition:background-color .12s ease,border-color .12s ease}.script-stmt:hover,.script-stmt:focus-within{background:var(--wash-1)}.script-stmt:focus-within{border-left-color:var(--tlx-text)}.script-stmt[data-kind=do]{border-left-color:var(--stmt-do)}.script-stmt[data-kind=do] .script-typeahead-input{color:var(--stmt-num)}.script-stmt[data-kind=if]{border-left-color:var(--stmt-if)}.script-stmt[data-kind=if] .script-typeahead-input{color:var(--stmt-bool)}.script-stmt[data-kind=for],.script-stmt[data-kind=forEach]{border-left-color:var(--stmt-loop)}.script-stmt[data-kind=for] .script-typeahead-input,.script-stmt[data-kind=forEach] .script-typeahead-input{color:var(--stmt-fld)}.script-stmt[data-kind=set],.script-stmt[data-kind=keep],.script-stmt[data-kind=pkeep]{border-left-color:var(--stmt-set)}.script-stmt[data-kind=set] .script-typeahead-input,.script-stmt[data-kind=keep] .script-typeahead-input,.script-stmt[data-kind=pkeep] .script-typeahead-input{color:var(--stmt-local)}.script-stmt[data-kind=break],.script-stmt[data-kind=continue],.script-stmt[data-kind=stop]{border-left-color:var(--stmt-flow)}.script-stmt[data-kind=break] .script-typeahead-input,.script-stmt[data-kind=continue] .script-typeahead-input,.script-stmt[data-kind=stop] .script-typeahead-input{color:var(--stmt-flow-text)}.script-blocks .race-name-input,.script-blocks .script-typeahead-input,.script-blocks select,.script-blocks input[type=number],.script-blocks input[type=text],.script-modal-body .script-field-row .race-name-input{height:28px;min-height:28px;box-sizing:border-box;padding-top:0;padding-bottom:0}.script-blocks .sidebar-effects-btn{height:28px;padding:0 10px}.script-blocks .script-add-btn{flex:none;margin-left:auto;border:1px solid color-mix(in srgb,currentColor 45%,transparent);background:transparent;color:var(--tlx-text-3)}.script-blocks .script-add-btn:hover{filter:none;color:var(--tlx-text-2);border-color:currentColor}.script-blocks .script-mini-btn{height:24px;width:24px}.script-blocks input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.script-blocks input[type=number]::-webkit-inner-spin-button,.script-blocks input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.script-blocks .race-create-row>.script-expr{flex:0 1 auto}.script-expr .script-expr{flex:0 1 auto}.script-blocks .race-create-row{flex-wrap:wrap;align-items:flex-start;row-gap:3px;min-width:0}.script-blocks .race-create-row .field-label{margin:0;line-height:28px}.script-blocks .race-create-row .script-drag-handle,.script-blocks .race-create-row .script-word-op{line-height:28px}.script-blocks .race-create-row .meta-line,.script-blocks .race-create-row .script-summary-btn{align-self:center}.script-pair{display:inline-flex;align-items:flex-start;gap:3px;flex:0 1 auto;min-width:0}.script-pair .field-label{margin:0;flex:none;line-height:28px}.script-pair-grow{flex:1 1 0}.script-glue{display:inline-flex;align-items:flex-start;gap:3px;flex:0 1 auto;min-width:0}.script-glue>.field-label,.script-glue>.script-word-op,.script-glue>select,.script-glue>.script-typeahead{flex:none}.script-pair-grow>.script-expr>.script-glue[data-tail="1"]{flex:1 1 0;min-width:min-content;flex-wrap:wrap}.script-expr[data-atomic="1"]{flex:none;flex-wrap:nowrap}.script-field{display:inline-flex;align-items:flex-start;gap:3px;flex:0 1 auto;min-width:0}.script-field .field-label{margin:0;flex:none}.script-field>.field-label:last-child{align-self:flex-end}.script-blocks .race-create-row button:not(.script-summary-btn){flex:0 0 auto}.script-blocks>.race-create-row .meta-line{flex:1}.script-row-label{flex:none;width:82px;margin:0}.script-typeahead{position:relative;display:inline-flex;flex:none}.script-typeahead-input{font-weight:600;cursor:text}.script-typeahead-list{position:absolute;top:30px;left:0;z-index:60;min-width:180px;max-height:250px;overflow-y:auto;display:flex;flex-direction:column;padding:3px;background:var(--tlx-background);border:1px solid var(--tlx-border);border-radius:2px;box-shadow:0 8px 22px #00000024}.script-typeahead-item{text-align:left;border:0;background:transparent;padding:5px 8px;border-radius:2px;font-size:12px;cursor:pointer;white-space:nowrap}.script-typeahead-item:hover,.script-typeahead-sel{background:var(--tlx-muted-2)}.script-typeahead-empty{padding:5px 8px;font-size:11px;color:var(--tlx-text-3)}.script-mini-btn{flex:none!important;width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;border:1px solid var(--tlx-border);font-size:13px;line-height:1;color:var(--tlx-text-3);background:transparent}.script-mini-btn:hover{color:var(--tlx-text);background:var(--wash-2)}.script-expr{display:inline-flex;align-items:flex-start;gap:3px;flex-wrap:wrap;min-width:0}.script-blocks .race-create-row{column-gap:3px}.script-expr[data-pill=hover]>.script-typeahead{display:none}.script-expr[data-pill-focus]>.script-typeahead{display:inline-flex}.script-expr[data-pill=hover][data-help-topic=num]>.script-num-input{color:var(--stmt-num)}.script-expr[data-pill=hover][data-help-topic=str]>.race-name-input{color:var(--stmt-str)}.script-expr[data-pill=hover][data-help-topic=bool]>select{color:var(--stmt-bool)}.script-expr[data-pill=hover][data-help-topic=local]>.race-name-input{color:var(--stmt-local)}.script-expr[data-pill=hover][data-help-topic=slot]>.race-name-input,.script-expr[data-pill=hover][data-help-topic=pslot]>.race-name-input{color:var(--stmt-slot)}.script-expr[data-pill=hover][data-help-topic=pvar]>.race-name-input,.script-expr[data-pill=hover][data-help-topic=zvar]>.race-name-input{color:var(--stmt-pvar)}.script-expr[data-pill=hover][data-help-topic=fld]>select{color:var(--stmt-fld)}.script-blocks .race-create-row{display:block;line-height:31px}.script-blocks .race-create-row:has(>.script-drag-handle):not(.script-blocks-ro *){padding-left:16px;text-indent:-16px}.script-blocks .race-create-row *{text-indent:0}.script-blocks .script-pair{display:inline-block;max-width:100%;vertical-align:top}.script-blocks .race-create-row .script-pair-grow{display:inline;vertical-align:baseline}.script-blocks .race-create-row .meta-line,.script-blocks .race-create-row .script-summary-btn{vertical-align:middle}.script-trig-actions{position:absolute;top:2px;right:6px;display:inline-flex;gap:3px;align-items:center}.script-blocks .race-create-row .race-create-row,.script-blocks .script-expr,.script-blocks .script-field,.script-blocks .script-glue{display:inline}.script-blocks .script-expr[data-atomic="1"]{display:inline-block}.script-blocks .race-create-row .field-label,.script-blocks .race-create-row .script-word-op,.script-blocks .race-create-row .script-typeahead,.script-blocks .race-create-row .script-drag-handle,.script-blocks .race-create-row .meta-line,.script-blocks .race-create-row input,.script-blocks .race-create-row select,.script-blocks .race-create-row textarea,.script-blocks .race-create-row button{margin-right:3px;vertical-align:top}.script-blocks .race-create-row input,.script-blocks .race-create-row select,.script-blocks .race-create-row textarea{display:inline-block}.script-blocks .race-create-row .field-label{display:inline;white-space:nowrap}.script-add-stmt{width:100%!important;border:1.5px dashed var(--tlx-border)!important;background:transparent;color:var(--tlx-text-3);font-weight:600;border-radius:2px;opacity:.85;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.script-add-stmt:hover{border-color:var(--tlx-text)!important;color:var(--tlx-text);background:var(--wash-3)}.script-else-add-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.script-blocks .script-else-add{height:28px;padding:0 9px;border:1.5px dashed var(--tlx-border)!important;background:transparent;color:var(--tlx-text-3);font-weight:600;border-radius:2px;opacity:.85;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.script-blocks .script-else-add:hover{border-color:var(--tlx-text)!important;color:var(--tlx-text);background:var(--wash-3)}.script-event-hint{font-size:11px;flex:none}.script-cap-note,.script-depth-note{font-style:italic}.script-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:4px 0 12px}.script-template-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px;border:1px solid var(--tlx-border);border-radius:2px;background:var(--tlx-background);cursor:pointer;font:inherit;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.script-template-card:hover{border-color:var(--tlx-selection);box-shadow:0 2px 10px #0000001a}.script-template-title{font-weight:700;font-size:13px}.script-template-blurb{font-size:11.5px;line-height:1.45;color:var(--tlx-text-3);flex:1}.script-workspace-card{width:min(1180px,96vw);height:min(82vh,900px)}.script-workspace-card.script-workspace-fullscreen{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;box-shadow:none;padding:0;gap:0}.script-workspace-card.script-workspace-fullscreen .script-workspace{padding:4px 6px 6px}.script-tabs{gap:2px;padding:2px;border-radius:2px;background:var(--tlx-muted-2)}.script-tabs .sidebar-effects-btn{height:26px;background:transparent;color:var(--tlx-text-3);font-weight:400}.script-tabs .sidebar-effects-btn:hover{background:transparent;color:var(--tlx-text-1)}.script-tabs .sidebar-effects-btn:not(.tlx-btn-ghost){background:var(--tlx-selected);color:var(--tlx-selected-contrast);font-weight:600}.script-code-card input,.script-code-card select{border-color:transparent}.script-code-card input:hover,.script-code-card select:hover{border-color:var(--tlx-text-3)}.script-code-card .script-field-row .sidebar-effects-btn,.script-code-card .script-wholemap-row .sidebar-effects-btn,.script-code-card .script-ws-footer .sidebar-effects-btn{background:transparent;color:var(--tlx-text-3);font-weight:400}.script-code-card .script-field-row .sidebar-effects-btn:hover,.script-code-card .script-wholemap-row .sidebar-effects-btn:hover,.script-code-card .script-ws-footer .sidebar-effects-btn:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.script-ws-head{padding:5px 8px;gap:8px}.script-ws-head h2{font-size:13px;margin:0}.script-ws-head button{height:24px;padding:0 8px;font-size:11px}.script-ws-rail{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:5;width:16px;height:56px;padding:0;border:1px solid var(--tlx-border);border-left:0;border-radius:0 2px 2px 0;background:var(--tlx-background);color:var(--tlx-text-3);font-size:13px;line-height:1;cursor:pointer}.script-ws-rail:hover{background:var(--tlx-muted-2);color:var(--tlx-text)}.script-workspace{position:relative;flex:1;min-height:0;display:flex;gap:10px}.script-ws-list{width:240px;flex:none;display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding-left:16px;padding-right:6px;border-right:1px solid var(--tlx-border)}.script-ws-zone-list{display:flex;flex-direction:column;gap:4px;flex:none;min-height:0}.script-ws-zone-list .race-row{flex:none}.script-ws-list .effects-head button{margin-left:auto}.script-ws-drag-src{opacity:.45}.script-ws-active{outline:2px solid var(--tlx-selection);outline-offset:-2px}.script-ws-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.script-ws-editor{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.script-ws-editor>*{flex:none}.script-ws-editor>.script-modal-body{flex:1 1 0;min-height:170px}.script-ws-editor .race-create{max-height:176px;overflow-y:auto}.script-ws-editor .race-create .race-create-row button{flex:0 0 auto}.script-wholemap-row button{margin-left:auto}.script-ws-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}.script-ws-footer{margin-top:auto;align-items:center}.script-ws-footer .meta-line{margin-right:auto}.script-template-grid-col{display:flex;flex-direction:column;gap:8px}.script-template-grid-col .script-template-card,.script-template-grid .script-template-card{flex:none;height:auto;min-height:0}.code-editor-toolbar{position:absolute;top:4px;right:10px;z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .12s ease}.code-editor:hover .code-editor-toolbar,.code-editor-toolbar:focus-within{opacity:1}.code-editor-undo{width:24px;height:22px;padding:0;border:1px solid var(--tlx-border);border-radius:2px;background:var(--tlx-background);color:var(--tlx-text);cursor:pointer;font-size:12px;line-height:1}.code-editor-undo:disabled{opacity:.35;cursor:default}.script-api-filter{width:100%;margin-bottom:4px;font-size:11px}.script-api-insert{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--tlx-text-3);opacity:0;transition:opacity .12s ease}.script-api-entry:hover .script-api-insert{opacity:1;color:var(--code-api)}.tile-art-picker{display:flex;flex-direction:column;gap:4px;margin:4px 0}.tile-art-row{display:flex;gap:6px;align-items:flex-start}.tile-art-row select{flex:1;min-width:0}.tile-art-preview{width:48px;height:48px;flex:none;border:1px solid rgba(0,0,0,.2);border-radius:2px;background-color:#fff;image-rendering:pixelated}.tile-art-preview.empty{background-image:repeating-conic-gradient(#ddd,#ddd 25%,#fff 0%,#fff 50%);background-size:12px 12px}.tile-art-controls{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.tile-art-controls select{width:100%}.sprite-tiling{margin:4px 2px;border:1px solid var(--tlx-divider);border-radius:4px}.sprite-tiling summary{padding:3px 6px;font-size:11px;color:var(--tlx-text-2);cursor:pointer;list-style:none}.sprite-tiling summary:before{content:"▸ "}.sprite-tiling[open] summary:before{content:"▾ "}.sprite-tiling-body{display:flex;flex-direction:column;gap:6px;padding:4px 6px 8px}.sprite-tiling-modes{display:flex;gap:2px;flex-wrap:wrap}.sprite-tiling-modes .tool-btn.active{background:color-mix(in srgb,var(--tlx-accent, #4d7cff) 22%,transparent);outline:1px solid var(--tlx-accent, #4d7cff)}.sprite-tiling-fields{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--tlx-text-2)}.sprite-tiling-fields label{display:inline-flex;align-items:center;gap:3px}.sprite-tiling-fields input[type=number]{width:52px;padding:1px 3px;font-size:11px}.sprite-tiling-note{font-size:10px;color:var(--tlx-text-3)}.sprite-tiling-commit{display:flex;align-items:center;gap:6px}.sprite-tiling-preview-wrap{display:flex;flex-direction:column;gap:2px}.sprite-tiling-preview{image-rendering:pixelated;border:1px solid var(--tlx-divider);border-radius:2px;width:132px}.smask-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.collider-presets{display:flex;flex-wrap:wrap;gap:4px}.collider-presets .tool-btn{flex:none;height:24px;padding:0 8px;font-size:11px;white-space:nowrap}.tldraw-credit{position:absolute;left:10px;bottom:8px;z-index:310;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:2px;background:var(--tlx-panel);box-shadow:var(--tlx-shadow-2);opacity:.93;font-size:10.5px;line-height:1.2;color:var(--tlx-text);text-decoration:none;white-space:nowrap;pointer-events:auto}.tldraw-credit:before{content:"";width:10px;height:10px;border-radius:2px;background:conic-gradient(from 210deg,#1e77ec,#8b5cf6,#ef4444,#1e77ec)}.tldraw-credit:hover{opacity:1;text-decoration:underline}.room-view[data-credit="1"] .mode-menu{bottom:34px}@media(pointer:coarse){.room-view[data-credit="1"] .mode-menu{bottom:auto}}.scribble-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:transparent;overflow:hidden}.scribble-overlay .tl-container,.scribble-overlay .tl-background{background:transparent!important}.scribble-overlay .tl-grid{opacity:0}.scribble-overlay .scribble-strip{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:2px;background:#0f1115e0;border:1px solid #2c313a;box-shadow:0 6px 24px #00000073;z-index:1000;-webkit-user-select:none;user-select:none}.scribble-overlay .scribble-group{display:flex;align-items:center;gap:4px}.scribble-overlay .scribble-btn{min-width:30px;height:30px;padding:0 7px;border:1px solid #2c313a;border-radius:2px;background:#171a1f;color:#d7dce4;font-size:13px;line-height:1;cursor:pointer}.scribble-overlay .scribble-btn.on{background:#2b3542;border-color:#4a90d9;color:#fff}.scribble-overlay .scribble-pen{display:flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid #2c313a;border-radius:2px;background:#171a1f;color:#d7dce4;font-size:12px;cursor:pointer}.scribble-overlay .scribble-pen.on{border-color:#4a90d9;background:#2b3542;color:#fff}.scribble-overlay .scribble-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.35)}.scribble-overlay .scribble-hint{color:#7d8590;font-size:11px;padding:0 4px}.scribble-overlay .scribble-done{background:#1e77ec;border-color:#1e77ec;color:#fff;font-weight:600;padding:0 14px}.scribble-overlay .scribble-loading{position:absolute;top:12px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:2px;background:#0f1115d9;color:#9aa4b2;font-size:12px}.solo-badge{display:inline-flex;align-items:center;padding:2px 10px;border:1px solid transparent;border-radius:2px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:default;-webkit-user-select:none;user-select:none}.solo-badge:focus-visible{outline:2px solid #4a90d9}.script-search-input{min-width:96px}.script-search-hit>.race-create-row,.script-search-hit{outline:2px solid #e8b93c;outline-offset:-1px;border-radius:2px}.script-name-input{min-width:7ch;font-style:italic}.script-name-input:not(:placeholder-shown){font-style:normal;font-weight:600}.script-effect-count{opacity:.65}.script-effect-warn{opacity:1;color:#b45309;font-weight:600}.script-stale-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;margin-bottom:8px;border:1px solid #e8b93c;border-radius:2px;background:#e8b93c1f;font-size:12px}.script-stale-banner .script-error-text{flex:1;min-width:200px}.gate-account{flex:1 1 0;color:var(--tlx-text-1)}.gate-account .room-menu-title{width:100%;justify-content:center;gap:7px;height:32px;padding:0 12px;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-family:Blinker,system-ui,sans-serif;font-size:12px;font-weight:600}.gate-account .room-menu-title:hover{background:var(--tlx-muted-2)}.gate-account-name{white-space:nowrap}.gate-account-name[data-role=admin]{color:var(--tlx-warning)}.gate-account-name[data-role=creator]{color:var(--tlx-success)}.gate-account-pop{left:auto;right:0}.gate-char-link.gate-login-link{border-color:var(--tlx-selected);color:var(--tlx-text-1)}.gate-char-link.gate-login-link:hover{border-color:var(--tlx-focus)}.gate-login-error{margin:6px 0 0;font-size:12.5px;color:var(--tlx-danger)}.profile{max-width:980px;margin:0 auto;padding:22px 18px 60px;color:var(--tlx-text-1);font-family:inherit}.profile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.profile-home,.profile-mine{color:var(--tlx-text-3);text-decoration:none;font-size:13px}.profile-home:hover,.profile-mine:hover{color:var(--tlx-text-1)}.profile-card{background:var(--tlx-panel);border:1px solid var(--tlx-divider);border-radius:var(--tlx-radius-2);padding:18px}.profile-empty{margin-top:14px;color:var(--tlx-text-3)}.profile-empty h1{margin:0 0 6px;font-size:18px;color:var(--tlx-text-1)}.profile-empty p{margin:0}.profile-id{display:flex;gap:18px;align-items:flex-start}.profile-avatar{width:72px;height:72px;flex:none;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:#fff;text-shadow:0 1px 3px hsl(0,0%,0%,35%);border-radius:var(--tlx-radius-2)}.profile-id-text{min-width:0;flex:1}.profile-name-row{display:flex;align-items:center;gap:10px}.profile-name-row h1{margin:0;font-size:22px}.profile-role{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:var(--tlx-radius-1);border:1px solid var(--tlx-divider);color:var(--tlx-text-3)}.profile-role[data-role=admin]{border-color:var(--tlx-warning);color:var(--tlx-warning)}.profile-role[data-role=creator]{border-color:var(--tlx-success);color:var(--tlx-success)}.profile-username{color:var(--tlx-text-3);font-size:13.5px;margin-top:2px}.profile-since{color:var(--tlx-text-3);font-size:12px;margin-top:2px}.profile-bio{margin:10px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.profile-bio-empty{color:var(--tlx-text-3)}.profile-id-row{margin-top:10px;display:flex;align-items:center;gap:10px}.profile-savenote{color:var(--tlx-success);font-size:12.5px}.profile-btn{border:1px solid var(--tlx-divider);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);border-radius:var(--tlx-radius-1);padding:5px 12px;font-size:13px;cursor:pointer}.profile-btn:hover{border-color:var(--tlx-text-3)}.profile-btn-quiet{background:transparent}.profile-danger{margin-top:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.profile-danger-text h2{margin:0 0 4px;font-size:15px}.profile-danger-text p{margin:0;font-size:13px;color:var(--tlx-text-3);max-width:560px}.profile-danger-actions{display:flex;align-items:center;gap:10px;flex:none}.profile-btn-danger{color:var(--tlx-danger, #e5484d);border-color:var(--tlx-danger, #e5484d);background:transparent}.profile-btn-danger:hover{background:var(--tlx-danger, #e5484d);color:#fff}.profile-editor{margin-top:10px;display:flex;flex-direction:column;gap:6px;max-width:480px}.profile-editor label{font-size:12px;color:var(--tlx-text-3)}.profile-editor textarea{resize:vertical;border:1px solid var(--tlx-divider);border-radius:var(--tlx-radius-1);background:var(--tlx-panel-contrast);color:var(--tlx-text-1);padding:7px 9px;font:inherit;font-size:13.5px}.profile-colors{display:flex;flex-wrap:wrap;gap:6px}.profile-swatch{width:22px;height:22px;border-radius:var(--tlx-radius-1);border:2px solid transparent;cursor:pointer;padding:0}.profile-swatch[data-picked=true]{border-color:var(--tlx-text-1)}.profile-editor-row{display:flex;gap:8px;margin-top:4px}.profile-games{margin-top:26px}.profile-games-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.profile-games-head h2{margin:0;font-size:16px}.profile-count{color:var(--tlx-text-3);font-weight:400}.profile-fav-pref{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tlx-text-3);cursor:pointer;-webkit-user-select:none;user-select:none}.profile-fav-pref input{accent-color:#d6336c;cursor:pointer}.profile-favs-controls{display:flex;align-items:center;gap:12px}.profile-games .rb-cards,.profile-games .rb-table{overflow-y:visible}.admin-users{margin-top:22px}.admin-users-title{margin:0 0 8px;font-size:15px}.admin-user-name{color:var(--tlx-text-1);font-weight:600;text-decoration:none;margin-right:8px}.admin-user-name:hover{text-decoration:underline}.admin-user-handle{color:var(--tlx-text-3);font-size:12px}.admin-user-none,.admin-user-cap{color:var(--tlx-text-3)}.admin-cap-input{width:56px;height:26px;padding:0 6px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel);color:var(--tlx-text-1);font-size:12.5px}.admin-role-toggle{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:12.5px;color:var(--tlx-text-1)}.admin-role-toggle input[type=checkbox]{height:auto;min-height:0;padding:0;border:none;background:none;margin:0;accent-color:var(--tlx-selected)}.rb-creator-link{color:var(--tlx-text-1);text-decoration:underline}.admin-tabs{display:flex;align-items:center;gap:4px;margin-bottom:10px}.admin-tabs button{position:relative;height:28px;padding:0 12px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--tlx-text-2);font-size:12.5px;cursor:pointer}.admin-tabs button:hover{background:var(--tlx-muted-2)}.admin-tabs button.active{border-color:var(--tlx-divider);background:var(--tlx-low);color:var(--tlx-text-1);font-weight:600}.admin-note{margin-left:auto;font-size:12px;color:var(--tlx-text-2)}.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:8px;background:var(--tlx-warning, #e5534b);color:#fff;font-size:10.5px;font-weight:700;vertical-align:1px}.admin-flag-deleted{background:color-mix(in srgb,var(--tlx-warning, #e5534b) 18%,transparent);color:var(--tlx-warning, #e5534b)}.admin-room-owner{margin-left:6px;font-size:10.5px;color:var(--tlx-text-3)}.admin-table tr[data-deleted] td{opacity:.72}.admin-table .admin-user-row{cursor:pointer}.admin-users-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-filter{height:28px;width:200px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel);color:var(--tlx-text-1);font-size:12.5px}.admin-table th.admin-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-table th.admin-sortable:hover,.admin-table th.admin-sorted{color:var(--tlx-text-1)}.admin-sort-arrow{display:inline-block;width:10px;margin-left:3px;font-size:9px;color:var(--tlx-text-2)}.admin-user-modal{position:relative;width:min(420px,92vw)}.admin-user-facts{display:grid;grid-template-columns:96px 1fr;gap:4px 12px;margin:10px 0 14px;font-size:12.5px}.admin-user-facts dt{color:var(--tlx-text-3)}.admin-user-facts dd{margin:0;color:var(--tlx-text-1)}.admin-user-roles{display:flex;flex-direction:column;gap:8px}.admin-user-roles .admin-role-toggle{margin:0}.admin-role-toggle input:disabled{opacity:.4}.admin-role-danger{color:var(--tlx-warning, #e5534b)}.admin-flags-toggle{margin-left:14px;font-weight:400}.admin-flag-room{border:0;background:transparent;color:var(--tlx-text-1);font-weight:600;font-size:12px;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:var(--tlx-divider)}.admin-flag-reason{white-space:normal!important;max-width:260px}.admin-flag-resolution{font-size:11.5px;color:var(--tlx-text-3)}.admin-table tr[data-resolved] td{opacity:.55}.rb-flag-link{margin-top:8px;border:0;background:transparent;color:var(--tlx-text-3);font-size:11.5px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--tlx-divider)}.rb-flag-link:hover{color:var(--tlx-text-1)}.rb-flag-note{margin:8px 0 0;font-size:11.5px;color:var(--tlx-text-2)}.admin-mods{margin-top:16px;border-top:1px solid var(--tlx-divider);padding-top:10px}.admin-mods-row{display:flex;gap:6px;margin-bottom:8px}.admin-mods-row input{flex:1;height:28px;padding:0 8px;border:1px solid var(--tlx-divider);border-radius:2px;background:var(--tlx-panel);color:var(--tlx-text-1);font-size:12.5px}.admin-mods-list{list-style:none;margin:0 0 6px;padding:0;font-size:12.5px}.admin-mods-list li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--tlx-muted-1)}.admin-mods-list a{color:var(--tlx-text-1);font-weight:600;text-decoration:none}.admin-mods-list button{margin-left:auto;height:24px;padding:0 10px;border:0;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:11px;cursor:pointer}.admin-mods-list button:hover{background:var(--tlx-muted-2)}.room-menu-item-badge{display:flex;align-items:center;justify-content:space-between;gap:8px}.saves-card{width:min(1080px,calc(100vw - 32px));height:min(800px,calc(100vh - 48px));overflow:hidden}.saves-lede{font-size:12px;color:var(--tlx-text-2);margin:4px 0 10px}.saves-tabs{display:none;margin-bottom:0}.room-roles-card{width:min(680px,94vw)}.room-roles-list{border:1px solid var(--tlx-low);border-radius:2px;padding:6px;max-height:min(40vh,360px);overflow-y:auto;margin-bottom:10px}.room-roles-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 4px;flex-wrap:wrap}.room-roles-row+.room-roles-row{border-top:1px solid var(--tlx-low)}.room-roles-owner{font-weight:600}.room-roles-name{min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-roles-toggles{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.room-roles-muted{opacity:.55}.room-roles-remove{border:none;background:none;color:var(--tlx-text-2);cursor:pointer;font-size:12px;padding:2px 6px}.room-roles-remove:hover{color:var(--tlx-danger, #c0392b)}.room-roles-add{border:1px solid var(--tlx-low);border-radius:2px;padding:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.room-roles-add-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-roles-add-row input[type=text],.room-roles-add-row input:not([type]),.room-roles-add-row select{height:28px;padding:0 8px;border:1px solid var(--tlx-low);border-radius:2px;background:var(--tlx-bg, var(--tlx-low));color:inherit}.room-roles-add-row input:not([type=checkbox]){flex:1 1 160px;min-width:0}.saves-tabs button:disabled{opacity:.5;cursor:default}.saves-body{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--tlx-low);border-radius:2px;flex:1;min-height:0;overflow:hidden}.saves-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.saves-pane-top{position:sticky;top:0;z-index:1;background:var(--tlx-panel);padding-bottom:6px}.saves-pane-top .saves-filter{margin-bottom:0}.saves-filter,.gate-card .saves-filter{height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--tlx-low);border-radius:2px;background:var(--tlx-bg, var(--tlx-low));color:var(--tlx-text-1);font-size:12px;min-width:0}.saves-player{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:2px}.saves-player:hover{background:var(--tlx-muted-2)}.saves-player[data-open]{background:var(--tlx-low)}.gate-card .saves-player-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;height:auto;padding:2px 4px;border:0;background:transparent;color:var(--tlx-text-1);font-size:12.5px;text-align:left;cursor:pointer}.saves-player-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.saves-player-meta{display:flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;white-space:nowrap;font-size:10.5px;color:var(--tlx-text-2)}.saves-player .saves-opaque-id{margin-left:0;font-size:10px}.saves-player-main .saves-player-name.saves-opaque-id{font-weight:400}.gate-card .saves-player-reset{flex:0 0 auto;height:20px;padding:0 7px;border:0;border-radius:2px;font-size:10.5px;cursor:pointer}.saves-opaque-id{color:var(--tlx-text-2);font-size:11px;font-family:monospace;margin-left:6px}.saves-ghost-danger{background:var(--tlx-low)!important;color:var(--tlx-text-2)!important}.saves-ghost-danger:hover{background:var(--tlx-danger, #b34040)!important;color:var(--tlx-on-danger, #fff)!important}.saves-danger{color:var(--tlx-on-danger, #fff)!important;background:var(--tlx-danger, #b34040)!important}.saves-editor{display:flex;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;padding-left:12px;border-left:1px solid var(--tlx-low)}.saves-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 8px;color:var(--tlx-text-2);font-size:12.5px;text-align:center}.saves-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-width:0}.saves-editor-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saves-editor-tools{display:flex;gap:4px;flex:0 0 auto}.saves-editor-head button{height:22px;padding:0 8px;border:0;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:11px;cursor:pointer}@media(max-width:700px){.saves-tabs{display:flex}.saves-body{grid-template-columns:minmax(0,1fr);padding:0;border:0;min-height:0}.saves-body[data-tab=players] .saves-editor,.saves-body[data-tab=data] .saves-list{display:none}.saves-editor{border-left:0;padding-left:0}}.saves-kv{display:flex;align-items:center;gap:8px;margin:4px 0}.saves-kv input,.saves-kv select{height:24px;min-width:0;flex:1;padding:0 6px;border:1px solid var(--tlx-low);border-radius:2px;background:var(--tlx-bg, var(--tlx-low));color:var(--tlx-text-1);font-size:12px}.saves-kv select{flex:0 0 84px}.saves-key{flex:0 0 40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.gate-card .saves-bool{flex:1;height:24px;border:0;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px;cursor:pointer;text-align:left;padding:0 6px}.saves-kv button.saves-ghost-danger,.saves-add button{flex:0 0 auto;height:24px;padding:0 8px;border:0;border-radius:2px;font-size:11px;cursor:pointer}.saves-add button{background:var(--tlx-low);color:var(--tlx-text-1)}.saves-note{font-size:12px;color:var(--tlx-text-2);margin:8px 0}.saves-footer{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.saves-footer button{height:26px;padding:0 10px;border:0;border-radius:2px;background:var(--tlx-low);color:var(--tlx-text-1);font-size:12px;cursor:pointer}.saves-footer button:hover{background:var(--tlx-muted-2)}.saves-footer button.saves-outline-danger{background:transparent;border:1px solid var(--tlx-danger, #b34040);color:var(--tlx-danger, #b34040)}.saves-footer button.saves-outline-danger:hover{background:var(--tlx-danger, #b34040);color:var(--tlx-on-danger, #fff)}.saves-confirm-text{flex:1 1 100%;font-size:12px;color:var(--tlx-text-1)}.saves-export{font-size:12px;margin-right:auto}.cge-playground{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--tlx-background);color:var(--tlx-text-1)}.cge-playground .sidebar-effects-btn{height:26px;background:transparent;color:var(--tlx-text-3);font-weight:400}.cge-playground .sidebar-effects-btn:hover{background:var(--tlx-muted-2);color:var(--tlx-text-1)}.cge-playground .race-name-input{background:var(--tlx-muted-2);color:var(--tlx-text-1);border:1px solid var(--tlx-border)}.cge-playground.cge-pg-full{padding:8px 10px}.cge-pg-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cge-pg-head strong{font-size:15px}.cge-pg-tagline{font-size:12px;opacity:.7}.cge-pg-note{margin:0}.cge-pg-personas{display:grid;gap:2px}.cge-pg-personas strong{font-weight:600}.cge-pg-personas span{opacity:.75}.cge-pg-panes{flex:1 1 0;display:flex;gap:10px;min-height:0}.cge-pg-panes.cge-pg-stacked{flex-direction:column}.cge-pg-pane{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--tlx-border);border-radius:4px;overflow:hidden}.cge-pg-pane-label{padding:4px 8px;font:600 11px system-ui;background:var(--tlx-muted-1);border-bottom:1px solid var(--tlx-border)}.cge-pg-pane-body{flex:1 1 0;min-height:0;overflow:auto;padding:8px}.cge-pg-pane-body .code-editor{height:100%}.arrange-bar{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;border:1px solid color-mix(in srgb,var(--tlx-text-3) 55%,transparent);background:color-mix(in srgb,var(--tlx-panel) 88%,transparent);box-shadow:var(--tlx-shadow-2);font-size:13px;color:var(--tlx-text-1);z-index:70;white-space:normal;max-width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));flex-wrap:wrap;justify-content:center}.arrange-bar button{padding:5px 10px;border-radius:2px;border:1px solid color-mix(in srgb,var(--tlx-text-3) 55%,transparent);background:transparent;color:var(--tlx-text-1);font-size:12px;cursor:pointer}.arrange-bar button.accent{background:color-mix(in srgb,var(--tlx-text-1) 60%,transparent);color:var(--tlx-panel, #fff);border-color:transparent}.prefs-arrange-btn{display:inline-block;padding:6px 12px;cursor:pointer}.items-chrome{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.items-chrome button{pointer-events:auto}.items-hotbar{position:absolute;bottom:52px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:6px;background:#0d1117c7;border:1px solid rgba(240,246,252,.1);border-radius:10px;max-width:calc(100vw - 8px)}.items-hotbar .items-slot{flex:1 1 0;min-width:20px;max-width:44px;aspect-ratio:1;width:auto;height:auto;touch-action:none}.items-slot{touch-action:none}.items-bag-toggle{border-style:solid;background:#4493f824}.items-slot{position:relative;width:44px;height:44px;border-radius:8px;border:1px solid rgba(240,246,252,.14);background:#f0f6fc0a;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.items-slot:hover{background:#f0f6fc17}.items-slot.sel{box-shadow:0 0 0 2px #4493f8}.items-slot.drop{box-shadow:0 0 0 2px #2f9e6e;background:#2f9e6e29}.items-drag-ghost{position:fixed;z-index:90;pointer-events:none;transform:translate(-50%,-60%) scale(1.15);filter:drop-shadow(0 4px 10px rgba(0,0,0,.55));display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}.items-slot.dim{opacity:.35}.items-slot.empty{border-style:dashed}.items-slot-icon{font-size:20px;line-height:1;color:#f0f6fce0}.items-slot-img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;background-repeat:no-repeat;display:block}.items-slot-n{position:absolute;right:3px;bottom:1px;font-size:11px;font-weight:700;color:#f0f6fceb;text-shadow:0 1px 2px rgba(0,0,0,.8)}.items-slot-key{position:absolute;left:3px;top:1px;font-size:9px;color:#f0f6fc80}.items-panel{position:absolute;bottom:116px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;padding:12px 14px;background:#0d1117eb;border:1px solid rgba(240,246,252,.12);border-radius:12px;pointer-events:auto}.items-panel-col{display:flex;flex-direction:column;gap:6px}.items-panel-head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f0f6fc8c}.items-grid{display:grid;grid-template-columns:repeat(8,44px);gap:6px}.items-eq{border-left:1px solid rgba(240,246,252,.1);padding-left:14px}.items-eq-lane{display:flex;align-items:center;gap:6px}.items-eq-name{font-size:11px;color:#f0f6fc80}.items-panel-hint{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-size:11px;color:#f0f6fc73}.items-tooltip{position:fixed;z-index:40;max-width:230px;padding:8px 10px;background:#0d1117f5;border:1px solid rgba(240,246,252,.14);border-radius:8px;pointer-events:none;font-size:12px}.items-tooltip-name{font-weight:700;color:#f0f6fceb}.items-tooltip-desc{color:#f0f6fca6;margin-top:2px}.items-tooltip-row{color:#f0f6fc8c;margin-top:2px}.items-tooltip-data{color:#d29922}.attr-bars{position:absolute;display:flex;flex-direction:column;gap:4px;pointer-events:none;z-index:29}.attr-bars.loc-top{top:10px;left:50%;transform:translate(-50%)}.attr-bars.loc-hotbar{bottom:116px;left:50%;transform:translate(-50%);align-items:center}.attr-bars.loc-tl{top:10px;left:10px}.attr-bars.loc-tr{top:10px;right:10px}.attr-bars.loc-bl{bottom:10px;left:10px}.attr-bars.loc-br{bottom:10px;right:10px}.attr-bar{display:flex;align-items:center;gap:6px;font-size:11px}.attr-bars.dark .attr-bar{color:#f0f6fcbf}.attr-bars.light .attr-bar{color:#0d1117cc}.attr-bar-name{font-weight:700;min-width:42px;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.4)}.attr-bar-track{width:140px;height:8px;border-radius:4px;overflow:hidden}.attr-bars.dark .attr-bar-track{background:#f0f6fc1f;outline:1px solid rgba(0,0,0,.5)}.attr-bars.light .attr-bar-track{background:#0d111724;outline:1px solid rgba(255,255,255,.7)}.attr-bar-fill{height:100%;border-radius:4px;transition:width .2s linear}.attr-bar-num{min-width:24px;font-variant-numeric:tabular-nums}.touch-drive{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:58}.touch-drive-steer{position:absolute;left:calc(14px + env(safe-area-inset-left));right:auto;top:auto;bottom:calc(18px + env(safe-area-inset-bottom));width:min(46vw,250px);height:58px;border-radius:14px;background:#080c0f70;border:1px solid rgba(255,255,255,.16);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;padding:0 9px}.touch-drive-steer-track{position:relative;width:100%;height:100%}.touch-drive-steer-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);border-radius:1px;background:#ffffff2e}.touch-drive-knob{position:absolute;top:50%;left:calc(50% - 21px);width:42px;height:42px;margin-top:-21px;border-radius:50%;background:#dfe7ee38;border:1px solid rgba(255,255,255,.4);transition:left .12s ease-out;pointer-events:none}.touch-drive-steer.live .touch-drive-knob{transition:none}.touch-drive-pedals{position:absolute;right:calc(14px + env(safe-area-inset-right));left:auto;top:auto;bottom:calc(128px + env(safe-area-inset-bottom));width:108px;height:128px;pointer-events:auto;touch-action:none;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;-webkit-user-select:none;user-select:none}.touch-drive-pedal{border-radius:14px;background:#080c0f70;border:1px solid rgba(255,255,255,.16);color:#dfe7eecc;font:700 11px/1 ui-rounded,Avenir Next,Segoe UI,sans-serif;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;pointer-events:none;touch-action:none}.touch-drive-pedal.gas{height:74px}.touch-drive-pedal.brake{height:44px}.touch-drive-pedal.gas.on{background:#79c48a52;border-color:#79c48a99}.touch-drive-pedal.brake.on{background:#e06a6052;border-color:#e06a6099}body[data-touch-drive] .touch-action-btn{bottom:calc(270px + env(safe-area-inset-bottom))}body[data-touch-drive] .touch-zoom{bottom:calc(354px + env(safe-area-inset-bottom))}body[data-touch-drive] .touch-action-stack{bottom:calc(490px + env(safe-area-inset-bottom))}@media(max-width:640px),(pointer:coarse)and (max-height:500px){.items-slot{width:36px;height:36px}.items-slot-img{width:26px;height:26px}.items-slot-icon{font-size:16px}.items-hotbar{bottom:8px;gap:4px;padding:5px;max-width:calc(100vw - 12px)}.items-panel{left:8px;right:8px;bottom:64px;transform:none;flex-wrap:wrap;gap:10px;max-height:46vh;overflow-y:auto;padding:10px}.items-chest{flex-direction:column}.items-grid{grid-template-columns:repeat(8,36px);gap:4px}.items-panel-hint{position:static;margin-top:4px}.items-tooltip{display:none}}.items-slot{position:relative}.items-slot-cool{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.items-picker-card{max-width:min(92vw,720px)}.items-art-grid{display:grid;gap:4px;max-height:40vh;overflow-y:auto;padding:4px;background:#0d111799;border-radius:8px}.items-art-cell{background:#f0f6fc0d;border:1px solid rgba(240,246,252,.1);border-radius:6px;padding:2px;cursor:pointer;display:flex;align-items:center;justify-content:center}.items-art-cell:hover{background:#f0f6fc1f}.items-art-cell.picked{outline:2px solid #4493f8}.items-art-upload{display:flex;gap:8px;align-items:center}.items-art-tray{border-top:1px solid rgba(240,246,252,.1);padding-top:8px;display:flex;flex-direction:column;gap:4px}.items-art-snippet{display:flex;gap:6px;align-items:center}.items-art-snippet code{flex:1;font-size:11px;color:#d29922;word-break:break-all}.reports-card{width:min(680px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column}.reports-card h2{margin:0 0 8px;font-size:15px}.reports-list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.report-row{border:1px solid var(--tlx-divider, rgba(128, 128, 128, .25));border-radius:10px;padding:8px 10px}.report-row-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.report-reporter{font-weight:600;font-size:12px}.report-meta{font-size:11px;opacity:.75}.report-when{font-size:11px;opacity:.6}.report-actions{margin-left:auto;display:flex;gap:8px;align-items:baseline}.report-escalate{font-size:11px;text-decoration:underline;opacity:.85}.report-dismiss{font-size:11px}.report-text{margin:6px 0 0;font-size:12.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.report-errors{list-style:none;margin:6px 0 0;padding:6px 8px;border-radius:8px;background:#d2992214;font-family:var(--tlx-mono, ui-monospace, monospace);font-size:10.5px;display:flex;flex-direction:column;gap:2px;word-break:break-all}.reports-empty{font-size:12px;color:var(--tlx-text-2, inherit);margin:8px 0}.reports-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cge-splash{--splash-bg: hsl(210, 20%, 98%);--splash-fg: hsl(0, 0%, 18%);--splash-track: hsl(214, 20%, 90%);--splash-fill: hsl(214, 84%, 56%);--splash-note: hsl(204, 4%, 45%);--splash-faint: hsl(204, 4%, 65%);--splash-credit: hsl(210, 15%, 40%);position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--splash-bg);color:var(--splash-fg);font-family:Blinker,system-ui,-apple-system,Segoe UI,sans-serif;transition:opacity .4s ease}.cge-splash.cge-splash-dark,:root[data-theme=dark] .cge-splash{--splash-bg: hsl(216, 22%, 11%);--splash-fg: hsl(0, 0%, 92%);--splash-track: hsl(214, 14%, 22%);--splash-note: hsl(204, 8%, 62%);--splash-faint: hsl(204, 6%, 42%);--splash-credit: hsl(210, 12%, 64%);color-scheme:dark}.cge-splash .cge-splash-title{margin:0 0 10px;font-size:44px;font-weight:700;letter-spacing:.04em}.cge-splash .cge-splash-roomicon{height:1em;width:auto;margin-right:14px;border-radius:2px;vertical-align:middle;transform:translateY(-.08em);object-fit:cover}.cge-splash .cge-splash-track{width:min(320px,72vw);height:8px;border-radius:2px;background:var(--splash-track);overflow:hidden}.cge-splash .cge-splash-fill{height:100%;width:0%;border-radius:inherit;background:var(--splash-fill)}.cge-splash .cge-splash-row{display:flex;justify-content:space-between;width:min(320px,72vw);font-size:12px;color:var(--splash-note)}.cge-splash .cge-splash-build{position:fixed;right:10px;bottom:8px;font-size:10px;color:var(--splash-faint)}.cge-splash .cge-splash-credit{display:inline-flex;align-items:center;gap:7px;margin-top:2px;font-size:15px;color:var(--splash-credit)}.cge-splash .cge-splash-credit:before{content:"";width:14px;height:14px;border-radius:2px;background:conic-gradient(from 210deg,#1e77ec,#8b5cf6,#ef4444,#1e77ec)}.cge-splash .cge-splash-nojs{margin:0;font-size:14px;color:#ed6c02}.cge-splash.cge-splash-roomload{position:absolute;z-index:2000;pointer-events:auto;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.cge-splash{transition:none}}
