:root{color-scheme:dark;--bg:#101316;--panel:#171b1f;--raised:#20262b;--line:#2d353c;--text:#dce4e8;--muted:#87939d;--accent:#92c8bd;--code-width:43%;font:13px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}button,select,input{font:inherit}button,select{border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--text);padding:6px 10px;cursor:pointer}button:hover{background:var(--raised);border-color:#56636d}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button.quiet{border-color:transparent;background:transparent;color:var(--muted)}button.quiet:hover{color:var(--text);background:var(--raised)}button.icon{font-size:19px;padding:0 8px;min-width:29px;border-color:transparent}button.primary{background:var(--accent);color:#10251f;border-color:var(--accent);font-weight:600}.muted{color:var(--muted)}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.topbar{height:56px;display:flex;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:10px;align-items:center;color:var(--text);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}.wordmark .muted{font-weight:400}.mark{font-size:23px;color:var(--accent)}.scene-picker{margin-left:auto;min-width:220px}.scene-picker select{width:100%;padding:7px 10px}.workspace{display:grid;grid-template-columns:var(--code-width) 5px 1fr;height:calc(100% - 56px);min-height:0}.code-pane,.preview-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-header{height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:8px;border-bottom:1px solid var(--line);background:var(--panel)}.file-label{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex;align-items:center;gap:9px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts{color:#80b1d6;font-weight:bold}.actions{display:flex;align-items:center;gap:4px}.divider{background:var(--line);cursor:col-resize;touch-action:none}.divider:hover,.divider:focus{background:var(--accent)}.editor{position:relative;display:flex;flex:1;min-height:0;overflow:hidden;background:#14181c}.gutter{flex:0 0 48px;background:#14181c;overflow:hidden;border-right:1px solid #1f252b;color:#5c6975;text-align:right}.gutter pre{padding:20px 11px 30px 0;margin:0}.code-scroll{position:relative;min-width:0;flex:1;overflow:hidden}.code-scroll pre,.code-scroll textarea,.gutter pre{font:13px/21px ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:2;letter-spacing:0;white-space:pre}.code-scroll pre{position:absolute;top:0;left:0;min-width:100%;min-height:100%;pointer-events:none;margin:0;padding:20px 20px 100px 18px;color:#c4cfd7;will-change:transform}.code-scroll textarea{display:block;position:absolute;inset:0;resize:none;width:100%;height:100%;border:0;border-radius:0;padding:20px 20px 100px 18px;margin:0;color:transparent;caret-color:var(--accent);background:transparent;outline:none;overflow:auto}.code-scroll textarea::selection{background:#547f805b;color:transparent}.code-scroll textarea:focus-visible{outline:none}.keyword{color:#bdacd9}.string{color:#a9c8a2}.number{color:#d9b986}.comment{color:#718391;font-style:italic}.code-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--line);min-height:46px;background:var(--panel);font-size:11px}.code-footer span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.error{padding:10px 14px;background:#382022;color:#ffd0c8;border-top:1px solid #774340;max-height:140px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,monospace}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:8px}.dot.running{background:var(--accent);box-shadow:0 0 0 3px #92c8bd18}.viewport{position:relative;flex:1;min-height:0;background:#192431;overflow:hidden}.viewport canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.viewport-label{position:absolute;top:12px;left:14px;display:flex;flex-direction:column;gap:3px;pointer-events:none;font-size:11px;color:#d0dce5;text-shadow:0 1px 4px #000}.viewport-label .muted{color:#9baebc}#update-mode{font-size:10px;text-transform:uppercase;letter-spacing:.09em}.placeholder{position:absolute;inset:0;display:grid;place-content:center;color:var(--muted);pointer-events:none}.placeholder[hidden]{display:none}.control-tabs{display:flex;position:sticky;top:0;z-index:2;background:#1b2228;border-bottom:1px solid var(--line)}.control-tabs button{width:50%;border:0;border-radius:0;padding:9px 8px;font-size:11px;background:transparent;color:var(--muted)}.control-tabs button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.control-group{border-bottom:1px solid var(--line)}.control-group summary{padding:10px 12px;cursor:pointer;list-style:none;font-size:12px;display:flex;justify-content:space-between;align-items:center;color:#cbd6de}.control-group summary:after{content:'+';color:var(--muted);font-size:15px}.control-group[open] summary:after{content:'−'}.control-group summary small{color:var(--muted);font-size:10px;margin-left:auto;padding:0 8px}.control-row{padding:4px 12px 11px;border-left:2px solid transparent;min-width:0}.control-row.active{border-left-color:var(--accent);background:#92c8bd09}.control-row .row-title{display:flex;gap:5px;align-items:center;justify-content:space-between;margin-bottom:5px}.control-row label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-link{font:10px ui-monospace,monospace;color:#738995;padding:1px 3px;border:0;background:none;white-space:nowrap}.source-link:hover{color:var(--accent);background:transparent}.range-row{display:flex;gap:9px;align-items:center}.control-row input[type=range]{width:100%;flex:1;min-width:0;accent-color:var(--accent);height:14px;cursor:ew-resize}.control-row input[type=number]{width:71px;background:#11171b;border:1px solid var(--line);border-radius:2px;padding:4px 3px 4px 6px;color:var(--text);font:11px ui-monospace,monospace;-moz-appearance:textfield}.control-row input[type=number]::-webkit-inner-spin-button{opacity:0}.vector{display:flex;gap:5px}.vector label{display:flex;align-items:center;gap:3px;color:var(--muted);width:33%}.vector input[type=number]{width:100%;min-width:0}.color-row{display:flex;gap:8px;align-items:center}.color-row input[type=color]{padding:1px;width:32px;height:23px;background:none;border:1px solid var(--line);border-radius:2px;cursor:pointer}.color-row output{font:11px ui-monospace,monospace;color:var(--muted)}.control-row select{width:100%;font-size:11px;padding:4px}.expression{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;font:10px/1.5 ui-monospace,monospace;color:var(--muted);white-space:nowrap;background:#11171b;padding:5px;border:1px solid var(--line)}.render-hud span{padding:7px 9px;border-right:1px solid #6a879833;white-space:nowrap}.render-hud span:first-child{color:var(--accent)}.render-hud span:last-child{border:0}.transport{min-height:49px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);background:var(--panel)}.transport input[type=range]{flex:1;min-width:30px;accent-color:var(--accent)}.transport output{font:10px ui-monospace,monospace;color:var(--muted);white-space:nowrap;min-width:72px}.transport button{font-size:11px;white-space:nowrap}.scope{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;min-height:42px;max-height:75px;overflow:auto;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.5}.badge{flex-shrink:0;font-size:9px;border:1px solid #495760;padding:1px 5px;border-radius:2px;white-space:nowrap;color:#afc4ce}.badge.partial{border-color:#8b744d;color:#cfb885}.badge.native,.badge.ported{border-color:#507970;color:var(--accent)}#diagnostics{padding:0 12px 12px;font-size:11px}dl{display:grid;grid-template-columns:1fr auto;gap:6px 8px;margin:10px 0}dt{color:var(--muted)}dd{margin:0;font:11px ui-monospace,monospace}.part-sample{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.part-sample h4{font:11px ui-monospace,monospace;margin:0 0 8px;color:var(--accent)}.part-sample dl{font-size:10px}.part-sample dd{font-size:10px}.mobile-tabs{display:none}dialog{width:min(780px,94vw);max-height:85vh;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:20px;box-shadow:0 18px 80px #0008}dialog::backdrop{background:#070d12b0;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font-size:17px;margin:0}.coverage-item{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.coverage-item strong{font-weight:500}.coverage-item small{display:block;color:var(--muted);margin-top:4px}.coverage-item p{margin:0;color:var(--muted);line-height:1.6}.coverage-item button{padding:2px 5px;font-size:10px;margin:4px 3px 0 0}.coverage-item code{font-size:10px;color:#a0b4c2}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#495660;border:2px solid var(--panel);border-radius:5px}::-webkit-scrollbar-corner{background:var(--panel)}
@media(min-width:1600px){:root{--code-width:41%}.code-scroll pre,.code-scroll textarea,.gutter pre{font-size:14px;line-height:23px}.control-row{padding-bottom:13px}}
@media(max-width:1100px){.topbar{gap:8px;padding:0 12px}.wordmark .muted{display:none}.scene-picker{min-width:180px}.transport{gap:5px;padding:8px}.transport button{padding:5px 6px}.transport output{min-width:60px;font-size:9px}.scope{max-height:68px}.gesture-hint{display:none}}
@media(max-width:800px){.topbar{height:49px}.wordmark{font-size:12px;gap:5px}.wordmark .mark{font-size:19px}.scene-picker{min-width:0;flex:1}.scene-picker select{font-size:11px}.topbar #coverage{display:none}.topbar #share{font-size:10px;padding:6px}.mobile-tabs{display:flex;height:36px;background:var(--panel);border-bottom:1px solid var(--line)}.mobile-tabs button{flex:1;border:0;border-radius:0;background:none;padding:5px}.mobile-tabs button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.workspace{height:calc(100% - 85px);display:block}.divider{display:none}.workspace .code-pane,.workspace .preview-pane{height:100%}.workspace[data-pane=preview] .code-pane,.workspace[data-pane=code] .preview-pane{display:none}.control-row{padding:4px 9px 9px}.viewport-label{top:9px;left:10px;font-size:10px}.viewport-label .muted{display:none}.render-hud span{padding:5px}.scope{max-height:55px}.transport #step{display:none}.transport output{min-width:62px}.transport #play{min-width:68px}.pane-header{height:39px;font-size:12px}.coverage-item{grid-template-columns:1fr;gap:6px}}
@media(forced-colors:active){.code-scroll pre{display:none}.code-scroll textarea{color:CanvasText}}
