:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:"Spline Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--chrome:#1d1d1d;--chrome-border:#2e2e2e;--viewport:#111;--divider:#ffffff0d;--text:#fffffff2;--text-soft:#ffffffb3;--text-2:#fff9;--text-3:#fff6;--fill:#ffffff0d;--fill-hover:#ffffff14;--fill-strong:#ffffff1a;--ring:#ffffff0f;--btn:#ffffff1f;--btn-strong:#fff3;--select:#8eb2f229;--axis:#2b99ff;--pill:#1d1d1deb;--pill-border:#ffffff14;--bg:var(--chrome);--surface:#262626;--surface-2:#232323;--surface-hover:var(--fill-hover);--surface-active:var(--select);--border:#ffffff14;--accent:#5ea8ff;--accent-text:#111;--danger:#ff6b63;--warn:#f2c879;--paper:#fcfcfb;--shadow:0 16px 40px #00000080, 0 2px 6px #0000004d;--radius:6px;--row-h:26px;--glass-bg:var(--chrome);--glass-bg-float:var(--chrome);--glass-bar:var(--chrome);--glass-border:var(--chrome-border);--glass-divider:var(--divider);--glass-highlight:transparent;--glass-chip:var(--fill-strong);--glass-shadow:none;--glass-shadow-float:var(--shadow);--glass-blur:none;--glass-radius:12px;--topbar-h:48px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--chrome:#f6f6f6;--chrome-border:#e2e2e2;--viewport:#e9e9e9;--divider:#0000000f;--text:#000000e0;--text-soft:#000000ad;--text-2:#0000008c;--text-3:#00000061;--fill:#0000000b;--fill-hover:#00000012;--fill-strong:#00000014;--ring:#0000000f;--btn:#00000012;--btn-strong:#1d1d1d;--select:#2b78e621;--axis:#1a7fe0;--pill:#fffffff0;--pill-border:#00000014;--surface:#fff;--surface-2:#fafafa;--border:#0000001a;--accent:#1a7fe0;--accent-text:#fff;--danger:#c4372f;--warn:#d89020;--shadow:0 16px 40px #00000024, 0 2px 6px #0000000f}@media (prefers-color-scheme:light){:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--chrome:#f6f6f6;--chrome-border:#e2e2e2;--viewport:#e9e9e9;--divider:#0000000f;--text:#000000e0;--text-soft:#000000ad;--text-2:#0000008c;--text-3:#00000061;--fill:#0000000b;--fill-hover:#00000012;--fill-strong:#00000014;--ring:#0000000f;--btn:#00000012;--btn-strong:#1d1d1d;--select:#2b78e621;--axis:#1a7fe0;--pill:#fffffff0;--pill-border:#00000014;--surface:#fff;--surface-2:#fafafa;--border:#0000001a;--accent:#1a7fe0;--accent-text:#fff;--danger:#c4372f;--warn:#d89020;--shadow:0 16px 40px #00000024, 0 2px 6px #0000000f}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{font:12px/1.35 var(--font);color:var(--text);background:var(--chrome);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}code{font:11px var(--mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app{flex-direction:column;min-width:0;height:100vh;display:flex}.topbar{height:var(--topbar-h);background:var(--chrome);z-index:10;flex:none;align-items:stretch;min-width:0;display:flex;position:relative}.tb-side{flex:none;align-items:center;gap:4px;min-width:0;padding:0 12px;display:flex}.tb-left{width:var(--dock-left,auto);padding-left:8px}.tb-right{width:var(--dock-right,auto);gap:6px}.topbar.left-dock .tb-left{border-right:1px solid var(--chrome-border)}.topbar.right-dock .tb-right{border-left:1px solid var(--chrome-border)}.tb-center{scrollbar-width:none;flex:auto;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex;overflow-x:auto}.tb-group{flex:none;align-items:center;gap:2px;display:flex}.tb-tools{flex:auto;justify-content:center;align-items:center;gap:2px;min-width:max-content;display:flex}.tb-sep{background:var(--chrome-border);flex:none;width:1px;height:16px;margin:0 4px}.tb-icon,.bar-btn{min-width:28px;height:28px;color:var(--text-soft);cursor:default;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0 4px;font-size:11px;display:inline-grid}.tb-icon svg,.bar-btn svg{width:16px;height:16px}.tb-icon:hover:not(:disabled),.bar-btn:hover:not(:disabled){background:var(--fill-hover);color:var(--text)}.tb-icon:disabled,.bar-btn:disabled{opacity:.35}.tb-icon.active,.bar-btn.active{background:var(--fill-strong);color:var(--text)}.bar-btn.bar-menu{white-space:nowrap;align-items:center;gap:2px;padding:0 2px 0 6px;display:inline-flex}.bar-btn.bar-menu svg:last-child{opacity:.6;width:10px;height:10px}.bar-btn.caret-only{min-width:18px;padding:0 3px}.tb-btn{background:var(--btn);height:28px;color:var(--text-soft);white-space:nowrap;cursor:default;border:none;border-radius:6px;flex:none;padding:0 10px;font-size:11px;font-weight:500}.tb-btn:hover:not(:disabled){color:var(--text)}.tb-btn.primary{background:var(--btn-strong);color:var(--text)}:root[data-theme=light] .tb-btn.primary{color:#fff}@media (prefers-color-scheme:light){:root[data-theme=system] .tb-btn.primary{color:#fff}}.tb-btn:disabled{opacity:.4}.file-info{align-items:center;gap:6px;min-width:0;padding-left:2px;display:flex}.file-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px;font-weight:600;overflow:hidden}.dirty-dot{background:var(--warn);border-radius:50%;flex:none;width:6px;height:6px}.spacer{flex:1;min-width:4px}.btn{border-radius:var(--radius);background:var(--btn);height:28px;color:var(--text);white-space:nowrap;cursor:default;border:none;padding:0 10px;font-size:11px;font-weight:500}.btn:hover:not(:disabled){background:var(--fill-strong);box-shadow:inset 0 0 0 1px var(--ring)}.btn:disabled{opacity:.4}.btn.primary{background:var(--text);color:var(--chrome)}.btn.primary:hover:not(:disabled){background:var(--text);opacity:.9}.btn.active{background:var(--select);color:var(--text)}.btn.danger{color:var(--danger)}.btn.small{height:24px;padding:0 8px}.workspace{background:var(--chrome);flex:1;min-height:0;position:relative;overflow:hidden}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr));align-content:start;gap:2px;padding:6px;display:grid}.tool-grid [role=separator]{background:var(--divider);grid-column:1/-1;height:1px;margin:3px 4px}.tool{height:28px;color:var(--text-soft);cursor:default;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.tool-icon{place-items:center;display:grid}.tool-icon svg{width:16px;height:16px}.tool:hover{background:var(--fill-hover);color:var(--text)}.tool.active{background:var(--fill-strong);color:var(--text);box-shadow:inset 0 0 0 1px var(--ring)}.tool-key{font:600 7px var(--font);color:var(--text-3);position:absolute;bottom:0;right:2px}.toolset-strip{flex-wrap:wrap;gap:2px;padding:6px 6px 0;display:flex}.tb-tool{border-radius:6px;flex:none;align-items:stretch;height:28px;display:inline-flex}.tb-tool .tool{width:28px}.tb-tool.has-more .tool{border-radius:6px 0 0 6px;width:24px}.tb-tool-more{width:12px;color:var(--text-3);cursor:default;background:0 0;border:none;border-radius:0 6px 6px 0;place-items:center;padding:0;display:grid}.tb-tool-more svg{width:10px;height:10px}.tb-tool:hover .tool,.tb-tool:hover .tb-tool-more{background:var(--fill-hover);color:var(--text)}.tb-tool.active .tool,.tb-tool.active .tb-tool-more{background:var(--fill-strong);color:var(--text)}.tb-tool.active{box-shadow:inset 0 0 0 1px var(--ring)}.stage{top:0;bottom:0;left:var(--dock-left,0px);right:var(--dock-right,0px);padding:0 8px 8px;position:absolute}.canvas-wrap{background:var(--paper);box-shadow:0 0 0 1px var(--chrome-border);border-radius:12px;position:absolute;inset:0 8px 8px;overflow:hidden}.stage.no-doc .canvas-wrap{background:var(--viewport)}.dark-canvas .canvas-wrap{background:#0f0f0f}.dark-canvas #canvas{filter:invert()hue-rotate(180deg)}#canvas{touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.text-host{pointer-events:none;position:absolute;inset:0;overflow:hidden}.view3d-host{z-index:2;position:absolute;inset:0}.view3d-host[hidden]{display:none}.text-editor{border:1px solid var(--accent);color:#1d1d1f;resize:none;white-space:pre;pointer-events:auto;min-width:40px;box-shadow:var(--shadow);background:#fffffff7;border-radius:2px;outline:none;margin:0;padding:0 2px;line-height:1.15;position:absolute;overflow:hidden}.hud{z-index:4;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;left:20px;right:20px}.hud>*{pointer-events:auto}.hud-top{top:12px}.hud-bottom{grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);display:grid;bottom:20px}.hud-bottom>.sb-cursor{grid-column:1;justify-self:start}.hud-bottom>.modebar{grid-column:2}.hud-bottom>.sb-snaps{grid-column:3;justify-self:end}.pill{border:1px solid var(--pill-border);background:var(--pill);min-width:0;height:36px;color:var(--text-soft);white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:10px;flex:none;align-items:center;gap:2px;padding:0 4px;font-size:11px;display:inline-flex;box-shadow:0 6px 20px #0000002e}.pill-quiet{height:28px;font:11px var(--mono);font-variant-numeric:tabular-nums;color:var(--text-2);border-radius:999px;padding:0 10px}.pill-sep{background:var(--chrome-border);flex:none;width:1px;height:16px;margin:0 4px}.stage.is-3d .hud-bottom,.stage.no-doc .hud{display:none}.hud-top .pill{height:32px}.vb-scale{color:var(--text-3);font-variant-numeric:tabular-nums;padding:0 4px}.modebar{max-width:100%;padding:0 4px 0 10px;overflow:hidden}.mb-group{flex:none;align-items:center;gap:2px;display:flex}.mb-group>.seg+.seg{margin-left:8px}.mb-group:before,.mode-hint:before{content:"";background:var(--chrome-border);flex:none;width:1px;height:16px;margin:0 6px 0 2px}.mode-tool{color:var(--text);flex:none;align-items:center;gap:6px;padding-right:6px;font-weight:500;display:flex}.mode-tool svg{width:14px;height:14px}.modebar.compact .mode-tool>span{display:none}.mb-menu{gap:2px;padding-right:4px}.mb-menu svg{width:12px;height:12px;color:var(--text-3)}.mode-hint{flex:auto;align-items:center;gap:4px;min-width:0;padding-right:6px;display:flex;overflow:hidden}.mode-step{color:var(--text);flex:none}.mode-key{background:var(--fill);color:var(--text-2);border-radius:5px;flex:none;padding:2px 6px}.mode-hint>:last-child{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.sb-toggle{width:28px;height:28px;color:var(--text-2);cursor:default;border-radius:6px;place-items:center;display:grid;position:relative}.sb-toggle:hover{background:var(--fill-hover);color:var(--text)}.sb-toggle input{opacity:0;pointer-events:none;position:absolute}.sb-toggle:has(input:checked){background:var(--fill-strong);color:var(--text)}.sb-toggle:has(input:focus-visible){outline:2px solid var(--accent)}.sb-icon svg,.sb-more svg{width:15px;height:15px;display:block}.sb-more{width:20px;height:28px;color:var(--text-3);background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid}.sb-more:hover{background:var(--fill-hover);color:var(--text)}.welcome{z-index:2;background:var(--viewport);background-image:radial-gradient(var(--fill-strong) 1px, transparent 1px);background-size:24px 24px;border-radius:12px;place-items:center;padding:16px;display:grid;position:absolute;inset:0 8px 8px}.drop-zone{text-align:center;border:1px solid var(--chrome-border);background:var(--chrome);width:min(360px,100%);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:center;padding:36px 32px 28px;display:flex}.welcome-mark{background:conic-gradient(from 200deg,#8eb2f2,#b48ef2,#f2c879,#8ef2c5,#8eb2f2);border-radius:10px;width:36px;height:36px;margin-bottom:16px;box-shadow:inset 0 0 0 1px #ffffff26}.welcome-title{letter-spacing:-.01em;margin:0 0 4px;font-size:16px;font-weight:600}.welcome-text{color:var(--text-2);margin:0 0 20px}.welcome-actions{justify-content:center;gap:8px;display:flex}.welcome-actions .btn{height:32px;padding:0 14px;font-size:12px}.welcome-fine{color:var(--text-3);margin:20px 0 0;font-size:11px}.panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.toolbar{border-bottom:1px solid var(--divider);flex-wrap:wrap;flex:none;align-items:center;gap:4px;padding:8px 12px;display:flex}.toolbar.sub{color:var(--text-2);justify-content:space-between;font-size:11px}.list{flex:1 0 auto;padding:4px 6px 8px}.empty,.note{color:var(--text-2);padding:12px}.muted{color:var(--text-2);font-size:11px}.search,.num,.select,.inline-edit,.info-text,.text-content{background:var(--fill);height:24px;color:var(--text);border:1px solid #0000;border-radius:6px;outline:none;padding:0 7px;font-size:11px}.search::placeholder,.text-content::placeholder{color:var(--text-3)}.search:hover,.num:hover:not(:disabled),.select:hover:not(:disabled),.info-text:hover,.text-content:hover{background:var(--fill-hover)}.search:focus,.num:focus,.select:focus,.inline-edit,.info-text:focus,.text-content:focus{border-color:var(--accent);background:var(--fill)}.search{flex:1;min-width:90px}.num{font-variant-numeric:tabular-nums;width:84px}.num:disabled,.select:disabled{opacity:.45}.scale-field{align-items:center;gap:4px;display:inline-flex}.select{width:100%;padding:0 4px}.inline-edit{width:100%;min-width:0}.row{min-height:var(--row-h);color:var(--text-soft);cursor:default;border-radius:6px;align-items:center;gap:7px;padding:2px 6px 2px 10px;display:flex}.row:hover{background:var(--fill);color:var(--text)}.row.active{background:var(--select);color:var(--text)}.row.selected{box-shadow:inset 2px 0 0 var(--accent)}.row.dragging{opacity:.45}.row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.names{flex:1;min-width:0}.name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sub{text-overflow:ellipsis;white-space:nowrap;color:var(--text-3);font-size:11px;overflow:hidden}.grip{width:8px;color:var(--text-3);letter-spacing:-1px;cursor:grab;flex:none;font-size:9px;line-height:1}.icon-btn{width:22px;height:22px;color:var(--text-2);background:0 0;border:none;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--fill-hover);color:var(--text)}.icon-btn.vis-hidden{color:var(--text-3)}.badge{background:var(--fill);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;padding:1px 5px;font-size:10px}.badge.sheet{color:var(--accent)}.count{text-align:right;min-width:22px;color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.list-head{color:var(--text);align-items:baseline;gap:6px;padding:10px 10px 4px;font-size:11px;font-weight:500;display:flex}.list-head.active{color:var(--accent)}.list-head .name{flex:none}.list-head .sub{min-width:0;font-weight:400}.viewport-row .names{padding-left:6px}.story-row .name{color:var(--text);font-weight:500}.row.story-layer{padding-left:22px}.class-row input[type=radio]{accent-color:var(--accent);flex:none;margin:0}.info{padding-bottom:12px}.info-head{border-bottom:1px solid var(--divider);flex-direction:column;gap:2px;padding:12px;display:flex}.info-head strong{font-size:12px;font-weight:600}.info-section{border-bottom:1px solid var(--divider);padding:12px}.info-section h3{color:var(--text);margin:0 0 10px;font-size:11px;font-weight:500}.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;margin-bottom:8px;display:flex}.field:last-child{margin-bottom:0}.info-section>.field{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:4px;display:grid}.field-label{color:var(--text-2);font-size:11px}.class-style{flex-wrap:wrap;gap:4px 12px;display:flex}.class-style-item{align-items:center;gap:4px;font-size:11px;display:inline-flex}.field>.select,.field>.num,.field>.text-content{width:100%}.value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.row-end{justify-content:flex-end;margin-top:8px;display:flex}.vertex-nav{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.vertex-step{min-width:26px;padding:0 6px}.vertex-actions{justify-content:space-between;align-items:center;gap:6px;margin-top:8px;display:flex}.vertex-buttons{gap:4px;display:inline-flex}.text-content{resize:vertical;width:100%;height:auto;min-height:56px;padding:5px 7px}.color-row{align-items:center;gap:6px;display:flex}.color-row .num{width:84px}.swatch{background:var(--fill);width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--ring);border-radius:6px;flex:none}.pal .btn{height:24px;padding:0 8px;font-size:11px}.pal .muted{font-size:11px}.seg{gap:2px;display:inline-flex}.seg-btn{height:28px;color:var(--text-soft);cursor:default;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:0 9px;font-size:11px;font-weight:500;display:inline-flex}.seg-btn svg{width:14px;height:14px}.seg-btn:hover:not(:disabled){color:var(--text)}.seg-btn:disabled{opacity:.35}.seg-btn.active{background:var(--fill-strong);color:var(--text)}.pill .seg-btn{height:26px;padding:0 8px}.bar-select{max-width:170px;height:26px;color:var(--text);background:0 0;border:none;border-radius:6px;padding:0 4px;font-size:11px;font-weight:500}.bar-select:hover:not(:disabled){background:var(--fill-hover)}.bar-select:disabled{opacity:.45}.zoom-field{background:var(--fill);width:52px;height:24px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;outline:none;padding:0 6px;font-size:11px}.zoom-field:focus{border-color:var(--accent)}.zoom-field:disabled{opacity:.45}.toasts{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--chrome-border);background:var(--chrome);max-width:80vw;color:var(--text);box-shadow:var(--shadow);border-radius:8px;padding:8px 12px;transition:opacity .4s}.toast.error{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.toast.out{opacity:0}.drop-overlay{z-index:60;border:1px dashed var(--accent);background:color-mix(in srgb, var(--chrome) 70%, transparent);color:var(--text);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;place-items:center;font-size:14px;font-weight:500;display:none;position:fixed;inset:8px}.drop-overlay.on{display:grid}@media (max-width:1240px){.bar-btn.bar-menu>span{display:none}.bar-select{max-width:120px}.mode-hint>:not(.mode-step){display:none}}@media (max-width:1180px){#tb-view .bar-menu{display:none}}@media (max-width:900px){.tb-left .file-info,.vb-scale,.sb-cursor{display:none}}@media (max-width:560px){.tb-left,.tb-right{width:auto}}.info-section .note,.info-fold-body .note{padding:0 0 8px}.info-fold>summary{color:var(--text);cursor:default;margin:0 0 8px;font-size:11px;font-weight:500}.info-fold-body{padding-top:2px}.info-filter{width:100%;margin-bottom:8px}.info-check{color:var(--text-2);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;display:flex}.info-check input,.info-row>input[type=checkbox]{accent-color:var(--accent);flex:none;margin:0}.info-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:6px;margin-bottom:4px;display:grid}.info-row[hidden]{display:none}.info-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:11px;overflow:hidden}.info-row>input[type=checkbox]{justify-self:start}.info-row>.num,.info-row>.select,.info-row>.info-text{width:100%;min-width:0}.tool.dimmed{opacity:.4}.vl-pop{z-index:30;border:1px solid var(--chrome-border);background:var(--chrome);width:280px;max-height:min(460px,100vh - 16px);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:4px;padding:6px;display:flex;position:fixed}.vl-search{background:var(--fill);width:100%;height:26px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;outline:none;flex:none;padding:0 8px;font-size:11px}.vl-search:focus{border-color:var(--accent)}.vl-list{min-height:0;overflow-y:auto}.vl-row{height:26px;color:var(--text-soft);border-radius:6px;align-items:center;gap:1px;font-size:11px;display:flex}.vl-row:not(.vl-headrow):hover{background:var(--fill);color:var(--text)}.vl-row.active .vl-name{color:var(--text);font-weight:600}.vl-headrow{border-bottom:1px solid var(--divider);color:var(--text-3);border-radius:0;flex:none;font-size:11px}.vl-col{width:24px;height:22px;color:var(--text);background:0 0;border:none;border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.vl-col svg{width:14px;height:14px}.vl-col:hover{background:var(--fill-hover)}.vl-col:not(.on):not(.vl-head):before{content:"";background:var(--text-3);opacity:.6;border-radius:50%;width:4px;height:4px}.vl-col.on{background:var(--fill-strong)}.vl-col.vis-hidden{color:var(--text-3)}.vl-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding-left:8px;overflow:hidden}.vl-empty{color:var(--text-3);margin:8px;font-size:11px}.tool-name{display:none}:root[data-tool-display=small] .pal-tools{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));gap:1px;padding:4px}:root[data-tool-display=small] .pal-tools .tool{height:22px}:root[data-tool-display=small] .pal-tools .tool-icon svg{width:14px;height:14px}:root[data-tool-display=small] .pal-tools .tool-key{display:none}:root[data-tool-display=named] .pal-tools{grid-template-columns:minmax(0,1fr)}:root[data-tool-display=named] .pal-tools .tool{align-items:center;gap:8px;height:26px;padding:0 8px;display:flex}:root[data-tool-display=named] .pal-tools .tool-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;display:block;overflow:hidden}:root[data-tool-display=named] .pal-tools .tool-key{font-size:9px;position:static}.menu-dialog.ts-dialog{width:min(460px,100%)}.ts-list{flex-direction:column;gap:10px;max-height:min(58vh,460px);padding-right:4px;display:flex;overflow-y:auto}.ts-set{background:var(--fill-hover);border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex}.ts-head,.ts-tool{align-items:center;gap:4px;display:flex}.ts-head{margin-bottom:4px}.ts-dialog .ts-name{text-align:left;flex:auto;min-width:0}.ts-fold{place-items:center;padding:0;display:grid}.ts-fold svg{width:14px;height:14px;transition:transform .12s;transform:rotate(-90deg)}.ts-fold[aria-expanded=true] svg{transform:none}.ts-tool{padding-left:2px}.ts-icon{color:var(--text-soft);place-items:center;display:grid}.ts-icon svg{width:16px;height:16px}.ts-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ts-origin,.ts-count{color:var(--text-soft);font-size:11px}.ts-count{text-align:right;flex:none;min-width:18px}.ts-btn{flex:none;min-width:26px}.ts-add{margin-top:4px}.ts-actions{gap:6px;margin-top:10px;display:flex}.menu-dialog.ws-dialog{width:min(760px,100%)}.ws-top{margin-bottom:8px}.ws-picker{border:1px solid var(--border);background:var(--surface);width:min(280px,100%);height:24px;color:var(--text);font:inherit;border-radius:4px;padding:0 6px}.ws-name{color:var(--text-2);margin:-6px 0 8px}.ws-bar{align-items:center;gap:6px;margin-bottom:6px;display:flex}.ws-ref{background:var(--fill);min-width:44px;height:26px;color:var(--text-2);font-family:var(--mono);text-align:center;border-radius:6px;flex:none;padding:0 7px;font-size:11px;line-height:26px}.ws-entry{background:var(--fill);min-width:0;height:26px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;flex:auto;padding:0 7px}.ws-entry:focus,.ws-picker:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.ws-entry:read-only{color:var(--text-2)}.ws-scroll{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;max-height:min(420px,55vh);overflow:auto}.ws-grid{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;font-size:11px}.ws-grid th,.ws-grid td{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);white-space:nowrap;height:22px;padding:0 6px}.ws-grid td{text-overflow:ellipsis;cursor:cell;min-width:72px;max-width:220px;overflow:hidden}.ws-grid td.num{text-align:right}.ws-grid td.formula{color:var(--text-2);font-style:italic}.ws-grid td.edited{color:var(--accent)}.ws-grid td.on{box-shadow:inset 0 0 0 2px var(--accent)}.ws-grid thead th{z-index:1;background:var(--surface);color:var(--text-2);font-weight:500;position:sticky;top:0}.ws-grid tbody th{background:var(--surface);color:var(--text-2);text-align:right;font-weight:500;position:sticky;left:0}.ws-grid .ws-corner{z-index:2;min-width:32px;left:0}.ws-grid tr.db td{background:var(--fill);color:var(--text-2)}.ws-hint{min-height:1.4em;margin:6px 0 0}.ws-hint.error{color:var(--danger)}.ws-empty{margin:0;padding:16px}.menu-dialog.rf-dialog{width:min(560px,100%)}.menu-dialog-input.rf-name{text-align:left;width:260px}.rf-head,.rf-row{grid-template-columns:minmax(0,1.4fr) 104px minmax(0,1fr) 22px 22px 22px;align-items:center;gap:4px;display:grid}.rf-head{color:var(--text-2);margin:6px 0 4px;font-size:11px}.rf-head span:last-child{grid-column:3/7}.rf-list{flex-direction:column;gap:4px;max-height:min(320px,45vh);margin-bottom:8px;display:flex;overflow-y:auto}.rf-field,.rf-value,.rf-kind{background:var(--fill);width:100%;min-width:0;height:24px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;padding:0 6px}.rf-kind:disabled{color:var(--text-2)}.rf-field:focus,.rf-value:focus,.rf-kind:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.rf-default{align-items:center;min-width:0;display:flex}.rf-check{margin:0 4px}.rf-btn{width:22px;height:22px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:0}.rf-btn:hover:not(:disabled){background:var(--fill-hover);color:var(--text)}.rf-btn:disabled{opacity:.35;cursor:default}.rf-add{margin-bottom:8px}@media (max-width:520px){.rf-head,.rf-row{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr) 22px 22px 22px}}.cp-button{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:default;border-radius:4px;align-items:center;gap:6px;width:100%;min-width:0;height:24px;padding:0 6px 0 4px;display:flex}.cp-button:hover{background:var(--surface-hover)}.cp-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:3px;flex:none;width:16px;height:16px}.cp-chip.mixed{background:repeating-linear-gradient(45deg, var(--surface-2) 0 4px, var(--border) 4px 5px)}.cp-chip.unset{background:0 0;border-style:dashed}.cp-text{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.cp-pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:248px;max-height:min(440px,100vh - 16px);box-shadow:var(--shadow);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex;position:fixed}.cp-head{flex-direction:column;flex:none;gap:6px;display:flex}.cp-search{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);width:100%;height:26px;padding:0 8px}.cp-clear{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);height:24px}.cp-clear:hover{background:var(--surface-hover)}.cp-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;min-height:0;padding:4px;display:grid;overflow-y:auto}.cp-cell{aspect-ratio:1;cursor:default;border:1px solid #0003;border-radius:3px;min-width:0;padding:0}.cp-cell.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent)}.cp-cell:focus-visible,.cp-clear:focus-visible,.cp-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cp-empty{color:var(--text-2);margin:0;padding:8px 2px}.grid>.wide{grid-column:1/-1}.attr-hint{margin:0 0 8px}.attr-opacity{align-items:center;gap:8px;display:flex}.attr-range{min-width:0;accent-color:var(--accent);flex:1;margin:0}.attr-opacity .attr-num{flex:none;width:104px}.menu-dialog.hatch-dialog{width:min(560px,100%)}.hatch-top{gap:12px;margin-bottom:10px;display:flex}.hatch-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);flex:none;width:168px;height:168px}.hatch-settings{flex-direction:column;flex:auto;min-width:0;display:flex}.menu-dialog-input.hatch-name{text-align:left;width:100%;max-width:220px}.hatch-check{color:var(--text-soft);align-items:center;gap:6px;margin-bottom:8px;display:flex}.hatch-list-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.hatch-list-head .muted{flex:auto}.hatch-levels{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:auto;min-height:52px;max-height:120px;display:flex;overflow-y:auto}.hatch-level{height:22px;color:var(--text-soft);font:inherit;font-variant-numeric:tabular-nums;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:none;padding:0 8px;overflow:hidden}.hatch-level:hover{background:var(--fill-hover)}.hatch-level.sel{background:var(--surface-active);color:var(--text)}.hatch-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px;margin-bottom:8px;display:grid}.hatch-field{grid-template-columns:minmax(0,1fr) 72px 30px;align-items:center;gap:6px;min-width:0;display:grid}.hatch-field>.muted:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hatch-field .menu-dialog-input{width:100%}.hatch-field.hatch-colour{display:flex}.hatch-field .menu-dialog-input.bad{border-color:var(--danger)}@media (max-width:560px){.hatch-top{flex-direction:column}.hatch-preview{align-self:center}.hatch-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.menu-dialog.re-dialog{width:min(460px,100%)}.menu-dialog-input.re-name{text-align:left;width:220px}.re-bar{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:40px;margin:2px 0 10px;display:block}.re-bar.re-line{height:28px;color:var(--text)}.re-bar.ts-sample{height:40px}.re-list{flex-direction:column;gap:4px;max-height:min(280px,40vh);margin-bottom:8px;display:flex;overflow-y:auto}.grad-row,.lt-row{align-items:center;gap:6px;display:grid}.grad-row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) minmax(0,1fr) 22px}.lt-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px}.re-head{color:var(--text-2);font-size:11px}.re-input{background:var(--fill);width:100%;min-width:0;height:24px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right;border:1px solid #0000;border-radius:6px;padding:0 6px}.re-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.re-input.bad{border-color:var(--danger)}.re-colour{border:1px solid var(--border);background:var(--fill);cursor:pointer;border-radius:6px;width:44px;height:24px;padding:0 2px}.re-btn{width:22px;height:22px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:0}.re-btn:hover:not(:disabled){background:var(--fill-hover);color:var(--text)}.re-btn:disabled{opacity:.35;cursor:default}.re-add{margin-bottom:8px}.menu-dialog.br-dialog{width:min(640px,100vw - 32px)}.br-scope,.br-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-bottom:8px;display:grid}.br-scope[hidden],.br-field[hidden]{display:none}.br-field{align-items:center;gap:8px;min-width:0;display:flex}.br-label{color:var(--text-2);flex:0 0 84px;font-size:12px}.menu-dialog-input.br-input{text-align:left;flex:auto;width:auto;min-width:0}.menu-dialog-input.br-num{text-align:right}.br-check{font-size:12px}.org-table.br-table{height:min(280px,100vh - 380px);min-height:120px}.br-table .org-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr)}.br-table.ri-table .org-row{grid-template-columns:22px minmax(0,1.3fr) 88px minmax(0,1fr)}.br-new{color:var(--text-2)}.br-new.changed{color:var(--accent)}.br-new.bad{color:var(--danger)}.menu-dialog .muted.br-note{max-width:none;font-size:11px}.br-note.br-bad{color:var(--danger)}@media (max-width:560px){.br-scope,.br-rules{grid-template-columns:minmax(0,1fr)}}.loading{z-index:3;background:#fcfcfbb8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.stage.no-doc .loading,.dark-canvas .loading{background:color-mix(in srgb, var(--viewport) 72%, transparent)}.loading-card{background:var(--surface);border:1px solid var(--border);width:min(280px,100%);box-shadow:var(--shadow);border-radius:10px;gap:10px;padding:14px 16px;display:grid}.loading-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.loading-bar{background:var(--surface-2);border-radius:2px;height:4px;position:relative;overflow:hidden}.loading-bar-fill{background:var(--accent);border-radius:2px;width:35%;animation:1.2s ease-in-out infinite loading-slide;position:absolute;top:0;bottom:0;left:0}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media (prefers-reduced-motion:reduce){.loading-bar-fill{opacity:.35;width:100%;animation:none}}.res-kind{border:1px solid var(--border);background:var(--surface);border-radius:4px;flex:110px;min-width:0;height:24px;padding:0 4px}.res-new{flex:none;width:24px;height:24px;padding:0}.res-detail{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.res-detail-img{border:1px solid var(--border);background:#fcfcfb;border-radius:6px;flex:none;place-items:center;width:112px;max-width:100%;height:112px;display:grid;overflow:hidden}.res-detail-text{flex:100px;min-width:0}.res-detail-name{overflow-wrap:anywhere;font-weight:600}.res-meta{color:var(--text-2);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.res-folder{width:100%;min-height:var(--row-h);border:none;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-2);letter-spacing:.03em;text-align:left;cursor:default;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:flex}.res-folder:hover{background:var(--surface-hover)}.res-caret{flex:none;width:10px;font-size:10px}.res-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.res-count{font-variant-numeric:tabular-nums;flex:none;font-weight:400}.res-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px;padding:4px 6px 6px;display:grid}.res-tile{min-width:0;color:inherit;font:inherit;text-align:center;cursor:default;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:center;gap:3px;padding:3px 2px 4px;display:flex}.res-tile:hover{background:var(--surface-hover)}.res-tile[aria-pressed=true]{background:var(--surface-active);border-color:var(--accent)}.res-label{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;font-size:11px;line-height:1.25;display:block;overflow:hidden}.res-thumb{border:1px solid var(--border);background:#fcfcfb;border-radius:6px;place-items:center;width:64px;max-width:100%;height:64px;display:grid;overflow:hidden}.res-thumb canvas,.res-thumb img,.res-detail-img img{object-fit:contain;width:100%;height:100%;display:block}.res-none{text-overflow:ellipsis;white-space:nowrap;color:#6b6b73;max-width:100%;padding:0 4px;font-size:10px;overflow:hidden}.res-kind-label{display:none}:root[data-res-view=small] .res-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}:root[data-res-view=small] .res-thumb{width:44px;height:44px}:root[data-res-view=large] .res-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}:root[data-res-view=large] .res-thumb{width:96px;height:96px}:root[data-res-view=list] .res-grid{flex-direction:column;gap:1px;padding:2px 4px 4px;display:flex}:root[data-res-view=list] .res-tile{text-align:left;flex-direction:row;gap:8px;padding:2px 4px}:root[data-res-view=list] .res-thumb{border-radius:4px;flex:none;width:28px;height:28px}:root[data-res-view=list] .res-label{flex:auto;width:auto}:root[data-res-view=list] .res-kind-label{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--text-2);flex:none;font-size:10px;display:block;overflow:hidden}:root[data-res-view=list] .res-none{font-size:8px}.symbol-bar{z-index:3;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:calc(100% - 16px);color:var(--text);box-shadow:var(--shadow);font:12px/1.3 var(--font);align-items:center;gap:8px;padding:4px 4px 4px 10px;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}.symbol-bar[hidden]{display:none}.symbol-bar-label{color:var(--text-2);white-space:nowrap}.symbol-bar-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.symbol-bar .btn{flex:none}.dock{z-index:5;background:var(--chrome);flex-direction:column;min-height:0;display:flex;position:absolute;top:0;bottom:0}.dock-left{border-right:1px solid var(--chrome-border);left:0}.dock-right{border-left:1px solid var(--chrome-border);right:0}.dock-edge{cursor:ew-resize;z-index:2;width:7px;position:absolute;top:0;bottom:0}.dock-left .dock-edge{right:-4px}.dock-right .dock-edge{left:-4px}.dock-edge:hover,.dock-edge:active{background:linear-gradient(to right, transparent 3px, var(--accent) 3px 4px, transparent 4px)}.dock-float{z-index:6;pointer-events:none;position:absolute;inset:0}.dock-float>.pal{pointer-events:auto;position:absolute}.dock-drop{z-index:8;background:var(--accent);pointer-events:none;border-radius:1px;height:2px;position:absolute}.pal{background:var(--chrome);flex-direction:column;flex:0 auto;min-height:0;font-size:11px;display:flex;overflow:hidden}.dock>.pal+.pal{border-top:1px solid var(--chrome-border)}.pal:not(.collapsed){min-height:64px}.pal.fill:not(.collapsed){min-height:80px}.pal.floating{border:1px solid var(--chrome-border);border-radius:var(--glass-radius);box-shadow:var(--shadow)}.pal.dragging{opacity:.9;cursor:grabbing}.pal-head{cursor:grab;-webkit-user-select:none;user-select:none;height:36px;color:var(--text);flex:none;align-items:center;gap:2px;padding:0 6px 0 12px;display:flex}.pal-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;font-weight:500;overflow:hidden}.pal-btn{width:22px;height:22px;color:var(--text-3);cursor:default;background:0 0;border:none;border-radius:5px;flex:none;place-items:center;padding:0;display:grid}.pal-btn svg{width:12px;height:12px}.pal-btn:hover{background:var(--fill-hover);color:var(--text)}.pal-collapse{order:1}.pal-close{order:2}.pal-collapse svg{transition:transform .12s}.pal.collapsed .pal-collapse svg{transform:rotate(-90deg)}.pal-head .pal-btn{opacity:0}.pal-head:hover .pal-btn,.pal.collapsed .pal-collapse,.pal-btn:focus-visible{opacity:1}.pal.tabbed .pal-head{padding-left:8px}.pal.tabbed .pal-title{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.pal-htab{text-overflow:ellipsis;white-space:nowrap;min-width:18px;height:24px;color:var(--text-soft);font:inherit;cursor:grab;background:0 0;border:none;border-radius:6px;flex:0 auto;padding:0 8px;font-size:11px;font-weight:500;overflow:hidden}.pal-htab:hover{color:var(--text)}.pal-htab.active{color:var(--text);background:var(--fill);box-shadow:inset 0 0 0 1px var(--ring);flex-shrink:0}.pal.tab-drop{box-shadow:inset 0 0 0 1px var(--accent)}.pal.tab-drop .pal-head{background:var(--select)}.pal-body{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.pal.collapsed .pal-body,.pal.collapsed .pal-grip,.pal.collapsed .pal-edge{display:none}.pal-edge{cursor:ns-resize;z-index:1;flex:none;height:7px;margin-top:-4px;margin-bottom:-3px;display:none;position:relative}.pal-edge:hover,.pal-edge:active{background:linear-gradient(to bottom, transparent 3px, var(--accent) 3px 4px, transparent 4px)}.pal.splits .pal-edge{display:block}.pal-grip{cursor:nwse-resize;background:linear-gradient(135deg, transparent 55%, var(--text-3) 55% 62%, transparent 62% 72%, var(--text-3) 72% 79%, transparent 79%);width:14px;height:14px;display:none;position:absolute;bottom:0;right:0}.pal.floating .pal-grip{display:block}.pal-tabbed{flex-direction:column;height:100%;min-height:0;display:flex}.pal-tabs{scrollbar-width:none;flex:none;gap:2px;padding:0 8px 6px;display:flex;overflow-x:auto}.pal-tab{height:24px;color:var(--text-soft);font:inherit;cursor:default;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:none;padding:0 7px;font-size:11px;font-weight:500}.pal-tab:hover{color:var(--text)}.pal-tab.active{color:var(--text);background:var(--fill);box-shadow:inset 0 0 0 1px var(--ring)}.pal-tab-bodies{flex-direction:column;flex:1;min-height:0;display:flex}.pal-tab-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.pal-body:has(>.pal-tabbed){overflow:hidden}.pal-fill{flex-direction:column;height:100%;min-height:0;display:flex}.pal-fill>.pal-tabbed{flex:1}.pal-body:has(>.pal-fill){overflow:hidden}.menu-dialog.story-levels-dialog{width:min(560px,100%)}.sl-head,.sl-row{grid-template-columns:minmax(0,1.2fr) 96px minmax(0,1fr) 22px;align-items:center;gap:4px;display:grid}.sl-head{color:var(--text-2);margin:10px 0 4px;font-size:11px}.sl-list{flex-direction:column;gap:4px;max-height:min(280px,40vh);margin-bottom:8px;display:flex;overflow-y:auto}.sl-type,.sl-elevation,.sl-layer{background:var(--fill);width:100%;min-width:0;height:24px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;padding:0 6px}.sl-elevation{text-align:right}.sl-type:focus,.sl-elevation:focus,.sl-layer:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.sl-remove{width:22px;height:22px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:0}.sl-remove:hover{background:var(--fill-hover);color:var(--text)}.sl-empty{color:var(--text-2);padding:2px 0;font-size:12px}.sl-add{margin-bottom:8px}@media (max-width:520px){.sl-head,.sl-row{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr) 22px}}.menu-panel{z-index:30;background:var(--chrome);border:1px solid var(--chrome-border);min-width:200px;box-shadow:var(--shadow);border-radius:10px;padding:4px;font-size:12px;position:fixed}.menu-panel.context-menu{min-width:200px}.menu-item{width:100%;height:28px;color:var(--text);text-align:left;white-space:nowrap;cursor:default;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:0 8px 0 4px;display:flex}.menu-item:hover:not(:disabled),.menu-item.checked{background:var(--fill-strong)}.menu-item:disabled{opacity:.4}.menu-icon{width:20px;color:var(--text-soft);flex:none;place-items:center;margin-left:2px;display:grid}.menu-icon svg{width:16px;height:16px}.menu-check{text-align:center;flex:none;width:12px;font-size:12px}.menu-label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.menu-keys{font:11px var(--font);color:var(--text-3);letter-spacing:.02em;background:0 0;border:none;flex:none;padding:0}.menu-item:hover:not(:disabled) .menu-keys{color:var(--text-2)}.menu-arrow{color:var(--text-2);flex:none;margin-left:12px}.menu-arrow svg{width:11px;height:11px;display:block}.menu-sep{background:var(--divider);height:1px;margin:4px 6px}.menu-dialog-backdrop{z-index:40;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.menu-dialog{background:var(--chrome);border:1px solid var(--chrome-border);width:min(320px,100%);box-shadow:var(--shadow);border-radius:14px;margin:0;padding:16px;font-size:12px}.menu-dialog-title{margin:0 0 14px;font-size:13px;font-weight:600}.menu-dialog-field{align-items:center;gap:8px;margin-bottom:8px;display:flex}.menu-dialog-label{flex:auto;min-width:0}.menu-dialog-input{background:var(--fill);text-align:right;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;width:96px;height:26px;padding:0 7px}.menu-dialog.cs-dialog{width:min(480px,100%)}.cs-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.cs-row .cs-field{width:104px}.cs-row .cs-op{width:72px}.cs-row .cs-value{flex:auto;width:auto;min-width:0}.cs-add{margin:2px 0 12px}.cs-dialog .cs-action{width:190px}.menu-dialog.fr-dialog{width:min(380px,100%)}.fr-dialog .fr-text{text-align:left;width:200px}.menu-dialog.tk-dialog{width:min(520px,100%)}.tk-list{grid-template-columns:1fr 1fr;gap:4px 18px;max-height:min(56vh,420px);padding-right:4px;display:grid;overflow-y:auto}.tk-row{align-items:center;gap:8px;display:flex}.tk-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.tk-dialog .tk-input{text-align:center;width:44px}.tk-actions{margin-top:10px}.menu-dialog.mk-dialog{width:min(560px,100%)}.mk-dialog .mk-filter{text-align:left;width:100%;margin-bottom:8px}.mk-list{grid-template-columns:1fr 1fr;gap:3px 18px;max-height:min(56vh,440px);padding-right:4px;display:grid;overflow-y:auto}.mk-row{align-items:center;gap:8px;display:flex}.mk-row[hidden]{display:none}.mk-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mk-menu{color:var(--text-2)}.mk-dialog .mk-input{text-align:center;caret-color:#0000;cursor:pointer;width:64px}.mk-dialog .mk-input:disabled{opacity:.5;cursor:default}.menu-dialog-select{text-align:left;width:128px}.menu-dialog-input:focus{border-color:var(--accent);outline:none}.menu-dialog-unit{min-width:28px;color:var(--text-2);flex:none;font-size:12px}.menu-dialog-text{max-width:320px;margin:0;line-height:1.4}.menu-dialog-check{align-items:center;gap:8px;margin:8px 0;display:flex}.menu-dialog .muted{max-width:320px;margin:6px 0 0;line-height:1.4}.menu-dialog-error{color:var(--danger);margin:4px 0 0;font-size:12px}.menu-dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.shortcuts-dialog{width:min(520px,100vw - 32px)}.shortcut-list{grid-template-columns:max-content 1fr;gap:5px 14px;margin:0 0 4px;font-size:12px;display:grid}.shortcut-list dt{color:var(--text-2)}.shortcut-list dd{margin:0}.shortcut-head{margin:12px 0 6px;font-size:12px;font-weight:600}.shortcut-commands{max-height:min(40vh,300px);overflow-y:auto}.shortcut-commands .shortcut-keys{font-variant-numeric:tabular-nums}.menu-dialog.org-dialog{width:min(640px,100vw - 32px)}.org-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.org-tabs .seg-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.org-search{text-align:left;flex:1;min-width:0}.org-table{border:1px solid var(--border);background:var(--surface);border-radius:6px;height:min(360px,100vh - 260px);overflow-y:auto}.org-row{grid-template-columns:22px 22px 22px minmax(0,1fr) 56px;align-items:center;gap:1px;min-height:24px;padding:0 6px;font-size:12px;display:grid}.org-table[data-tab=design] .org-row{grid-template-columns:22px 22px 22px minmax(0,1fr) 96px 84px 56px}.org-table[data-tab=design][data-stories=true] .org-row{grid-template-columns:22px 22px 22px minmax(0,1fr) 96px 84px minmax(0,.7fr) 56px}.org-table[data-tab=stories] .org-row{grid-template-columns:minmax(0,1fr) 72px 104px 56px}@media (max-width:560px){.org-table{overflow-x:auto}.org-table[data-tab=design] .org-row{grid-template-columns:22px 22px 22px minmax(120px,1fr) 72px 64px 40px;min-width:400px}.org-table[data-tab=design][data-stories=true] .org-row{grid-template-columns:22px 22px 22px minmax(120px,1fr) 72px 64px minmax(88px,.8fr) 40px;min-width:490px}.org-table[data-tab=stories] .org-row{grid-template-columns:minmax(0,1fr) 48px 72px 40px}}.org-select{text-overflow:ellipsis;padding:0 2px}.org-table[data-tab=sheet] .org-row{grid-template-columns:22px 22px 22px minmax(0,1fr) minmax(0,1fr) 56px}.org-table[data-tab=viewports] .org-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 96px 96px}.org-table[data-tab=views] .org-row{grid-template-columns:minmax(0,1fr) 64px minmax(0,1.2fr)}.org-text{text-overflow:ellipsis;white-space:nowrap;padding-left:6px;overflow:hidden}.org-check{justify-content:center;display:flex}.org-row.sel{background:var(--surface-active)}.org-row.new .org-num{color:var(--accent)}.org-head{z-index:1;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:11px;position:sticky;top:0}.org-head>span{padding-left:6px}.org-input{width:100%;min-width:0;height:20px;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 6px}.org-input:hover:not(:disabled),.org-input:focus{border-color:var(--border);background:var(--bg)}.org-input:disabled{color:var(--text-2)}.org-scale-field{align-items:center;gap:2px;display:flex}.org-num{color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.org-actions{align-items:center;gap:6px;margin-top:8px;display:flex}.org-note{margin:0 0 0 auto;font-size:11px}.fm-then{margin-top:4px}.fm-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.fm-row .fm-kind{flex:none;width:120px}.fm-to{color:var(--text-2);font-size:12px}.fm-value{flex:1;min-width:0}.fm-with-unit{align-items:center;gap:6px;display:flex}.fm-number{width:90px}.menu-dialog-backdrop~.cp-pop{z-index:45}.acct-slot{flex:none;order:10;align-items:center;gap:6px;margin-left:4px;display:flex}.acct-avatar{cursor:default;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;padding:0;display:inline-grid;overflow:hidden}.acct-avatar:hover:not(:disabled){box-shadow:0 0 0 2px var(--fill-strong)}.acct-avatar-img,.acct-initials{border-radius:50%;width:100%;height:100%;display:block}.acct-avatar-img{object-fit:cover}.acct-initials{color:#fff;letter-spacing:.02em;place-items:center;font-size:11px;font-weight:600;display:grid}.menu-dialog.account-dialog{width:min(400px,100%)}.menu-dialog.admin-dialog{width:min(480px,100%)}.menu-dialog.supporter-dialog{width:min(420px,100%)}.acct-subtitle{color:var(--text-2);margin:-6px 0 10px;font-size:12px}.acct-lead{color:var(--text-soft);margin:0 0 12px;line-height:1.45}.acct-headline{margin:0 0 4px;font-size:13px;font-weight:600}.acct-status{margin:0 0 8px;font-size:13px;font-weight:600;line-height:1.4}.acct-note{color:var(--text-2);margin:0 0 12px;font-size:11px;line-height:1.45}.acct-section{color:var(--text-2);letter-spacing:.02em;margin:14px 0 6px;font-size:11px;font-weight:600}.acct-field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.acct-field-label{color:var(--text-2);font-size:11px}.acct-input{box-sizing:border-box;background:var(--fill);width:100%;height:30px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;padding:0 8px;font-size:12px}.acct-input:focus{border-color:var(--accent);outline:none}.acct-input:disabled{opacity:.45}.acct-textarea{resize:vertical;height:auto;min-height:56px;padding:6px 8px;line-height:1.4}.acct-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.acct-row>.acct-field{flex:1 1 0;min-width:0}.acct-row>.acct-input{flex:auto;min-width:0}.acct-wide{width:100%}.acct-form{margin:0}.acct-providers{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.acct-provider{width:100%;height:32px}.acct-divider{color:var(--text-3);align-items:center;gap:8px;margin:12px 0;font-size:11px;display:flex}.acct-divider:before,.acct-divider:after{content:"";background:var(--divider);flex:auto;height:1px}.acct-info{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:10px 12px;margin:0 0 6px;font-size:12px;display:grid}.acct-info dt{color:var(--text-2)}.acct-info dd{overflow-wrap:anywhere;min-width:0;margin:0}.acct-badge{background:var(--select);height:18px;color:var(--text);border-radius:999px;align-items:center;padding:0 7px;font-size:10px;font-weight:600;display:inline-flex}.acct-storage{min-width:0}.acct-bar{background:var(--fill-strong);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.acct-bar-fill{border-radius:inherit;background:var(--accent);height:100%}.acct-danger-zone{border-top:1px solid var(--divider);margin-top:14px;padding-top:12px}.acct-danger-zone .acct-note{margin-bottom:8px}.acct-perks{color:var(--text-soft);margin:0 0 14px;padding:0 0 0 16px;font-size:12px;line-height:1.6}.acct-buttons{gap:8px;margin-bottom:10px;display:flex}.acct-buttons .btn{flex:1 1 0;height:34px;font-size:12px}.acct-links{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.acct-links .btn{align-items:center;text-decoration:none;display:inline-flex}.support-nudge{z-index:20;box-sizing:border-box;border:1px solid var(--chrome-border);background:var(--chrome);width:min(300px,100vw - 32px);color:var(--text);box-shadow:var(--shadow);border-radius:10px;padding:12px 14px;font-size:12px;position:fixed;bottom:64px;left:16px}.support-nudge p{margin:0 0 10px;line-height:1.45}.support-nudge-actions{justify-content:flex-end;gap:6px;display:flex}.sponsor-card{box-sizing:border-box;border:1px solid var(--chrome-border);background:var(--surface-2);width:100%;color:var(--text);text-align:left;border-radius:10px;margin-top:18px;padding:10px 12px}.sponsor-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sponsor-label{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500}.sponsor-close{width:20px;height:20px;color:var(--text-3);cursor:default;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;font-size:15px;line-height:1;display:grid}.sponsor-close:hover{background:var(--fill-hover);color:var(--text)}.sponsor-img{object-fit:contain;object-position:left center;max-width:100%;max-height:28px;margin-top:6px;display:block}.sponsor-name{margin:6px 0 0;font-size:12px;font-weight:600}.sponsor-text{color:var(--text-2);margin:2px 0 0;font-size:11px;line-height:1.45}.sponsor-cta{align-items:center;margin-top:8px;text-decoration:none;display:inline-flex}.menu-dialog.png-dialog{width:min(340px,100%)}.png-select{border:1px solid var(--border);background:var(--surface);width:150px;height:24px;color:var(--text);font:inherit;border-radius:4px;flex:none;padding:0 6px}.png-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.png-hint{color:var(--text-2);margin:0 0 6px;font-size:12px}.png-hint:last-child{margin-bottom:0}.menu-dialog.cloud-modal{flex-direction:column;max-height:calc(100vh - 32px);display:flex}.menu-dialog.cloud-dialog{width:min(760px,100%)}.menu-dialog.share-dialog{width:min(560px,100%)}.cloud-modal-body{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.cloud-wide-input{text-align:left;width:220px}.cloud-note{color:var(--text-2);margin:0}.cloud-note:empty{display:none}.cloud-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cloud-tabs{background:var(--fill);border-radius:8px;flex:none;padding:2px}.cloud-tabs .seg-btn.active{background:var(--btn);color:var(--text)}.cloud-search,.share-input{border:1px solid var(--border);background:var(--surface);min-width:0;height:28px;color:var(--text);font:inherit;border-radius:6px;padding:0 9px}.cloud-search{flex:180px}.cloud-search:focus,.share-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.cloud-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.cloud-card{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.cloud-thumb,.cloud-thumb-empty{aspect-ratio:3/2;object-fit:contain;background:var(--paper);width:100%;display:block}.cloud-thumb-empty{background:var(--fill);color:var(--text-3);place-items:center;display:grid}.cloud-thumb-empty svg{width:40%;height:40%}.cloud-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;padding:8px 10px 4px;display:flex}.cloud-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cloud-meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cloud-actions{flex-wrap:wrap;gap:6px;padding:6px 10px 10px;display:flex}.btn.small.danger:hover:not(:disabled){background:var(--fill-strong)}.cloud-usage-inner{flex-direction:column;gap:6px;display:flex}.cloud-usage-text{color:var(--text-2);font-size:11px}.cloud-bar{background:var(--fill-strong);border-radius:2px;height:4px;overflow:hidden}.cloud-bar-fill{border-radius:inherit;background:var(--accent);height:100%}.share-section{border-top:1px solid var(--divider);flex-direction:column;gap:8px;padding-top:12px;display:flex}.share-section:first-child{border-top:none;padding-top:0}.share-heading{margin:0;font-size:12px;font-weight:600}.share-people{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.share-person{align-items:center;gap:8px;min-width:0;display:flex}.share-initial{background:var(--select);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:11px;font-weight:600;display:grid}.share-who{flex-direction:column;flex:1;min-width:0;display:flex}.share-name,.share-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-email{color:var(--text-2);font-size:11px}.share-role{color:var(--text-2)}.share-role-select{text-align:left;width:110px}.share-invite-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.share-invite-row .share-input{flex:160px}.share-invite-row .menu-dialog-select{width:110px}.share-invite-result,.share-links{flex-direction:column;gap:8px;display:flex}.share-invite-result:empty{display:none}.share-hint{color:var(--text-2);margin:0;font-size:11px}.share-copy-row{align-items:center;gap:6px;display:flex}.share-code{font-family:var(--mono);flex:auto;font-size:11px}.share-link{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.share-link-head,.share-create{justify-content:space-between;align-items:center;gap:8px;display:flex}.cloud-history{flex-direction:column;gap:8px;padding:8px;font-size:12px;display:flex}.cloud-history .cloud-note{padding:4px}.ver-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ver-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:default;background:0 0;border:none;border-radius:6px;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 8px;display:grid}.ver-row:hover{background:var(--fill-hover)}.ver-when{grid-area:1/1;font-weight:500}.ver-tag{background:var(--select);color:var(--text-soft);border-radius:4px;grid-area:1/2;justify-self:end;padding:0 6px;font-size:10px}.ver-who,.ver-label{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:11px;overflow:hidden}.ver-label{color:var(--text-soft);font-style:italic}.welcome:has(>.cloud-welcome){align-content:center;row-gap:16px}.cloud-welcome{border:1px solid var(--chrome-border);background:var(--chrome);width:min(360px,100%);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:16px 20px;display:flex}.cloud-welcome[hidden]{display:none}.cloud-welcome-title{color:var(--text-2);margin:0;font-size:11px}.cloud-recent{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.cloud-recent[hidden]{display:none}.cloud-recent-item{width:100%;min-width:0;color:var(--text);font:inherit;text-align:left;cursor:default;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:4px;padding:4px;display:flex}.cloud-recent-item:hover{background:var(--fill-hover)}.cloud-recent-thumb{aspect-ratio:3/2;object-fit:contain;background:var(--paper);border-radius:4px;width:100%;display:block}.cloud-recent-name,.cloud-recent-time{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cloud-recent-name{font-size:11px;font-weight:500}.cloud-recent-time{color:var(--text-2);font-size:10px}.share-banner{border-bottom:1px solid var(--chrome-border);background:var(--chrome);height:28px;color:var(--text-soft);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}body.embed .tb-left,body.embed #tb-tools,body.embed .tb-center>.tb-group:not(#tb-view),body.embed .tb-right>.spacer,body.embed #btn-export,body.embed #btn-save,body.embed .hud,body.embed .dock,body.embed .menu-panel{display:none!important}.embed-link{z-index:5;border:1px solid var(--pill-border);background:var(--pill);color:var(--text-soft);border-radius:6px;padding:4px 9px;font-size:11px;text-decoration:none;position:fixed;bottom:10px;right:10px}.collab-bar{align-items:center;gap:8px;min-width:0;display:flex}.collab-bar[hidden]{display:none}.collab-avatars{align-items:center;padding-left:6px;display:flex}.collab-avatar{--peer:var(--text-3);box-sizing:border-box;border:2px solid var(--peer);background:var(--chrome);width:26px;height:26px;color:var(--text);font:600 10px/1 var(--font);cursor:pointer;border-radius:50%;flex:none;margin:0;padding:0;position:relative;overflow:hidden}.collab-avatars>.collab-avatar+.collab-avatar,.collab-avatars>.collab-more{margin-left:-7px}button.collab-avatar:hover{filter:brightness(1.08)}.collab-avatar.self,span.collab-avatar{cursor:default}.collab-avatar.following{box-shadow:0 0 0 2px var(--chrome), 0 0 0 4px var(--peer)}.collab-avatar.collab-more{border-color:var(--border);width:auto;min-width:26px;color:var(--text-soft);place-items:center;padding:0 6px;display:grid}.collab-avatar img{object-fit:cover;width:100%;height:100%;display:block}.collab-initials{background:var(--peer);color:#fff;place-items:center;width:100%;height:100%;display:grid}.collab-dot{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px;margin:0 2px 0 4px}.collab-dot.live{background:#30a46c}.collab-dot.connecting{background:var(--warn)}.collab-dot.offline{background:var(--text-3)}.collab-follow{z-index:6;box-sizing:border-box;border:1px solid var(--pill-border);background:var(--pill);max-width:calc(100% - 40px);box-shadow:var(--shadow);color:var(--text);font:500 12px/1.2 var(--font);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 9px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%)}.collab-follow[hidden]{display:none}.collab-follow:before{content:"";background:var(--peer,var(--accent));border-radius:50%;flex:none;width:8px;height:8px}.collab-follow-text{text-overflow:ellipsis;overflow:hidden}.collab-palette{flex-direction:column;gap:2px;display:flex}.collab-row{grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 2px;display:grid}.collab-row .collab-avatar{margin:0}.collab-who{flex-direction:column;min-width:0;display:flex}.collab-name,.collab-where{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collab-name{color:var(--text);font-size:12px;font-weight:500}.collab-where{color:var(--text-2);font-size:11px}.collab-empty{color:var(--text-2);margin:6px 2px;font-size:12px}.crit-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crit-capture{z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.crit-capture[data-tool=pin],.crit-capture[data-tool=redline]{cursor:crosshair}.crit-bar{z-index:5;border:1px solid var(--pill-border);background:var(--pill);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);max-width:calc(100% - 40px);color:var(--text-soft);font:11px/1 var(--font);border-radius:12px;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;top:52px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}.crit-bar[hidden]{display:none}.crit-tool,.crit-text-btn{height:28px;color:var(--text-soft);font:inherit;white-space:nowrap;cursor:default;background:0 0;border:none;border-radius:7px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.crit-tool svg{width:14px;height:14px}.crit-tool:hover:not(:disabled),.crit-text-btn:hover:not(:disabled){background:var(--fill-hover);color:var(--text)}.crit-tool.active{background:var(--fill-strong);color:var(--text)}.crit-tool:disabled{opacity:.4;cursor:default}.crit-text-btn.primary{background:var(--btn-strong);color:var(--text)}.crit-sep{background:var(--chrome-border);flex:none;width:1px;height:16px;margin:0 3px}.crit-swatches{align-items:center;gap:4px;padding:0 3px;display:inline-flex}.crit-swatch{border:1.5px solid var(--chrome-border);cursor:default;border-radius:50%;width:14px;height:14px;padding:0}.crit-swatch.active{box-shadow:0 0 0 2px var(--pill), 0 0 0 3.5px var(--text-soft)}.crit-draft{color:var(--text-2);font-variant-numeric:tabular-nums;padding:0 2px}.crit-tool-close{width:24px;height:24px;color:var(--text-2);cursor:default;background:0 0;border:none;border-radius:6px;place-items:center;display:inline-grid}.crit-tool-close:hover{background:var(--fill-hover);color:var(--text)}.crit-tool-close svg{width:12px;height:12px}.crit-top{position:relative}.crit-top.active{background:var(--fill-strong);color:var(--text)}.crit-count{background:var(--accent);min-width:14px;height:14px;color:var(--accent-text);font:600 9px/14px var(--font);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:7px;padding:0 3px;position:absolute;top:1px;right:-2px}.crit-count[hidden]{display:none}.crit-pop{z-index:6;box-sizing:border-box;border:1px solid var(--chrome-border);background:var(--chrome);width:300px;max-width:calc(100% - 16px);max-height:min(70vh,520px);color:var(--text);box-shadow:var(--shadow);font:12px/1.35 var(--font);border-radius:10px;padding:10px;position:absolute;top:0;left:0;overflow:auto}.crit-pop[hidden]{display:none}.crit-pop.redline,.crit-pop.pin{width:280px}.crit-thread,.crit-compose{flex-direction:column;gap:8px;min-width:0;display:flex}.crit-head-row{align-items:center;gap:8px;display:flex}.crit-head-text{flex-direction:column;flex:1;min-width:0;display:flex}.crit-head-text strong{font-weight:600}.crit-num{color:#fff;width:20px;height:20px;font:600 11px/1 var(--font);font-variant-numeric:tabular-nums;background:#2f6fdb;border-radius:50%;flex:none;place-items:center;display:inline-grid}.crit-num.resolved{background:#8d8d93}.crit-meta{color:var(--text-2);font-size:11px}.crit-icon-btn{width:24px;height:24px;color:var(--text-soft);cursor:default;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid}.crit-icon-btn:hover{background:var(--fill-hover);color:var(--text)}.crit-icon-btn.danger:hover{color:var(--danger)}.crit-icon-btn svg{width:14px;height:14px}.crit-thread-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow:auto}.crit-msg{background:var(--fill);border-radius:8px;padding:7px 8px}.crit-msg.root{background:var(--fill-hover)}.crit-msg-meta{color:var(--text-2);align-items:baseline;gap:6px;font-size:11px;display:flex}.crit-msg-meta strong{color:var(--text);font-weight:600}.crit-msg-meta .crit-link{margin-left:auto}.crit-msg-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.crit-audio{align-items:center;gap:6px;margin-top:6px;display:flex}.crit-audio audio{flex:1;min-width:0;height:30px}.crit-link{color:var(--accent);font:inherit;cursor:default;background:0 0;border:none;padding:0;font-size:11px}.crit-link.danger{color:var(--danger)}.crit-note{color:var(--text-2);margin:0;font-size:11px}.crit-text{box-sizing:border-box;border:1px solid var(--chrome-border);background:var(--surface);width:100%;min-height:60px;color:var(--text);font:inherit;resize:vertical;border-radius:7px;padding:6px 8px}.crit-text:focus{border-color:var(--accent);outline:none}.crit-error{color:var(--danger);margin:0;font-size:11px}.crit-error[hidden]{display:none}.crit-actions{justify-content:flex-end;gap:6px;display:flex}.crit-voice{align-items:center;gap:6px;min-height:28px;display:flex}.crit-voice audio{flex:1;min-width:0;height:30px}.crit-voice-btn{background:var(--btn);height:26px;color:var(--text-soft);font:inherit;cursor:default;border:none;border-radius:6px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.crit-voice-btn:hover{color:var(--text)}.crit-voice-btn svg{width:13px;height:13px}.crit-voice-btn.recording{color:var(--danger);background:#ff6b632e}.crit-voice-time{color:var(--text-2);font-variant-numeric:tabular-nums}.crit-palette{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px 10px 10px;display:flex}.crit-filter{flex-wrap:wrap;align-self:flex-start}.crit-filter .seg-btn{height:24px;font-size:11px}.crit-status{color:var(--text-2);margin:0;font-size:11px}.crit-status:empty{display:none}.crit-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.crit-row{cursor:default;border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;display:grid}.crit-row:hover,.crit-row:focus-visible{background:var(--fill-hover);outline:none}.crit-row.selected{background:var(--select)}.crit-row.resolved .crit-row-text{color:var(--text-2)}.crit-row-main{flex-direction:column;min-width:0;display:flex}.crit-row-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crit-row-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:11px;overflow:hidden}.crit-row-voice{color:var(--text-2);place-items:center;display:inline-grid}.crit-row-voice svg{width:13px;height:13px}.crit-foot{border-top:1px solid var(--divider);flex:none;padding-top:8px}.crit-foot-btn{background:var(--btn);width:100%;height:28px;color:var(--text-soft);font:inherit;cursor:default;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.crit-foot-btn:hover{color:var(--text)}.crit-foot-btn svg{width:14px;height:14px}.drives-welcome{border-top:1px solid var(--divider);justify-items:center;gap:8px;width:100%;margin-top:20px;padding-top:16px;display:grid}.drives-welcome[hidden],.drives-welcome [hidden]{display:none!important}.drives-welcome-label{color:var(--text-3);margin:0;font-size:11px}.drives-welcome-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.drives-welcome-actions .btn{align-items:center;gap:6px;height:30px;padding:0 12px;display:inline-flex}.drives-glyph{width:14px;height:14px;display:inline-grid}.drives-glyph svg,.drives-icon svg{width:100%;height:100%;display:block}.menu-dialog.drives-dialog{width:min(460px,100%)}.drives-bar{align-items:center;gap:8px;margin-bottom:8px;display:flex}.drives-crumbs{flex-wrap:wrap;flex:auto;align-items:center;gap:2px;min-width:0;font-size:11px;display:flex}.drives-crumb{height:22px;color:var(--text-soft);font:inherit;cursor:default;background:0 0;border:none;border-radius:4px;padding:0 4px}.drives-crumb:hover:not(:disabled){background:var(--fill-hover);color:var(--text)}.drives-crumb:disabled{color:var(--text);opacity:1;font-weight:600}.drives-sep{color:var(--text-3)}.menu-dialog-input.drives-search{text-align:left;flex:none;width:150px}.drives-list{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;height:280px;overflow-y:auto}.drives-row{width:100%;min-height:var(--row-h);color:var(--text);font:inherit;text-align:left;cursor:default;background:0 0;border:none;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 10px;display:grid}.drives-row:hover{background:var(--surface-hover)}.drives-icon{width:16px;height:16px;color:var(--text-2);display:block}.drives-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drives-meta{color:var(--text-3);white-space:nowrap;font-size:11px}.drives-status{min-height:16px;color:var(--text-2);margin:8px 0 0;font-size:11px}.drives-target{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:11px;overflow:hidden}.menu-dialog.drives-dialog .menu-dialog-field{margin:10px 0 0}.menu-dialog-input.drives-name{text-align:left;width:100%}.menu-dialog.xr-dialog{flex-direction:column;width:min(800px,100%);height:min(580px,100vh - 32px);padding:14px 16px 12px;display:flex;overflow:hidden}.xr-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.xr-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:600;overflow:hidden}.xr-summary{color:var(--text-2);margin:0 0 10px;line-height:1.4}.xr-bar{background:var(--fill);border-radius:4px;height:18px;display:flex;overflow:hidden}.xr-seg{flex:none;min-width:0;height:100%}.xr-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:11px;display:flex}.xr-chip{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.xr-swatch{border-radius:2px;width:9px;height:9px;display:inline-block}.xr-tabs{border-bottom:1px solid var(--divider);gap:4px;margin:12px 0 8px;display:flex}.xr-tab{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 10px}.xr-tab.on{color:var(--text);border-bottom-color:var(--accent)}.xr-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.xr-scroll{flex:auto;min-height:0;padding-right:4px;overflow-y:auto}.xr-contents{flex-direction:column;flex:auto;min-height:0;display:flex}.xr-toolbar{margin-bottom:6px}.xr-filter{text-align:left;width:240px}.xr-row{border-radius:4px;grid-template-columns:minmax(0,1fr) 132px 92px 64px;align-items:center;gap:8px;min-height:24px;padding:0 6px;display:grid}.xr-head-row{z-index:1;background:var(--chrome);min-height:22px;color:var(--text-3);font-size:11px;position:sticky;top:0}.xr-cat{font-weight:500}.xr-cat:hover,.xr-item:hover{background:var(--fill-hover)}.xr-item{color:var(--text-soft)}.xr-c-name{align-items:center;gap:4px;min-width:0;padding-left:0;display:flex;position:relative}.xr-item .xr-c-name{padding-left:22px}.xr-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xr-c-count,.xr-c-bytes,.xr-c-share{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.xr-caret{width:18px;height:20px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.xr-caret:disabled{cursor:default}.xr-meter{opacity:.85;border-radius:1px;height:2px;position:absolute;bottom:0;left:22px}.xr-empty{margin:14px 4px}.xr-findings{flex-direction:column;gap:10px;padding-bottom:4px;display:flex}.xr-finding{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}.xr-finding-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.xr-finding-title{margin:0;font-size:13px;font-weight:600}.xr-finding-bytes{font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap}.xr-finding-summary{margin:4px 0 0;line-height:1.4}.xr-rows{max-height:150px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.xr-row-item{border-bottom:1px solid var(--divider);align-items:baseline;gap:8px;padding:2px 0;display:flex}.xr-row-label{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.xr-row-detail{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.xr-row-bytes{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.xr-more{padding:3px 0}.xr-note{margin:6px 0 0;font-size:11px;line-height:1.4}.xr-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.xr-foot{border-top:1px solid var(--divider);align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.xr-spacer{flex:auto}@media (max-width:720px){.menu-dialog.xr-dialog{height:calc(100vh - 24px)}.xr-row{grid-template-columns:minmax(0,1fr) 96px 76px 56px}}.menu-dialog.vg-dialog{resize:both;flex-direction:column;gap:10px;width:min(960px,100vw - 32px);min-width:min(560px,100vw - 32px);max-width:calc(100vw - 16px);height:min(620px,100vh - 32px);min-height:min(360px,100vh - 32px);max-height:calc(100vh - 16px);padding:14px 16px 12px;display:flex;overflow:hidden}.vg-top{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.menu-dialog .vg-title{margin:0 8px 0 0;font-size:13px;font-weight:600}.menu-dialog .vg-search{text-align:left;width:200px}.menu-dialog .vg-sheet{width:200px}.vg-note{color:var(--text-3);flex:1;place-items:center;margin:0;font-size:12px;display:grid}.vg-scroll{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex:auto;min-height:0;position:relative;overflow:auto}.vg-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.vg-canvas{position:relative}.vg-head{z-index:3;background:var(--surface);border-bottom:1px solid var(--border);height:138px;display:flex;position:sticky;top:0}.vg-corner{z-index:4;box-sizing:border-box;background:var(--surface);width:200px;color:var(--text-3);flex:none;align-items:flex-end;padding:0 8px 6px;font-size:11px;display:flex;position:sticky;left:0}.vg-sheetgroup{box-sizing:border-box;flex-direction:column;flex:none;display:flex}.vg-sheetgroup.sep{box-shadow:inset 1px 0 0 var(--chrome-border)}.vg-sheethead{border:none;border-bottom:1px solid var(--divider);width:100%;height:26px;color:var(--text);text-align:left;white-space:nowrap;cursor:default;background:0 0;align-items:center;gap:6px;padding:0 6px;font-size:11px;display:flex;overflow:hidden}.vg-sheethead:hover{background:var(--fill-hover)}.vg-sheetnum{flex:none;font-weight:600}.vg-sheettitle{min-width:0;color:var(--text-2);text-overflow:ellipsis;overflow:hidden}.vg-colheads{height:112px;display:flex}.vg-colhead{box-sizing:border-box;width:26px;height:112px;color:var(--text-soft);cursor:default;background:0 0;border:none;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;padding:0 0 6px;font-size:11px;display:flex}.vg-colhead:hover,.vg-colhead.hl-col{background:var(--fill-hover);color:var(--text)}.vg-vtext{white-space:nowrap;text-overflow:ellipsis;writing-mode:vertical-rl;width:14px;height:100px;display:block;overflow:hidden;transform:rotate(180deg)}.vg-colhead.other .vg-vtext{color:var(--text-3);font-style:italic}.vg-window{width:100%;position:absolute;left:0}.vg-row{height:24px;display:flex}.vg-row:hover{background:var(--fill)}.vg-rowhead{z-index:2;box-sizing:border-box;background-color:var(--surface);width:200px;height:24px;color:var(--text-soft);text-align:left;cursor:default;border:none;flex:none;align-items:center;padding:0 8px;font-size:11px;display:flex;position:sticky;left:0}.vg-row:hover .vg-rowhead{background-image:linear-gradient(var(--fill), var(--fill));color:var(--text)}.vg-rowname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vg-cell{box-sizing:border-box;width:26px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.vg-cell svg{width:15px;height:15px}.vg-cell.v-hidden{color:var(--text-3)}.vg-cell.inherited{opacity:.45}.vg-cell.sheet-start{box-shadow:inset 1px 0 0 var(--chrome-border)}.vg-cell.hl-col{background:var(--fill-hover)}.vg-cell.pending{outline:1.5px solid var(--accent);outline-offset:-2px}.vg-cell:focus-visible,.vg-rowhead:focus-visible,.vg-colhead:focus-visible,.vg-sheethead:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.vg-dialog.readonly .vg-cell{cursor:default}.vg-foot{flex:none;align-items:center;gap:14px;display:flex}.vg-legend{color:var(--text-soft);align-items:center;gap:10px;font-size:11px;display:inline-flex}.vg-key{align-items:center;gap:4px;display:inline-flex}.vg-key svg{width:14px;height:14px}.vg-key .vis-hidden{color:var(--text-3);display:inline-flex}.vg-key>span:first-child{display:inline-flex}.vg-hint{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.vg-count{font-variant-numeric:tabular-nums;flex:none;font-size:11px}.menu-dialog .vg-foot .btn{flex:none}.sx-backdrop{z-index:42;background:#0000001f;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.sx-palette{background:var(--chrome);width:min(640px,100%);min-height:0;max-height:68vh;color:var(--text);border:1px solid var(--chrome-border);box-shadow:var(--shadow);font:12px/1.35 var(--font);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.sx-input-row{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:10px 14px;display:flex}.sx-search-icon,.sx-query-icon,.sx-icon{color:var(--text-soft);flex:none;display:inline-flex}.sx-search-icon svg,.sx-query-icon svg,.sx-icon svg{width:16px;height:16px;display:block}.sx-input{min-width:0;color:var(--text);font:14px var(--font);background:0 0;border:0;outline:0;flex:1;padding:4px 0}.sx-input::placeholder{color:var(--text-soft);opacity:.8}.sx-list{min-height:0;padding:2px 6px 6px;overflow-y:auto}.sx-group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);padding:10px 8px 4px;font-size:10.5px;font-weight:600}.sx-item{width:100%;min-height:32px;color:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:5px 8px;display:flex}.sx-item.active{background:var(--select)}.sx-item.active .sx-icon{color:var(--text)}.sx-text{flex-direction:column;flex:1;min-width:0;display:flex}.sx-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sx-label mark{color:var(--accent);background:0 0;font-weight:600}.sx-detail{text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);font-size:11px;overflow:hidden}.sx-keys{background:var(--fill-strong);color:var(--text-soft);font:11px var(--mono);border-radius:4px;flex:none;padding:1px 5px}.sx-usage-hint{color:var(--text-soft);white-space:nowrap;flex:none;font-size:10.5px}.sx-empty{text-align:center;color:var(--text-soft);padding:18px 12px}.sx-foot{border-top:1px solid var(--divider);color:var(--text-soft);flex-wrap:wrap;gap:6px 14px;padding:7px 14px;font-size:11px;display:flex}.sx-hint{align-items:center;gap:5px;display:inline-flex}.sx-hint kbd{background:var(--fill-strong);font:10.5px var(--mono);border-radius:4px;padding:0 4px}.sx-query{top:calc(var(--topbar-h) + 10px);z-index:41;background:var(--chrome);width:min(580px,100vw - 32px);color:var(--text);border:1px solid var(--chrome-border);box-shadow:var(--shadow);font:12px/1.35 var(--font);border-radius:10px;padding:8px 10px 9px;position:fixed;left:50%;transform:translate(-50%)}.sx-query-row{align-items:center;gap:6px;display:flex}.sx-query-icon{padding-left:2px}.sx-query-input{border:1px solid var(--border);background:var(--fill);min-width:0;height:28px;color:var(--text);font:12.5px var(--mono);border-radius:6px;outline:none;flex:1;padding:0 8px}.sx-query-input:focus{border-color:var(--accent)}.sx-query-btn{border:1px solid var(--border);background:var(--btn);min-width:26px;height:26px;color:var(--text);font:12px var(--font);cursor:pointer;border-radius:6px;padding:0 8px}.sx-query-btn.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.sx-query-status{min-height:16px;color:var(--text-soft);margin-top:6px;font-size:11.5px}.sx-query-status.error{color:var(--danger)}.sx-query-error{font-weight:500}.sx-caret{white-space:pre;font:11.5px/1.3 var(--mono);color:var(--text-soft);margin:4px 0 0;overflow-x:auto}.sx-help{border-top:1px solid var(--divider);margin-top:8px;padding:10px 2px 2px;font-size:11.5px}.sx-help[hidden]{display:none}.sx-help-line{white-space:nowrap;background:var(--fill);font:11px var(--mono);border-radius:6px;margin-bottom:8px;padding:6px 8px;display:block;overflow-x:auto}.sx-help-list{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px;display:grid}.sx-help-list dt{color:var(--text-soft)}.sx-help-list dd{margin:0}.sx-help-examples-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);margin:6px 0 4px;font-size:10.5px}.sx-help-example{width:100%;color:var(--text);text-align:left;font:11px var(--mono);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 6px;display:block}.sx-help-example:hover{background:var(--fill-hover)}.menu-dialog.sx-usages-dialog{width:min(540px,100%)}.sx-usages-summary{margin:0 0 8px}.sx-usages-actions{justify-content:flex-end;margin-bottom:6px;display:flex}.sx-usage-list{flex-direction:column;gap:1px;max-height:min(52vh,420px);margin:0 -4px;display:flex;overflow-y:auto}.sx-usage{width:100%;color:var(--text);font:12px var(--font);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;display:flex}.sx-usage:hover{background:var(--fill-hover)}.sx-usage-main{flex-direction:column;min-width:0;display:flex}.sx-usage-label{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.sx-usage-how{text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);font-size:11px;overflow:hidden}.sx-usage-layer{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--text-soft);flex:none;font-size:11px;overflow:hidden}.menu-dialog.pi-dialog{width:min(380px,100%)}.menu-dialog.pi-manager{width:min(680px,100%);max-height:calc(100vh - 32px);overflow:auto}.menu-dialog.pi-help-dialog{width:min(640px,100%);max-height:min(78vh,720px);overflow:auto}.menu-dialog.pi-editor{flex-direction:column;gap:10px;width:min(880px,100%);max-height:calc(100vh - 32px);display:flex;overflow:hidden}.pi-note{color:var(--text-2);margin:-4px 0 10px;font-size:11.5px;line-height:1.45}.pi-warning{color:var(--warn);margin:6px 0;line-height:1.45}.pi-alert{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 4px;line-height:1.5}.menu-dialog-input.pi-input{text-align:left;width:190px}.pi-spacer{flex:auto}.pi-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 4px}.pi-link:hover{text-decoration:underline}.pi-list{flex-direction:column;gap:6px;max-height:52vh;margin:10px 0 0;display:flex;overflow:auto}.pi-empty{margin:12px 0;font-size:12px}.pi-row{background:var(--fill);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.pi-row.off .pi-row-name{color:var(--text-soft)}.pi-switch{padding-top:2px}.pi-row-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pi-row-name{font-weight:600}.pi-row-meta,.pi-row-desc{font-size:11.5px}.pi-row-desc{margin-top:2px;line-height:1.4}.pi-row-status{color:var(--text-2);margin-top:4px;font-size:11.5px}.pi-row-status.error{color:var(--danger)}.pi-row-actions{flex-direction:column;gap:4px;min-width:78px;display:flex}.btn.pi-small{height:24px;padding:0 10px;font-size:11.5px}.pi-manager-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.pi-manager-note{margin-top:10px;font-size:11px}.pi-import-name{margin:0 0 4px;font-size:13px;font-weight:600}.pi-editor-head{align-items:baseline;gap:10px;display:flex}.pi-editor-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;overflow:hidden}.pi-status{color:var(--text-3);white-space:nowrap;font-size:11.5px}.pi-status.dirty{color:var(--warn)}.pi-elapsed{text-align:right;min-width:6em;font:12px var(--mono);font-variant-numeric:tabular-nums;color:var(--text-2)}.pi-code{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;grid-template-columns:auto minmax(0,1fr);height:min(46vh,400px);display:grid;overflow:hidden}.pi-gutter{white-space:pre;text-align:right;font:12px/18px var(--mono);color:var(--text-3);-webkit-user-select:none;user-select:none;background:var(--fill);border-right:1px solid var(--divider);padding:8px 10px 8px 8px;overflow:hidden}.pi-text{box-sizing:border-box;resize:none;width:100%;min-width:0;height:100%;color:var(--text);font:12px/18px var(--mono);tab-size:2;white-space:pre;background:0 0;border:0;outline:none;margin:0;padding:8px 10px;overflow:auto}.pi-console{border:1px solid var(--border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.pi-console-head{color:var(--text-2);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:4px 10px;font-size:11.5px;display:flex}.pi-console-lines{height:118px;font:11.5px/1.5 var(--mono);padding:6px 10px;overflow:auto}.pi-line,.pi-repl-line{white-space:pre-wrap;overflow-wrap:anywhere;align-items:baseline;gap:8px;display:flex}.pi-line-text,.pi-repl-text{min-width:0}.pi-line.pi-error,.pi-repl-line.pi-error{color:var(--danger)}.pi-line.pi-warn,.pi-repl-line.pi-warn{color:var(--warn)}.pi-line.pi-log,.pi-repl-line.pi-log{color:var(--text-soft)}.pi-line.pi-system,.pi-repl-line.pi-system{color:var(--text-3);font-family:var(--font)}.pi-repl-line.pi-in{color:var(--text)}.pi-repl-line.pi-result{color:var(--accent)}.pi-line-no{color:var(--danger);font:inherit;white-space:nowrap;background:0 0;border:0;flex:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.pi-line-no{cursor:pointer}.menu-dialog.pi-editor .menu-dialog-actions{align-items:center;margin-top:0}.pi-editor.running .pi-elapsed{color:var(--accent)}.pi-repl{z-index:35;border:1px solid var(--chrome-border);background:var(--chrome);width:min(440px,100vw - 32px);height:min(340px,50vh);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden}.pi-repl[hidden]{display:none}.pi-repl-head{border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding:8px 10px;display:flex}.pi-repl-title{font-weight:600}.pi-repl .pi-close{color:var(--text-2);font-size:16px;line-height:1}.pi-repl-output{min-height:0;font:11.5px/1.5 var(--mono);flex:auto;padding:8px 10px;overflow:auto}.pi-repl-output .pi-system{margin-bottom:4px}.pi-repl-row{border-top:1px solid var(--divider);align-items:center;gap:6px;padding:6px 10px;display:flex}.pi-repl-prompt{font:13px var(--mono);color:var(--accent)}.pi-repl-input{min-width:0;height:26px;color:var(--text);font:12px var(--mono);background:0 0;border:0;outline:none;flex:auto}.pi-help-h{margin:16px 0 4px;font-size:12.5px;font-weight:600}.pi-help-h:first-child{margin-top:0}.pi-help-p,.pi-help-list{color:var(--text-soft);margin:4px 0;line-height:1.55}.pi-help-list{padding-left:18px}.pi-help-code{background:var(--fill);font:11.5px/1.5 var(--mono);white-space:pre;border-radius:6px;margin:6px 0;padding:8px 10px;overflow:auto}.pi-progress{z-index:35;border:1px solid var(--chrome-border);background:var(--chrome);width:260px;box-shadow:var(--shadow);border-radius:10px;padding:10px 12px;font-size:12px;position:fixed;bottom:16px;left:16px}.pi-progress-track{background:var(--fill-strong);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.pi-progress-fill{background:var(--accent);width:0;height:100%;transition:width .15s}@media (max-width:600px){.pi-code{height:240px}.pi-row{grid-template-columns:auto minmax(0,1fr)}.pi-row-actions{flex-flow:wrap;grid-column:1/-1}}.sunstudy{z-index:3;box-sizing:border-box;border:1px solid var(--pill-border);background:var(--pill);width:min(800px,100% - 32px);color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000002e}.sunstudy[hidden]{display:none}.sunstudy-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.sunstudy-title{margin-right:2px;font-weight:600}.sunstudy-field,.sunstudy-north{color:var(--text-soft);align-items:center;gap:6px;display:flex}.sunstudy-field-label{white-space:nowrap}.sunstudy-range{width:170px;accent-color:var(--accent)}.sunstudy-out{min-width:96px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.sunstudy-seasons{flex-wrap:wrap;gap:4px;display:flex}.sunstudy-close{min-width:26px;margin-left:auto;padding:0 6px;font-size:14px;line-height:1}.sunstudy-status{color:var(--text-2);margin:0}.sunstudy-status[hidden]{display:none}.sunstudy-num{background:var(--fill);width:84px;height:24px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;padding:0 6px}.sunstudy-num:focus,.sunstudy-query:focus{border-color:var(--accent);outline:none}.sunstudy-dial{cursor:grab;touch-action:none;border-radius:50%;flex:none;width:44px;height:44px;position:relative}.sunstudy-dial:active{cursor:grabbing}.sunstudy-dial:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sunstudy-dial svg{width:100%;height:100%;display:block;overflow:visible}.sunstudy-dial-ring{fill:var(--surface);stroke:var(--border);stroke-width:1px}.sunstudy-needle-head{fill:var(--accent)}.sunstudy-needle-tail{fill:none;stroke:var(--text-2);stroke-width:2.5px;stroke-linecap:round}.sunstudy-place{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;font-style:italic;overflow:hidden}.sunstudy-find{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.sunstudy-find[hidden]{display:none}.sunstudy-query{background:var(--fill);width:220px;height:24px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:6px;padding:0 6px}.sunstudy-results{flex-direction:column;flex-basis:100%;align-items:flex-start;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sunstudy-result{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sunstudy-note{color:var(--text-2)}.sunstudy-hint{color:var(--text-2);margin:0 0 8px;font-size:12px;line-height:1.4}.sunstudy-time{text-align:right;width:110px}.sunstudy-progress{width:min(340px,100%)}.sunstudy-progress-label{color:var(--text-soft);margin:0 0 8px}.sunstudy-bar{width:100%;height:8px;accent-color:var(--accent);margin-bottom:14px;display:block}.menu-dialog.tl-dialog{width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto}.tl-body{grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:16px;display:grid}.tl-preview{min-width:0}.tl-stage{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;place-items:center;display:grid;overflow:hidden}.tl-canvas{object-fit:contain;width:100%;height:auto;max-height:52vh;display:block}.tl-scrub{width:100%;accent-color:var(--accent);margin:10px 0 4px}.tl-scrub:disabled{opacity:.5}.tl-readout{color:var(--text-2);font-variant-numeric:tabular-nums;margin:0 0 4px;font-size:11.5px}.tl-controls{flex-direction:column;min-width:0;display:flex}.tl-select{text-align:left;width:136px}.tl-note{min-height:1em;color:var(--warn);margin:10px 0 0;font-size:11.5px;line-height:1.4}.tl-note:empty{min-height:0}.tl-progress{margin-top:12px}.tl-progress[hidden]{display:none}.tl-bar{background:var(--fill-strong);border-radius:2px;height:4px;overflow:hidden}.tl-bar-fill{background:var(--accent);width:0;height:100%;transition:width .15s linear}.tl-status{color:var(--text-2);margin:6px 0 0;font-size:11.5px}@media (max-width:680px){.tl-body{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse){html:root{--topbar-h:54px}html .topbar{height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}html .app{padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}html .tb-icon,html .bar-btn{min-width:40px;height:40px}html .tb-btn{height:40px;padding:0 14px}html .tb-tool{height:40px}html .tb-tool .tool{width:40px;height:40px}html .tb-tool.has-more .tool{width:32px}html .tb-tool-more{width:22px}html .seg-btn{height:40px}html .menu-panel{min-width:230px;font-size:14px}html .menu-item{height:40px}html .pal-head{height:44px}html .pal-head .pal-btn{opacity:1;width:40px;height:40px}html #canvas,html .view3d-canvas{touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}}html .topbar:not(.left-dock) .tb-left,html .topbar:not(.right-dock) .tb-right{width:auto}@media (max-width:899px){html .tb-side{gap:2px;padding:0 6px}html .tb-left{padding-left:4px}html .tb-center{gap:4px;padding:0 4px}html .tb-right{gap:4px}html #vb-zoom,html #btn-export{display:none}}.touch-quickbar{top:50%;right:calc(12px + env(safe-area-inset-right,0px));z-index:5;border:1px solid var(--pill-border);background:var(--pill);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 6px 20px #0000002e}.touch-qb-btn{width:44px;height:44px;color:var(--text-soft);font:600 14px/1 var(--font);cursor:default;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:11px;flex:none;place-items:center;padding:0;display:grid}.touch-qb-btn svg{width:22px;height:22px}.touch-qb-btn:active:not(:disabled){background:var(--fill-strong)}.touch-qb-btn:disabled{opacity:.35}.touch-qb-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.touch-qb-sep{background:var(--divider);width:26px;height:1px;margin:2px 0}.stage.no-doc .touch-quickbar,.stage.is-3d .touch-quickbar{display:none}.touch-update{pointer-events:auto;align-items:center;gap:12px;display:flex}.touch-update-reload{background:var(--accent);height:30px;color:var(--accent-text);cursor:default;border:none;border-radius:6px;flex:none;padding:0 12px;font-weight:500}.menu-dialog.array-dialog{width:min(340px,100%)}.array-select{border:1px solid var(--border);background:var(--surface);width:170px;height:24px;color:var(--text);font:inherit;border-radius:4px;flex:none;padding:0 6px}.array-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.menu-dialog-input.array-name{text-align:left;width:170px}.array-group[hidden]{display:none}.array-check{align-items:center;gap:8px;margin-bottom:8px;display:flex}.array-hint{color:var(--text-2);margin:0 0 8px;font-size:12px}.menu-dialog.export-dialog{width:min(440px,100%)}.export-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.export-heading{color:var(--text-2);font-size:12px;font-weight:600}.export-count{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.export-quick{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.export-layers{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;max-height:min(240px,40vh);padding:2px;display:flex;overflow-y:auto}.export-layer{min-height:var(--row-h);border-radius:4px;align-items:center;gap:8px;padding:3px 8px;display:flex}.export-layer:hover{background:var(--surface-hover)}.export-layer-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.export-layer-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:0 auto;font-size:12px;overflow:hidden}.export-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.export-check,.export-field{align-items:center;gap:8px;display:flex}.export-label{flex:auto;min-width:0}.export-select{border:1px solid var(--border);background:var(--surface);width:150px;height:24px;color:var(--text);font:inherit;border-radius:4px;flex:none;padding:0 6px}.export-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-active);outline:none}.export-hint{color:var(--text-2);margin:0;font-size:12px}.print-frame{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:fixed;bottom:0;right:0}.display-options .muted{white-space:nowrap;flex:none}.display-options .select{flex:150px;width:auto;min-width:0}.view-row .names{padding:2px 0}.view-vis{color:var(--text-2);white-space:nowrap;flex:none;align-items:center;gap:3px;font-size:11px;display:flex}.view-vis input{accent-color:var(--accent);margin:0}.view-del{color:var(--text-2);font-size:15px;line-height:1}.view-del:hover{color:var(--danger)}.viz-seg{width:100%}.viz-seg .seg-btn{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1 1 0;min-width:0;padding:0 4px;display:block;overflow:hidden}.viz-readout{width:48px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.viz-note{margin:0 0 8px;font-size:11px}.viz-off{margin:0;padding:12px 12px 0}.viz-check{margin-bottom:8px}.viz-axis{grid-template-columns:14px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;margin-bottom:6px;display:grid}.viz-axis .viz-readout{width:36px}.databar{z-index:3;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:min(360px,100% - 12px);color:var(--text);box-shadow:var(--shadow);font:12px/1.3 var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:auto;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 8px;display:flex;position:absolute}.databar[hidden]{display:none}.databar-caption{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.databar-field{align-items:center;gap:3px;display:inline-flex}.databar-label{min-width:16px;color:var(--text-2)}.databar-input{background:var(--surface-2);width:88px;min-width:0;color:var(--text);font:inherit;text-align:right;border:1px solid #0000;border-radius:3px;outline:none;padding:2px 4px}.databar-input:focus{border-color:var(--accent);background:var(--surface)}.databar-input.is-locked{border-color:var(--accent);background:var(--surface-active);color:var(--accent);font-weight:600}.databar-input.is-invalid{border-color:var(--danger);color:var(--danger)}.databar-suffix{color:var(--text-2)}
