html,body{background:#111;height:100%;margin:0;overflow:hidden}#app{width:100%;height:100%}canvas{display:block}[hidden]{display:none!important}#label-overlay{z-index:0;position:fixed;top:0;left:0}#panels-left{flex-direction:column;gap:8px;width:300px;max-height:calc(100vh - 24px);display:flex;position:fixed;top:12px;left:12px;overflow-y:auto}.panel{color:#d8dce6;-webkit-user-select:none;user-select:none;background:#0a0c14c7;border-radius:8px;flex:none;font:12px/1.5 system-ui,sans-serif}.panel-header{border-radius:8px;align-items:stretch;display:flex}.panel:not(.collapsed) .panel-header{border-radius:8px 8px 0 0}.panel-header-main,.panel-close{color:inherit;font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;font-weight:600}.panel-header-main{border-radius:inherit;text-align:left;flex:1;align-items:center;gap:6px;min-width:0;padding:7px 4px 7px 12px;display:flex}.panel-close{border-radius:inherit;color:#6c7488;padding:7px 10px;font-size:14px;line-height:1}.panel-header-main:hover,.panel-close:hover{background:#ffffff0f}.panel-close:hover{color:#e6b7b7}.panel-caret{color:#7c8598;width:10px;font-size:10px}.panel-title{flex:1}.panel-hotkey{color:#6c7488;font-weight:400}.panel-body{padding:0 12px 10px}#hud{max-width:380px}#hud-examples{color:#cfd6e4;max-width:100%;font:inherit;background:#161a26;border:1px solid #3a4256;border-radius:6px;margin:4px 0;padding:2px 4px}#hud-scene{color:#9aa3b5;margin-bottom:4px}.hud-error{color:#ff7a7a}.hud-warning{color:#e6c363}#hud-open,#hud-save-row{gap:4px;margin-top:6px;display:flex}#hud-open label{text-align:center;cursor:pointer;color:#cfd6e4;border:1px solid #3a4256;border-radius:6px;flex:1;padding:3px 0}#hud-open label:hover{background:#ffffff14}#hud-open input{display:none}.hud-file-button{text-align:center;cursor:pointer;color:#cfd6e4;border:1px solid #3a4256;border-radius:6px;flex:1;padding:3px 0}.hud-file-button:hover{background:#ffffff14}.hud-file-button input{display:none}#hud-save-row button{flex:1}#hud-scenes{margin-top:6px}#hud-modes{gap:4px;margin-top:6px;display:flex}#hud-modes button{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;flex:1;padding:3px 0}#hud-modes button:hover{background:#ffffff14}#hud-modes button.active{background:#2a3350;border-color:#5a6a96}#hud-draw-mode{color:#cfd6e4;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;margin:8px 0 4px;padding:3px 0}#hud-draw-mode:hover{background:#ffffff14}#hud-draw-mode.active{background:#2a3350;border-color:#5a6a96}#hud-draw-stamp-row .hud-file-button{flex:none;padding:1px 6px}#hud-create{border-top:1px solid #2a3040;margin-top:8px;padding-top:8px}.hud-create-buttons{gap:4px;margin-bottom:6px;display:flex}.hud-create-buttons button{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;flex:1;padding:3px 0}.hud-create-buttons button:hover:not(:disabled){background:#ffffff14}.hud-create-buttons button:disabled{color:#6c7488;cursor:default}.hud-create-row{align-items:center;gap:8px;margin:2px 0;display:flex}.hud-create-row span{color:#9aa3b5;flex:0 0 64px}.hud-create-row span.hud-sublabel{flex:none;font-size:11px}.hud-create-row select,.hud-create-row input[type=text],.hud-create-row input[type=number]{color:#cfd6e4;min-width:0;font:inherit;background:#161a26;border:1px solid #3a4256;border-radius:4px;flex:1;padding:1px 4px}.hud-create-row input[type=color]{background:0 0;border:1px solid #3a4256;border-radius:4px;width:34px;height:22px;padding:0}#hud-delete{color:#e0a0a8;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px solid #5a3a42;border-radius:6px;margin-top:6px;padding:3px 0}#hud-delete:hover:not(:disabled){background:#ff7a7a1f}#hud-delete:disabled{color:#6c7488;cursor:default;border-color:#3a4256}#hud-world{border-top:1px solid #2a3040;margin-top:8px;padding-top:8px}#hud-world .hud-create-row span{flex:0 0 86px}#hud-bg-color{flex:1}#hud-bg-bw{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:4px;flex:none;padding:2px 8px}#hud-bg-bw:hover{background:#ffffff14}#hud-stereo-sep-row.disabled,#hud-cam-smooth-scope-row.disabled{opacity:.5}#hud-cam-smooth-presets button{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:4px;padding:1px 8px}#hud-cam-smooth-presets button:hover{background:#ffffff14}#hud-stereo-sep,#hud-base-scale,#hud-cam-smooth{accent-color:#7f8db0;flex:1;min-width:0;height:14px}#hud-world #hud-stereo-sep-value,#hud-world #hud-base-scale-value{text-align:right;color:#9aa3b5;font-variant-numeric:tabular-nums;flex:0 0 38px}#hud-world #hud-cam-smooth-value{text-align:right;color:#9aa3b5;font-variant-numeric:tabular-nums;flex:0 0 46px}#hud-save-png{color:#cfd6e4;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;margin-top:6px;padding:3px 0}#hud-save-png:hover{background:#ffffff14}#hud-hint{color:#6c7488;margin-top:2px}#inspector{width:300px;max-height:calc(100vh - 24px);line-height:1.6;position:fixed;top:12px;right:12px;overflow-y:auto}#inspector .panel-body{-webkit-user-select:text;user-select:text}.ins-empty{color:#6c7488}.ins-note{color:#6c7488;margin:4px 0 6px}#ins-title{align-items:center;gap:7px;margin-bottom:6px;font-weight:600;display:flex}#ins-swatch{border:1px solid #ffffff59;border-radius:3px;width:12px;height:12px;display:inline-block}.ins-row{align-items:center;gap:8px;margin:2px 0;display:flex}.ins-label{color:#9aa3b5;flex:0 0 92px}.ins-check{cursor:pointer;align-items:center;gap:6px;margin:4px 0;display:flex}.ins-value{word-break:break-word;flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.ins-value input[type=number],.ins-value input[type=text],.ins-value select{color:#cfd6e4;font:inherit;background:#161a26;border:1px solid #3a4256;border-radius:4px;min-width:0;padding:1px 4px}.ins-value input[type=number]{flex:1 1 0;width:56px}.ins-value input[type=text],.ins-value select{flex:100%}.ins-value select.ins-tex{flex:1 1 0}.ins-value .ins-step{color:#cfd6e4;width:20px;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:4px;flex:none;padding:1px 0;line-height:1.4}.ins-value .ins-step:hover{background:#ffffff14}.ins-value .ins-basemap{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:4px;flex:1;padding:2px 0}.ins-value .ins-basemap:hover:not(:disabled){background:#ffffff14}.ins-value .ins-basemap:disabled{color:#6c7488;cursor:default}.ins-toposcale{flex-direction:column;flex:100%;gap:3px;min-width:0;display:flex}.ins-toposcale-line{align-items:center;gap:4px;display:flex}.ins-toposcale-line input[type=number]{flex:1 1 0;min-width:0}.ins-value .ins-preset{width:auto;padding:1px 6px}.ins-toposcale-slider{accent-color:#6f86c4;width:100%}.ins-value input[type=color]{background:0 0;border:1px solid #3a4256;border-radius:4px;width:34px;height:22px;padding:0}#ins-hint{color:#6c7488;margin-top:8px}.sel-count{color:#9aa3b5;margin-bottom:6px}#selection-panel button{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;padding:3px 8px}#selection-panel button:hover:not(:disabled){background:#ffffff14}#selection-panel button:disabled{color:#6c7488;cursor:default}#selection-panel>.panel-body>button{width:100%;margin:4px 0;display:block}.sel-pair{gap:4px;margin:4px 0;display:flex}.sel-pair button{flex:1}.sel-row{align-items:center;gap:8px;margin:3px 0;display:flex}.sel-row span{color:#9aa3b5;flex:0 0 44px}.sel-row select,.sel-row input[type=text]{color:#cfd6e4;min-width:0;font:inherit;background:#161a26;border:1px solid #3a4256;border-radius:4px;flex:1;padding:1px 4px}.sel-row input[type=text]:disabled{color:#6c7488}.sel-check{cursor:pointer;align-items:center;gap:6px;margin:5px 0;display:flex}.sel-check input[type=color]{background:0 0;border:1px solid #3a4256;border-radius:4px;width:34px;height:18px;padding:0}.sel-section{color:#9aa3b5;border-top:1px solid #2a3040;margin:10px 0 2px;padding-top:8px;font-weight:600}.sel-hint{color:#6c7488;margin-top:8px}.sel-slider-caption{color:#9aa3b5;font-variant-numeric:tabular-nums;margin-top:4px}.sel-slider{accent-color:#4db3ff;width:100%;margin:1px 0 2px}.sel-slider:disabled{accent-color:#4a5164}.ch-frame{color:#9aa3b5;font-variant-numeric:tabular-nums;margin-bottom:4px}.ch-slider,#channels-panel input[type=range]{accent-color:#4db3ff;width:100%;margin:2px 0}.ch-transport-row{gap:4px;margin:6px 0;display:flex}.ch-transport{color:#cfd6e4;width:38px;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;padding:2px 0;line-height:1.4}.ch-transport:hover:not(:disabled){background:#ffffff14}.ch-transport:disabled{color:#6c7488;cursor:default}.ch-row{align-items:center;gap:8px;margin:3px 0;display:flex}.ch-row>span:first-child{color:#9aa3b5;flex:0 0 28px}.ch-row input[type=range]{flex:1;min-width:0}.ch-fps-value{color:#9aa3b5;text-align:right;font-variant-numeric:tabular-nums;flex:0 0 46px}#node-table{z-index:1;position:fixed;bottom:12px;left:324px;right:324px}#node-table .panel-body{padding:0 8px 6px}.nt-scroll{resize:vertical;background:#0d1018;border:1px solid #2a3040;border-radius:4px;height:260px;overflow:auto}.nt-inner{position:relative}.nt-header{z-index:1;background:#191e2c;border-bottom:1px solid #2a3040;height:22px;display:flex;position:sticky;top:0}.nt-head{color:#9aa3b5;white-space:nowrap;cursor:pointer;box-sizing:border-box;flex:none;padding:0 6px;font-weight:600;line-height:21px;overflow:hidden}.nt-head:hover{color:#cfd6e4;background:#ffffff12}.nt-head.sorted{color:#cfd6e4}.nt-row{cursor:pointer;font-variant-numeric:tabular-nums;height:20px;display:flex;position:absolute;left:0}.nt-row.odd{background:#ffffff06}.nt-row:hover{background:#ffffff12}.nt-row.selected{background:#4db3ff38}.nt-row.primary{background:#fff21a29;box-shadow:inset 2px 0 #fff21abf}.nt-cell{color:#cfd6e4;white-space:nowrap;box-sizing:border-box;flex:none;padding:0 6px;line-height:20px;overflow:hidden}.nt-swatch{vertical-align:-1px;border:1px solid #ffffff4d;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.nt-footer{color:#6c7488;margin-top:5px}#rubber-band{pointer-events:none;background:#3399ff1f;border:1px solid #4db3ffe6;position:fixed}#status-bar{color:#9aa3b5;text-shadow:0 1px 3px #000;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:calc(100vw - 24px);font:12px/1.5 system-ui,sans-serif;position:fixed;bottom:12px;left:12px}#fps-meter{text-align:right;color:#7f8798;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000;pointer-events:none;-webkit-user-select:none;user-select:none;font:11px/1.4 ui-monospace,Cascadia Mono,Consolas,monospace;position:fixed;bottom:12px;right:12px}.float-window{z-index:3;resize:both;color:#d8dce6;-webkit-user-select:none;user-select:none;background:#0a0c14eb;border:1px solid #2a3040;border-radius:8px;flex-direction:column;width:380px;min-width:260px;max-width:calc(100vw - 24px);height:620px;min-height:260px;max-height:calc(100vh - 24px);font:12px/1.5 system-ui,sans-serif;display:flex;position:fixed;top:72px;left:340px;overflow:hidden;box-shadow:0 8px 32px #00000080}.float-window-header{cursor:move;touch-action:none;background:#ffffff0a;border-bottom:1px solid #2a3040;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:6px;padding:7px 4px 7px 12px;display:flex}.float-window-title{letter-spacing:.02em;flex:1;font-weight:600}.float-window-body{flex-direction:column;flex:1;min-height:0;padding:8px 12px 10px;display:flex;overflow-y:auto}.float-window-action{color:#cfd6e4;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:6px;margin-top:8px;padding:4px 0}.float-window-action:hover:not(:disabled){background:#ffffff14}.float-window-action:disabled{color:#6c7488;cursor:default}.float-window-footer{flex:none;padding-top:4px}.glyph-preview{touch-action:none;border:1px solid #2a3040;border-radius:6px;flex:auto;min-height:200px;margin-top:8px;overflow:hidden}.glyph-preview canvas{width:100%;height:100%}#hyperglyph-window .hud-create-row span,#glyph-composer-window .hud-create-row span{flex:0 0 86px}#basemap-window{resize:horizontal;width:360px;height:auto;min-height:0}#basemap-window .hud-create-row span{flex:0 0 86px}.basemap-pair{flex:1;gap:4px;display:flex}.basemap-pair input{width:50%;min-width:0}.basemap-preview,.basemap-status{white-space:pre-line;-webkit-user-select:text;user-select:text;margin-top:8px}.basemap-preview{color:#aeb6c8}.basemap-status{color:#8f98ac}.basemap-buttons{gap:8px;display:flex}#save-selection-window{resize:horizontal;width:340px;height:auto;min-height:0}.save-sel-group{border:1px solid #2a3040;border-radius:6px;margin-top:4px;padding:0 8px 4px}.save-sel-group .sel-section{border-top:none;margin-top:6px;padding-top:0}.save-sel-preview{color:#aeb6c8;-webkit-user-select:text;user-select:text;margin:10px 0 2px}#save-selection-window .sel-check:has(input:disabled){color:#6c7488;cursor:default}#glyph-composer-window{width:430px;height:760px}#glyph-composer-window .float-window-body{overflow:hidden}.composer-scroll{flex-direction:column;flex:3 1 0;min-height:0;display:flex;overflow-y:auto}#glyph-composer-window .glyph-preview{flex:2 1 0;min-height:190px}.composer-info{flex:none}.composer-heading{color:#9aa3b8;letter-spacing:.03em;text-transform:uppercase;margin:10px 0 3px;font-size:10px;font-weight:600}.composer-heading:first-child{margin-top:2px}.composer-levels{background:#00000040;border:1px solid #2a3040;border-radius:6px;flex-direction:column;flex:none;gap:2px;max-height:116px;padding:3px;display:flex;overflow-y:auto}.composer-level{color:#cfd6e4;font:inherit;text-align:left;white-space:pre;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 7px}.composer-level:hover{background:#ffffff0f}.composer-level.is-current{color:#eef2ff;background:#7896dc2e;border-color:#4a5470}.composer-form{flex:none}.composer-dist-panel[hidden]{display:none}.composer-color{flex:1;gap:4px;min-width:0;display:flex}.composer-color input[type=color]{flex:auto;width:auto;min-width:0}.composer-color input[type=number]{flex:0 0 54px}.composer-form .ins-toposcale-line button{color:#cfd6e4;font:inherit;cursor:pointer;background:0 0;border:1px solid #3a4256;border-radius:4px;flex:none;padding:1px 6px}.composer-form .ins-toposcale-line button:hover{background:#ffffff14}.composer-note{color:#8b93a5;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px 72px;font-size:11px;overflow:hidden}
