@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=DM+Sans:wght@300;400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0b0f17;--panel:#111827;--panel2:#1a2236;--panel3:#222e45;--border:#1e2d42;--border2:#2a3a56;--acc:#4f9eff;--acc2:#34d399;--acc3:#f97316;--acc4:#a78bfa;--acc5:#fb7185;--txt:#e2e8f0;--txt2:#94a3b8;--txt3:#475569;--overlay-bg:rgba(17,24,39,.85);--overlay-bg-strong:rgba(17,24,39,.8);--graph-shell-bg:#0b0f17;--graph-plot-bg:#080c13;--graph-grid:rgba(30,45,66,.6);--graph-muted:rgba(71,85,105,.9);--graph-muted-soft:rgba(71,85,105,.5);--graph-accent:rgba(79,158,255,.7);--mono:"JetBrains Mono",monospace;--ui:"DM Sans",sans-serif;--canvas-bg:#080c13}:root.light{--bg:#f1f5fb;--panel:#ffffff;--panel2:#e8edf5;--panel3:#d8e1ef;--border:#c8d3e6;--border2:#b0bfd8;--acc:#2176d9;--acc2:#16a068;--acc3:#d95f00;--acc4:#7c4de8;--acc5:#d93060;--txt:#1a2236;--txt2:#334155;--txt3:#52627d;--overlay-bg:rgba(255,255,255,.92);--overlay-bg-strong:rgba(255,255,255,.9);--graph-shell-bg:#edf3fb;--graph-plot-bg:#ffffff;--graph-grid:rgba(148,163,184,.45);--graph-muted:rgba(51,65,85,.88);--graph-muted-soft:rgba(71,85,105,.62);--graph-accent:rgba(33,118,217,.78);--canvas-bg:#f8faff}body,html{height:100%;font-family:var(--ui);background:var(--bg);color:var(--txt);font-size:13px}body{overflow:auto}button,input,select{font-family:var(--ui)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}@media(max-width:900px){#app{height:auto;min-height:100vh;overflow:visible}}#menubar{height:32px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:2px;flex-shrink:0;position:relative;z-index:12000;overflow:visible}.logo{font-weight:700;font-size:16px;color:var(--acc);letter-spacing:2.5px;margin-right:14px;text-transform:uppercase}.logo,.mitem{-webkit-user-select:none;user-select:none}.mitem{padding:4px 10px;border-radius:4px;color:var(--txt2);font-size:12px;font-weight:500;cursor:pointer;position:relative;transition:all .12s}.mitem.open,.mitem:hover{background:var(--panel2);color:var(--txt)}.drop{position:absolute;top:calc(100% + 3px);left:0;background:var(--panel);border:1px solid var(--border2);border-radius:6px;min-width:195px;z-index:13000;display:none;box-shadow:0 16px 48px rgba(0,0,0,.7);overflow:visible}.mitem.open>.drop{display:block}.di{padding:7px 14px;color:var(--txt2);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap}.di:hover{background:var(--panel2);color:var(--txt)}.di .sc{margin-left:auto;color:var(--txt3);font-size:10px;font-family:var(--mono)}.dsep{height:1px;background:var(--border);margin:3px 0}.di.has-sub{position:relative}.di.has-sub:after{content:"›";font-size:14px;margin-left:auto;color:var(--txt3);padding-left:8px;line-height:1}.di.has-sub:hover:after{color:var(--acc)}.sub-drop{position:fixed;background:var(--panel);border:1px solid var(--border2);border-radius:6px;min-width:215px;z-index:13100;display:none;box-shadow:0 16px 48px rgba(0,0,0,.75);overflow-y:auto;max-height:70vh}.dcat{padding:5px 14px 2px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--txt3);pointer-events:none}#menubar-mobile-backdrop,#menubar-mobile-btn,#menubar-mobile-drawer{display:none}#toolbar{min-height:44px;border-bottom:1px solid var(--border);padding:0 10px;gap:5px}#simbar,#toolbar{background:var(--panel);display:flex;align-items:center;flex-shrink:0;overflow-x:auto}#simbar{min-height:48px;padding:6px 10px 7px;gap:8px;overflow-y:hidden;z-index:2}.tbsep{width:1px;height:26px;background:var(--border);margin:0 3px}.btn,.tbsep{flex-shrink:0}.btn{background:var(--panel2);border:1px solid var(--border2);border-radius:5px;color:var(--txt2);padding:5px 11px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all .12s}.btn:hover{border-color:var(--acc);color:var(--txt)}.btn.primary{background:var(--acc);color:#fff;border-color:var(--acc)}.btn.primary:hover{background:#79b8ff}.btn.active{border-color:var(--acc);color:var(--acc)}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-examples{background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.35);color:#f43f5e;font-weight:600}.btn-examples:hover{background:rgba(244,63,94,.22);border-color:rgba(244,63,94,.6);color:#fb7185}.tblabel{color:var(--txt3);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tbval{color:var(--acc);padding:3px 7px;min-width:72px}.tbinp,.tbval{background:var(--bg);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:12px;text-align:right;flex-shrink:0}.tbinp{color:var(--txt);padding:3px 6px;width:58px}.tbinp:focus{outline:none;border-color:var(--acc)}.tbsel{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--txt);font-size:12px;padding:3px 6px;flex-shrink:0}.tbsel:focus{outline:none;border-color:var(--acc)}.statusdot{width:9px;height:9px;border-radius:50%;background:var(--acc);flex-shrink:0}.simbar-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.simbar-group-run .btn{min-width:42px;justify-content:center}.simbar-group-run #btn-pause,.simbar-group-run #btn-play,.simbar-group-run #btn-reset{min-width:auto;justify-content:flex-start}.simbar-group-params,.simbar-group-state{background:var(--panel2);border-radius:6px;padding:4px 6px}.seekbar-wrap{display:flex;align-items:center;gap:8px;min-width:260px;flex:1 1;background:var(--panel2);border-radius:6px;padding:4px 8px}.simbar-step-readout{display:flex;align-items:center;gap:5px;flex-shrink:0}.tbval-inline{min-width:56px}#timeline-slider{width:100%;min-width:150px;height:22px;appearance:none;-webkit-appearance:none;background:transparent}#timeline-slider:focus{outline:none}#timeline-slider::-webkit-slider-runnable-track{height:5px;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:999px}#timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-4.5px;border-radius:50%;border:2px solid var(--panel);background:var(--acc2);box-shadow:0 0 0 1px var(--acc),0 1px 6px rgba(0,0,0,.35)}#timeline-slider::-moz-range-track{height:5px;background:linear-gradient(90deg,var(--acc),var(--acc2));border:none;border-radius:999px}#timeline-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid var(--panel);background:var(--acc2);box-shadow:0 0 0 1px var(--acc),0 1px 6px rgba(0,0,0,.35)}.statusdot.running{background:var(--acc2);animation:pulse .8s infinite}.statusdot.paused{background:#f59e0b}.statusdot.error{background:var(--acc5)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}#main{display:flex;flex:1 1;overflow:hidden;min-height:0;flex-wrap:nowrap}@media(max-width:600px){body{overflow:auto}#app{height:auto;min-height:100vh}#menubar{padding:0 8px;overflow-x:auto}.logo{display:inline-flex}#toolbar{height:auto;gap:3px;padding:6px;overflow-x:visible;overflow-y:visible;flex-wrap:wrap;align-items:center;row-gap:4px}#toolbar .btn,#toolbar .tbsel{height:30px}#simbar{gap:4px;padding:5px 6px;flex-wrap:nowrap;overflow-x:hidden;align-items:center}.seekbar-wrap{min-width:0;order:0;flex:1 1}.simbar-group-params,.simbar-group-state{display:none}.simbar-group-run .btn{padding:4px 7px;font-size:0;min-width:30px;height:30px;justify-content:center}#btn-play:before{content:"▶";font-size:12px}#btn-pause:before{content:"⏸";font-size:12px}#btn-reset:before{content:"↺";font-size:12px}#btn-back,#btn-step{font-size:11px}#timeline-slider{min-width:0}.tblabel,.tbsep{display:none}#main{flex-direction:column;overflow:visible;height:auto}#bottombar{overflow-x:auto;gap:8px}.bbitem{white-space:nowrap}}@media(max-width:900px){#toolbar{height:auto;padding:6px 8px;overflow-x:visible;overflow-y:visible;flex-wrap:wrap;row-gap:5px;align-items:center}#toolbar .tbsep{height:18px}#toolbar .btn,#toolbar .tbsel{max-width:100%}#anim-phdr{flex-wrap:wrap;row-gap:6px;height:auto;padding:6px 10px}#anim-phdr .phdr-right{display:none}#simbar{gap:4px;padding:5px 6px;flex-wrap:nowrap;overflow-x:hidden;align-items:center}.seekbar-wrap{min-width:0;flex:1 1;order:0}.simbar-group-params,.simbar-group-state{display:none}.simbar-group-run .btn{padding:4px 7px;font-size:0;min-width:30px;height:30px;justify-content:center}#btn-play:before{content:"▶";font-size:12px}#btn-pause:before{content:"⏸";font-size:12px}#btn-reset:before{content:"↺";font-size:12px}#btn-back,#btn-step{font-size:11px}}.panel{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden;min-width:0;min-height:0}.panel:last-child{border-right:none}.phdr{background:var(--panel);border-bottom:1px solid var(--border);height:30px;display:flex;align-items:center;gap:7px;flex-shrink:0;-webkit-user-select:none;user-select:none;padding:0 10px 8px}.phdr-dot{width:7px;height:7px;border-radius:50%;background:var(--acc);flex-shrink:0}.phdr-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--txt3)}.phdr-right{margin-left:auto;display:flex;gap:4px;align-items:center}.pico{background:none;border:1px solid var(--border);border-radius:3px;color:var(--txt3);font-size:11px;padding:2px 6px;cursor:pointer}.pico:hover{border-color:var(--acc);color:var(--acc)}.qa-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;color:var(--txt3);border-radius:5px;cursor:pointer;flex-shrink:0;transition:color .12s,background .12s}.qa-btn,.qa-btn:hover{background:color-mix(in oklab,var(--qa-accent,var(--acc)) 14%,transparent)}.qa-btn:hover{color:var(--qa-accent,var(--acc))}.qa-btn:active{transform:scale(.9)}.qa-icon{display:block;width:14px;height:14px;background-color:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;flex-shrink:0}.qa-sep{height:12px;margin:0 2px}.qa-divider,.qa-sep{width:1px;background:var(--border2);flex-shrink:0}.qa-divider{height:14px;margin:0 5px}.rhandle{width:5px;background:transparent;cursor:col-resize;flex-shrink:0;transition:background .12s;position:relative;z-index:10}.rhandle.drag,.rhandle:hover{background:var(--acc)}#panel-model{width:310px;min-width:180px}#editor-wrap{flex:1 1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0;background:var(--bg)}.eq-line{display:flex;align-items:stretch;border-bottom:1px solid rgba(30,45,66,.25);min-height:34px}.eq-line:last-child{border-bottom:none}.eq-lineno{background:var(--panel2);border-right:1px solid var(--border);padding:6px;font-family:var(--mono);font-size:11px;color:var(--txt3);text-align:right;min-width:30px;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.eq-line.eq-active .eq-lineno{color:var(--acc);background:rgba(79,158,255,.06)}.eq-lineno.eq-has-tc{border-left:3px solid var(--vtc)}.eq-input-wrap{flex:1 1;display:flex;align-items:center;padding:0 2px;min-width:0}.eq-plain{flex:1 1;background:transparent;border:none;color:var(--txt2);font-family:var(--mono);font-size:12px;padding:5px 8px;outline:none;caret-color:var(--acc);min-width:0;line-height:1.5}.eq-plain::selection{background:rgba(79,158,255,.22)}.eq-plain.eq-comment{color:var(--txt3)}.eq-mathfield{flex:1 1;--keyboard-zindex:9999;--selection-background-color:rgba(79,158,255,.3);--caret-color:var(--acc);background:transparent;border:none;outline:none;font-size:14px;padding:4px 6px;min-width:0;color:var(--txt)}.eq-mathfield::part(menu-toggle),.eq-mathfield::part(virtual-keyboard-toggle){display:none!important}@media (pointer:coarse){.eq-mathfield::part(menu-toggle),.eq-mathfield::part(virtual-keyboard-toggle){display:none!important}}.ML__keyboard,.ML__keyboard-container,math-virtual-keyboard{display:none!important;visibility:hidden!important;pointer-events:none!important}.eq-line:focus-within{background:rgba(79,158,255,.04)}.eq-line.eq-active{background:rgba(79,158,255,.06)}#model-footer{background:var(--panel2);border-top:1px solid var(--border);padding:5px 10px;display:flex;gap:6px;align-items:center;flex-shrink:0}#parse-status{font-size:10px;font-family:var(--mono);color:var(--txt3);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#varlist{max-height:130px;overflow-y:auto;overflow-x:auto;padding:12px}#varlist,#varlist-resize{border-top:1px solid var(--border);flex-shrink:0}#varlist-resize{height:5px;background:transparent;cursor:ns-resize;transition:background .12s}#varlist-resize.drag,#varlist-resize:hover{background:var(--acc)}.varrow{display:flex;align-items:center;padding:3px 10px;gap:7px;border-bottom:1px solid rgba(30,45,66,.5);font-family:var(--mono);font-size:11px}.vbadge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;flex-shrink:0}.vbadge.state{background:rgba(249,115,22,.18);color:var(--acc3)}.vbadge.const{background:rgba(52,211,153,.18);color:var(--acc2)}.vbadge.derived{background:rgba(79,158,255,.18);color:var(--acc)}.vbadge.param{background:rgba(167,139,250,.18);color:var(--acc4)}.vname{color:var(--txt);flex:1 1}.vval{color:var(--txt2);min-width:64px;text-align:right;font-size:10px}.vartable{width:max-content;min-width:100%;border-collapse:collapse;font-family:var(--mono);font-size:10px}.vt-th{position:sticky;top:0;z-index:2;padding:3px 10px;border-right:1px solid var(--border);border-bottom:2px solid var(--border);white-space:nowrap;text-align:right;font-weight:700;font-size:9px;letter-spacing:.5px;color:var(--txt);background:var(--panel2);background-image:linear-gradient(hsla(var(--vt-hue,210),50%,65%,.2),hsla(var(--vt-hue,210),50%,65%,.2));-webkit-user-select:none;user-select:none}.vt-th.vt-indvar{color:var(--acc);background:var(--panel2);background-image:linear-gradient(hsla(210,60%,68%,.22),hsla(210,60%,68%,.22))}.vt-add-btn{cursor:pointer;color:var(--acc);opacity:.75;font-size:14px;font-weight:400;padding:0 8px;letter-spacing:0;text-align:center;background:var(--panel2)!important;background-image:none!important;transition:opacity .15s,color .15s;line-height:1}.vt-add-btn:hover{opacity:1;color:var(--txt)}.vt-mode-btn{cursor:pointer;color:var(--txt3);opacity:.55;font-size:11px;padding:0 6px;letter-spacing:0;text-align:center;background:var(--panel2)!important;background-image:none!important;transition:opacity .15s,color .15s;line-height:1}.vt-mode-btn:hover{opacity:1;color:var(--txt)}.vt-mode-btn[data-active="1"]{opacity:1;color:var(--acc)}.vt-cell{padding:2px 8px;border-right:1px solid rgba(128,128,128,.1);border-bottom:1px solid rgba(128,128,128,.07);text-align:right;white-space:nowrap;color:var(--txt);transition:background .08s}.vartable tbody tr:hover .vt-cell{background-blend-mode:screen;filter:brightness(1.18);outline:none}.vartable tbody tr:hover{background:rgba(255,255,255,.04)}.vt-cell:focus{outline:1px solid hsla(210,80%,65%,.7);outline-offset:-1px;border-radius:1px;background-blend-mode:screen;filter:brightness(1.3)}.vartable tbody td:focus,.vartable tbody td:focus-within{outline:1px solid hsla(210,80%,65%,.5)}.vt-picker{position:fixed;z-index:3000;background:var(--panel);border:1px solid var(--border2);border-radius:6px;min-width:130px;max-width:220px;max-height:260px;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.7);padding:4px 0}.vt-picker-btn{display:block;box-sizing:border-box;width:100%;text-align:left;padding:6px 14px;background:none;border:none;cursor:pointer;font-size:12px;font-family:var(--ui);color:var(--txt2);white-space:nowrap}.vt-picker-btn:hover{background:var(--panel2);color:var(--txt)}.vt-picker-btn.vt-picker-current{color:var(--acc);font-weight:700}.vt-picker-btn.vt-picker-remove{color:#f87171}.vt-picker-btn.vt-picker-remove:hover{background:rgba(248,113,113,.08)}.vt-picker-sep{height:1px;background:var(--border);margin:3px 0}.vt-picker-empty{padding:8px 12px;font-size:10px;color:var(--txt3);font-style:italic}#panel-anim{min-width:200px}#anim-tabs-bar{display:flex;align-items:flex-end;gap:6px;padding:8px 10px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel3) 72%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent));flex-shrink:0;position:relative;min-width:0}#anim-tabs-bar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:color-mix(in srgb,var(--border) 86%,transparent);pointer-events:none;z-index:0}#anim-tabs-scroll{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;overflow-y:hidden;flex:1 1;min-width:0;position:relative;padding-right:2px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border2) 80%,transparent) transparent;--tabs-left-fade:transparent;--tabs-right-fade:transparent;box-shadow:inset 14px 0 10px -10px var(--tabs-left-fade),inset -14px 0 10px -10px var(--tabs-right-fade);transition:box-shadow .16s ease}#anim-tabs-scroll.fade-left{--tabs-left-fade:color-mix(in srgb,var(--panel2) 95%,transparent)}#anim-tabs-scroll.fade-right{--tabs-right-fade:color-mix(in srgb,var(--panel2) 95%,transparent)}#anim-tabs-actions{display:flex;align-items:flex-end;gap:4px;flex-shrink:0;position:relative;z-index:2}.anim-tab-btn{position:relative;z-index:1;margin-bottom:0;border:1px solid color-mix(in srgb,var(--border2) 80%,var(--border));border-bottom:1px solid transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#fff 10%),var(--panel2));color:var(--txt3);padding:6px 12px 7px;border-radius:10px 10px 0 0;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 5px 9px rgba(0,0,0,.16);transition:border-color .12s,color .12s,background .12s,box-shadow .12s}.anim-tab-btn:hover{color:var(--txt);border-color:color-mix(in srgb,var(--acc) 38%,var(--border2));box-shadow:0 8px 14px rgba(0,0,0,.2)}.anim-tab-btn.active{z-index:2;margin-bottom:-1px;color:var(--txt);background:var(--panel);border-color:color-mix(in srgb,var(--acc) 30%,var(--border));border-bottom-color:var(--panel);box-shadow:0 9px 16px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05)}.anim-tab-btn[draggable=true]{display:inline-flex;align-items:center;gap:8px}.anim-tab-close{display:none;color:var(--txt3);font-size:12px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.anim-tab-btn.active .anim-tab-close,.anim-tab-btn:hover .anim-tab-close{display:inline}.anim-tab-close:hover{color:#ef4444}.anim-tab-input{width:100%;border:1px solid var(--acc);background:var(--bg);color:var(--txt);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600;outline:none}#anim-tab-add{border:1px dashed color-mix(in srgb,var(--border2) 80%,var(--border));border-bottom:none;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 55%,transparent),transparent);color:var(--txt3);width:30px;height:30px;border-radius:9px 9px 0 0;cursor:pointer;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;margin-bottom:-1px}#anim-tab-add:hover{border-color:var(--acc);color:var(--acc);background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 16%,var(--panel2)),transparent)}#anim-tab-props{border:1px solid color-mix(in srgb,var(--border2) 85%,var(--border));border-bottom:none;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 72%,transparent),transparent);color:var(--txt3);width:30px;height:30px;border-radius:9px 9px 0 0;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;align-self:flex-end;margin-bottom:-1px}#anim-tab-props:hover{border-color:var(--acc);color:var(--acc)}#anim-tab-examples{border:1px solid rgba(244,63,94,.35);border-bottom:none;background:linear-gradient(180deg,rgba(244,63,94,.12),rgba(244,63,94,.07));color:#f43f5e;height:30px;border-radius:9px 9px 0 0;cursor:pointer;font-size:11px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;flex-shrink:0;margin-left:4px;align-self:flex-end;margin-bottom:-1px;white-space:nowrap}#anim-tab-examples:hover{border-color:rgba(244,63,94,.6);background:linear-gradient(180deg,rgba(244,63,94,.22),rgba(244,63,94,.14));color:#fb7185}#anim-wrap{flex:1 1;position:relative;background:var(--canvas-bg);min-height:0}#anim-canvas{position:absolute;top:0;left:0;cursor:default;display:block;touch-action:none}#anim-canvas.crosshair{cursor:crosshair}#anim-media-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.anim-video-item{position:absolute;overflow:hidden;border:1px solid rgba(148,163,184,.6);border-radius:6px;background:#000;box-shadow:0 6px 16px rgba(15,23,42,.35);pointer-events:auto}.anim-video-item.selected{border-color:#ffffff;box-shadow:0 0 0 1px rgba(255,255,255,.65),0 10px 24px rgba(15,23,42,.45)}.anim-video-item.hovered{border-color:rgba(255,255,255,.7)}.anim-video-frame{width:100%;height:100%;border:0;display:block;background:#000;pointer-events:auto}.anim-video-handle{position:absolute;top:6px;left:6px;width:24px;height:24px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:rgba(15,23,42,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:grab;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s;background-clip:padding-box;z-index:10;pointer-events:auto}.anim-video-item:hover .anim-video-handle{opacity:.85}.anim-video-item.selected .anim-video-handle{opacity:1;border-color:rgba(79,158,255,.6);background:rgba(23,84,168,.4)}.anim-video-handle:active{cursor:grabbing}.anim-video-handle-icon{font-size:11px;line-height:1;color:rgba(255,255,255,.88)}#anim-overlay{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:4px;z-index:5;pointer-events:none}#anim-overlay>*{pointer-events:all}.ov-btn{background:var(--overlay-bg);border:1px solid var(--border2);border-radius:4px;color:var(--txt2);padding:4px 8px;font-size:11px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;font-weight:500;box-shadow:0 4px 18px rgba(15,23,42,.08)}.ov-btn:hover{border-color:var(--acc);color:var(--txt)}#coord-disp{position:absolute;bottom:6px;left:8px;background:var(--overlay-bg-strong);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-family:var(--mono);font-size:10px;color:var(--txt3);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#obj-sidebar{width:220px;border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden}#obj-list{flex:1 1;overflow-y:auto;min-height:0}.obj-row{display:flex;align-items:center;padding:5px 8px;border-bottom:1px solid rgba(79,158,255,.06);cursor:pointer;gap:6px;transition:background .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.obj-row:hover{background:var(--panel2)}.obj-row.selected{background:rgba(79,158,255,.12);border-left:2px solid var(--acc)}.obj-icon{font-size:14px;flex-shrink:0;width:18px;text-align:center}.obj-name{flex:1 1;font-size:12px;color:var(--txt)}.obj-vis{font-size:11px;color:var(--txt3);cursor:pointer;padding:2px 4px}.obj-vis:hover{color:var(--txt)}.obj-del{font-size:11px;color:var(--txt3);cursor:pointer;padding:2px 4px;opacity:0}.obj-row:hover .obj-del{opacity:1}.obj-del:hover{color:var(--acc5)}.add-btn{background:var(--panel3);border:1px solid var(--border2);border-radius:4px;color:var(--txt2);font-size:10px;padding:3px 7px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:5px}.add-btn-icon{font-size:12px;line-height:1}.add-btn:hover{border-color:var(--acc);color:var(--acc)}#obj-props{border-top:1px solid var(--border2);background:var(--panel);overflow-y:auto;max-height:280px;flex-shrink:0;padding:8px}.prop-section{padding:7px 10px 5px}.prop-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--txt3);margin-bottom:6px}.prop-row{display:flex;align-items:center;margin-bottom:6px;gap:7px}.prop-label{line-height:1.2;color:var(--txt2);width:74px;min-width:74px;flex-shrink:0;white-space:normal;word-break:break-word}.prop-label,.prop-val{font-size:11px;font-family:var(--mono)}.prop-val{flex:1 1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--txt);padding:4px 6px}.prop-val:focus{outline:none;border-color:var(--acc)}.prop-color{width:30px;height:24px;border:1px solid var(--border);border-radius:3px;cursor:pointer;padding:0;flex-shrink:0}.prop-check{width:14px;height:14px;cursor:pointer;accent-color:var(--acc)}.prop-mode{background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--txt2);font-size:10px;padding:4px 5px;width:70px;flex-shrink:0}.no-obj{padding:16px;text-align:center;color:var(--txt3);font-size:11px}#panel-graph{width:320px;min-width:180px}#gtabs{display:flex;background:var(--panel2);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.gtab{padding:5px 10px;font-size:11px;font-weight:600;color:var(--txt3);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .12s;flex:1 1;text-align:center}.gtab:hover{color:var(--txt2)}.gtab.active{color:var(--acc);border-bottom-color:var(--acc)}#gtab-add{padding:6px 10px;color:var(--txt3);cursor:pointer;font-size:14px;margin-left:auto}#gtab-add:hover{color:var(--acc)}#gcanvases{flex:1 1;position:relative;overflow:hidden;min-height:0}.gcwrap{position:absolute;inset:0;display:none}.gcanvas,.gcwrap.active{display:block}.gcanvas{width:100%;height:100%}#gcfg{border-top:1px solid var(--border);padding:6px 8px;background:var(--panel2);flex-shrink:0}.gcfg-row{display:flex;align-items:center;gap:5px;margin-bottom:4px;flex-wrap:wrap}.gcfg-label{font-size:10px;color:var(--txt3);font-weight:600;text-transform:uppercase;white-space:nowrap}.gcfg-sel{background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--txt);font-size:11px;padding:2px 5px;font-family:var(--mono);max-width:90px}.gcfg-sel:focus{outline:none;border-color:var(--acc)}.gcfg-scale-grp{display:inline-flex;border:1px solid var(--border);border-radius:3px;overflow:hidden;flex-shrink:0;vertical-align:middle}.gcfg-scale-btn{background:none;border:none;color:var(--txt3);font-size:9px;font-weight:700;padding:2px 6px;cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.3px;line-height:1.7;transition:background .1s,color .1s}.gcfg-scale-btn:hover:not(.active){background:var(--panel);color:var(--txt2)}.gcfg-scale-btn.active{background:var(--acc);color:#fff}.gcfg-scale-grp .gcfg-scale-btn+.gcfg-scale-btn{border-left:1px solid var(--border)}.gcfg-axis-grp{display:flex;align-items:center;gap:4px}.gcfg-divider{width:1px;background:var(--border);align-self:stretch;margin:0 3px;flex-shrink:0}#bottombar{height:26px;background:var(--panel);border-top:1px solid var(--border);padding:0 12px;gap:14px;flex-shrink:0;position:relative;z-index:9000}#bottombar,.bbitem{display:flex;align-items:center}.bbitem{font-size:11px;color:var(--txt3);gap:4px;font-family:var(--mono);white-space:nowrap}.bbval{color:var(--txt2)}#errmsg{color:var(--acc5);font-family:var(--mono);flex:1 1;overflow:hidden;text-overflow:ellipsis}#errmsg,#errmsg-ask-btn{font-size:11px;white-space:nowrap}#errmsg-ask-btn{flex-shrink:0;padding:3px 10px;font-weight:600;border-radius:999px;border:1px solid var(--acc3);background:color-mix(in srgb,var(--acc3) 10%,transparent);color:var(--acc3);cursor:pointer;opacity:.96;min-height:24px;line-height:1;transition:opacity .15s,background .15s,border-color .15s}#errmsg-ask-btn:hover{opacity:1;background:color-mix(in srgb,var(--acc3) 18%,transparent);border-color:color-mix(in srgb,var(--acc3) 70%,#fff 30%)}#errmsg-ask-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--acc3) 55%,#fff 45%);outline-offset:2px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay.show{display:flex}.modal{background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:20px;min-width:340px;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.7)}.modal-title{font-size:14px;font-weight:700;color:var(--txt);margin-bottom:14px;display:flex;align-items:center;gap:8px}.modal-title .emoji{font-size:18px}.modal-row{display:flex;align-items:center;margin-bottom:8px;gap:8px}.modal-label{font-size:12px;color:var(--txt2);width:90px;flex-shrink:0}.modal-inp{flex:1 1;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--txt);font-family:var(--mono);font-size:12px;padding:5px 8px}.modal-inp:focus{outline:none;border-color:var(--acc)}.modal-sel{flex:1 1;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--txt);font-size:12px;padding:5px 8px}.modal-sel:focus{outline:none;border-color:var(--acc)}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.mfbtn{padding:6px 16px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border2)}.mfbtn.cancel{background:var(--panel2);color:var(--txt2)}.mfbtn.cancel:hover{border-color:var(--border2);color:var(--txt)}.mfbtn.ok{background:var(--acc);color:#000;border-color:var(--acc)}.mfbtn.ok:hover{background:#79b8ff}.color-presets{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.cp{width:18px;height:18px;border-radius:3px;cursor:pointer;border:2px solid transparent}.cp.sel,.cp:hover{border-color:white}#toast{position:fixed;bottom:36px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--panel2);border:1px solid var(--border2);border-radius:6px;padding:7px 16px;font-size:12px;color:var(--txt);z-index:9999;opacity:0;transition:all .25s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.install-pwa-btn{position:fixed;right:14px;bottom:38px;z-index:10000;border:1px solid var(--acc);background:linear-gradient(135deg,var(--acc),#79b8ff);color:#08111f;font-weight:700;letter-spacing:.2px;border-radius:999px;padding:8px 14px;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.35)}.install-pwa-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}@media(max-width:600px){.install-pwa-btn{bottom:12px;right:10px;padding:8px 12px;font-size:12px}}#blab-dlg-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dlgFadeIn .15s ease}#blab-dlg-overlay.show{display:flex}@keyframes dlgFadeIn{0%{opacity:0}to{opacity:1}}#blab-dlg{background:var(--panel);border:1px solid var(--border2);border-radius:10px;min-width:360px;max-width:520px;width:90%;box-shadow:0 32px 80px rgba(0,0,0,.8),0 0 0 1px rgba(79,158,255,.1);animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1);overflow:hidden}@keyframes dlgSlideIn{0%{transform:scale(.94) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}#blab-dlg-header{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px 12px;display:flex;align-items:center;gap:10px}#blab-dlg-icon{font-size:20px;line-height:1;flex-shrink:0}#blab-dlg-title{font-size:13px;font-weight:700;color:var(--txt);flex:1 1}#blab-dlg-body{padding:16px 18px;color:var(--txt2);font-size:13px;line-height:1.7}#blab-dlg-body p{margin-bottom:8px}#blab-dlg-body p:last-child{margin-bottom:0}#blab-dlg-footer{padding:12px 18px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border);background:var(--panel2)}.dlg-btn{padding:7px 18px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border2);transition:all .12s;font-family:var(--ui)}.dlg-btn.cancel{background:var(--panel3);color:var(--txt2)}.dlg-btn.cancel:hover{border-color:var(--border2);color:var(--txt);background:var(--panel2)}.dlg-btn.ok{background:var(--acc);color:#fff;border-color:var(--acc)}.dlg-btn.ok:hover{background:#79b8ff}.dlg-btn.danger{background:var(--acc5);color:#fff;border-color:var(--acc5)}.dlg-btn.danger:hover{background:#f43f5e}#help-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#help-modal,#help-modal-overlay.show{display:flex}#help-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(640px,94vw);max-height:82vh;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);flex-direction:column;animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}#help-modal-hdr{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}#help-modal-hdr .hm-icon{font-size:20px}#help-modal-hdr .hm-title{font-size:14px;font-weight:700;color:var(--txt);flex:1 1}#help-modal-hdr button{background:none;border:1px solid var(--border);border-radius:4px;color:var(--txt3);padding:3px 9px;cursor:pointer;font-size:12px}#help-modal-hdr button:hover{border-color:var(--acc);color:var(--acc)}#help-modal-body{flex:1 1;overflow-y:auto;padding:18px 20px}.help-section{margin-bottom:20px}.help-section h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--acc);margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--border)}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:480px){.help-grid{grid-template-columns:1fr}}.help-card{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.help-card code{display:block;font-family:var(--mono);font-size:12px;color:var(--acc2);margin-bottom:4px}.help-card small{color:var(--txt3);font-size:11px}.help-fn-list{display:flex;flex-wrap:wrap;gap:5px}.help-fn{background:var(--panel2);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-family:var(--mono);font-size:11px;color:var(--acc4)}.help-key-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.help-key{background:var(--panel3);border:1px solid var(--border2);border-radius:4px;padding:2px 8px;font-family:var(--mono);font-size:11px;color:var(--txt);min-width:56px;text-align:center;flex-shrink:0}.help-key-desc{font-size:12px;color:var(--txt2)}#help-modal-footer{padding:10px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;flex-shrink:0;background:var(--panel2)}#about-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#about-modal-overlay.show{display:flex}#about-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(420px,92vw);overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}.about-hero{position:relative;background:linear-gradient(180deg,rgba(6,12,24,.52) 0,rgba(6,12,24,.72)),url(/about.webp) top /cover no-repeat;border-bottom:1px solid var(--border);padding:32px 22px 26px;text-align:center}.about-logo{font-size:28px;font-weight:800;letter-spacing:3px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);text-transform:uppercase;margin-bottom:4px}.about-sub{font-size:12px;color:rgba(255,255,255,.72);letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.about-body{padding:16px 20px}.about-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(30,45,66,.5);font-size:12px}.about-row:last-child{border-bottom:none}.about-row .label{color:var(--txt3);width:90px;flex-shrink:0;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.about-row .val{color:var(--txt2);flex:1 1}.about-row a{color:var(--acc);text-decoration:none}.about-row a:hover{text-decoration:underline}.about-footer{padding:10px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;background:var(--panel2)}.about-carauma-link{display:inline-flex;align-items:center;justify-content:center;background:rgba(40,40,45,.85);border-radius:8px;padding:8px 16px;transition:background .2s}.about-carauma-link:hover{background:rgba(190,190,190,.95)}.about-carauma-logo{height:26px;width:auto}#contact-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#contact-modal-overlay.show{display:flex}#contact-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(480px,94vw);max-height:88vh;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);display:flex;flex-direction:column;animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}.contact-header{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;gap:10px}.contact-icon{font-size:18px}.contact-title{font-size:14px;font-weight:600;color:var(--txt);letter-spacing:.3px}.contact-body{padding:18px 20px;overflow-y:auto;flex:1 1}.contact-desc{font-size:12px;color:var(--txt2);margin-bottom:14px;line-height:1.5}.contact-field{margin-bottom:10px}.contact-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--txt);font-size:12px;padding:9px 12px;font-family:inherit;transition:border-color .15s}.contact-input:focus{outline:none;border-color:var(--acc)}.contact-textarea{resize:vertical;min-height:90px;font-family:inherit}.contact-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.contact-btn{border:none;border-radius:6px;padding:9px 20px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s}.contact-btn.primary{background:var(--acc);color:#fff}.contact-btn.primary:hover{filter:brightness(1.15)}.contact-btn.primary.disabled{opacity:.6;cursor:not-allowed}.contact-btn.secondary{background:var(--panel2);color:var(--txt2);border:1px solid var(--border)}.contact-btn.secondary:hover{background:var(--bg)}.contact-spinner{animation:spin 1s linear infinite;width:16px;height:16px}@keyframes spin{to{transform:rotate(1turn)}}.contact-success{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0;text-align:center;color:var(--acc)}.contact-success svg{color:var(--acc)}.contact-success-title{font-size:16px;font-weight:700;color:var(--txt)}.contact-success-msg{font-size:12px;color:var(--txt2);max-width:320px;line-height:1.5}.contact-footer{padding:10px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;background:var(--panel2)}#precision-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#precision-modal-overlay.show{display:flex}#precision-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(420px,92vw);overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}#precision-modal-hdr{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;gap:10px}#precision-modal-body{padding:16px 18px}.prec-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.prec-label{font-size:12px;color:var(--txt2);width:110px;flex-shrink:0}.prec-sel{flex:1 1;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--txt);font-size:12px;padding:5px 8px;font-family:var(--mono)}.prec-sel:focus{outline:none;border-color:var(--acc)}.prec-preview{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-family:var(--mono);font-size:12px;color:var(--acc2);margin-top:8px}.prec-preview-label{font-size:10px;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}#precision-modal-footer{padding:10px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;background:var(--panel2)}#experiments-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#experiments-modal-overlay.show{display:flex}#experiments-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(900px,96vw);max-height:88vh;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);display:flex;flex-direction:column;animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}.exm-hdr{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}.exm-icon{font-size:18px}.exm-title{font-size:14px;font-weight:700;color:var(--txt);flex:1 1;letter-spacing:.3px}.exm-close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--txt3);cursor:pointer;font-size:14px;flex-shrink:0;transition:border-color .12s,color .12s}.exm-close-btn:hover{border-color:var(--acc5);color:var(--acc5)}.exm-filters{padding:8px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);flex-shrink:0;display:flex;flex-direction:column;gap:6px;background:var(--panel2)}.exm-search{width:100%;background:color-mix(in srgb,var(--bg) 88%,var(--panel) 12%);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:10px;color:var(--txt);font-size:12px;padding:7px 12px;font-family:inherit;transition:border-color .15s}.exm-search:focus{outline:none;border-color:var(--acc)}.exm-filter-row{display:flex;flex-direction:column;gap:8px}.exm-chips{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding:1px 0 3px;scrollbar-width:thin}.exm-chip{border:1px solid color-mix(in srgb,var(--border2) 80%,transparent);border-radius:999px;padding:2px 9px;font-size:10.5px;background:color-mix(in srgb,var(--panel3) 55%,transparent);color:var(--txt2);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.exm-chip:hover{border-color:var(--acc);color:var(--txt)}.exm-chip.active{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}.exm-chip--level.active.lv-basic{background:var(--acc2);border-color:var(--acc2)}.exm-chip--level.active.lv-intermediate{background:var(--acc3);border-color:var(--acc3)}.exm-chip--level.active.lv-advanced{background:var(--acc5);border-color:var(--acc5)}.exm-chip-icon{font-size:12px;line-height:1}.exm-body{flex:1 1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:18px}.exm-empty{color:var(--txt3);font-size:13px;text-align:center;padding:40px 0}.exm-section{display:flex;flex-direction:column;gap:10px}.exm-section-hdr{display:flex;align-items:center;gap:8px;padding:2px 0}.exm-section-icon{font-size:15px;line-height:1}.exm-section-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--txt2);flex:1 1}.exm-section-count{font-size:10px;background:color-mix(in srgb,var(--panel2) 65%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;padding:1px 7px;color:var(--txt3)}.exm-subgroup{display:flex;flex-direction:column;gap:6px}.exm-subcat{font-size:11px;font-weight:600;text-transform:none;letter-spacing:.2px;color:var(--txt3);padding:3px 0 1px}.exm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}@media(max-width:600px){.exm-grid{grid-template-columns:1fr}}.exm-card{background:color-mix(in srgb,var(--panel2) 80%,transparent);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:10px;padding:12px 13px;display:flex;flex-direction:column;gap:8px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .15s,box-shadow .15s,background .12s}.exm-card:hover{border-color:color-mix(in srgb,var(--acc) 62%,var(--border) 38%);box-shadow:0 4px 14px rgba(79,158,255,.1);background:color-mix(in srgb,var(--panel3) 65%,transparent)}.exm-card:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.exm-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.exm-card-name{font-size:12.5px;font-weight:600;color:var(--txt);line-height:1.35;flex:1 1}.exm-card-level{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;padding:2px 7px;border-radius:10px;background:transparent;border:1px solid}.exm-card-desc{font-size:11px;color:var(--txt2);line-height:1.45;flex:1 1}.exm-card-author{font-size:11px;color:var(--txt3);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exm-card-open{margin-top:auto;align-self:flex-start;border:1px solid color-mix(in srgb,var(--acc) 58%,var(--border) 42%);background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.2px;cursor:pointer;opacity:0;transform:translateY(3px);pointer-events:none;transition:opacity .14s,transform .14s,background .14s,border-color .14s,color .14s}.exm-card:focus-within .exm-card-open,.exm-card:hover .exm-card-open{opacity:1;transform:none;pointer-events:auto}.exm-card-open:hover{background:color-mix(in srgb,var(--acc) 22%,transparent);border-color:var(--acc);color:color-mix(in srgb,var(--acc) 80%,#fff 20%)}.exm-card-open:focus-visible{outline:2px solid color-mix(in srgb,var(--acc) 72%,#fff 28%);outline-offset:2px;opacity:1;transform:none;pointer-events:auto}.exm-footer{padding:8px 18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--panel2)}.exm-footer-count{font-size:11px;color:var(--txt3);font-family:var(--mono)}.exm-footer-badge{font-size:11px;color:var(--txt3);background:var(--panel3);border:1px solid var(--border);border-radius:10px;padding:2px 9px}.exm-footer-badge--local:before{content:"■ ";color:var(--acc2);font-size:8px}.exm-tabs{display:flex;gap:4px;padding:2px 16px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);flex-shrink:0}.exm-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px 7px;font-size:13px;color:var(--txt2);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px;display:flex;align-items:center;gap:6px}.exm-tab:hover{color:var(--txt)}.exm-tab.active{color:var(--acc);border-bottom-color:var(--acc);font-weight:600}.exm-tab-count{font-size:11px;background:color-mix(in srgb,var(--panel3) 65%,transparent);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:9px;padding:0 6px;color:var(--txt3)}.exm-tab.active .exm-tab-count{background:color-mix(in srgb,var(--acc) 15%,transparent);border-color:color-mix(in srgb,var(--acc) 40%,transparent);color:var(--acc)}.exm-empty-hint{font-size:12px;color:var(--txt3);margin-top:6px}.exm-card--library{cursor:default}.exm-card-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px;margin-bottom:6px;border:1px solid var(--border)}.exm-lib-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:4px}.exm-lib-author{font-size:11px;color:var(--txt3);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exm-lib-remove{background:none;border:none;cursor:pointer;color:var(--txt3);font-size:13px;padding:2px 5px;border-radius:4px;transition:background .15s,color .15s}.exm-lib-remove:hover{background:rgba(239,68,68,.15);color:var(--acc5)}#sim-meta-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#sim-meta-modal-overlay.show{display:flex}#sim-meta-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(520px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:dlgSlideIn .18s ease}.smm-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 11px;border-bottom:1px solid var(--border);flex-shrink:0}.smm-title{font-size:14px;font-weight:700;color:var(--txt)}.smm-close{background:none;border:none;cursor:pointer;color:var(--txt2);font-size:16px;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.smm-close:hover{background:rgba(239,68,68,.15);color:var(--acc5)}.smm-body{flex:1 1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.smm-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border);flex-shrink:0}.smm-preview-row{display:flex;gap:12px;align-items:flex-start}.smm-preview-box{width:130px;min-width:130px;aspect-ratio:16/9;background:var(--panel2);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.smm-preview-img{width:100%;height:100%;object-fit:cover}.smm-preview-empty{color:var(--txt3);font-size:22px}.smm-preview-actions{gap:6px;padding-top:2px}.smm-field,.smm-preview-actions{display:flex;flex-direction:column}.smm-field{gap:4px}.smm-field.error .smm-input,.smm-field.error .smm-textarea{border-color:var(--acc5)!important}.smm-field-label{font-size:12px;color:var(--txt2);font-weight:500}.smm-required{color:var(--acc5)}.smm-hint{font-weight:400;color:var(--txt3);margin-left:4px}.smm-err{font-size:11px;color:var(--acc5)}.smm-input,.smm-select,.smm-textarea{background:var(--panel2);border:1px solid var(--border);border-radius:6px;color:var(--txt);font-size:13px;padding:7px 10px;font-family:inherit;transition:border-color .15s,box-shadow .15s;outline:none}.smm-input:focus,.smm-select:focus,.smm-textarea:focus{border-color:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 20%,transparent)}.smm-textarea{resize:vertical;min-height:68px}.smm-select{cursor:pointer}.smm-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:420px){.smm-row-2{grid-template-columns:1fr}}.smm-btn-primary{background:var(--acc);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,box-shadow .15s}.smm-btn-primary:hover{opacity:.88;box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 35%,transparent)}.smm-btn-sec{background:var(--panel3);border:1px solid var(--border);color:var(--txt);border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background .15s}.smm-btn-sec:hover{background:var(--panel2)}.smm-btn-ghost{background:none;border:1px solid var(--border);color:var(--txt2);border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.smm-btn-ghost:hover{background:var(--panel2);color:var(--txt)}#image-picker-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:8000;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#image-picker-modal-overlay.show{display:flex}#image-picker-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(680px,96vw);max-height:86vh;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);display:flex;flex-direction:column;animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}#image-picker-hdr{background:var(--panel2);border-bottom:1px solid var(--border);padding:14px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}.ip-icon{font-size:18px}.ip-title{font-size:14px;font-weight:700;color:var(--txt);flex:1 1}#image-picker-body{flex:1 1;overflow-y:auto;padding:14px 16px}#image-picker-footer{padding:10px 18px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;background:var(--panel2);flex-shrink:0}.ip-divider{display:flex;align-items:center;gap:10px;margin:4px 0 14px;color:var(--txt3);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.ip-divider:after,.ip-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.ip-category{margin-bottom:18px}.ip-cat-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--acc);margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid var(--border)}.ip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.ip-thumb{background:var(--panel2);border:1.5px solid var(--border);border-radius:8px;padding:6px 4px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:border-color .15s,transform .12s}.ip-thumb:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 4px 12px rgba(79,158,255,.18)}.ip-thumb-img{width:52px;height:52px;object-fit:contain;display:block;border-radius:4px}.ip-thumb-label{font-size:9px;color:var(--txt2);text-align:center;line-height:1.2;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#tab-props-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:8100;display:none;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#tab-props-modal-overlay.show{display:flex}#tab-props-modal{background:var(--panel);border:1px solid var(--border2);border-radius:10px;width:min(420px,96vw);max-height:88vh;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.8);display:flex;flex-direction:column;animation:dlgSlideIn .18s cubic-bezier(.34,1.4,.64,1)}.tpm-hdr{background:var(--panel2);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;align-items:center;gap:8px;flex-shrink:0}.tpm-title{font-size:13px;font-weight:700;color:var(--txt);flex:1 1}.tpm-close-btn{background:none;border:none;color:var(--txt3);font-size:18px;cursor:pointer;line-height:1;padding:0 2px;border-radius:4px}.tpm-close-btn:hover{color:var(--txt);background:var(--panel3)}.tpm-body{flex:1 1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.tpm-footer{padding:10px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;background:var(--panel2);flex-shrink:0}.tpm-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--acc);margin-bottom:4px}.tpm-divider{height:1px;background:var(--border);margin:10px 0 8px}.tpm-prop-row,.tpm-row{display:flex;align-items:center}.tpm-prop-row{justify-content:space-between;margin-bottom:4px}.tpm-prop-label{font-size:11px;color:var(--txt2)}.tpm-prop-val{font-size:11px;color:var(--acc);font-family:var(--mono);font-weight:600}.tpm-slider{width:100%;appearance:none;-webkit-appearance:none;height:22px;background:transparent;cursor:pointer}.tpm-slider::-webkit-slider-runnable-track{height:5px;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:999px}.tpm-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-4.5px;border-radius:50%;border:2px solid var(--panel);background:var(--acc2);box-shadow:0 0 0 1px var(--acc),0 1px 6px rgba(0,0,0,.35)}.tpm-slider::-moz-range-track{height:5px;background:linear-gradient(90deg,var(--acc),var(--acc2));border:none;border-radius:999px}.tpm-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid var(--panel);background:var(--acc2);box-shadow:0 0 0 1px var(--acc),0 1px 6px rgba(0,0,0,.35)}.tpm-toggle-btn{flex:1 1;padding:5px 8px;border:1px solid var(--border2);border-radius:6px;background:var(--panel2);color:var(--txt2);font-size:11px;font-weight:600;cursor:pointer;text-align:center;transition:all .12s}.tpm-toggle-btn:hover{border-color:color-mix(in oklab,var(--acc) 50%,var(--border2));color:var(--txt)}.tpm-toggle-btn.active{background:color-mix(in oklab,var(--acc) 18%,var(--panel2));color:var(--acc);border-color:color-mix(in oklab,var(--acc) 60%,var(--border2))}.tpm-fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:4px}.tpm-fit-btn{padding:5px 4px;border:1px solid var(--border2);border-radius:6px;background:var(--panel2);color:var(--txt2);font-size:10px;font-weight:600;cursor:pointer;text-align:center;transition:all .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpm-fit-btn:hover{border-color:color-mix(in oklab,var(--acc) 50%,var(--border2));color:var(--txt)}.tpm-fit-btn.active{background:color-mix(in oklab,var(--acc) 18%,var(--panel2));color:var(--acc);border-color:color-mix(in oklab,var(--acc) 60%,var(--border2))}.tpm-funos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-bottom:4px}.tpm-funos-thumb{background:var(--panel2);border:1.5px solid var(--border);border-radius:8px;padding:6px 4px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:border-color .15s,transform .12s}.tpm-funos-thumb:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 4px 12px rgba(79,158,255,.18)}.tpm-funos-thumb.active{border-color:var(--acc);background:color-mix(in oklab,var(--acc) 12%,var(--panel2));box-shadow:0 0 0 1px var(--acc) inset}.tpm-funos-img{width:60px;height:42px;object-fit:cover;display:block;border-radius:4px}.tpm-funos-label{font-size:9px;color:var(--txt2);text-align:center;line-height:1.2;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpm-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:8px;margin:2px 0 8px}.tpm-color-chip{aspect-ratio:1;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .12s,border-color .12s,box-shadow .12s}.tpm-color-chip:hover{transform:translateY(-1px);border-color:var(--acc);box-shadow:0 4px 10px rgba(0,0,0,.18)}.tpm-color-chip.active{border-color:var(--acc);box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 24%,transparent),0 4px 10px rgba(0,0,0,.18)}.tpm-color-custom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);margin:0 0 8px}.tpm-color-custom span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--txt3)}.tpm-color-input{width:36px;height:28px;border:none;background:none;padding:0;cursor:pointer}.tpm-preview-wrap{margin:8px 0;border-radius:8px;overflow:hidden;height:80px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.tpm-preview-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s}#ic-panel{position:absolute;bottom:0;left:0;right:0;background:var(--panel);border-top:2px solid var(--acc);max-height:190px;overflow-y:auto;z-index:20;display:none;padding:8px 10px}#ic-panel.show{display:block}.icgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.icfield{display:flex;flex-direction:column;gap:2px}.icfield label{font-size:10px;color:var(--txt3);font-family:var(--mono);text-transform:uppercase}.icfield input{background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--txt);font-family:var(--mono);font-size:12px;padding:3px 6px}.icfield input:focus{outline:none;border-color:var(--acc)}#canvas-tooltip{position:fixed;background:rgba(17,24,39,.95);border:1px solid var(--border2);border-radius:5px;padding:6px 10px;font-size:11px;font-family:var(--mono);color:var(--txt);pointer-events:none;z-index:100;display:none;box-shadow:0 8px 24px rgba(0,0,0,.5)}.trail-badge{font-size:9px;padding:1px 5px;border-radius:3px;background:rgba(79,158,255,.15);color:var(--acc);margin-left:auto;flex-shrink:0;white-space:nowrap}#panel-anim{flex:1 1;position:relative;overflow:hidden}#anim-wrap{inset:0}#anim-wrap,.mdi-child{position:absolute;overflow:hidden}.mdi-child{background:var(--panel);border:1px solid var(--border2);border-radius:7px;box-shadow:0 8px 32px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.4);display:flex;flex-direction:column;min-width:180px;min-height:80px;z-index:10;transition:box-shadow .15s}.mdi-child.mdi-focused{box-shadow:0 12px 48px rgba(0,0,0,.7),0 0 0 1px var(--acc);z-index:20}.mdi-child.mdi-minimized{display:none}.mdi-titlebar{height:28px;background:var(--panel2);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 8px;gap:6px;cursor:move;flex-shrink:0;-webkit-user-select:none;user-select:none;border-radius:6px 6px 0 0}.mdi-titlebar:active{cursor:grabbing}.mdi-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mdi-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--txt3);flex:1 1}.mdi-controls{display:flex;gap:3px;align-items:center;margin-left:auto}.mdi-btn{margin:3px;background:none;border:1px solid var(--border);border-radius:3px;color:var(--txt3);font-size:10px;padding:1px 6px;cursor:pointer;line-height:1.4;transition:all .1s;white-space:nowrap;font-family:var(--mono)}.mdi-btn.mdi-ic{color:#6ee7b7;background:rgba(110,231,183,.1);border-color:rgba(110,231,183,.1)}.mdi-btn.mdi-verify{color:#93c5fd;background:rgba(147,197,253,.1);border-color:rgba(147,197,253,.1)}.mdi-btn.mdi-copy{color:#d8b4fe;background:rgba(216,180,254,.1);border-color:rgba(216,180,254,.1)}.mdi-btn.mdi-min{color:#fcd34d;background:rgba(252,211,77,.1);border-color:rgba(252,211,77,.1)}.mdi-btn.mdi-verify.pending{color:#222222;background:#f59e0b;box-shadow:inset 0 0 0 1px rgba(245,158,11,.25)}.mdi-btn:hover{filter:brightness(1.25)}html.light .mdi-btn.mdi-ic{color:#059669;background:rgba(5,150,105,.1);border-color:rgba(5,150,105,.1)}html.light .mdi-btn.mdi-verify{color:#2563eb;background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.1)}html.light .mdi-btn.mdi-copy{color:#7c3aed;background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.1)}html.light .mdi-btn.mdi-min{color:#b45309;background:rgba(180,83,9,.1);border-color:rgba(180,83,9,.1)}html.light .mdi-btn:hover{filter:brightness(.85)}.mdi-body{flex:1 1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.mdi-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:se-resize;z-index:5}.mdi-resize:after{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid var(--border2);border-bottom:2px solid var(--border2);border-radius:0 0 2px 0}.mdi-resize:hover:after{border-color:var(--acc)}#mdi-taskbar{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:30;pointer-events:none}#mdi-taskbar:empty{display:none}.mdi-taskbtn{background:var(--panel);border:1px solid var(--border2);border-radius:5px;color:var(--txt2);font-size:11px;padding:4px 10px;cursor:pointer;pointer-events:all;display:flex;align-items:center;gap:5px;font-family:var(--ui);transition:all .12s}.mdi-taskbtn:hover{border-color:var(--acc);color:var(--txt)}.mdi-taskdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mdi-toggle-btn{display:inline-flex}.mdi-hidden{display:none!important}.model-tabs{display:flex;background:var(--panel2);border-bottom:1px solid var(--border);flex-shrink:0;padding:4px 6px;gap:4px}.model-tab{flex:1 1;padding:4px 8px;font-size:11.5px;color:var(--txt2);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.model-tab:hover{background:rgba(0,0,0,.07);color:var(--txt)}.model-tab.model-tab-active{background:var(--panel);color:var(--acc);font-weight:600}#mdi-model #editor-wrap{flex:1 1;overflow-y:auto}#algorithm-wrap{flex:1 1;overflow:auto;background:#171a2b;--alg-bg:#171a2b;padding:14px 12px;min-height:0}html.light #algorithm-wrap{background:#e8eaf6;--alg-bg:#e8eaf6}.sc-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;text-align:center;color:var(--txt3);font-size:12px;padding:10px;border:1px dashed var(--border2);border-radius:8px}.sc-flow{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:16px 12px 32px}.sc-stmt{position:relative;border-radius:3px 6px 6px 6px;background:var(--sc-bg,#4f9eff);filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.15);overflow:visible;margin-bottom:0;transition:filter .18s,transform .18s,box-shadow .18s}.sc-stmt:hover{filter:drop-shadow(0 4px 10px rgba(0,0,0,.26)) brightness(1.05);transform:translateX(1px) translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2)}@media (hover:none){.sc-stmt:active,.sc-stmt:focus-within{filter:drop-shadow(0 4px 10px rgba(0,0,0,.26)) brightness(1.05);transform:translateX(1px) translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2)}}.sc-stmt:before{top:0;background:var(--alg-bg,#171a2b);border-radius:0 0 4px 4px;z-index:1}.sc-stmt:after,.sc-stmt:before{content:"";position:absolute;left:16px;width:28px;height:12px}.sc-stmt:after{bottom:-11px;background:var(--sc-bg,#4f9eff);border-radius:0 0 5px 5px;z-index:0}.sc-flow>.sc-stmt:first-child:before{display:none}.sc-seed{--sc-bg:#2ecc71}.sc-diff{--sc-bg:#3d91ff}.sc-iter{--sc-bg:#ff9800}.sc-rec{--sc-bg:#f44336}.sc-const{--sc-bg:#9c5ce6}.sc-derived{--sc-bg:#00bcd4}.sc-generic{--sc-bg:#78909c}.sc-hdr{display:flex;justify-content:space-between;align-items:center;padding:17px 10px 5px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.22));border-bottom:1px solid rgba(0,0,0,.12);border-radius:3px 6px 0 0}.sc-type-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.95)}.sc-icon{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;opacity:.85;line-height:1}.sc-line-tag{font-size:10px;font-weight:600;color:rgba(255,255,255,.45);font-family:var(--mono);background:rgba(0,0,0,.18);border-radius:4px;padding:1px 6px;border:none;cursor:pointer;transition:background .15s,color .15s,transform .12s;line-height:1.6;display:inline-flex;align-items:center}.sc-line-tag:hover{background:rgba(255,255,255,.18);color:#fff;transform:scale(1.08)}.sc-line-tag:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:1px}.sc-chip{display:none;font-family:var(--mono,monospace);font-size:.82em;font-weight:600;color:color-mix(in srgb,var(--sc-bg) 80%,#1a1a2e);white-space:nowrap;margin-left:5px;letter-spacing:.05px}.sc-chip:before{content:"=";margin-right:2px;opacity:.45;font-size:.9em}.sc-vals-on .sc-lhs[data-var] .sc-chip,.sc-vals-on .sc-val[data-var] .sc-chip{display:inline}#btn-toggle-block-vals.active{background:color-mix(in srgb,var(--acc2) 20%,var(--panel));color:var(--acc2);border-color:color-mix(in srgb,var(--acc2) 60%,transparent)}.sc-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 11px}.sc-lhs,.sc-row{align-items:center}.sc-lhs{display:inline-flex;background:#fff;color:#111;border-radius:6px;padding:3px 13px;font-size:12px;font-weight:800;font-family:var(--mono);white-space:nowrap;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 5px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .16s,box-shadow .16s;letter-spacing:.3px}.sc-arrow{font-size:15px;color:rgba(255,255,255,.65);font-weight:900;line-height:1}.sc-val{background:rgba(255,255,255,.9);color:#111;border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:600;font-family:var(--mono);border:1px solid rgba(17,24,39,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(0,0,0,.09),0 1px 2px rgba(15,23,42,.14)}.sc-op,.sc-val{display:inline-flex;align-items:center;white-space:nowrap;transition:transform .16s,box-shadow .16s}.sc-op{border-radius:6px;padding:3px 4px;color:#fff;gap:0;border:1px solid rgba(0,0,0,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.18),0 1px 2px rgba(15,23,42,.18)}.sc-in{display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.26);border-radius:999px;padding:2px 7px;min-width:24px;min-height:20px;box-shadow:inset 0 1px 1px rgba(0,0,0,.38),inset 0 -1px 0 rgba(255,255,255,.13)}.sc-in>.sc-op{border-radius:999px;padding:2px 4px;min-height:18px;margin:0 -3px}.sc-in>.sc-op .sc-in{background:rgba(0,0,0,.22)}.sc-stmt:hover .sc-lhs,.sc-stmt:hover .sc-op,.sc-stmt:hover .sc-val{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(0,0,0,.14),0 2px 4px rgba(15,23,42,.2)}@media (hover:none){.sc-stmt:active .sc-lhs,.sc-stmt:active .sc-op,.sc-stmt:active .sc-val,.sc-stmt:focus-within .sc-lhs,.sc-stmt:focus-within .sc-op,.sc-stmt:focus-within .sc-val{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(0,0,0,.14),0 2px 4px rgba(15,23,42,.2)}}.sc-sym{padding:0 5px;font-size:14px;font-weight:900;color:#fff}.sc-stmt+.sc-stmt.type-change{margin-top:10px}.sc-stmt+.sc-stmt.type-change:before{display:block}.sc-add{background:#388e3c}.sc-sub{background:#d84315}.sc-mul{background:#6a1b9a}.sc-div{background:#b71c1c}#mdi-model #varlist{max-height:100px}#mdi-objects #obj-sidebar{width:100%;border:none;flex:1 1}#mdi-graphs #gcanvases{flex:1 1;min-height:0}#mdi-graphs #panel-graph{flex:1 1}#mdi-data #varlist-resize{border-top:none}#mdi-data #varlist{flex:1 1;min-height:0;max-height:none;height:auto;border-top:none;padding:0}#mdi-data #varlist>.sc-empty{margin:12px;height:calc(100% - 24px);min-height:96px}#notes-editor{display:flex;flex-direction:column;flex:1 1;min-height:0;height:100%}#mdi-notes .mdi-body{padding:0;overflow:hidden}#mdi-notes .ql-toolbar.ql-snow{background:var(--panel2);border-color:var(--border)!important;border-bottom-color:var(--border)!important;padding:3px 5px!important;flex-shrink:0;font-size:12px}#mdi-notes .ql-container.ql-snow{background:var(--panel);border-color:var(--border)!important;flex:1 1;min-height:0;overflow-y:auto}#mdi-notes .ql-editor{color:var(--txt);font-size:13px;line-height:1.5;padding:8px 10px}#mdi-notes .ql-editor.ql-blank:before{color:var(--txt3)!important;font-style:normal}#mdi-notes .ql-stroke{stroke:var(--txt2)!important}#mdi-notes .ql-fill{fill:var(--txt2)!important}#mdi-notes .ql-picker,#mdi-notes .ql-picker-label{color:var(--txt2)!important}#mdi-notes .ql-active .ql-stroke,#mdi-notes button.ql-active .ql-stroke,#mdi-notes button:hover .ql-stroke{stroke:var(--acc)!important}#mdi-notes .ql-active .ql-fill,#mdi-notes button.ql-active .ql-fill,#mdi-notes button:hover .ql-fill{fill:var(--acc)!important}#mdi-notes .ql-picker-label.ql-active,#mdi-notes .ql-picker-label:hover{color:var(--acc)!important}#mdi-notes .ql-picker-options{background:var(--panel2)!important;border-color:var(--border2)!important;box-shadow:0 4px 16px rgba(0,0,0,.45)}#mdi-notes .ql-picker-item{color:var(--txt2)!important}#mdi-notes .ql-picker-item.ql-selected,#mdi-notes .ql-picker-item:hover{color:var(--acc)!important}#mdi-notes .ql-toolbar.ql-snow button:focus,#mdi-notes .ql-toolbar.ql-snow button:hover{color:var(--acc)}#mdi-notes .ql-snow .ql-picker-label:before,#mdi-notes .ql-snow.ql-toolbar button{color:var(--txt2)}#mdi-notes .ql-snow.ql-toolbar button:hover{color:var(--acc)}html.light #mdi-notes .ql-editor{color:var(--txt)}.notes-tabs{display:flex;background:var(--panel2);border-bottom:1px solid var(--border);flex-shrink:0;padding:4px 6px;gap:4px}.notes-tab{flex:1 1;padding:4px 8px;font-size:11.5px;color:var(--txt2);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}.notes-tab:hover{background:rgba(0,0,0,.07);color:var(--txt)}.notes-tab.notes-tab-active{background:var(--panel);color:var(--acc);font-weight:600}#notes-ai-panel{background:var(--panel);position:relative}#ai-messages,#notes-ai-panel{display:flex;flex:1 1;min-height:0;flex-direction:column}#ai-messages{overflow-y:auto;padding:8px 8px 4px;gap:6px}.ai-msg{max-width:88%;padding:7px 10px;border-radius:10px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-msg-user{align-self:flex-end;background:var(--acc);color:#fff;border-bottom-right-radius:3px}.ai-msg-model{align-self:flex-start;background:var(--panel2);color:var(--txt);border-bottom-left-radius:3px;white-space:normal}.ai-msg-model .ai-rich-paragraph{margin:0}.ai-msg-model .ai-rich-paragraph+.ai-rich-paragraph{margin-top:8px}.ai-msg-model .ai-rich-list{margin:6px 0 0;padding-left:18px}.ai-msg-model .ai-rich-list:first-child{margin-top:0}.ai-msg-model .ai-rich-list li+li{margin-top:4px}.ai-msg-model a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}.ai-msg-model a:hover{opacity:.85}.ai-msg-model strong{font-weight:700}.ai-msg-model em{font-style:italic}.ai-math-block{display:block;text-align:center;margin:6px 0;overflow-x:auto}.ai-msg-model math-field.ai-math-field{--hue:214;--selection-background-color:transparent;--caret-color:transparent;display:inline-block;background:transparent;border:none;outline:none;color:inherit;font-size:1em;line-height:1.4;padding:0;margin:0;min-width:0;pointer-events:none;vertical-align:middle}.ai-msg-model math-field.ai-math-field::part(container){background:transparent;border:none;box-shadow:none;padding:0}.ai-msg-model math-field.ai-math-field::part(content){padding:0;background:transparent}.ai-msg-model math-field.ai-math-field::part(menu-toggle),.ai-msg-model math-field.ai-math-field::part(virtual-keyboard-toggle){display:none!important}.ai-msg-model math-field.ai-math-field-inline{margin:0 .08em;white-space:nowrap;max-width:100%}.ai-msg-model math-field.ai-math-field-block{display:block;width:max-content;max-width:100%;margin:8px auto;text-align:center;overflow-x:auto}.ai-msg-error{background:rgba(239,68,68,.12);color:#ef4444}.ai-msg-error,.ai-msg-loading{align-self:flex-start;border-bottom-left-radius:3px}.ai-msg-loading{background:var(--panel2);color:var(--txt3);font-style:italic}.ai-msg-model{position:relative}.ai-tts-btn{position:absolute;top:5px;right:6px;opacity:0;pointer-events:none;transition:opacity .18s,background .15s,color .15s,border-color .15s;background:var(--panel);border:1px solid var(--border2);border-radius:50%;width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--txt3);padding:0;line-height:1;z-index:2;flex-shrink:0}.ai-msg-model:hover .ai-tts-btn{opacity:1;pointer-events:auto}.ai-tts-btn:hover{background:var(--panel2);color:var(--txt);border-color:var(--acc)}.ai-tts-btn.ai-tts-active{opacity:1;pointer-events:auto;color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,var(--panel))}.ai-msg-model:has(.ai-tts-btn){padding-right:28px}#ai-input-row{display:flex;gap:4px;padding:6px 8px;border-top:1px solid var(--border);background:var(--panel2);flex-shrink:0}#ai-input{flex:1 1;resize:none;border-radius:6px;border:1px solid var(--border2);background:var(--panel);color:var(--txt);font-size:12.5px;padding:5px 8px;line-height:1.4;min-height:34px;max-height:90px;overflow-y:auto;font-family:inherit}#ai-input:focus{outline:none;border-color:var(--acc)}#ai-send{flex-shrink:0;background:var(--acc);color:#fff;border:none;border-radius:6px;padding:0 11px;cursor:pointer;font-size:18px;line-height:1;transition:opacity .15s;align-self:flex-end;height:34px}#ai-send:hover{opacity:.85}#ai-send:disabled{opacity:.4;cursor:not-allowed}.ai-disclaimer{margin:0;padding:4px 10px 6px;font-size:10.5px;color:var(--txt3);text-align:center;line-height:1.4;flex-shrink:0}#mdi-notes .mdi-body,#mdi-sonia .mdi-body{display:flex;flex-direction:column}#ai-header{justify-content:space-between;padding:5px 8px 5px 10px;border-bottom:1px solid var(--border);background:var(--panel2);flex-shrink:0}#ai-header,.ai-header-left{display:flex;align-items:center}.ai-header-left{gap:6px}.ai-header-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.ai-header-name{font-size:12px;font-weight:600;color:var(--txt)}.ai-header-role{font-size:10px;color:var(--txt3)}.ai-clear-btn{background:none;border:none;color:var(--txt3);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;line-height:1;transition:color .15s}.ai-clear-btn:hover{color:var(--txt)}.ai-row{display:flex;align-items:flex-start;gap:6px}.ai-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-top:1px}@keyframes ai-dot-bounce{0%,80%,to{opacity:.3;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.ai-dot-loader{display:inline-flex;gap:4px;align-items:center;padding:2px 0}.ai-dot-loader span{width:6px;height:6px;border-radius:50%;background:var(--txt3);animation:ai-dot-bounce 1.2s infinite}.ai-dot-loader span:nth-child(2){animation-delay:.2s}.ai-dot-loader span:nth-child(3){animation-delay:.4s}#ai-chips{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px 6px}.ai-chip{background:var(--panel2);border:1px solid var(--border2);color:var(--txt2);font-size:11px;border-radius:12px;padding:3px 9px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.ai-chip:hover{border-color:var(--acc);color:var(--acc)}#ai-scroll-down{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--border2);color:var(--txt2);border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:opacity .15s;z-index:2}#ai-scroll-down:hover{opacity:.8}@media(max-width:900px){#anim-wrap{--mdi-sheet-h:clamp(280px,56vh,620px);--mdi-sheet-h-expanded:clamp(340px,82vh,760px);--mdi-sheet-drag-offset:0px}#menubar{height:40px;justify-content:space-between;padding:0 10px;overflow:visible}#menubar .logo{margin-right:0;white-space:nowrap;font-size:15px;letter-spacing:1.4px;max-width:78vw;overflow:hidden;text-overflow:ellipsis}#menubar .mitem{display:none}#menubar-mobile-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border2);border-radius:8px;background:var(--panel2);color:var(--txt);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}#menubar-mobile-btn:hover{border-color:var(--acc);color:var(--acc)}#menubar-mobile-backdrop{position:fixed;inset:40px 0 0 0;background:rgba(2,8,18,.42);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:23990;opacity:0;pointer-events:none;transition:opacity .14s}#menubar-mobile-backdrop.show{display:block;opacity:1;pointer-events:auto}#menubar-mobile-drawer{position:fixed;top:40px;right:0;width:min(86vw,340px);height:calc(100dvh - 40px);background:var(--panel);border-left:1px solid var(--border2);box-shadow:-12px 0 32px rgba(0,0,0,.35);z-index:24000;display:flex;flex-direction:column;overflow-y:auto;transform:translateX(102%);transition:transform .18s ease}#menubar-mobile-drawer.show{transform:translateX(0)}.mb-sec-btn{height:42px;border:none;border-bottom:1px solid color-mix(in srgb,var(--border) 85%,transparent);background:var(--panel);color:var(--txt);font-size:13px;font-weight:700;letter-spacing:.3px;text-align:left;padding:0 14px;cursor:pointer}.mb-sec-btn:hover{background:var(--panel2)}.mb-sec-panel{display:none;background:color-mix(in srgb,var(--panel2) 92%,var(--panel));padding:4px 0}.mb-sec-panel.open{display:block}.mb-item{height:36px;border:none;background:transparent;color:var(--txt2);font-size:12px;text-align:left;padding:0 16px;cursor:pointer;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mb-item:hover{background:var(--panel2);color:var(--txt)}.mb-item.active{color:var(--acc);font-weight:700}.mb-item-parent{justify-content:space-between;color:var(--txt);font-weight:600}.mb-item-chevron{font-size:11px;color:var(--txt3);transition:transform .16s ease}.mb-item-chevron.open{transform:rotate(180deg)}.mb-sub-panel{display:none;padding:2px 0 4px;margin:0 0 2px 10px;border-left:1px solid color-mix(in srgb,var(--border2) 82%,transparent);background:color-mix(in srgb,var(--panel2) 92%,var(--panel))}.mb-sub-panel.open{display:block}.mb-sub-panel .mb-item{padding-left:16px}#simbar{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;align-items:center!important;gap:6px!important}#simbar .seekbar-wrap{min-width:0!important;flex:1 1 auto!important;order:0!important}#simbar .simbar-group-params,#simbar .simbar-group-run,#simbar .simbar-group-state{order:0!important;flex-wrap:nowrap!important;min-width:max-content}#anim-phdr .phdr-right,#anim-phdr .phdr-title,#anim-phdr>.qa-divider:first-of-type,#mdi-taskbar,.mdi-resize,.mdi-toggle-btn{display:none!important}#anim-canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.mdi-child{display:none!important;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:var(--mdi-sheet-h)!important;min-height:240px!important;border-radius:0!important;border:none!important;background:var(--panel)!important;box-shadow:none!important;z-index:6000!important;pointer-events:none;opacity:0;transform:translateY(calc(20px + var(--mdi-sheet-drag-offset, 0px)));transition:transform .18s ease,opacity .18s ease}#anim-wrap.mdi-mobile-sheet-open .mdi-child.mdi-mobile-active{display:flex!important;opacity:1;transform:translateY(var(--mdi-sheet-drag-offset,0));pointer-events:auto}#anim-wrap.mdi-mobile-sheet-expanded .mdi-child.mdi-mobile-active{height:var(--mdi-sheet-h-expanded)!important}#anim-wrap.mdi-mobile-sheet-dragging .mdi-child{transition:none!important}.mdi-titlebar{cursor:default!important;border-radius:0!important;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important}.mdi-body,.mdi-titlebar{background:var(--panel)!important}#mdi-mobile-sheet-tabs{position:fixed;left:0;right:0;bottom:calc(var(--mdi-sheet-h) - 1px);display:none;flex-direction:column;gap:0;z-index:6010;background:var(--panel);border-top-left-radius:16px;border-top-right-radius:16px;border-top:1px solid var(--border2);box-shadow:none;overflow:hidden;transform:translateY(var(--mdi-sheet-drag-offset,0));transition:transform .18s ease}#mdi-mobile-sheet-tabs.open{display:flex}#anim-wrap.mdi-mobile-sheet-expanded #mdi-mobile-sheet-tabs{bottom:calc(var(--mdi-sheet-h-expanded) - 1px)}#anim-wrap.mdi-mobile-sheet-dragging #mdi-mobile-sheet-tabs{transition:none!important}#mdi-mobile-sheet-handle{height:12px;border:none;background:var(--panel);display:flex;align-items:center;justify-content:center;cursor:pointer}.mdi-mobile-handle-bar{margin-top:8px;display:block;width:46px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--txt3) 52%,transparent)}#mdi-mobile-tab-scroll{margin-top:8px;display:flex;gap:0;overflow-x:auto;padding:0 8px;background:var(--panel);border-top:none}.mdi-mobile-tab{background:var(--panel2);height:34px;padding:0 12px;border-radius:0;color:var(--txt2);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0;border:none;border-bottom:2px solid transparent;border-radius:16px;margin-bottom:8px}.mdi-mobile-tab.active{border-bottom-color:var(--acc);color:var(--txt)}#anim-overlay{top:auto;bottom:46px;right:10px;z-index:3500}#anim-overlay .ov-btn-sheet{border-color:color-mix(in srgb,var(--acc) 55%,var(--border2));background:color-mix(in srgb,var(--acc) 12%,var(--overlay-bg));color:var(--acc)}}@media(min-width:901px){#mdi-mobile-sheet-tabs,#menubar-mobile-backdrop,#menubar-mobile-btn,#menubar-mobile-drawer{display:none!important}}#about-modal-overlay,#blab-dlg-overlay,#contact-modal-overlay,#experiments-modal-overlay,#help-modal-overlay,#image-picker-modal-overlay,#precision-modal-overlay,#sim-meta-modal-overlay,#tab-props-modal-overlay,.modal-overlay{z-index:32000!important}.lp-root{min-height:100vh;overflow-y:auto;background:radial-gradient(900px 700px at 75% -5%,rgba(79,158,255,.09),transparent 55%),radial-gradient(700px 500px at -5% 85%,rgba(167,139,250,.07),transparent 50%),var(--bg);color:var(--txt)}.lp-hero{display:flex;align-items:center;justify-content:space-between;gap:36px;max-width:1160px;margin:0 auto;padding:clamp(44px,4vh,48px) clamp(16px,5vw,64px)}.lp-hero-text{flex:1 1 320px;max-width:580px}.lp-badge{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid rgba(52,211,153,.35);background:rgba(52,211,153,.08);color:var(--acc2);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.lp-badge-row{gap:10px;flex-wrap:wrap}.lp-badge-row,.lp-lang{display:flex;align-items:center}.lp-lang{gap:4px}.lp-lang-btn{background:none;border:1px solid transparent;border-radius:6px;padding:3px 4px;font-size:inherit;line-height:0;cursor:pointer;opacity:.5;transition:opacity .15s,border-color .15s,transform .12s;display:inline-flex;align-items:center}.lp-lang-btn:hover{opacity:.85;transform:scale(1.1)}.lp-lang-btn.active{opacity:1;border-color:var(--border2);background:var(--panel2)}.lp-main-title{margin-top:10px;font-size:clamp(38px,6vw,72px);line-height:1.04;font-weight:800;letter-spacing:-2px}.lp-main-title em{font-style:normal;background:linear-gradient(100deg,var(--acc) 20%,var(--acc4) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lp-subtitle{margin-top:10px;font-size:clamp(20px,4vw,46px);line-height:1.04;font-weight:800;letter-spacing:.06em}.lp-subtitle em{font-style:normal;background:linear-gradient(100deg,var(--acc) 20%,var(--acc4) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic;letter-spacing:2px}.wave-text{cursor:default;display:inline-block}.wave-char{display:inline-block;will-change:transform}.wave-active .wave-char{animation:waveFloat .85s cubic-bezier(.36,.07,.19,.97) infinite}.wave-active.wave-text--logo .wave-char{animation:waveFloatLogo .75s cubic-bezier(.36,.07,.19,.97) infinite}@keyframes waveFloatLogo{0%,to{transform:translateY(0) rotate(0deg) scale(1);text-shadow:none}30%{transform:translateY(-4px) rotate(-4deg) scale(1.15);text-shadow:0 0 8px var(--acc4)}55%{transform:translateY(-5px) rotate(0deg) scale(1.18);text-shadow:0 0 10px var(--acc)}78%{transform:translateY(-2px) rotate(3deg) scale(1.08);text-shadow:0 0 6px var(--acc4)}92%{transform:translateY(1px) rotate(-1deg) scale(.98);text-shadow:none}}@keyframes waveFloat{0%,to{transform:translateY(0) rotate(0deg) scale(1);color:inherit;text-shadow:none}28%{transform:translateY(-14px) rotate(-6deg) scale(1.25);color:var(--acc);text-shadow:0 0 18px var(--acc4)}55%{transform:translateY(-16px) rotate(0deg) scale(1.3);color:var(--acc4);text-shadow:0 0 22px var(--acc)}78%{transform:translateY(-6px) rotate(5deg) scale(1.1);color:var(--acc);text-shadow:0 0 10px var(--acc4)}92%{transform:translateY(3px) rotate(-2deg) scale(.97);color:inherit;text-shadow:none}}.lp-tagline{margin-top:12px;color:var(--txt2);font-size:clamp(15px,1.8vw,19px);line-height:1.65;max-width:480px}.lp-hero-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.lp-btn-primary{display:inline-flex;align-items:center;text-decoration:none;background:linear-gradient(120deg,var(--acc),#79b8ff);color:#06111e;font-weight:800;font-size:15px;padding:11px 26px;border-radius:999px;transition:transform .15s,filter .15s;animation:lp-pulse 3s ease-in-out infinite}.lp-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1)}@keyframes lp-pulse{0%,to{box-shadow:0 0 0 0 rgba(79,158,255,.45)}50%{box-shadow:0 0 0 12px rgba(79,158,255,0)}}.lp-btn-ghost{display:inline-flex;align-items:center;text-decoration:none;color:var(--txt2);font-size:14px;font-weight:600;padding:9px 18px;border-radius:999px;border:1px solid var(--border2);transition:border-color .15s,color .15s,transform .15s}.lp-btn-ghost:hover{border-color:var(--acc);color:var(--txt);transform:translateY(-1px)}.lp-hero-anim{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.lp-solar{position:relative;width:360px;height:360px}.lp-sun{width:46px;height:46px;background:radial-gradient(circle at 35% 35%,#fde68a,#f97316 55%,#dc2626);box-shadow:0 0 22px rgba(249,115,22,.75),0 0 55px rgba(249,115,22,.35),0 0 100px rgba(249,115,22,.15);z-index:2}.lp-sun,.lp-sun-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.lp-sun-glow{width:100px;height:100px;background:radial-gradient(circle,rgba(249,115,22,.22),transparent 70%);animation:lp-sunglow 3.2s ease-in-out infinite;z-index:1}@keyframes lp-sunglow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.55}50%{transform:translate(-50%,-50%) scale(1.35);opacity:1}}.lp-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(255,255,255,.11);animation:lp-orbit linear infinite}.lp-ring-1{width:120px;height:120px;margin:-60px 0 0 -60px;animation-duration:3.8s}.lp-ring-2{width:218px;height:218px;margin:-109px 0 0 -109px;animation-duration:8s}.lp-ring-3{width:320px;height:320px;margin:-160px 0 0 -160px;animation-duration:16s}.lp-dot{position:absolute;border-radius:50%;left:50%;transform:translateX(-50%)}.lp-dot-1{width:14px;height:14px;top:-7px;background:#4f9eff;box-shadow:0 0 10px #4f9eff,0 0 22px rgba(79,158,255,.5)}.lp-dot-2{width:20px;height:20px;top:-10px;background:#34d399;box-shadow:0 0 12px #34d399,0 0 24px rgba(52,211,153,.5)}.lp-dot-3{width:11px;height:11px;top:-5.5px;background:#a78bfa;box-shadow:0 0 10px #a78bfa,0 0 20px rgba(167,139,250,.5)}@keyframes lp-orbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes lp-shake{0%{transform:translate(0)}10%{transform:translate(-3px,2px) rotate(.5deg)}20%{transform:translate(2px,-3px) rotate(-.5deg)}30%{transform:translate(-2px,3px) rotate(.3deg)}40%{transform:translate(3px,-2px) rotate(-.3deg)}50%{transform:translate(-2px,-2px) rotate(.5deg)}60%{transform:translate(2px,3px) rotate(-.5deg)}70%{transform:translate(3px,-3px) rotate(.4deg)}80%{transform:translate(-3px,2px) rotate(-.4deg)}90%{transform:translate(2px,-2px) rotate(.3deg)}to{transform:translate(0) rotate(0deg)}}.lp-solar.shaking{animation:lp-shake .5s cubic-bezier(.36,0,.66,.52)}@keyframes lp-sun-pulse-exploded{0%,to{transform:translate(-50%,-50%) scale(1) rotate(0deg);filter:brightness(1.02) saturate(1.05);border-radius:48% 52% 50% 50%/52% 48% 52% 48%}50%{transform:translate(-50%,-50%) scale(1.09) rotate(.7deg);filter:brightness(1.13) saturate(1.12);border-radius:52% 48% 46% 54%/48% 52% 46% 54%}}@keyframes lp-sun-glow-pulse-exploded{0%,to{transform:translate(-50%,-50%) scale(1.1);opacity:.5;filter:blur(1.2px)}50%{transform:translate(-50%,-50%) scale(1.38);opacity:.82;filter:blur(1.8px)}}@keyframes lp-eggwhite-pulse-exploded{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.82}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.96}}.lp-solar.exploded .lp-dot,.lp-solar.exploded .lp-ring{opacity:0;pointer-events:none}.lp-solar.exploded .lp-sun{animation:lp-sun-pulse-exploded 2.2s ease-in-out infinite;background:radial-gradient(circle at 44% 42%,#fff4b3 0 26%,#facc15 38%,#fb923c 68%,#ea580c 100%);box-shadow:0 0 22px rgba(250,204,21,.72),0 0 58px rgba(249,115,22,.42),0 0 108px rgba(234,88,12,.24);will-change:transform,filter}.lp-solar.exploded .lp-sun:after{content:"";position:absolute;top:50%;left:50%;width:68px;height:68px;transform:translate(-50%,-50%);border-radius:56% 44% 52% 48%/48% 52% 46% 54%;border:2px solid rgba(255,255,255,.92);box-shadow:0 0 0 4px rgba(255,255,255,.22),0 0 18px rgba(255,255,255,.24);animation:lp-eggwhite-pulse-exploded 2.2s ease-in-out infinite;pointer-events:none}.lp-solar.exploded .lp-sun-glow{animation:lp-sun-glow-pulse-exploded 2.2s ease-in-out infinite;background:radial-gradient(circle,rgba(255,245,157,.28),rgba(251,146,60,.22) 45%,transparent 72%);will-change:transform,opacity}.lp-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,64px) 64px}.lp-feature-card{border:1px solid var(--border);border-radius:16px;background:linear-gradient(160deg,var(--panel),var(--panel2));padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .2s,border-color .2s,box-shadow .2s}.lp-feature-card:hover{transform:translateY(-4px);border-color:var(--border2);box-shadow:0 12px 36px rgba(0,0,0,.22)}.lp-ficon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;flex-shrink:0}.lp-ficon svg{width:26px;height:26px}.lp-ficon--orange{background:rgba(249,115,22,.14);color:var(--acc3)}.lp-ficon--teal{background:rgba(52,211,153,.14);color:var(--acc2)}.lp-ficon--purple{background:rgba(167,139,250,.14);color:var(--acc4)}.lp-feature-card strong{font-size:17px;color:var(--txt);font-weight:700}.lp-feature-card p{color:var(--txt2);line-height:1.55;font-size:13px}.lp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,64px) 64px}.lp-carousel{border:1px solid var(--border);border-radius:18px;background:var(--panel);overflow:hidden}.lp-carousel-stage{position:relative;min-height:240px;background:var(--panel2);overflow:hidden}.lp-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .4s ease;margin:0;overflow:hidden}.lp-slide.active{opacity:1;pointer-events:auto}.lp-slide img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block;transform:scale(1.001);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease}.lp-slide:hover img{transform:scale(1.04);filter:saturate(1.03) contrast(1.02)}.lp-slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,10,18,0),rgba(5,10,18,.03) 34%,rgba(5,10,18,.12) 55%,rgba(5,10,18,.34) 74%,rgba(5,10,18,.58))}.lp-slide figcaption{position:absolute;inset:auto 0 0;z-index:1;padding:26px 18px 16px;background:linear-gradient(180deg,rgba(7,12,18,0),rgba(7,12,18,.12) 24%,rgba(7,12,18,.42) 72%,rgba(7,12,18,.56));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:rgba(245,248,255,.96);font-size:13px;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.28),0 6px 18px rgba(0,0,0,.18)}.lp-carr-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.5);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;z-index:2}.lp-carr-btn:hover{background:rgba(79,158,255,.65);border-color:var(--acc)}.lp-carr-prev{left:10px}.lp-carr-next{right:10px}.lp-carousel-label{padding:11px 16px 2px;font-size:13px;color:var(--txt3);font-weight:600}.lp-dots{display:flex;justify-content:center;gap:6px;padding:8px 16px 16px}.lp-dots button{width:7px;height:7px;border-radius:999px;border:none;background:var(--border2);cursor:pointer;padding:0;transition:background .2s,width .25s}.lp-dots button.active{background:var(--acc);width:22px}.lp-for{max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,64px) 64px}.lp-for h2{font-size:clamp(22px,2.8vw,34px);font-weight:800;margin-bottom:14px;letter-spacing:-.5px}.lp-for-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.lp-for-card{border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .2s}.lp-for-card:hover{transform:translateY(-5px)}.lp-for-card--a{background:linear-gradient(145deg,rgba(249,115,22,.12),rgba(249,115,22,.04));border:1px solid rgba(249,115,22,.28)}.lp-for-card--b{background:linear-gradient(145deg,rgba(52,211,153,.12),rgba(52,211,153,.04));border:1px solid rgba(52,211,153,.28)}.lp-for-card--c{background:linear-gradient(145deg,rgba(167,139,250,.12),rgba(167,139,250,.04));border:1px solid rgba(167,139,250,.28)}.lp-for-emoji{font-size:30px;line-height:1;margin-bottom:2px}.lp-for-card strong{font-size:17px;font-weight:700;color:var(--txt)}.lp-for-card p{color:var(--txt2);font-size:13px;line-height:1.55}.lp-coming{max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,64px) 64px}.lp-coming-header{text-align:center;margin-bottom:36px}.lp-coming-badge{display:inline-block;background:linear-gradient(135deg,rgba(79,158,255,.18),rgba(167,139,250,.18));border:1px solid rgba(79,158,255,.4);border-radius:999px;padding:5px 18px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}.lp-coming h2{font-size:clamp(22px,2.8vw,34px);font-weight:800;letter-spacing:-.5px;margin-bottom:10px}.lp-coming-desc{color:var(--txt2);font-size:15px;line-height:1.6;max-width:600px;margin:0 auto}.lp-coming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:32px}.lp-coming-card{border:1px dashed var(--border2);border-radius:16px;background:linear-gradient(160deg,var(--panel),var(--panel2));padding:24px 22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.lp-coming-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(79,158,255,.04),transparent 60%);pointer-events:none}.lp-coming-card:hover{transform:translateY(-4px);border-color:var(--acc);border-style:solid;box-shadow:0 10px 32px rgba(79,158,255,.12)}.lp-cicon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;flex-shrink:0}.lp-cicon svg{width:26px;height:26px}.lp-cicon--blue{background:rgba(79,158,255,.14);color:var(--acc)}.lp-cicon--teal{background:rgba(52,211,153,.14);color:var(--acc2)}.lp-cicon--purple{background:rgba(167,139,250,.14);color:var(--acc4)}.lp-coming-card strong{font-size:17px;color:var(--txt);font-weight:700}.lp-coming-card p{color:var(--txt2);line-height:1.55;font-size:13px}.lp-links{display:flex;flex-wrap:wrap;gap:12px;max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,64px) 36px}.lp-inst-link{flex:1 1 220px;text-decoration:none;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:14px 18px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s,box-shadow .15s}.lp-inst-link:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.18)}.lp-inst-link strong{color:var(--txt);font-size:16px}.lp-inst-link span{color:var(--txt2);font-size:12px}.lp-footer{max-width:1160px;margin:0 auto;padding:16px clamp(16px,5vw,64px) 24px;border-top:1px solid var(--border);color:var(--txt3);font-size:12px}.lp-carauma-link{display:inline-flex;align-items:center;justify-content:center;background:#ececec;border-radius:150px;padding:8px 18px;margin-bottom:12px;transition:background .2s}.lp-carauma-link:hover{background:#ecececa6}.lp-carauma-logo{height:45px;width:auto}@media(max-width:960px){.lp-hero{flex-direction:column-reverse;text-align:center;padding-top:32px;padding-bottom:32px;gap:18px}.lp-hero-text{max-width:100%}.lp-tagline{margin-left:auto;margin-right:auto}.lp-hero-actions{justify-content:center}.lp-solar{width:240px;height:240px}.lp-ring-1{width:88px;height:88px;margin:-44px 0 0 -44px}.lp-ring-2{width:158px;height:158px;margin:-79px 0 0 -79px}.lp-ring-3{width:228px;height:228px;margin:-114px 0 0 -114px}.lp-coming-grid,.lp-features,.lp-for-grid,.lp-gallery{grid-template-columns:1fr}}@media(max-width:600px){.lp-badge-row,.lp-lang{justify-content:center}.lp-lang{flex-wrap:wrap}.lp-solar{width:180px;height:180px}.lp-ring-1{width:68px;height:68px;margin:-34px 0 0 -34px}.lp-ring-2{width:120px;height:120px;margin:-60px 0 0 -60px}.lp-ring-3{width:172px;height:172px;margin:-86px 0 0 -86px}.lp-dot-1{width:11px;height:11px;top:-5.5px}.lp-dot-2{width:14px;height:14px;top:-7px}.lp-dot-3{width:9px;height:9px;top:-4.5px}}