:root{--bg:#ffffff;--bg-2:#f4f6f8;--bg-3:#eceff2;--panel:#ffffff;--panel-2:#f7f9fa;--line:#d4d9dd;--line-soft:#e4e8eb;--txt:#2b2f33;--txt-dim:#5c636a;--txt-faint:#9aa1a8;--accent:#0c79e8;--accent-2:#0a63bd;--accent-soft:rgba(12,121,232,.12);--good:#1f9d57;--warn:#c77700;--bad:#d23b3b;--sketch:#0c79e8;--topbar-h:42px;--toolbar-h:62px;--tabbar-h:34px;--status-h:22px;--shadow:0 4px 18px rgba(25,35,55,.18);--mono:"SF Mono",ui-monospace,"Cascadia Code",Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Segoe UI,system-ui,Arial,sans-serif;font-size:13px;color:var(--txt);background:var(--bg);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}button{font-family:inherit;color:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit}.hidden{display:none!important}svg{display:block}#app{display:grid;grid-template-rows:var(--topbar-h) var(--toolbar-h) 1fr var(--tabbar-h);grid-template-columns:minmax(0,1fr);height:100vh;width:100vw}#topbar{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);border-bottom:1px solid var(--line);padding:0 10px;gap:12px}.topbar-left{display:flex;align-items:center;gap:8px;min-width:0}.logo-btn{display:flex;align-items:center;padding:4px;border-radius:6px}.brand{font-size:15px;font-weight:700;letter-spacing:.2px;white-space:nowrap;background:linear-gradient(90deg,#1a8cff,#7b5cff);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:10px;margin-right:4px;border-right:1px solid var(--line-soft)}.doc-title{display:flex;align-items:center;gap:8px}#doc-name{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--txt);font-size:14px;font-weight:600;padding:4px 6px;width:190px}#doc-name:hover{border-color:var(--line-soft)}#doc-name:focus{outline:none;border-color:var(--accent);background:var(--bg)}.doc-meta{font-size:11px;color:var(--txt-dim);background:var(--bg-3);padding:2px 8px;border-radius:10px;border:1px solid var(--line-soft)}#menu-bar{display:flex;align-items:center;gap:2px;margin-left:6px}.menu-item{padding:6px 10px;border-radius:5px;color:var(--txt-dim);font-size:13px}.topbar-right{display:flex;align-items:center;gap:10px}.undo-redo{display:flex;gap:2px}.icon-btn{width:30px;height:30px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--txt-dim)}.icon-btn:hover{background:var(--bg-3);color:var(--txt)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn svg{width:17px;height:17px}.pill-btn{padding:6px 12px;border-radius:5px;color:var(--txt-dim);font-size:13px}.pill-btn:hover{background:var(--bg-3);color:var(--txt)}.pill-btn.primary{background:var(--accent);color:#fff;font-weight:600}.pill-btn.primary:hover{background:var(--accent-2)}.avatar{width:30px;height:30px;border-radius:50%;background:#7a5cff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}#toolbar{display:flex;align-items:stretch;gap:0;background:var(--panel);border-bottom:1px solid var(--line);padding:0 6px;overflow-x:auto;overflow-y:hidden}#toolbar::-webkit-scrollbar{height:6px}.tool-group{display:flex;align-items:center;padding:0 6px;border-right:1px solid var(--line-soft)}.tool-group:last-child{border-right:none}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:48px;height:54px;padding:4px 6px;border-radius:6px;color:var(--txt);position:relative}.tool .ico{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.tool .ico svg{width:23px;height:23px;stroke:var(--txt);fill:none}.tool .lbl{font-size:10.5px;color:var(--txt-dim);white-space:nowrap;line-height:1;max-width:92px;overflow:hidden;text-overflow:ellipsis}.tool.has-caret .lbl:after{content:" ▾";color:var(--txt-faint)}.tool.split .lbl:after{content:none}.tool .caret{position:absolute;top:2px;right:1px;width:15px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:10px;color:var(--txt-faint)}.tool .caret:hover{background:var(--line-soft);color:var(--txt)}.tool:disabled{opacity:.4;cursor:default}.tool:disabled:hover{background:none}#workspace{display:flex;min-height:0;position:relative;background:var(--line)}#left-panel{width:262px;min-width:170px;max-width:520px;background:var(--panel);display:flex;flex-direction:column;position:relative}.panel-section{display:flex;flex-direction:column;min-height:0;flex:1}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;font-size:12px;font-weight:600;color:var(--txt-dim);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.4px}.panel-head-actions{display:flex;gap:4px}.mini-btn{width:22px;height:22px;border-radius:4px;color:var(--txt-dim);font-size:13px;display:flex;align-items:center;justify-content:center}.mini-btn:hover{background:var(--bg-3);color:var(--txt)}#feature-tree{flex:1;overflow:auto;padding:4px 0}.left-resizer{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:5}.left-resizer:hover{background:var(--accent)}.tree-row{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 10px;cursor:default;font-size:12.5px;color:var(--txt);white-space:nowrap;position:relative}.tree-row.selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.tree-row.suppressed{opacity:.45;font-style:italic}.tree-row.error{color:var(--bad)}.tree-row .tw-ico{width:18px;height:18px;flex:0 0 18px;display:flex;align-items:center;justify-content:center}.tree-row .tw-ico svg{width:16px;height:16px;stroke:var(--txt-dim);fill:none}.tree-row.selected .tw-ico svg{stroke:var(--accent)}.tree-row .tw-name{flex:1;overflow:hidden;text-overflow:ellipsis}.tree-row .tw-name input{background:var(--bg);border:1px solid var(--accent);border-radius:3px;color:var(--txt);width:100%;padding:1px 4px;font-size:12.5px}.tree-row .tw-eye{width:18px;opacity:0;flex:0 0 18px;color:var(--txt-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .12s ease,color .12s ease}.tree-row:hover .tw-eye{opacity:1}.tree-row .tw-eye:hover{color:var(--accent)}.tree-row .tw-eye.hidden-on{opacity:1;color:var(--txt-faint)}.tree-row .tw-eye svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.tree-indent{display:inline-block;width:14px;flex:0 0 14px}.tree-caret{width:14px;flex:0 0 14px;color:var(--txt-faint);font-size:10px;text-align:center;cursor:pointer}.tree-section-label{padding:6px 10px 2px;font-size:10.5px;color:var(--txt-faint);text-transform:uppercase;letter-spacing:.5px}.tree-divider{height:1px;background:var(--line);margin:5px 0}.rollback-bar{height:3px;background:var(--accent);margin:2px 8px;border-radius:2px;cursor:row-resize;box-shadow:0 0 6px var(--accent)}#viewport-container{flex:1;position:relative;background:radial-gradient(circle at 50% 32%,#fff,#eef1f4 55%,#dfe4e9);overflow:hidden}#viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;outline:none}#view-toolbar{position:absolute;top:10px;right:14px;display:flex;gap:4px;background:#ffffffe6;border:1px solid var(--line-soft);border-radius:7px;padding:3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 4px #00000014}.view-btn{width:30px;height:30px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--txt-dim)}.view-btn:hover{background:var(--bg-3);color:var(--txt)}.view-btn.active{background:var(--accent-soft);color:var(--accent)}.view-btn svg{width:18px;height:18px;stroke:currentColor;fill:none}#viewcube-wrap{position:absolute;top:58px;right:26px;width:104px;height:124px;z-index:6}#viewcube{width:104px;height:104px;margin:0 auto;position:relative}.vc-canvas{display:block;width:104px;height:104px}.vc-arrow{position:absolute;width:18px;height:18px;padding:0;border:0;border-radius:6px;display:none;align-items:center;justify-content:center;background:transparent;color:var(--txt-faint);cursor:pointer}.vc-arrow svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vc-arrow:hover{color:var(--accent);background:var(--bg-3)}#viewcube.face-on .vc-arrow{display:flex}.vc-arrow.up{top:2px;left:43px}.vc-arrow.down{bottom:6px;left:43px}.vc-arrow.left{left:2px;top:43px}.vc-arrow.right{right:2px;top:43px}.vc-home{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:30px;height:24px;border-radius:5px;background:#ffffffeb;border:1px solid var(--line-soft);color:var(--txt-dim);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a}.vc-home:hover{color:var(--accent);border-color:var(--accent)}.vc-home:before{content:"⌂";font-size:14px}#trihedron{position:absolute;left:14px;bottom:14px;width:92px;height:92px;pointer-events:none;opacity:.95}#drawing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#dde1e6;display:flex;align-items:safe center;justify-content:safe center;overflow:auto;padding:16px;z-index:4;container-type:size}.dwg-sheet{width:min(96cqw,1400px,calc(94cqh * 1000 / 680));aspect-ratio:1000/680;background:#fbfbf7;box-shadow:0 10px 40px #00000080;position:relative;flex:none}.dwg-sheet svg{display:block}.dwg-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#5a6b78;font-size:15px;text-align:center;font-family:Segoe UI,sans-serif}#toolbar,#sketch-toolbar{grid-row:2;grid-column:1}#workspace{grid-row:3}#tabbar{grid-row:4}#app.sketching #toolbar{display:none}#sketch-toolbar{display:flex;align-items:center;gap:3px;background:var(--panel);border-bottom:1px solid var(--line);padding:0 10px;overflow-x:auto;overflow-y:hidden}#sketch-toolbar.hidden{display:none}#sketch-toolbar::-webkit-scrollbar{height:6px}#sketch-confirm{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:7px;background:#fffffff5;border:1px solid var(--line-soft);border-radius:11px;padding:6px;box-shadow:var(--shadow);z-index:7}#sketch-confirm.hidden{display:none}.skc-btn{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;font-weight:700;transition:transform .12s var(--e-out),filter .12s}.skc-btn:hover{transform:scale(1.08);filter:brightness(1.1)}.skc-btn.ok{background:var(--good)}.skc-btn.no{background:var(--bad)}.sk-tool{position:relative;min-width:40px;max-width:66px;height:46px;padding:3px 5px 2px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--txt-dim);overflow:hidden}.sk-tool:hover{background:var(--bg-3);color:var(--txt)}.sk-tool.active{background:var(--accent);color:#fff}.sk-tool.has-caret:after{content:"";position:absolute;right:3px;top:3px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid currentColor;opacity:.55}.sk-tool svg{width:19px;height:19px;stroke:currentColor;fill:none;flex:none}.sk-lbl{font-size:8.5px;line-height:1;font-weight:600;letter-spacing:.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.sk-tool.active .sk-lbl{opacity:1}.sk-sym{font-size:15px;font-weight:700;line-height:1}.sk-tool.sk-new:before{content:"";position:absolute;top:3px;left:3px;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:sk-new-pulse 2.2s ease-in-out infinite}@keyframes sk-new-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.sk-tool.sk-new:hover{transform:translateY(-2px) scale(1.07);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.sk-sep{width:1px;background:var(--line-soft);margin:3px}.sk-tool.confirm{background:var(--good);color:#fff;width:auto;padding:0 12px;font-weight:600;font-size:12px}.sk-tool.cancel{background:var(--bad);color:#fff;width:auto;padding:0 12px;font-weight:600;font-size:12px}#mode-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#fffffff5;border:1px solid var(--line-soft);border-radius:6px;padding:6px 14px;font-size:12px;color:var(--txt-dim);z-index:7;box-shadow:var(--shadow)}#mode-hint b{color:var(--accent)}.dim-edit{position:absolute;z-index:30;width:72px;padding:3px 6px;font:600 13px Segoe UI,Arial,sans-serif;color:#10202c;background:#fff;border:1.6px solid var(--accent,#0c79e8);border-radius:5px;box-shadow:0 3px 10px #00000047;outline:none;text-align:center}.dim-edit::-webkit-outer-spin-button,.dim-edit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#sk-infer{position:absolute;z-index:28;pointer-events:none;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;font:700 13px Segoe UI,Arial,sans-serif;color:#fff;background:var(--accent,#0c79e8);border-radius:4px;box-shadow:0 1px 4px #0000004d}.ai-mic.listening{color:#e34d6b}.ai-mic.listening svg{animation:ai-mic-pulse 1.2s ease-in-out infinite}@keyframes ai-mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.ai-voicebars{display:flex;gap:2.5px;align-items:flex-end;height:16px;margin-left:6px}.ai-voicebars i{width:3px;background:#e34d6b;border-radius:2px;height:3px;transition:height .09s linear}.ai-listenrow{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;color:var(--txt-dim)}.ai-listenrow b{color:#e34d6b}#sk-dragdim{position:fixed;z-index:29;pointer-events:none;display:none;white-space:nowrap;padding:3px 8px;font:600 12.5px Segoe UI,Arial,sans-serif;color:var(--accent,#0c79e8);background:#fffffff7;border:1.4px solid var(--accent,#0c79e8);border-radius:5px;box-shadow:0 2px 8px #0000002e}:root[data-theme=dark] #sk-dragdim{background:#1a1e24f5}.tree-row.dragging{opacity:.45}.tree-row.drag-over{box-shadow:inset 0 2px 0 var(--accent,#0c79e8)}.ref-btn{text-align:left}.ref-btn.ref-arm{border-color:var(--accent,#0c79e8);box-shadow:0 0 0 2px #0c79e84d;color:var(--accent,#0c79e8)}#feature-dialog{position:absolute;top:54px;left:14px;width:280px;background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;box-shadow:var(--shadow);z-index:8;overflow:hidden}.fd-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--bg-3);border-bottom:1px solid var(--line)}.fd-head .fd-title{font-weight:600;font-size:13px;display:flex;align-items:center;gap:7px}.fd-head .fd-title svg{width:17px;height:17px;stroke:var(--accent);fill:none}.fd-head .fd-x{color:var(--txt-dim);font-size:16px;line-height:1}.fd-body{padding:11px 12px;display:flex;flex-direction:column;gap:11px;max-height:62vh;overflow:auto}.fd-row{display:flex;flex-direction:column;gap:4px}.fd-row label{font-size:11px;color:var(--txt-dim);text-transform:uppercase;letter-spacing:.4px}.fd-row .with-unit{display:flex;align-items:center;gap:0}.field{background:var(--bg);border:1px solid var(--line-soft);border-radius:5px;color:var(--txt);padding:6px 8px;font-size:13px;width:100%}.field:focus{outline:none;border-color:var(--accent)}.with-unit .field{border-radius:5px 0 0 5px;border-right:none}.with-unit .unit{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:0 5px 5px 0;padding:6px 9px;font-size:12px;color:var(--txt-dim)}.seg{display:flex;flex-wrap:wrap;background:var(--bg);border:1px solid var(--line-soft);border-radius:5px;overflow:hidden}.seg button{flex:1 1 auto;min-width:54px;padding:6px;font-size:11.5px;color:var(--txt-dim);display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.seg button.on{background:var(--accent);color:#fff}.seg button svg{width:15px;height:15px;stroke:currentColor;fill:none}.fd-foot{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--panel-2)}.fd-foot button{flex:1;padding:8px;border-radius:5px;font-size:13px;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:var(--bg-3);color:var(--txt-dim)}.btn-ghost:hover{color:var(--txt)}.pick-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--bg);border:1px solid var(--line-soft);border-radius:5px;padding:6px 8px;font-size:12px;color:var(--txt-dim)}.pick-btn.armed{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pick-btn .cnt{background:var(--bg-3);border-radius:9px;padding:1px 7px;font-size:11px}#right-panel{width:268px;min-width:200px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}#right-panel{position:absolute;top:0;right:0;bottom:0;z-index:20;box-shadow:-12px 0 28px -14px #0f172a38}#view-toolbar,#viewcube-wrap{transition:transform .18s ease}#workspace:has(>#right-panel:not(.hidden)) #view-toolbar,#workspace:has(>#right-panel:not(.hidden)) #viewcube-wrap{transform:translate(-268px)}.rp-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--line);font-weight:600}.rp-head .fd-x{color:var(--txt-dim);font-size:16px}.rp-body{padding:12px;display:flex;flex-direction:column;gap:14px}.rp-group{display:flex;flex-direction:column;gap:8px}.rp-group h4{font-size:11px;color:var(--txt-faint);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.rp-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.rp-line span{font-size:12px;color:var(--txt-dim)}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:24px;height:24px;border-radius:5px;border:2px solid transparent;cursor:pointer}.swatch.sel{border-color:#fff;box-shadow:0 0 0 1px var(--accent)}.slider{width:130px;accent-color:var(--accent)}#tabbar{display:flex;align-items:stretch;background:var(--panel-2);border-top:1px solid var(--line);padding-left:6px}.tabs{display:flex;align-items:stretch;gap:0}.tab{display:flex;align-items:center;gap:7px;padding:0 14px;font-size:12.5px;color:var(--txt-dim);border-right:1px solid var(--line);cursor:pointer;position:relative;max-width:190px}.tab:hover{background:var(--bg-3);color:var(--txt)}.tab.active{background:var(--bg);color:var(--txt);box-shadow:inset 0 2px 0 var(--accent)}.tab .t-ico{width:15px;height:15px}.tab .t-ico svg{width:15px;height:15px;stroke:currentColor;fill:none}.tab .t-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab .t-rename{font:inherit;width:130px;padding:1px 5px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--txt);outline:none;box-shadow:0 0 0 2px #0c79e826}.tab .t-x{opacity:0;font-size:14px;line-height:1;margin-left:2px}.tab:hover .t-x{opacity:.7}.tab .t-x:hover{opacity:1;color:var(--bad)}.tab-add{width:34px;color:var(--txt-dim);font-size:18px;border-right:1px solid var(--line)}.tab-add:hover{background:var(--bg-3);color:var(--txt)}.tabbar-spacer{flex:1}#status-bar{display:flex;align-items:center;gap:14px;padding:0 14px;font-size:11.5px;color:var(--txt-faint);font-family:var(--mono)}#status-bar b{color:var(--txt-dim);font-weight:500}.ctx-menu{position:fixed;min-width:194px;background:var(--bg-3);border:1px solid var(--line-soft);border-radius:7px;box-shadow:var(--shadow);padding:5px;z-index:1000;font-size:12.5px}.ctx-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:5px;color:var(--txt);cursor:default}.ctx-item:hover{background:var(--accent);color:#fff}.ctx-item .ci-ico{width:16px;text-align:center;opacity:.85}.ctx-item .ci-key{margin-left:auto;font-size:11px;color:var(--txt-faint)}.ctx-item:hover .ci-key{color:#fffc}.ctx-item.disabled{opacity:.4;pointer-events:none}.ctx-sep{height:1px;background:var(--line-soft);margin:5px 4px}.dropdown{position:fixed;min-width:210px;background:var(--bg-3);border:1px solid var(--line-soft);border-radius:7px;box-shadow:var(--shadow);padding:5px;z-index:1000;font-size:12.5px}.dd-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:5px;color:var(--txt)}.dd-item:hover{background:var(--accent);color:#fff}.dd-item .dd-ico{width:18px;display:flex;align-items:center;justify-content:center}.dd-item .dd-ico svg{width:17px;height:17px;stroke:currentColor;fill:none}.dd-item .dd-key{margin-left:auto;font-size:11px;color:var(--txt-faint)}.dd-item:hover .dd-key{color:#fffc}.dd-sep{height:1px;background:var(--line-soft);margin:5px 4px}#dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center}.modal{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;box-shadow:var(--shadow);width:auto;min-width:min(440px,92vw);max-width:min(92vw,640px);overflow:hidden}.viewonly-pill{margin-left:8px;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap;align-self:center;background:#fff4d6;color:#8a5a00;border:1px solid rgba(138,90,0,.25);cursor:help}:root[data-theme=dark] .viewonly-pill{background:#ffbe5024;color:#ffcf7a;border-color:#ffbe504d}.modal-head{padding:14px 18px;font-size:15px;font-weight:600;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:18px;display:flex;flex-direction:column;gap:14px;max-height:70vh;overflow:auto}.modal-foot{padding:14px 18px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}.modal-foot button{padding:8px 18px;border-radius:6px;font-weight:600}.kv{display:flex;justify-content:space-between;font-size:13px;color:var(--txt-dim)}.kv b{color:var(--txt)}#toast-layer{position:fixed;bottom:42px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:3000;align-items:center}.toast{background:var(--bg-3);border:1px solid var(--line-soft);border-left:3px solid var(--accent);border-radius:6px;padding:9px 16px;font-size:12.5px;box-shadow:var(--shadow);animation:toastIn .2s ease;max-width:420px}.toast.good{border-left-color:var(--good)}.toast.warn{border-left-color:var(--warn)}.toast.bad{border-left-color:var(--bad)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#c2c8ce;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#aab0b6;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cursor-crosshair{cursor:crosshair!important}:root{--e-out:cubic-bezier(.22,.61,.36,1);--e-spring:cubic-bezier(.34,1.4,.5,1);--t-fast:.12s;--t:.19s;--t-slow:.3s;--accent-grad:linear-gradient(120deg,#1a8cff,#0c79e8 55%,#6a5cff);--glass:rgba(255,255,255,.82);--shadow-lg:0 12px 34px -8px rgba(24,40,72,.3),0 3px 10px -4px rgba(24,40,72,.2)}.tipcard{position:fixed;z-index:4000;left:0;top:0;width:270px;max-width:78vw;pointer-events:none;background:var(--glass);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lg);border-radius:13px;padding:11px 12px 12px;color:var(--txt);opacity:0;transform:translateY(6px) scale(.97);transform-origin:top center;transition:opacity var(--t) var(--e-out),transform var(--t) var(--e-out)}.tipcard[data-side=above]{transform-origin:bottom center;transform:translateY(-6px) scale(.97)}.tipcard[data-side=right]{transform-origin:left center;transform:translate(-6px) scale(.97)}.tipcard[data-side=left]{transform-origin:right center;transform:translate(6px) scale(.97)}.tipcard[data-side=right].show,.tipcard[data-side=left].show{transform:translate(0) scale(1)}.tipcard.show{opacity:1;transform:translateY(0) scale(1)}.tipcard.mini{width:auto;padding:6px 10px}.tipcard.mini .tip-head{margin:0}.tip-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.tip-title{font-size:13px;font-weight:700;letter-spacing:.2px;flex:1}.tip-key{font-size:10.5px;font-weight:600;color:var(--txt-dim);background:var(--bg-3);border:1px solid var(--line-soft);border-radius:5px;padding:1px 7px;white-space:nowrap}.tip-preview{border-radius:9px;overflow:hidden;margin-bottom:9px;border:1px solid var(--line-soft);background:linear-gradient(160deg,#fbfcfe,#eef3f8)}.tip-preview svg{display:block;width:100%;height:auto}.tip-desc{font-size:12px;line-height:1.5;color:var(--txt)}.tip-when{font-size:11px;line-height:1.45;color:var(--txt-dim);margin-top:7px;padding-top:7px;border-top:1px dashed var(--line-soft)}.tip-when:before{content:"When ";font-weight:600;color:var(--accent)}.tool{transition:background var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out),box-shadow var(--t-fast) var(--e-out);position:relative}.tool .ico svg{transition:stroke var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-spring)}.tool:not(:disabled):hover{transform:translateY(-1.5px)}.tool:not(:disabled):hover .ico svg{stroke:var(--accent);transform:scale(1.08)}.tool:not(:disabled):active{transform:translateY(0) scale(.94)}.tool.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tool.active .ico svg{stroke:var(--accent)}.tool.active:after{content:"";position:absolute;left:18%;right:18%;bottom:2px;height:2px;border-radius:2px;background:var(--accent-grad);animation:barGrow var(--t) var(--e-out)}@keyframes barGrow{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.view-btn{transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out)}.view-btn:hover{transform:translateY(-1px)}.view-btn:active{transform:scale(.9)}.sk-tool{transition:background var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.sk-tool:hover{transform:translateY(-1px)}.sk-tool:active{transform:scale(.92)}.dropdown,.ctx-menu{animation:menuIn var(--t) var(--e-out);transform-origin:top left}@keyframes menuIn{0%{opacity:0;transform:translateY(-7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown .dd-item,.ctx-menu .ctx-item{transition:background var(--t-fast) var(--e-out),padding-left var(--t-fast) var(--e-out)}.dropdown .dd-item:hover,.ctx-menu .ctx-item:hover{padding-left:14px}.toast{animation:toastIn .26s var(--e-spring)}.tipcard{box-shadow:var(--shadow-lg),inset 0 1px #ffffffbf}#view-toolbar{backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-color:#fff9;box-shadow:0 8px 22px -6px #14203a38,inset 0 1px #ffffffbf}.dropdown,.ctx-menu,#feature-dialog{box-shadow:var(--shadow-lg),inset 0 1px #fff9}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}#ai-fab{position:absolute;right:20px;bottom:52px;width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;z-index:45;background:radial-gradient(circle at 32% 28%,#7fc3ff,#1a8cff 45%,#6c3fe0);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px -4px #1a3ca08c,inset 0 1px #ffffff80;animation:aiBreathe 3.2s ease-in-out infinite}#ai-fab:hover{transform:scale(1.07)}#ai-fab .ai-orb{width:26px;height:26px;display:block}#ai-fab .ai-orb svg{width:100%;height:100%;filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}@keyframes aiBreathe{0%,to{box-shadow:0 6px 22px -4px #1a3ca08c,0 0 #488cff59}50%{box-shadow:0 6px 26px -2px #1a3ca0b3,0 0 0 9px #488cff00}}#ai-fab .ai-orbit{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;display:none;pointer-events:none}#ai-fab.working{animation:aiBreathe 1.1s ease-in-out infinite,aiHue 2.6s linear infinite}#ai-fab.working .ai-orbit{display:block}#ai-fab.working .ai-orb{animation:aiSpin 2.4s linear infinite}#ai-fab .ai-orbit i{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px #8cbeffe6;animation:aiOrbit 1.15s linear infinite}#ai-fab .ai-orbit i:nth-child(2){animation-delay:-.38s;width:5px;height:5px}#ai-fab .ai-orbit i:nth-child(3){animation-delay:-.76s;width:4px;height:4px;opacity:.8}@keyframes aiOrbit{0%{transform:rotate(0) translate(31px)}to{transform:rotate(360deg) translate(31px)}}@keyframes aiSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes aiHue{0%{filter:hue-rotate(0)}to{filter:hue-rotate(360deg)}}#ai-panel{position:absolute;right:20px;bottom:114px;width:352px;max-height:520px;display:flex;flex-direction:column;z-index:46;background:var(--panel,#fff);border:1px solid rgba(120,140,180,.35);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px -12px #14203a73,inset 0 1px #ffffffb3;animation:menuIn var(--t,.18s) var(--e-out,ease-out)}#ai-panel.hidden{display:none}.ai-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(120deg,#1a8cff24,#6c3fe024);border-bottom:1px solid rgba(120,140,180,.25)}.ai-head b{font-size:14px}.ai-head .ai-sub{font-size:11px;color:var(--txt-dim,#6b7a88);flex:1}.ai-orb-mini{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 32% 28%,#7fc3ff,#1a8cff 55%,#6c3fe0)}.ai-orb-mini svg{width:13px;height:13px}.ai-x{border:none;background:none;cursor:pointer;font-size:13px;color:var(--txt-dim,#6b7a88)}.ai-msgs{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-height:90px}.ai-msg{max-width:86%;padding:8px 11px;border-radius:12px;font-size:12.5px;line-height:1.45;white-space:pre-wrap}.ai-msg.user{align-self:flex-end;background:var(--accent,#1a8cff);color:#fff;border-bottom-right-radius:4px}.ai-msg.genie{align-self:flex-start;background:#1a8cff14;border:1px solid rgba(26,140,255,.22);border-bottom-left-radius:4px}.ai-msg.err{background:#dc3c3c14;border-color:#dc3c3c59}.ai-msg.warn{background:#e6a01417;border-color:#e6a01473}.ai-msg code{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;background:#7f7f7f26;padding:0 3px;border-radius:3px}.ai-retry{display:block;margin-top:7px;padding:3px 12px;border-radius:7px;border:1px solid rgba(26,140,255,.5);background:#1a8cff1a;color:inherit;font-size:12px;cursor:pointer}.ai-retry:hover{background:#1a8cff33}.ai-measured{margin-top:6px;font-size:11px;white-space:normal}.ai-measured summary{cursor:pointer;opacity:.7}.ai-measured div{margin:2px 0 0 4px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;line-height:1.35}.ai-measured .bad{color:#d23c3c}.ai-measured .note{opacity:.65}.ai-msg .ai-cost{display:block;margin-top:5px;font-size:10.5px;opacity:.55;white-space:normal}.ai-attach{padding:6px 12px 0}.ai-attach-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 6px 4px 4px;border-radius:9px;border:1px solid rgba(26,140,255,.3);background:#1a8cff12;font-size:12px}.ai-attach-thumb{width:34px;height:34px;object-fit:cover;border-radius:6px;background:#fff}.ai-attach-ico{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#e5484d;color:#fff;font-size:10.5px;font-weight:700}.ai-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-attach-x{border:0;background:transparent;cursor:pointer;opacity:.6;font-size:12px;padding:2px 4px}.ai-attach-x:hover{opacity:1}#ai-panel.ai-drop{outline:2px dashed var(--accent,#1a8cff);outline-offset:-6px}.ai-plancard{align-self:stretch;border:1px solid rgba(26,140,255,.35);border-radius:12px;padding:10px 12px;background:#1a8cff0d;font-size:12.5px;line-height:1.45}.ai-plan-title{font-weight:600;margin-bottom:4px}.ai-plan-parts{margin:4px 0 6px 18px;padding:0}.ai-plan-hw{margin:2px 0 6px;opacity:.8}.ai-plan-refs{margin:4px 0 8px;font-size:11.5px;opacity:.85}.ai-plan-refs summary{cursor:pointer}.ai-plan-src{margin:2px 0 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-plan-lic{opacity:.7}.ai-plan-btns{display:flex;gap:8px}.ai-plan-btns button{border-radius:8px;padding:5px 12px;cursor:pointer;font:inherit;border:1px solid rgba(120,140,180,.4);background:#fff}.ai-plan-go{background:var(--accent,#1a8cff)!important;color:#fff;border-color:transparent!important}.ai-plan-btns button:disabled{opacity:.5;cursor:default}.ai-plancard.go .ai-plan-edit,.ai-plancard.edit .ai-plan-go{display:none}.ai-threadbar{position:relative;display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--line-soft);font-size:11.5px}.ai-scope{flex:1 1 auto;color:var(--txt-dim,#667);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-threadbar button{flex:0 0 auto;border:1px solid var(--line-soft);background:transparent;color:var(--txt-dim,#667);border-radius:6px;padding:3px 8px;font-size:11px;cursor:pointer;font-family:inherit}.ai-threadbar button:hover{color:var(--accent,#1a8cff);border-color:var(--accent,#1a8cff)}.ai-thread-menu{position:absolute;top:100%;right:8px;z-index:40;min-width:260px;max-height:300px;overflow-y:auto;background:var(--panel,#fff);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #00000029;padding:5px}.ai-thread-menu.hidden{display:none}.ai-thread-row{display:flex;align-items:center;gap:6px;padding:4px 5px;border-radius:6px}.ai-thread-row:hover{background:#7d7d871a}.ai-thread-row.active{background:#1a8cff1f}.ai-thread-open{flex:1 1 auto;text-align:left;border:none!important;background:none;padding:2px 4px;color:inherit!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-thread-when{flex:0 0 auto;color:var(--txt-faint,#99a);font-size:10px}.ai-thread-del{border:none!important;opacity:.5;padding:2px 5px!important}.ai-thread-del:hover{opacity:1;color:#c8102e!important}.ai-thread-empty{padding:8px 10px;color:var(--txt-faint,#99a);font-size:11.5px}.ai-mode{font-weight:600}.ai-mode.on{background:var(--accent,#1a8cff)!important;color:#fff!important;border-color:var(--accent,#1a8cff)!important}.dsd-wrap{display:flex;flex-direction:column;gap:2px;min-width:520px;max-width:640px;max-height:62vh;overflow-y:auto}.dsd-sum{display:flex;flex-wrap:wrap;gap:14px;padding:8px 2px 12px;font-size:12.5px;color:var(--txt-dim)}.dsd-sum b{font-size:16px;margin-right:4px;color:var(--txt)}.dsd-warn{background:#c8102e14;border:1px solid rgba(200,16,46,.3);color:#c8102e;border-radius:7px;padding:7px 10px;font-size:12px;margin-bottom:8px}.dsd-empty{color:var(--txt-faint,#99a);font-size:12.5px;line-height:1.6;padding:10px 2px}.dsd-h{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--txt-faint,#99a);margin:12px 0 4px;padding-top:8px;border-top:1px solid var(--line-soft)}.dsd-row{display:flex;gap:9px;align-items:flex-start;padding:5px 2px}.dsd-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;margin-top:5px}.dsd-t{font-size:12.5px;line-height:1.45}.dsd-s{font-size:11.5px;line-height:1.5;color:var(--txt-dim,#667)}.dsd-foot{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line-soft)}.dsd-edit{flex:0 0 auto;display:flex;align-items:center;gap:5px}.dsd-num{width:76px;padding:3px 6px;border:1px solid var(--line-soft);border-radius:6px;background:var(--panel);color:inherit;font-size:12px;font-family:inherit}.dsd-num:focus{outline:none;border-color:var(--accent,#1a8cff)}.dsd-apply{padding:3px 9px!important;font-size:11px!important}.ntf-bell{position:relative;width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;background:transparent;color:var(--txt-dim);display:flex;align-items:center;justify-content:center;margin-right:2px}.ntf-bell:hover{background:#7d7d8724;color:var(--txt)}.ntf-badge{position:absolute;top:-1px;right:-3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#c8102e;color:#fff;font:700 9.5px/15px system-ui;text-align:center}.ntf-badge.hidden{display:none}.ntf-panel{position:fixed;top:52px;right:12px;z-index:9000;width:330px;max-height:60vh;overflow-y:auto;background:var(--panel,#fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0000002e;padding:6px}.ntf-panel.hidden{display:none}.ntf-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 8px;border-bottom:1px solid var(--line-soft);font-size:13px}.ntf-clear{border:none;background:none;color:var(--txt-dim);font-size:11px;cursor:pointer}.ntf-clear:hover{color:var(--accent,#1a8cff)}.ntf-empty{padding:16px 12px;color:var(--txt-faint,#99a);font-size:12px;line-height:1.6}.ntf-row{display:flex;gap:9px;padding:8px 10px;border-radius:8px;align-items:flex-start}.ntf-row.clickable{cursor:pointer}.ntf-row:hover{background:#7d7d8717}.ntf-row.unread{background:#1a8cff12}.ntf-ico{flex:0 0 auto;font-size:14px;margin-top:1px}.ntf-body{flex:1 1 auto;min-width:0}.ntf-title{font-size:12.5px;line-height:1.4}.ntf-detail{font-size:11px;color:var(--txt-dim);margin-top:2px}.ntf-bar{height:5px;border-radius:3px;background:#7d7d872e;margin-top:6px;overflow:hidden}.ntf-fill{height:100%;border-radius:3px;background:var(--accent,#1a8cff);transition:width .3s}.ai-steps{align-self:flex-start;max-width:92%;display:flex;flex-direction:column;gap:2px;margin:2px 0 4px;padding:7px 10px;border-radius:10px;background:#7d7d8712;border:1px solid rgba(125,125,135,.18)}.ai-step{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:var(--txt-dim,#667);transition:color .2s}.ai-step-dot{flex:0 0 auto;width:9px;height:9px;margin-top:5px;border-radius:50%;border:1.5px solid currentColor;opacity:.5;transition:all .2s}.ai-step-txt{flex:1 1 auto}.ai-step-note{flex-basis:100%;margin-left:17px;font-size:11px;color:#c8102e;opacity:.95}.ai-step.running{color:var(--accent,#1a8cff)}.ai-step.running .ai-step-dot{opacity:1;border-style:dashed;animation:ai-step-spin 1.1s linear infinite}.ai-step.done{color:var(--txt,#223)}.ai-step.done .ai-step-dot{background:#1a7f37;border-color:#1a7f37;opacity:1}.ai-step.failed{color:#c8102e}.ai-step.failed .ai-step-dot{background:#c8102e;border-color:#c8102e;opacity:1}.ai-step.retrying{color:#9a6700}.ai-step.retrying .ai-step-dot{background:#d4a72c;border-color:#d4a72c;opacity:1}.ai-step.fixed{color:var(--muted,#7a808a)}.ai-step.fixed .ai-step-dot{background:#b8bdc6;border-color:#b8bdc6;opacity:1}.ai-step.skipped{opacity:.45;text-decoration:line-through}.ai-step.retry{opacity:.4}@keyframes ai-step-spin{to{transform:rotate(360deg)}}.ai-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.ai-chips.hidden{display:none}.ai-chips button{border:1px solid rgba(26,140,255,.35);background:#1a8cff0f;color:var(--accent,#1a6fd0);border-radius:20px;padding:4px 10px;font-size:11px;cursor:pointer}.ai-chips button:hover{background:#1a8cff24}.ai-working{display:flex;align-items:center;gap:9px;padding:8px 12px;border-top:1px dashed rgba(120,140,180,.3);font-size:12px;color:var(--txt-dim,#5a6b78)}.ai-working.hidden{display:none}.ai-wisp{width:18px;height:18px;border-radius:50%;flex:none;background:conic-gradient(from 0deg,#1a8cff,#8f5cff,#45d6c3,#1a8cff);animation:aiSpin 1s linear infinite;-webkit-mask:radial-gradient(circle,transparent 44%,#000 46%)}.ai-status{flex:1;animation:aiStatusFade 1.7s ease-in-out infinite}@keyframes aiStatusFade{0%,to{opacity:.55}50%{opacity:1}}.ai-stop{border:1px solid rgba(220,60,60,.5);color:#c2372f;background:none;border-radius:8px;padding:3px 10px;font-size:11.5px;cursor:pointer}.ai-inputrow{display:flex;gap:6px;padding:9px 10px;border-top:1px solid rgba(120,140,180,.25)}.ai-input{flex:1;resize:none;border:1px solid rgba(120,140,180,.4);border-radius:9px;padding:7px 9px;font-size:12.5px;font-family:inherit;outline:none}.ai-input:focus{border-color:var(--accent,#1a8cff)}.ai-btns{display:flex;flex-direction:column;gap:5px;justify-content:flex-end}.ai-mic,.ai-send,.ai-clip{width:30px;height:30px;border-radius:8px;border:1px solid rgba(120,140,180,.35);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--txt-dim,#4c5c6b)}.ai-mic svg,.ai-send svg,.ai-clip svg{width:16px;height:16px}.ai-clip{align-self:flex-end;flex:none;border-color:transparent;background:transparent}.ai-clip:hover{background:#1a8cff14}.ai-send{background:var(--accent,#1a8cff);color:#fff;border-color:transparent}.ai-send:disabled{opacity:.5;cursor:default}.ai-mic.listening{color:#c2372f;border-color:#dc3c3c99;animation:aiMicPulse 1.1s ease-in-out infinite}@keyframes aiMicPulse{0%,to{box-shadow:0 0 #dc3c3c66}55%{box-shadow:0 0 0 7px #dc3c3c00}}.ai-foot{padding:6px 12px 9px;font-size:10.5px;color:var(--txt-faint,#93a1ad);border-top:1px dashed rgba(120,140,180,.2)}:root[data-theme=dark]{--bg:#15181c;--bg-2:#1b1f24;--bg-3:#22272d;--panel:#1a1e23;--panel-2:#20252b;--line:#39414a;--line-soft:#2b3138;--txt:#e5e9ed;--txt-dim:#a7aeb6;--txt-faint:#6d757e;--accent:#3b9dff;--accent-2:#63b1ff;--accent-soft:rgba(59,157,255,.16);--good:#37b36e;--warn:#e09a2f;--bad:#e05555;--sketch:#3b9dff;--glass:rgba(26,30,35,.88);--shadow:0 4px 18px rgba(0,0,0,.55);--shadow-lg:0 12px 34px -8px rgba(0,0,0,.65),0 3px 10px -4px rgba(0,0,0,.45)}:root[data-theme=dark] .tipcard{border-color:#ffffff17}:root[data-theme=dark] .tip-preview{background:linear-gradient(160deg,#232830,#1a1f26)}#tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;pointer-events:auto}.tour-spot{position:fixed;border-radius:10px;pointer-events:none;box-shadow:0 0 0 4000px #0a0e148c,0 0 0 3px var(--accent);transition:all .35s var(--e-out,ease)}.tour-card{position:fixed;z-index:5001;width:300px;max-width:80vw;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px 16px;color:var(--txt);transition:all .35s var(--e-out,ease)}.tour-card h4{font-size:13.5px;margin-bottom:6px}.tour-card p{font-size:12.5px;line-height:1.55;color:var(--txt-dim)}.tour-foot{display:flex;align-items:center;gap:8px;margin-top:12px}.tour-step{font-size:11px;color:var(--txt-faint);flex:1}:root[data-theme=dark] #viewport-container{background:radial-gradient(circle at 50% 32%,#262c34,#1c2127 55%,#14181d)}:root[data-theme=dark] #view-toolbar{background:#1a1e24e6}:root[data-theme=dark] #sketch-confirm{background:#1a1e24f0}@media (max-width: 900px){#toolbar{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}#left-panel{width:170px}.brand{display:none}.doc-title input{max-width:110px}}@media (max-width: 640px){:root{--topbar-h:46px;--toolbar-h:66px;--tabbar-h:40px }#menu-bar button{padding:6px 8px;font-size:13px}.topbar-right .pill-btn:not(.primary){display:none}.undo-redo .icon-btn{width:34px;height:34px}#left-panel{position:absolute;z-index:60;left:0;top:0;bottom:0;width:min(78vw,300px);background:var(--panel);box-shadow:var(--shadow-lg);transform:translate(calc(-100% + 26px));transition:transform var(--t) var(--e-out)}#left-panel.open{transform:translate(0)}.left-resizer{display:none}#toolbar .tool{min-width:52px;min-height:52px}#sketch-toolbar button{min-width:44px;min-height:44px}.tabs .tab{padding:10px 12px}#tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}#view-toolbar .view-btn{width:38px;height:38px}#viewcube-wrap{transform:scale(.8);transform-origin:top right}#status-bar span:nth-child(n+3){display:none}.modal{max-width:94vw;max-height:86vh;overflow-y:auto}}#toolbar.tabbed{flex-direction:column;padding:0;overflow:hidden;min-width:0}.tb-tabs{display:flex;align-items:center;gap:6px;flex:0 0 24px;min-width:0;padding:2px 8px 0;background:var(--panel-2);border-bottom:1px solid var(--line-soft)}.tb-tablist{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.tb-tablist::-webkit-scrollbar{display:none}.tb-tab{padding:2px 12px 3px;font-size:11.5px;letter-spacing:.3px;color:var(--txt-dim);border-radius:6px 6px 0 0;white-space:nowrap}.tb-tab:hover{background:var(--bg-3);color:var(--txt)}.tb-tab.on{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.tb-search{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;padding:2px 10px 3px;font-size:11.5px;color:var(--txt-dim);border-radius:6px;border:1px solid var(--line-soft);background:var(--bg)}.tb-search:hover{color:var(--accent);border-color:var(--accent)}.tb-sico{display:inline-flex;line-height:0}.tb-sico svg{width:13px;height:13px}.tb-key{font-size:9.5px;font-family:var(--mono);background:var(--bg-3);white-space:nowrap;line-height:1.5;border:1px solid var(--line-soft);border-radius:3px;padding:0 4px;color:var(--txt-faint)}#toolbar.tight .tb-word{display:none}.tb-row{display:flex;align-items:stretch;flex:1;min-height:0;padding:0 6px;overflow-x:auto;overflow-y:hidden}.tb-row::-webkit-scrollbar{height:6px}@media (max-width:900px){#toolbar.tabbed .tb-row,.tb-tablist{-webkit-overflow-scrolling:touch}}.cloud-list{display:flex;flex-direction:column;gap:8px;min-width:380px}.cloud-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel)}.cloud-row:hover{border-color:var(--accent,#1a8cff)}.cloud-main{flex:1;min-width:0}.cloud-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cloud-meta{font-size:11.5px;opacity:.65;margin-top:2px}.cloud-del{padding:4px 9px;opacity:.7}.cloud-del:hover{opacity:1;color:#c8102e}.dlg-input{padding:8px 11px;border:1px solid var(--line-soft);border-radius:7px;background:var(--panel);color:inherit;font-size:13px;width:100%}.dlg-input:focus{outline:none;border-color:var(--accent,#1a8cff)}#user-avatar.signed-in{background:#2e9d67}.presence-chip{width:24px;height:24px;border-radius:50%;background:var(--accent,#1a8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--accent,#1a8cff)}#landing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg,#f5f7fa) 0%,#dbe9ff 100%)}:root[data-theme=dark] #landing{background:linear-gradient(135deg,#0d1117,#0d2036)}.landing-card{width:430px;max-width:92vw;background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 24px 80px #0a285a2e;padding:34px 36px;display:flex;flex-direction:column;gap:16px}.landing-logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700}.landing-mark{color:var(--accent,#1a8cff);font-size:26px}.landing-tag{font-size:13.5px;line-height:1.55;opacity:.8}.landing-feats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.landing-feat{font-size:12px;opacity:.75}.landing-panel{display:flex;flex-direction:column;gap:12px;margin-top:2px}.landing-swap{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--bg-3);border:1px solid var(--line-soft)}.landing-tab{height:38px;border:0;border-radius:9px;background:transparent;color:var(--txt-dim);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.landing-tab:hover{color:var(--txt)}.landing-tab.active{background:var(--panel);color:var(--txt);box-shadow:0 1px 2px #0a1e3c1f,0 2px 10px #0a1e3c14}.landing-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}:root[data-theme=dark] .landing-swap{background:#ffffff0a}:root[data-theme=dark] .landing-tab.active{background:#ffffff21;box-shadow:0 1px 2px #0006}.landing-h{margin:6px 0 0;font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--txt)}.landing-form{display:flex;flex-direction:column;gap:12px}.landing-field{display:flex;flex-direction:column;gap:6px}.landing-field>span{font-size:12.5px;font-weight:600;color:var(--txt)}.landing-go{padding:9px 0;font-size:14px}.landing-err{color:#c8102e;font-size:12.5px;line-height:1.5}.landing-err:empty{display:none}.landing-ok{color:#1a7f37;font-size:13px;line-height:1.5}.landing-sub{margin:-4px 0 0;font-size:13px;line-height:1.55;color:var(--txt-dim)}.landing-foot{margin:2px 0 0;font-size:13px;color:var(--txt-dim);text-align:center}.landing-foot .link-btn{font-weight:600;text-decoration:none}.landing-foot .link-btn:hover{text-decoration:underline}.landing-alt-btn{height:42px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.landing-alt-btn:hover{border-color:var(--accent);color:var(--accent)}.landing-err-hint{color:var(--txt-dim,#888);margin-top:4px;line-height:1.5}.link-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--accent,#1a8cff);text-decoration:underline}.link-btn:hover{opacity:.8}.avatar.signed-out:after{content:"";width:13px;height:13px;border-radius:50%;border:1.6px solid currentColor;opacity:.85}.avatar.signed-out{background:var(--line-soft,#3a3a3a);color:var(--txt-dim,#aaa)}.avatar:focus-visible{outline:2px solid var(--accent,#1a8cff);outline-offset:2px}.user-menu{position:fixed;z-index:9000;min-width:262px;padding:6px;background:var(--panel,#1e1e1e);border:1px solid var(--line,#333);border-radius:12px;box-shadow:0 14px 40px #00000061;display:flex;flex-direction:column;gap:2px;animation:umIn .13s ease-out}@keyframes umIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.um-head{display:flex;align-items:center;gap:10px;padding:9px 9px 10px}.um-avatar{width:38px;height:38px;border-radius:50%;flex:none;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.um-id{min-width:0;display:flex;flex-direction:column;gap:1px}.um-name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-email{font-size:11.5px;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-badge{align-self:flex-start;margin-top:3px;padding:1px 6px;border-radius:5px;background:var(--accent,#1a8cff);color:#fff;font-size:9px;font-weight:700;letter-spacing:.6px}.um-usage{padding:0 9px 8px;border-bottom:1px solid var(--line-soft,#2c2c2c);margin-bottom:4px}.um-usage .cloud-meta{font-size:11px;margin-bottom:4px}.um-dim{font-size:11px;opacity:.5}.um-items{display:flex;flex-direction:column;gap:1px}.um-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 9px;border:none;border-radius:7px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.um-item:hover{background:var(--hover,rgba(255,255,255,.07))}.um-item-label{font-size:12.5px}.um-item-sub{font-size:10.5px;opacity:.55}.um-admin .um-item-label{color:var(--accent,#1a8cff);font-weight:600}.um-signout{margin-top:3px;border-top:1px solid var(--line-soft,#2c2c2c);border-radius:0 0 7px 7px}.um-signout .um-item-label{color:#e0564f}.quota-bar{height:7px;border-radius:4px;background:var(--line-soft);overflow:hidden}.quota-fill{height:100%;background:var(--accent,#1a8cff);border-radius:4px}.status-pill{display:inline-block;padding:1px 8px;border-radius:9px;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;vertical-align:middle}#sketch-toolbar .sk-lbl{display:none}#sketch-toolbar .sk-tool{min-width:34px;max-width:38px;height:36px;padding:4px 6px;gap:0}#sketch-toolbar .sk-tool svg{width:20px;height:20px}#sketch-toolbar .sk-sym{font-size:16px}.tree-row.dwg-vrow{height:auto;min-height:46px;padding:3px 0}.dwg-vthumb{width:52px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--txt-dim);flex:none}.tree-row.dwg-vrow.selected .dwg-vthumb{color:var(--accent)}.sk-hud{position:fixed;z-index:60;display:flex;flex-direction:column;gap:4px;padding:7px 8px 6px;border-radius:9px;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);font-size:12px}.sk-hud-f{display:flex;align-items:center;gap:6px}.sk-hud-l{width:44px;color:var(--txt-dim);font-weight:600;font-size:11px}.sk-hud input{width:74px;padding:3px 6px;border:1px solid var(--line-soft);border-radius:5px;background:var(--bg);color:var(--txt);font:600 12px var(--mono);outline:none}.sk-hud input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.sk-hud input::placeholder{color:var(--txt-faint);font-weight:500}.sk-hud-u{color:var(--txt-faint);font-size:11px;width:18px}.sk-hud-hint{color:var(--txt-faint);font-size:10.5px;margin-top:1px;white-space:nowrap}.depth-tag{--dt:#2b7fff;position:fixed;z-index:55;display:flex;align-items:center;gap:5px;padding:3px 4px 3px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow);font-size:12px;-webkit-user-select:none;user-select:none;white-space:nowrap}.depth-tag .dt-v{font:700 12px var(--mono);color:var(--txt);cursor:text}.depth-tag .dt-op{padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:var(--dt);cursor:pointer}.depth-tag .dt-op:hover{filter:brightness(1.1)}.save-pill{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:2px 9px 2px 7px;border-radius:999px;border:1px solid var(--line-soft);background:transparent;color:var(--txt-dim);font-weight:600;font-size:11px;font-family:inherit;cursor:pointer;white-space:nowrap;align-self:center;line-height:16px}.save-pill i{width:7px;height:7px;border-radius:50%;background:#16a34a;flex:none}.save-pill[data-s=dirty] i{background:#f59e0b}.save-pill[data-s=saving] i{background:var(--accent);animation:savepulse 1s ease-in-out infinite}.save-pill[data-s=offline] i,.save-pill[data-s=quota] i{background:#e5484d}.save-pill[data-s=offline],.save-pill[data-s=quota]{color:#c2410c;border-color:#e5484d59}.save-pill[data-s=local] i{background:#94a3b8}.save-pill:hover{background:var(--panel-2);color:var(--txt)}.save-pill.hidden{display:none}@keyframes savepulse{50%{opacity:.3}}.err-card{display:flex;flex-direction:column;gap:6px;font-size:12.5px;line-height:1.45}.err-title{font-weight:700;color:var(--txt)}.err-why{color:var(--txt-dim)}.err-fixes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.err-fixes button{padding:4px 10px;font-size:12px;border-radius:7px}.err-raw{color:var(--txt-faint);font-size:11px}.err-raw summary{cursor:pointer;-webkit-user-select:none;user-select:none}.err-raw code{display:block;margin-top:4px;padding:6px 8px;border-radius:6px;background:var(--panel-2);font:11px var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--txt-dim)}.err-toast{position:fixed;left:50%;bottom:54px;transform:translate(-50%);z-index:6100;width:min(460px,calc(100vw - 32px));padding:12px 34px 12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line-soft);border-left:4px solid #e5484d;box-shadow:var(--shadow-lg)}.err-toast .err-feat{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#e5484d;margin-bottom:4px}.err-toast .err-x{position:absolute;top:8px;right:8px;border:none;background:none;color:var(--txt-faint);cursor:pointer;font-size:13px;padding:2px 4px}.err-toast .err-x:hover{color:var(--txt)}.fd-err{margin:0 14px 10px;padding:10px 12px;border-radius:10px;background:#e5484d12;border:1px solid rgba(229,72,77,.28)}.fd-err.hidden{display:none}.rp-group .err-card{margin-top:8px;padding:10px;border-radius:9px;background:#e5484d12;border:1px solid rgba(229,72,77,.28)}.pick-box{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;width:100%;padding:7px 9px;border-radius:8px;border:1.5px solid var(--accent);background:var(--accent-soft)}.pick-box.empty{border-style:dashed}.pick-box .pick-n{font-weight:700;font-size:12.5px;color:var(--txt)}.pick-box .pick-hint{flex:1 1 100%;order:3;font-size:11px;color:var(--txt-dim)}.pick-box .pick-clear{margin-left:auto;padding:2px 9px;font-size:11.5px;border-radius:6px}.sel-marquee{position:fixed;z-index:60;pointer-events:none;border:1px solid var(--accent);background:var(--accent-soft)}.sel-marquee.crossing{border:1px dashed #16a34a;background:#16a34a1a}.hint-chips{margin-left:6px;color:var(--txt-dim);white-space:nowrap}.hint-chip{margin-left:4px;padding:2px 9px;border-radius:999px;border:1px solid var(--line-soft);background:var(--panel-2);color:var(--txt);font-weight:600;font-size:11.5px;font-family:inherit;cursor:pointer;pointer-events:auto}.hint-chip:hover{border-color:var(--accent);color:var(--accent)}#mode-hint .hint-chip{pointer-events:auto}.tool.is-off{opacity:.42}.tool.is-off:hover{background:none}.ob-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7000;display:flex;align-items:center;justify-content:center;background:#0f172a61;padding:16px}.ob-card{position:relative;width:min(640px,100%);border-radius:16px;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);padding:26px 26px 18px}.ob-title{font-size:21px;font-weight:800;letter-spacing:-.01em;color:var(--txt)}.ob-sub{margin-top:6px;color:var(--txt-dim);font-size:13.5px;line-height:1.5}.ob-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}@media (max-width:520px){.ob-tiles{grid-template-columns:1fr}}.ob-tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px 14px 13px;border-radius:12px;border:1px solid var(--line-soft);background:var(--bg);color:var(--txt);cursor:pointer;font-family:inherit;transition:border-color .12s,box-shadow .12s,transform .12s}.ob-tile:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.ob-tile b{font-size:14px}.ob-tile span{font-size:12px;color:var(--txt-dim)}.ob-tile .ob-ico{font-size:20px;line-height:1;color:var(--accent);margin-bottom:4px}.ob-foot{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:12.5px;color:var(--txt-dim);cursor:pointer}.ob-x{position:absolute;top:12px;right:12px;border:none;background:none;color:var(--txt-faint);font-size:15px;cursor:pointer;padding:4px 6px;border-radius:6px}.ob-x:hover{background:var(--panel-2);color:var(--txt)}.qs-card{position:fixed;left:276px;top:140px;z-index:55;width:min(340px,calc(100vw - 32px));border-radius:12px;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);padding:12px 14px 10px;font-size:12.5px}@media (max-width:900px){.qs-card{left:16px}}.qs-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.qs-head b{font-size:13px;color:var(--txt)}.qs-time{color:var(--txt-faint);font-size:11.5px}.qs-skip{margin-left:auto;border:none;background:none;color:var(--txt-dim);cursor:pointer;font-family:inherit;font-size:12px;padding:2px 6px;border-radius:6px}.qs-skip:hover{background:var(--panel-2);color:var(--txt)}.qs-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.qs-steps li{display:flex;gap:8px;align-items:flex-start;color:var(--txt-faint);line-height:1.45}.qs-steps li.now{color:var(--txt)}.qs-steps li.done{color:var(--txt-dim)}.qs-steps li.done .qs-t{text-decoration:line-through;text-decoration-color:var(--txt-faint)}.qs-n{flex:none;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;border:1.5px solid var(--line-soft);margin-top:-1px}.qs-steps li.now .qs-n{border-color:var(--accent);color:var(--accent)}.qs-steps li.done .qs-n{background:#16a34a;border-color:#16a34a;color:#fff}.qs-steps kbd{display:inline-block;padding:0 5px;border-radius:4px;border:1px solid var(--line-soft);background:var(--panel-2);font:600 11px var(--mono);color:var(--txt)}.qs-win{line-height:1.55;color:var(--txt)}.cmdk-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7500;background:#0f172a2e;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}.cmdk{width:min(620px,100%);border-radius:14px;background:var(--panel);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.cmdk-in{border:none;outline:none;padding:15px 18px;font-size:15px;font-family:inherit;background:transparent;color:var(--txt);border-bottom:1px solid var(--line-soft)}.cmdk-list{max-height:min(420px,56vh);overflow-y:auto;padding:6px}.cmdk-sec{padding:8px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-faint)}.cmdk-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--txt);font-size:13px}.cmdk-row.on{background:var(--accent-soft)}.cmdk-row.genie .cmdk-l{color:var(--accent);font-weight:600}.cmdk-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-g{font-size:11px;color:var(--txt-faint);white-space:nowrap}.cmdk-k{padding:1px 6px;border-radius:5px;border:1px solid var(--line-soft);background:var(--panel-2);font:600 10.5px var(--mono);color:var(--txt-dim)}.cmdk-empty{padding:16px;color:var(--txt-dim);font-size:13px}.cmdk-foot{padding:7px 14px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--txt-faint)}.cmdk-foot kbd{padding:0 4px;margin:0 1px;border-radius:4px;border:1px solid var(--line-soft);background:var(--panel-2);font:600 10px var(--mono)}#app{overflow:hidden;overflow:clip}#topbar,#toolbar,#sketch-toolbar,#workspace,#tabbar{min-width:0}#topbar{overflow:hidden}.topbar-left{flex:1 1 auto;overflow:hidden}#menu-bar{flex:0 0 auto}.doc-title{flex:0 1 auto;min-width:0}#doc-name{flex:0 1 190px;min-width:90px;width:auto}#tabbar{overflow:hidden}.tabs{flex:0 1 auto;min-width:0;max-width:56%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}.tabs::-webkit-scrollbar{display:none}.tabs .tab{flex:0 0 auto}.tab-more{flex:0 0 auto;width:28px;color:var(--txt-dim);font-size:14px;border-right:1px solid var(--line)}.tab-more:hover{background:var(--bg-3);color:var(--txt)}.tab-add{flex:0 0 auto}.tabbar-spacer{flex:1 1 0;min-width:0}#status-bar{flex:0 3 auto;min-width:0;overflow:hidden;white-space:nowrap}#status-bar>span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#status-bar>span:empty{display:none}#status-bar>.sb-offline{flex:0 .2 auto;padding:2px 10px;border-radius:999px;background:#f5a62329;color:#8a5200;border:1px solid rgba(245,166,35,.55);font-family:Segoe UI,system-ui,sans-serif;font-weight:600;cursor:pointer}:root[data-theme=dark] #status-bar>.sb-offline{color:#f5b955}:root{--genie-dock-w:clamp(300px, 30vw, 380px)}@media (min-width:900px){body.genie-docked #workspace{margin-right:var(--genie-dock-w)}body.genie-docked #ai-panel{position:fixed;top:calc(var(--topbar-h) + var(--toolbar-h));bottom:var(--tabbar-h);right:0;left:auto;width:var(--genie-dock-w);max-height:none;border-radius:0;border-width:0 0 0 1px;animation:none;box-shadow:-10px 0 24px -18px #14203a59}body.genie-docked #ai-fab{right:calc(var(--genie-dock-w) + 20px)}}@media (max-width:899px){#ai-panel{right:12px;width:min(352px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 140px))}}.dd-item.disabled{opacity:.45;cursor:not-allowed}.dropdown .dd-item.disabled:hover{background:none;color:var(--txt);padding-left:10px}.tool.disabled{opacity:.4;cursor:not-allowed}.tool.disabled:hover,.tool.disabled:active{background:none;transform:none}.tool.disabled:hover .ico svg{stroke:currentColor;transform:none}.cmdk-row.disabled{opacity:.5;cursor:not-allowed}.modal-foot .btn-primary:disabled{opacity:.45;cursor:not-allowed}#right-panel{width:var(--rp-w,268px)}#workspace:has(>#right-panel:not(.hidden)) #view-toolbar,#workspace:has(>#right-panel:not(.hidden)) #viewcube-wrap{transform:translate(calc(-1 * var(--rp-shift,268px)))}#feature-dialog{z-index:21;display:flex;flex-direction:column;max-height:calc(100% - 66px)}#feature-dialog>.fd-head,#feature-dialog>.fd-foot{flex:0 0 auto}#feature-dialog>.fd-body,#feature-dialog>.fd-err{flex:0 1 auto;min-height:0}#feature-dialog>.fd-err{overflow:auto}#dialog-layer:has(.fst){background:#0f172a2e;justify-content:flex-start;align-items:flex-start;padding:calc(var(--topbar-h) + var(--toolbar-h) + 10px) 14px 14px}#dialog-layer:has(.fst) .modal{width:min(540px,calc(100vw - 28px))}.fst{display:flex;flex-direction:column;gap:10px;font-size:12.5px}.fst input[type=checkbox]{accent-color:var(--accent)}.fst-intro{color:var(--txt-dim);line-height:1.5}.fst-kind{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.fst-kind select{width:auto;flex:0 1 auto;max-width:100%}.fst-nut{display:flex;align-items:center;gap:6px;color:var(--txt);cursor:pointer}.fst-list{display:flex;flex-direction:column;gap:6px}.fst-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 10px;border-radius:9px;border:1px solid var(--line-soft);background:var(--bg)}.fst-row.on{border-color:var(--accent);background:var(--accent-soft)}.fst-row.off{opacity:.6}.fst-what{display:flex;align-items:flex-start;gap:8px;flex:1 1 220px;min-width:0;cursor:pointer}.fst-what input{margin-top:2px}.fst-n{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center}.fst-row:not(.on) .fst-n{background:var(--txt-faint)}.fst-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.fst-txt small{color:var(--txt-dim);font-size:11.5px}.fst-txt .fst-note{color:#9a6700;font-weight:600}:root[data-theme=dark] .fst-txt .fst-note{color:#f5b955}.fst-pick{display:flex;align-items:center;gap:5px;color:var(--txt-dim)}.fst-pick select{width:auto;padding:4px 6px;font-size:12px}.fst-foot{color:var(--txt-faint);font-size:11.5px;line-height:1.5}html:not([data-share=on]) #btn-share{display:none!important}html:not([data-collab=on]) #collab-presence,html:not([data-collab=on]) #cloud-presence{display:none!important}:root{--topbar-h:52px;--tabbar-h:36px;--gutter:12px;--island-r:14px;--font-ui:"Geist Variable","Segoe UI",system-ui,-apple-system,sans-serif;--mono:"Geist Mono Variable",ui-monospace,"Cascadia Mono",Consolas,monospace;--brand-navy:#0B1430;--accent:#2F5BEA;--accent-2:#2449C8;--accent-soft:rgba(47,91,234,.1);--accent-grad:linear-gradient(120deg,#6E8EFF,#2F5BEA 55%,#1D3A8F);--accent-fill:#2F5BEA;--accent-fill-2:#2449C8;--accent-ink:#1F3FAE;--genie:#FFB547;--genie-2:#FFC46B;--genie-on:#0B1430;--genie-icon:#E07B00;--genie-ink:#A24E07;--genie-soft:rgba(255,181,71,.18);--genie-line:rgba(224,123,0,.42);--warn:#C2410C;--stage:#e8ecf1;--stage-dot:rgba(30,40,60,.08);--header:#f7f9fb;--island:#ffffff;--island-line:rgba(20,30,45,.11);--island-shadow:0 8px 24px -14px rgba(20,32,58,.35);--bg-inset:#f1f4f7;--bg-raised:#ffffff;--muted:var(--txt-dim);--hover:var(--bg-3);--new:var(--accent)}:root[data-theme=dark]{--bg:#0E1219;--bg-2:#12161E;--bg-3:#1B2130;--panel:#12161E;--panel-2:#161B25;--line:#272E3B;--line-soft:#1F2632;--txt:#E8ECF3;--txt-dim:#A3ACBD;--txt-faint:#8A93A5;--accent:#6E8EFF;--accent-2:#8DA6FF;--accent-soft:rgba(110,142,255,.15);--accent-fill:#2F5BEA;--accent-fill-2:#3D68F0;--accent-ink:#C9D5FF;--genie-icon:#FFB547;--genie-ink:#FFC46B;--genie-soft:rgba(255,181,71,.14);--genie-line:rgba(255,181,71,.42);--good:#43D39E;--warn:#FF8F4D;--bad:#FF6B6B;--sketch:#3B9DFF;--glass:rgba(18,22,30,.94);--shadow:0 10px 30px rgba(0,0,0,.38);--shadow-lg:0 18px 44px -12px rgba(0,0,0,.62),0 4px 12px -6px rgba(0,0,0,.45);--stage:#0E1219;--stage-dot:rgba(255,255,255,.05);--header:#0B0F15;--island:rgba(18,22,30,.95);--island-line:rgba(255,255,255,.07);--island-shadow:0 10px 30px rgba(0,0,0,.35);--bg-inset:#0B0F15;--bg-raised:#1B2130;--muted:#A3ACBD;--hover:#1B2130;--new:#6E8EFF}body{font-family:var(--font-ui)}.th-dark{display:none}:root[data-theme=dark] .th-light{display:none}:root[data-theme=dark] .th-dark{display:inline-block}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}#app{grid-template-rows:var(--topbar-h) minmax(0,1fr) var(--tabbar-h);background-color:var(--stage);background-image:radial-gradient(var(--stage-dot) 1px,transparent 1px);background-size:28px 28px}#topbar{grid-row:1}#workspace{grid-row:2;background:transparent;padding:var(--gutter);gap:var(--gutter)}#tabbar{grid-row:3}#viewport-container,:root[data-theme=dark] #viewport-container{background:transparent}#topbar{background:var(--header);border-bottom:1px solid var(--island-line);padding:0 10px 0 12px;gap:14px}.topbar-left{gap:10px}.logo-btn{padding:5px 7px;border-radius:9px;display:flex;align-items:center}.logo-btn:hover{background:var(--bg-3)}.logo-mark{width:21px;height:24px}.brand{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--txt);display:inline-flex;align-items:center;padding-right:0;margin-right:0;border-right:0}.brand img{height:17px;width:auto}.ea-pill{flex:0 0 auto;padding:3px 8px;border-radius:999px;white-space:nowrap;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--genie-ink);background:var(--genie-soft);border:1px solid var(--genie-line)}.doc-title{gap:6px;padding-left:12px;border-left:1px solid var(--island-line)}#doc-name{font-size:14px;font-weight:550;padding:6px 8px;border-radius:8px}#doc-name:focus{background:var(--bg-inset)}.doc-meta{background:transparent;border:1px solid var(--island-line);color:var(--txt-faint);white-space:nowrap}#menu-bar{gap:0;margin-left:2px}.menu-item{padding:7px 9px;border-radius:7px;font-size:13px;color:var(--txt-dim)}.menu-item:hover{background:var(--bg-3);color:var(--txt)}.topbar-right{gap:6px}.icon-btn{width:36px;height:36px;border-radius:9px}.icon-btn svg{width:18px;height:18px}.pill-btn{border-radius:9px}#btn-comments{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}#btn-comments svg{width:18px;height:18px;stroke:currentColor;fill:none}.pill-btn.primary,.btn-primary{background:var(--accent-fill);color:#fff}.pill-btn.primary:hover,.btn-primary:hover{background:var(--accent-fill-2)}.avatar{background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);width:32px;height:32px}#left-panel{background:var(--island);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--island-shadow);overflow:hidden}.left-resizer{right:0}.panel-head{padding:12px 12px 6px 14px;border-bottom:0;font-size:10.5px;font-weight:600;letter-spacing:.07em;color:var(--txt-faint)}.mini-btn{width:28px;height:28px;border-radius:7px}#feature-tree{padding:2px 0 8px}.tree-row{margin:0 6px;padding:5px 8px;border-radius:8px;font-size:13px}.tree-row:hover{background:var(--bg-3)}.tree-row.selected{background:var(--accent-soft);box-shadow:none;color:var(--accent-ink)}.tree-section-label{padding:10px 14px 4px;font-size:10.5px;font-weight:600;letter-spacing:.07em;color:var(--txt-faint)}.tree-divider{background:var(--island-line);margin:6px 12px}.rollback-bar{margin:4px 14px;box-shadow:none;opacity:.85}#right-panel{top:var(--gutter);right:var(--gutter);bottom:var(--gutter);background:var(--island);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--island-shadow)}.rp-head{border-bottom:1px solid var(--island-line);padding:12px 14px}.rp-group h4{font-size:10.5px;letter-spacing:.07em;color:var(--txt-faint)}#toolbar,#sketch-toolbar{position:absolute;top:var(--gutter);left:50%;transform:translate(-50%);z-index:9;width:max-content;max-width:calc(100% - 264px);background:var(--island);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--island-shadow);padding:4px}#toolbar.tabbed{padding:0}#viewport-container:has(>#drawing-overlay:not(.hidden)) #toolbar{max-width:calc(100% - 2 * var(--gutter))}.tb-tabs{background:transparent;border-bottom:1px solid var(--island-line);padding:3px 6px;flex:0 0 auto;gap:6px}.tb-tab{border-radius:7px;padding:2px 10px;font-size:11.5px}.tb-tab.on{box-shadow:none;background:var(--accent-soft);color:var(--accent-ink)}.tb-search{border-radius:7px;padding:1px 9px 2px;background:var(--bg-inset);border-color:var(--island-line)}.tb-key{background:var(--bg-3);border-color:var(--island-line)}.tb-row{padding:2px 4px;scrollbar-width:thin}.tb-row::-webkit-scrollbar,#toolbar::-webkit-scrollbar{height:4px}.tool-group{padding:0 4px;border-right:1px solid var(--island-line)}.tool{height:48px;min-width:48px;border-radius:9px}.tool:hover{background:var(--bg-3)}.tool .lbl{font-size:10.5px}#sketch-toolbar{gap:2px}.sk-tool{border-radius:8px}.sk-tool.active{background:var(--accent-fill);color:#fff}.sk-sep{background:var(--island-line)}#sketch-confirm{top:78px;background:var(--island);border:1px solid var(--island-line);border-radius:12px;box-shadow:var(--island-shadow)}:root[data-theme=dark] #sketch-confirm{background:var(--island)}:root[data-theme=dark] .skc-btn{color:#0b0f15}#viewcube-wrap{top:var(--gutter);right:var(--gutter)}#view-toolbar{top:146px;right:var(--gutter);flex-direction:column;padding:4px;gap:2px;background:var(--island);border:1px solid var(--island-line);border-radius:12px;box-shadow:var(--island-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] #view-toolbar{background:var(--island)}.view-btn{width:32px;height:32px;border-radius:8px}#workspace:has(>#right-panel:not(.hidden)) #view-toolbar,#workspace:has(>#right-panel:not(.hidden)) #viewcube-wrap{transform:translate(calc(-1 * (var(--rp-shift,268px) + var(--gutter))))}#toolbar.wide{left:calc(50% - 66px + var(--gutter) / 2);max-width:calc(100% - 132px - var(--gutter))}#toolbar.compact .tool .lbl{display:none}#toolbar.compact .tool{min-width:34px;padding:4px 3px}#toolbar.compact .tool-group{padding:0 2px}#toolbar.compact .tool.has-caret:not(.split):after{content:"▾";position:absolute;right:2px;bottom:3px;font-size:8px;color:var(--txt-faint)}#workspace:has(>#right-panel:not(.hidden)) #toolbar{left:calc(50% - (var(--rp-shift,268px) + var(--gutter)) / 2);max-width:calc(100% - 264px - var(--rp-shift,268px) - var(--gutter))}.sb-link{background:none;border:0;padding:0 2px;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.vc-home{border-radius:8px}:root[data-theme=dark] .vc-home{background:var(--bg-raised);border-color:var(--island-line)}#feature-dialog{top:calc(var(--toolbar-h) + 22px);max-height:calc(100% - var(--toolbar-h) - 34px);background:var(--bg-2);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--shadow-lg)}.fd-head{background:transparent;border-bottom:1px solid var(--island-line);padding:11px 14px}.fd-foot{background:transparent;border-top:1px solid var(--island-line)}.fd-foot button{border-radius:6px}.fd-row label{font-size:10.5px;letter-spacing:.06em;color:var(--txt-faint)}.field{background:var(--bg-inset);border-color:var(--line);border-radius:8px}.with-unit .field{border-radius:8px 0 0 8px}.with-unit .unit{background:var(--bg-3);border-color:var(--line);border-radius:0 8px 8px 0;font-family:var(--mono)}.seg{background:var(--bg-inset);border-color:var(--line);border-radius:8px}.seg button.on{background:var(--accent-fill);color:#fff}.btn-ghost{background:var(--bg-3);border-radius:6px}.pick-btn{background:var(--bg-inset);border-color:var(--line);border-radius:8px}#mode-hint{background:var(--bg-raised);border:1px solid var(--island-line);border-radius:999px;padding:7px 14px;box-shadow:var(--shadow)}:root[data-theme=dark] #mode-hint{background:var(--bg-raised)}.ctx-menu,.dropdown{background:var(--bg-raised);border-color:var(--island-line);border-radius:12px;box-shadow:var(--shadow-lg);z-index:3500}.ctx-item,.dd-item{border-radius:7px}.ctx-item:hover,.dd-item:hover{background:var(--accent-soft);color:var(--txt)}.ctx-item:hover .ci-key,.dd-item:hover .dd-key{color:var(--txt-faint)}.ctx-sep,.dd-sep{background:var(--island-line)}#dialog-layer{background:#05080c8c}.modal{border-color:var(--island-line);border-radius:16px;box-shadow:var(--shadow-lg)}.modal-head{border-bottom-color:var(--island-line)}.modal-foot{border-top-color:var(--island-line)}.modal-foot button{border-radius:6px}#toast-layer{bottom:calc(var(--tabbar-h) + 16px)}.toast{position:relative;background:var(--bg-raised);border:1px solid var(--island-line);border-radius:12px;padding:10px 16px 10px 30px;box-shadow:var(--shadow)}.toast:before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--accent)}.toast.good:before{background:var(--good)}.toast.warn:before{background:var(--warn)}.toast.bad:before{background:var(--bad)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2a3240;background-clip:content-box}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#364052;background-clip:content-box}#tabbar{background:var(--header);border-top:1px solid var(--island-line);padding-left:8px}.tab{margin:4px 2px;padding:0 12px;border-right:0;border-radius:8px}.tab.active{background:var(--bg-3);box-shadow:none;color:var(--txt)}.tab-add,.tab-more{margin:4px 0;border-right:0;border-radius:8px}#status-bar{font-size:11px}@media (min-width:900px){body.genie-docked #workspace{margin-right:calc(var(--genie-dock-w) + var(--gutter))}body.genie-docked #ai-panel{top:calc(var(--topbar-h) + var(--gutter));bottom:calc(var(--tabbar-h) + var(--gutter));right:var(--gutter);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--island-shadow)}body.genie-docked #ai-fab{right:calc(var(--genie-dock-w) + 32px)}body.genie-docked #right-panel:not(.hidden){position:fixed;top:calc(var(--topbar-h) + var(--gutter));bottom:calc(var(--tabbar-h) + var(--gutter));right:var(--gutter);width:var(--genie-dock-w);z-index:47}body.genie-docked #workspace:has(>#right-panel:not(.hidden)) #view-toolbar,body.genie-docked #workspace:has(>#right-panel:not(.hidden)) #viewcube-wrap{transform:none}body.genie-docked #workspace:has(>#right-panel:not(.hidden)) #toolbar{left:50%;max-width:calc(100% - 264px)}body.genie-docked #workspace:has(>#right-panel:not(.hidden)) #toolbar.wide{left:calc(50% - 66px + var(--gutter) / 2);max-width:calc(100% - 132px - var(--gutter))}body.genie-docked #workspace:has(>#right-panel:not(.hidden)) #ai-cmdbar{right:0;width:min(640px,calc(100% - 2 * var(--gutter)))}}#ai-panel{background:var(--island);border-color:var(--island-line)}.ai-head{background:transparent;border-bottom:1px solid var(--island-line)}.ai-orb-mini{background:var(--accent-fill)}#ai-fab{background:radial-gradient(circle at 32% 28%,#8cc8ff 0%,var(--accent) 48%,var(--accent-fill) 100%)}.ai-msg.user{background:var(--accent-soft);color:var(--txt);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.ai-msg.genie{background:var(--bg-2);border-color:var(--island-line)}:root[data-theme=dark] .ai-msg.genie{background:#ffffff09}.ai-threadbar button{border-color:var(--island-line);color:var(--txt-dim)}.ai-mode.on{background:var(--accent-fill)!important;border-color:var(--accent-fill)!important}.ai-thread-row.active{background:var(--accent-soft)}.ai-chips button{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent-ink)}.ai-inputrow{border-top-color:var(--island-line)}.ai-input{background:var(--bg-inset);color:var(--txt);border-color:var(--line)}.ai-input::placeholder{color:var(--txt-faint)}.ai-mic,.ai-clip{background:var(--bg-3);border-color:var(--island-line);color:var(--txt-dim)}.ai-send{background:var(--genie);color:var(--genie-on)}.ai-send:not(:disabled):hover{background:var(--genie-2)}.ai-working{border-top-color:var(--island-line)}.ai-wisp{background:conic-gradient(from 0deg,var(--genie),var(--accent),transparent 70%,var(--genie))}.ai-foot{border-top-color:var(--island-line)}.ai-plancard{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft)}.ai-plan-btns button{background:var(--bg-3);color:var(--txt);border-color:var(--island-line)}.ai-plan-go{background:var(--genie)!important;color:var(--genie-on)!important}.ai-attach-thumb{background:var(--bg-3)}.ai-step-note{color:var(--txt-dim)}.ai-step.failed .ai-step-note{color:var(--bad)}.ai-step.done .ai-step-dot{background:var(--good);border-color:var(--good)}.ai-step.failed{color:var(--bad)}.ai-step.failed .ai-step-dot{background:var(--bad);border-color:var(--bad)}.ai-step.retrying{color:var(--warn)}.ai-step.retrying .ai-step-dot{background:var(--warn);border-color:var(--warn)}.ai-step.fixed{color:var(--txt-faint)}.ai-step.fixed .ai-step-dot{background:var(--txt-faint);border-color:var(--txt-faint)}.ai-measured .bad{color:var(--bad)}.ai-usage{margin-top:8px;font-size:12px;color:var(--warn)}.ai-usage.full{color:var(--bad)}.ai-usage a{color:inherit;text-decoration:underline}#ai-cmdbar{position:absolute;left:0;right:0;bottom:var(--gutter);z-index:12;margin:0 auto;box-sizing:border-box;width:min(640px,calc(100% - 2 * var(--gutter)));display:flex;align-items:center;gap:6px;padding:5px 6px;background:var(--island);border:1px solid var(--genie-line);border-radius:16px;box-shadow:0 0 0 4px var(--genie-soft),var(--island-shadow)}#ai-cmdbar.hidden{display:none}#workspace:has(>#right-panel:not(.hidden)) #ai-cmdbar{right:calc(var(--rp-shift,268px) + var(--gutter));width:min(640px,calc(100% - var(--rp-shift,268px) - 3 * var(--gutter)))}#ai-cmdbar:focus-within{border-color:var(--genie-icon)}#ai-cmdbar.ai-drop{outline:2px dashed var(--genie-icon);outline-offset:3px}#ai-cmdbar #ai-fab{position:static;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:transparent;box-shadow:none;animation:none;color:var(--genie-icon)}#ai-cmdbar #ai-fab:hover{background:var(--genie-soft);transform:none}#ai-cmdbar #ai-fab .ai-orb{width:20px;height:20px}#ai-cmdbar #ai-fab .ai-orb svg{filter:none}#ai-cmdbar #ai-fab .ai-orbit{display:none}#ai-cmdbar #ai-fab.working{animation:none}#ai-cmdbar #ai-fab.working .ai-orb{animation:aiSpin 2.4s linear infinite}.ai-selchip{flex:0 1 auto;min-width:0;max-width:180px;height:30px;display:flex;align-items:center;gap:6px;padding:0 8px;white-space:nowrap;border-radius:8px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent-ink);font-size:12px}.ai-selchip span{overflow:hidden;text-overflow:ellipsis}.ai-selchip svg{flex:0 0 auto;width:10px;height:10px;opacity:.8}.ai-selchip:hover{border-color:var(--accent)}#ai-cmdbar .ai-inputrow{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:4px;padding:0;border:0}#ai-cmdbar .ai-input{flex:1 1 auto;min-width:0;height:38px;min-height:38px;max-height:120px;padding:9px 6px;border:0;border-radius:8px;background:transparent;font-size:14px;line-height:20px;overflow-y:auto}#ai-cmdbar .ai-btns{flex-direction:row;align-items:center;gap:4px}#ai-cmdbar .ai-clip{width:36px;height:36px;border:0;border-radius:10px;background:transparent}#ai-cmdbar .ai-clip:hover{background:var(--bg-3)}#ai-cmdbar .ai-send{width:36px;height:36px;border-radius:11px}#ai-cmdbar .ai-send:disabled{opacity:.45;cursor:default}#ai-cmdbar .ai-mic{width:36px;height:36px;border:0;border-radius:10px;background:transparent}#ai-cmdbar .ai-mic:hover{background:var(--bg-3);color:var(--txt)}.ai-cmdk{flex:0 0 auto;height:26px;padding:0 7px;border:1px solid var(--island-line);border-radius:6px;font-family:var(--mono);font-size:11px;color:var(--txt-faint)}.ai-cmdk:hover{color:var(--txt);border-color:var(--line)}#ai-cmdbar .ai-attach,#ai-cmdbar .ai-listenrow{position:absolute;left:0;right:0;bottom:calc(100% + 8px);padding:0}#ai-cmdbar .ai-listenrow{padding:8px 12px;border-radius:12px;background:var(--bg-raised);border:1px solid var(--island-line)}#mode-hint{bottom:calc(var(--gutter) + 66px)}#genie-live{position:absolute;left:50%;bottom:calc(var(--gutter) + 66px);transform:translate(-50%);z-index:13;box-sizing:border-box;display:flex;align-items:center;gap:8px;max-width:min(640px,calc(100% - 2 * var(--gutter)));padding:5px 6px 5px 10px;border-radius:999px;background:var(--island);border:1px solid var(--genie-line);box-shadow:0 0 0 3px var(--genie-soft),var(--island-shadow);font-size:12.5px;line-height:1.3;color:var(--txt);white-space:nowrap}#genie-live .gl-orb{flex:0 0 auto;width:14px;height:14px;border-radius:50%;background:conic-gradient(from 0deg,var(--genie),var(--accent),transparent 70%,var(--genie));-webkit-mask:radial-gradient(circle,transparent 42%,#000 46%);mask:radial-gradient(circle,transparent 42%,#000 46%);animation:aiSpin 1s linear infinite}#genie-live .gl-head{flex:0 0 auto;font-weight:600}#genie-live .gl-step{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--txt-dim)}#genie-live button{flex:0 0 auto;height:24px;padding:0 11px;border-radius:999px;font-size:12px;cursor:pointer;background:none}#genie-live .gl-stop{border:1px solid color-mix(in srgb,var(--bad) 55%,transparent);color:var(--bad)}#genie-live .gl-stop:hover{background:color-mix(in srgb,var(--bad) 10%,transparent)}#genie-live .gl-go{border:1px solid var(--island-line);color:var(--txt)}#genie-live .gl-go:hover{background:var(--bg-3)}body.genie-live #ai-cmdbar .ai-attach,body.genie-live #mode-hint{display:none}.tree-row.genie-new{box-shadow:inset 3px 0 0 var(--genie)}.tree-row.genie-fresh{animation:genie-new-in .8s ease-out}@keyframes genie-new-in{0%{background:var(--genie-soft)}to{background:transparent}}#trihedron{bottom:calc(var(--gutter) + 62px)}#toast-layer{bottom:calc(var(--tabbar-h) + 2 * var(--gutter) + 72px)}.err-toast{bottom:calc(var(--tabbar-h) + 2 * var(--gutter) + 72px);border:1px solid var(--island-line);background:var(--bg-raised)}.err-toast .err-feat{color:var(--bad)}#dialog-layer:has(.fst){padding:calc(var(--topbar-h) + var(--gutter) + 10px) 14px 14px}.qs-card{left:calc(262px + 2 * var(--gutter) + 8px)}#small-screen-note{display:none}@media (max-width:760px){#small-screen-note:not(.hidden){display:flex;align-items:flex-start;gap:10px;position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-h) + 12px);z-index:3500;padding:12px 14px;border-radius:12px;background:var(--bg-raised);border:1px solid var(--island-line);box-shadow:var(--shadow-lg);color:var(--txt);font-size:13px;line-height:1.45}#small-screen-note button{flex:0 0 auto;margin-left:auto;padding:6px 10px;border-radius:8px;background:var(--bg-3);color:var(--txt)}}.landing-logo .brand-logo{display:inline-flex;align-items:center;line-height:0}.landing-logo .brand-logo img{height:32px;width:auto}#btn-theme svg{display:block}:root[data-home=show] #app{visibility:hidden}:root:not([data-home=show]) #home{display:none}#home{--wl-paper:#F7F8FB;--wl-paper-2:#FFFFFF;--wl-card:rgba(255,255,255,.74);--wl-ink:#0B1430;--wl-ink-2:#3B4660;--wl-ink-3:#667089;--wl-line:rgba(11,20,48,.13);--wl-line-2:rgba(11,20,48,.07);--wl-grid:rgba(47,91,234,.055);--wl-grid-2:rgba(47,91,234,.095);--wl-blue:#2F5BEA;--wl-blue-2:#1F3FAE;--wl-blue-soft:rgba(47,91,234,.1);--wl-yellow:#FFB547;--wl-yellow-2:#FFC46B;--wl-yellow-ink:#A24E07;--wl-yellow-soft:rgba(255,181,71,.22);--wl-good:#12805C;--wl-bad:#C2372F;--wl-shadow:0 1px 0 rgba(11,20,48,.03),0 22px 48px -28px rgba(11,20,48,.32);--wl-sans:"Geist Variable","Segoe UI",system-ui,-apple-system,sans-serif;--wl-mono:"Geist Mono Variable",ui-monospace,"Cascadia Mono",Consolas,monospace;--wl-pad:clamp(20px,5vw,64px);--wl-max:1360px;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;overflow-y:auto;overflow-x:hidden;background:var(--wl-paper);color:var(--wl-ink);font-family:var(--wl-sans);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:76px}:root[data-theme=dark] #home{--wl-paper:#070B14;--wl-paper-2:#0C1220;--wl-card:rgba(12,18,32,.72);--wl-ink:#EAF0FF;--wl-ink-2:#B4BED4;--wl-ink-3:#8790A8;--wl-line:rgba(234,240,255,.13);--wl-line-2:rgba(234,240,255,.07);--wl-grid:rgba(110,142,255,.065);--wl-grid-2:rgba(110,142,255,.12);--wl-blue:#6E8EFF;--wl-blue-2:#A9BBFF;--wl-blue-soft:rgba(110,142,255,.14);--wl-yellow-ink:#FFC46B;--wl-yellow-soft:rgba(255,181,71,.16);--wl-good:#43D39E;--wl-bad:#FF6B6B;--wl-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 24px 60px -30px rgba(0,0,0,.8)}#home ::selection{background:var(--wl-yellow-soft)}#home a{color:inherit}#home button{font-family:inherit}.wl-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wl-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.wl-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--wl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--wl-grid) 1px,transparent 1px),linear-gradient(var(--wl-grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--wl-grid-2) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 18%,#000 30%,transparent 92%);mask-image:radial-gradient(ellipse 90% 70% at 50% 18%,#000 30%,transparent 92%)}.wl-lamp{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(520px circle at var(--mx,72%) var(--my,22%),var(--wl-blue-soft),transparent 62%)}.wl-main,.wl-nav,.wl-foot,.wl-sheetnav{position:relative;z-index:1}:root.wl-js #home [data-rev]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.1,1) var(--rd,0s),transform .9s cubic-bezier(.2,.7,.1,1) var(--rd,0s)}:root.wl-js #home [data-rev].rev-in{opacity:1;transform:none}.wl-nav{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:28px;padding:0 var(--wl-pad);background:color-mix(in srgb,var(--wl-paper) 70%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.wl-nav.is-scrolled{border-bottom-color:var(--wl-line);background:color-mix(in srgb,var(--wl-paper) 84%,transparent)}.wl-logo{display:inline-flex;align-items:center;line-height:0;flex:0 0 auto}.wl-logo img{height:28px;width:auto}.wl-foot .wl-logo img{height:24px}.wl-links{display:flex;gap:4px;margin:0 auto}.wl-links a{position:relative;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--wl-ink-2);font:500 12px var(--wl-mono);letter-spacing:.08em;text-transform:uppercase;transition:color .2s,background .2s}.wl-links a:hover{color:var(--wl-ink);background:var(--wl-line-2)}.wl-links a.is-on{color:var(--wl-ink)}.wl-links a.is-on:after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--wl-blue)}.wl-nav-end{display:flex;align-items:center;gap:10px;margin-left:auto}.wl-links+.wl-nav-end{margin-left:0}.wl-theme{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:10px;cursor:pointer;border:1px solid var(--wl-line);background:transparent;color:var(--wl-ink-2);transition:color .2s,border-color .2s}.wl-theme:hover{color:var(--wl-ink);border-color:var(--wl-ink-3)}.wl-theme svg{width:16px;height:16px}.wl-signin{background:none;border:0;padding:8px 10px;font:500 14px var(--wl-sans);color:var(--wl-ink-2);cursor:pointer;border-radius:8px}.wl-signin:hover{color:var(--wl-ink);background:var(--wl-line-2)}.wl-menu{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--wl-line);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.wl-menu i{display:block;width:16px;height:1.6px;border-radius:2px;background:var(--wl-ink);transition:transform .25s}.wl-menu[aria-expanded=true] i:first-child{transform:translateY(3.3px) rotate(45deg)}.wl-menu[aria-expanded=true] i:last-child{transform:translateY(-3.3px) rotate(-45deg)}.wl-sheetnav{position:sticky;top:64px;z-index:19;display:flex;flex-direction:column;gap:2px;padding:10px var(--wl-pad) 18px;background:var(--wl-paper-2);border-bottom:1px solid var(--wl-line);box-shadow:var(--wl-shadow)}.wl-sheetnav[hidden]{display:none}.wl-sheetnav a{padding:12px 4px;text-decoration:none;font:500 13px var(--wl-mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--wl-line-2)}.wl-sheetnav .wl-btn{margin-top:12px}.wl-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:11px;border:1px solid transparent;font:600 15px var(--wl-sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;white-space:nowrap;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.1,1),box-shadow .25s,background .25s,border-color .25s,color .25s}.wl-btn:focus-visible,.wl-links a:focus-visible,#home button:focus-visible{outline:2px solid var(--wl-blue);outline-offset:2px}.wl-go{background:var(--wl-yellow);color:#0b1430;box-shadow:inset 0 1px #ffffff8c,0 1px 2px #a24e0740,0 12px 26px -12px #e07b00bf}.wl-go:hover{background:var(--wl-yellow-2);transform:translateY(-1px);box-shadow:inset 0 1px #fff9,0 2px 4px #a24e0733,0 18px 34px -14px #e07b00cc}.wl-go:after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;transform:skew(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transition:left .7s}.wl-go:hover:after{left:130%}.wl-line{background:transparent;color:var(--wl-ink);border-color:color-mix(in srgb,var(--wl-ink) 20%,transparent)}.wl-line:hover{border-color:var(--wl-ink);transform:translateY(-1px)}.wl-sm{height:36px;padding:0 15px;font-size:13.5px;border-radius:9px}.wl-arrow{display:inline-block;transition:transform .25s}.wl-btn:hover .wl-arrow{transform:translate(4px)}.wl-main{overflow:clip}.wl-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4vw,64px);align-items:center;max-width:var(--wl-max);margin:0 auto;min-height:calc(100vh - 64px);padding:28px var(--wl-pad) 64px;box-sizing:border-box}.wl-badge{display:inline-flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border-radius:999px;text-decoration:none;border:1px solid var(--wl-line);background:var(--wl-card);font:500 13px var(--wl-sans);color:var(--wl-ink-2);transition:border-color .25s,color .25s;animation:wl-up .8s .05s both}.wl-badge b{padding:3px 8px;border-radius:999px;background:var(--wl-yellow);color:#0b1430;font:700 10.5px var(--wl-mono);letter-spacing:.08em}.wl-badge i{font-style:normal;transition:transform .25s}.wl-badge:hover{border-color:var(--wl-blue);color:var(--wl-ink)}.wl-badge:hover i{transform:translate(3px)}.wl-h1{margin:26px 0 22px;font-size:clamp(50px,6.4vw,104px);line-height:.96;letter-spacing:-.048em;font-weight:620}.wl-ln{display:block;overflow:hidden;padding-bottom:.26em;margin-bottom:-.26em}.wl-ln>span{display:inline-block;animation:wl-rise 1s cubic-bezier(.2,.75,.1,1) both}.wl-ln:nth-child(2)>span{animation-delay:.12s}.wl-h1 em{position:relative;font-style:normal;color:var(--wl-blue);white-space:nowrap}.wl-h1 em:after{content:"";position:absolute;left:.02em;right:.32em;bottom:-.05em;height:.17em;border-left:2px solid var(--wl-yellow);border-right:2px solid var(--wl-yellow);background:linear-gradient(var(--wl-yellow),var(--wl-yellow)) 0 50%/100% 2px no-repeat;transform-origin:left;animation:wl-dim .9s .75s cubic-bezier(.2,.7,.1,1) both}.wl-lede{max-width:33em;margin:0;font-size:clamp(16px,1.3vw,19px);line-height:1.62;color:var(--wl-ink-2);animation:wl-up .9s .25s both}.wl-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;animation:wl-up .9s .38s both}.wl-facts{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:30px 0 0;padding:0;font:500 11.5px var(--wl-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wl-ink-3);animation:wl-up .9s .5s both}.wl-facts li:before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;vertical-align:1px;background:var(--wl-yellow);transform:rotate(45deg)}@keyframes wl-rise{0%{transform:translateY(105%)}to{transform:none}}@keyframes wl-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes wl-dim{0%{transform:scaleX(0);opacity:0}to{transform:none;opacity:1}}.wl-fig{margin:0;position:relative;animation:wl-up 1.1s .2s both}.wl-sheet{position:relative;aspect-ratio:640/470;border:1px solid var(--wl-line);border-radius:16px;overflow:hidden;background:var(--wl-paper-2);box-shadow:var(--wl-shadow)}.wl-sheet:before{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1px solid var(--wl-line);border-radius:4px;pointer-events:none}.wl-sheet:after{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;pointer-events:none;opacity:.7;background-image:linear-gradient(var(--wl-line-2) 1px,transparent 1px),linear-gradient(90deg,var(--wl-line-2) 1px,transparent 1px);background-size:20px 20px}.wl-zones{position:absolute;display:flex;justify-content:space-around;pointer-events:none;font:500 9px var(--wl-mono);color:var(--wl-ink-3);letter-spacing:.1em}.wl-zones-top{left:16px;right:16px;top:3px}.wl-zones-side{top:16px;bottom:16px;left:4px;flex-direction:column;align-items:center}.wl-fig-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;color:var(--wl-ink);overflow:visible}.wl-prompt{position:absolute;z-index:2;top:28px;left:28px;max-width:58%;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:10px;background:var(--wl-card);border:1px solid var(--wl-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:500 12.5px/1.35 var(--wl-sans);color:var(--wl-ink);box-shadow:0 8px 20px -14px #0b143066}.wl-prompt-g{flex:0 0 auto;padding:3px 8px;border-radius:7px;background:var(--wl-yellow);color:#0b1430;font:700 10px var(--wl-mono);letter-spacing:.08em;text-transform:uppercase}.wl-prompt-t{min-width:0;min-height:1.35em}.wl-caret{flex:0 0 auto;width:1.5px;height:14px;margin-left:-6px;background:var(--wl-blue);animation:wl-blink 1s steps(1) infinite}@keyframes wl-blink{50%{opacity:0}}.wl-steps{position:absolute;z-index:2;top:28px;right:28px;margin:0;padding:8px 10px;list-style:none;border-radius:10px;background:var(--wl-card);border:1px solid var(--wl-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:500 10px var(--wl-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--wl-ink-3)}.wl-steps li{display:grid;grid-template-columns:20px 62px auto;align-items:center;gap:6px;padding:2.5px 0;transition:color .3s}.wl-steps i{display:inline-grid;place-items:center;width:18px;height:14px;border-radius:3px;font-style:normal;font-size:8.5px;border:1px solid var(--wl-line);transition:background .3s,color .3s,border-color .3s}.wl-steps em{font-style:normal;color:var(--wl-ink-3);text-transform:none;letter-spacing:.02em}.wl-steps li.is-on{color:var(--wl-ink)}.wl-steps li.is-on i{background:var(--wl-yellow);border-color:var(--wl-yellow);color:#0b1430;animation:wl-pulse 1.1s ease-in-out infinite}.wl-steps li.is-done{color:var(--wl-ink)}.wl-steps li.is-done i{background:var(--wl-blue);border-color:var(--wl-blue);color:#fff}@keyframes wl-pulse{50%{box-shadow:0 0 0 4px var(--wl-yellow-soft)}}.wl-tb{position:absolute;z-index:2;right:28px;bottom:28px;display:grid;grid-template-columns:auto auto;border:1px solid var(--wl-line);border-radius:4px;background:var(--wl-card);font:500 9px var(--wl-mono);letter-spacing:.1em}.wl-tb div{padding:4px 9px;border-right:1px solid var(--wl-line-2);border-bottom:1px solid var(--wl-line-2)}.wl-tb div:nth-child(2n){border-right:0}.wl-tb div:nth-last-child(-n+2){border-bottom:0}.wl-tb span{display:block;color:var(--wl-ink-3);font-size:8px}.wl-tb b{display:block;color:var(--wl-ink);font-size:10.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.wl-fig-ctrl{position:absolute;z-index:2;left:28px;bottom:28px;display:flex;gap:4px}.wl-fig-ctrl button{height:24px;min-width:30px;padding:0 7px;border-radius:7px;border:1px solid var(--wl-line);background:var(--wl-card);color:var(--wl-ink-3);font:600 10px var(--wl-mono);letter-spacing:.06em;cursor:pointer;transition:color .2s,border-color .2s}.wl-fig-ctrl button:hover{color:var(--wl-ink)}.wl-fig-ctrl button.is-on{color:var(--wl-ink);border-color:var(--wl-ink)}.wl-pause{display:inline-flex!important;align-items:center;justify-content:center;gap:3px}.wl-pause i{width:2.5px;height:9px;border-radius:1px;background:currentColor}.wl-pause.is-paused i:first-child{width:0;height:0;border-radius:0;background:none;border-left:7px solid currentColor;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}.wl-pause.is-paused i:last-child{display:none}.wl-art path,.wl-art line,.wl-art polyline,.wl-art ellipse,.wl-art circle,.wl-art rect{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.wl-art .hid{stroke-dasharray:4 4;opacity:.4}.wl-art .acc{stroke:var(--wl-blue);stroke-width:1.7}.wl-art .gen{stroke:var(--wl-yellow);stroke-width:1.8}.wl-art .dim{stroke:var(--wl-ink-3);stroke-width:.9}.wl-art .cl{stroke:var(--wl-ink-3);stroke-width:.8;stroke-dasharray:10 3 2 3;opacity:.7}.wl-art .face{fill:var(--wl-blue-soft);stroke:none}.wl-art .face-y{fill:var(--wl-yellow-soft);stroke:none}.wl-art text{fill:currentColor;stroke:none;font:500 10px var(--wl-mono);letter-spacing:.04em}.wl-art text.sm{font-size:8.5px;fill:var(--wl-ink-3)}.wl-art .tag rect{fill:var(--wl-paper-2);stroke:var(--wl-line)}.wl-art .tag text{font-size:10px;font-weight:600}.wl-art .tag .ok{fill:var(--wl-good)}.wl-art .draw{stroke-dasharray:1 2;stroke-dashoffset:1.01}.wl-art .is-in .draw,.wl-art.is-in .draw{stroke-dashoffset:0;transition:stroke-dashoffset var(--du,.9s) cubic-bezier(.45,.05,.3,1) var(--dl,0s)}.wl-art .pop{opacity:0;transform:translateY(4px);transition:opacity .45s var(--dl,0s),transform .45s var(--dl,0s)}.wl-art .is-in .pop,.wl-art.is-in .pop{opacity:1;transform:none}.wl-art .fade{transition:opacity .6s}.wl-art .arw{fill:var(--wl-ink-3);stroke:none}.wl-art .hole{fill:color-mix(in srgb,var(--wl-ink) 14%,transparent)}.wl-art .face-cap{fill:var(--wl-paper-2)}.wl-art .ln{stroke-width:1.05}.wl-art .soft{stroke-width:.65;opacity:.45}.wl-art .chip rect{fill:var(--wl-paper-2);stroke:var(--wl-line)}.wl-art .chip text{font:600 8px var(--wl-mono);letter-spacing:.06em;fill:var(--wl-ink)}.wl-strip{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 auto;padding:0;max-width:var(--wl-max);border-block:1px solid var(--wl-line);box-sizing:border-box}.wl-strip li{padding:30px 26px 32px;border-right:1px solid var(--wl-line-2)}.wl-strip li:last-child{border-right:0}.wl-strip i{font:600 11px var(--wl-mono);font-style:normal;color:var(--wl-blue);letter-spacing:.08em}.wl-strip b{display:block;margin:12px 0 8px;font-size:17px;font-weight:600;letter-spacing:-.01em}.wl-strip span{display:block;font-size:14px;line-height:1.6;color:var(--wl-ink-2)}.wl-sec{position:relative;max-width:var(--wl-max);margin:0 auto;padding:clamp(80px,12vh,150px) var(--wl-pad) 0;box-sizing:border-box}.wl-sec-meta{display:flex;align-items:center;gap:22px;padding-top:16px;margin-bottom:44px;border-top:1px solid var(--wl-line);font:500 11px var(--wl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--wl-ink-3)}.wl-count b{display:inline-block;color:var(--wl-blue);font-weight:600}.wl-count.is-tick b{animation:wl-tick .5s cubic-bezier(.2,.7,.1,1)}@keyframes wl-tick{0%{transform:translateY(-70%);opacity:0}to{transform:none;opacity:1}}.wl-sec-head h2{margin:0 0 20px;font-size:clamp(38px,4.7vw,70px);line-height:1.02;letter-spacing:-.04em;font-weight:620}.wl-sec-head h2 em{font-style:normal;color:var(--wl-blue)}.wl-sec-head p{margin:0;max-width:38em;font-size:17.5px;line-height:1.62;color:var(--wl-ink-2)}.wl-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}.wl-split-rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.wl-left{position:sticky;top:110px}.wl-orb{display:inline-block;flex:0 0 auto;width:14px;height:14px;border-radius:50%;background:conic-gradient(from 0deg,var(--wl-yellow),var(--wl-blue),transparent 70%,var(--wl-yellow));-webkit-mask:radial-gradient(circle,transparent 42%,#000 46%);mask:radial-gradient(circle,transparent 42%,#000 46%);animation:wl-spin 1.1s linear infinite}@keyframes wl-spin{to{transform:rotate(360deg)}}.wl-player{margin-top:48px;border:1px solid var(--wl-line);border-radius:18px;overflow:hidden;background:var(--wl-paper-2);box-shadow:var(--wl-shadow)}.wl-player-bar{display:flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-bottom:1px solid var(--wl-line)}.wl-player-bar i{width:10px;height:10px;border-radius:50%;background:var(--wl-line)}.wl-player-url{margin-left:12px;padding:4px 12px;border-radius:7px;background:var(--wl-paper);font:500 11px var(--wl-mono);letter-spacing:.04em;color:var(--wl-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.wl-player-t{margin-left:auto;padding-left:12px;font:600 11px var(--wl-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--wl-ink-2);white-space:nowrap}.wl-player-screen{position:relative;aspect-ratio:16/10;background:#eef1f6;cursor:pointer}.wl-player-screen video{display:block;width:100%;height:100%;object-fit:cover}.wl-player-real{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:#0b1430cc;color:#fff;font:600 10.5px var(--wl-mono);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.wl-player-real:before{content:"";width:7px;height:7px;border-radius:50%;background:#ff5a5f;box-shadow:0 0 0 3px #ff5a5f47}.wl-player-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:0;background:var(--wl-yellow);color:#0b1430;cursor:pointer;box-shadow:0 0 0 8px #ffb54740,0 18px 40px -14px #0b14308c;transition:transform .2s,opacity .25s}.wl-player-play svg{width:28px;height:28px;margin-left:4px}.wl-player-play:hover{transform:scale(1.06)}.wl-player.is-playing .wl-player-play{opacity:0;pointer-events:none}.wl-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:16px 0 0;padding:0}.wl-chapters button{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:10px 10px 18px;border:1px solid var(--wl-line);border-radius:14px;background:var(--wl-card);color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .25s,background .25s,transform .25s}.wl-chapters button:hover{background:var(--wl-paper-2);transform:translateY(-2px)}.wl-chapters li.is-on button{border-color:var(--wl-ink);background:var(--wl-paper-2)}.wl-chapters img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-bottom:12px;border-radius:8px;border:1px solid var(--wl-line-2);background:var(--wl-paper)}.wl-chapters i{font:600 11px var(--wl-mono);font-style:normal;color:var(--wl-blue);letter-spacing:.08em}.wl-chapters b{display:block;margin:6px 0 4px;font-size:15.5px;font-weight:600;letter-spacing:-.01em}.wl-chapters span{display:block;font-size:13px;line-height:1.5;color:var(--wl-ink-2)}.wl-chapters u{position:absolute;left:0;bottom:0;height:3px;width:calc(var(--p, 0) * 100%);background:var(--wl-blue);text-decoration:none;transition:width .3s linear}.wl-caps{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--wl-line)}.wl-caps li{border-bottom:1px solid var(--wl-line)}.wl-caps button{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;width:100%;padding:17px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--wl-ink-3);font:600 20px var(--wl-sans);letter-spacing:-.015em;transition:color .3s}.wl-caps button:hover,.wl-caps li.is-on button{color:var(--wl-ink)}.wl-caps i{font:600 11px var(--wl-mono);font-style:normal;letter-spacing:.08em;color:var(--wl-ink-3)}.wl-caps li.is-on i{color:var(--wl-blue)}.wl-caps u{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--wl-blue);text-decoration:none}.wl-caps li.is-on u{animation:wl-progress var(--cap-ms,5.2s) linear forwards}.wl-caps.is-held li.is-on u{animation-play-state:paused}@keyframes wl-progress{to{width:100%}}.wl-caps p{margin:0 0 0 44px;max-height:0;overflow:hidden;opacity:0;font-size:15px;line-height:1.6;color:var(--wl-ink-2);transition:max-height .5s cubic-bezier(.2,.7,.1,1),opacity .4s,margin .5s}.wl-caps li.is-on p{max-height:120px;opacity:1;margin-bottom:18px}.wl-window{position:sticky;top:100px;border:1px solid var(--wl-line);border-radius:16px;overflow:hidden;background:var(--wl-paper-2);box-shadow:var(--wl-shadow)}.wl-window-bar{display:flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-bottom:1px solid var(--wl-line)}.wl-window-bar i{width:10px;height:10px;border-radius:50%;background:var(--wl-line)}.wl-window-t{margin-left:10px;font:500 11px var(--wl-mono);letter-spacing:.06em;color:var(--wl-ink-3)}.wl-caps-svg{display:block;width:100%;height:auto;aspect-ratio:16/10;color:var(--wl-ink);background-image:radial-gradient(var(--wl-line-2) 1px,transparent 1.2px);background-size:18px 18px}.wl-caps-video{position:absolute;left:0;right:0;bottom:0;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;display:none;background:#eef1f6}.wl-window.is-video .wl-caps-video{display:block}.wl-window.is-video .wl-caps-svg{visibility:hidden}.wl-hub-svg{display:block;width:100%;height:auto;color:var(--wl-ink);overflow:visible}.wl-hub-svg .node rect{fill:var(--wl-paper-2);stroke:var(--wl-line)}.wl-hub-svg .node text{fill:var(--wl-ink);font:600 12px var(--wl-mono);letter-spacing:.06em}.wl-hub-svg .node.out rect{stroke:color-mix(in srgb,var(--wl-yellow) 60%,transparent)}.wl-hub-svg .node.dxg rect{fill:var(--wl-yellow);stroke:var(--wl-yellow)}.wl-hub-svg .node.dxg text{fill:#0b1430}.wl-hub-svg .wire{stroke:var(--wl-line);stroke-width:1.2;fill:none;stroke-dasharray:3 4}.wl-hub-svg .pkt-in{fill:var(--wl-blue)}.wl-hub-svg .pkt-out{fill:var(--wl-yellow)}.wl-hub-svg .core{fill:var(--wl-paper-2);stroke:var(--wl-ink);stroke-width:1.4}.wl-hub-svg .ring{fill:none;stroke:var(--wl-blue);stroke-width:1;opacity:.35;transform-origin:260px 220px;transform-box:view-box;animation:wl-ring 3.2s ease-out infinite}.wl-hub-svg .ring.r2{animation-delay:1.6s}.wl-hub-svg text.lbl{fill:var(--wl-ink-3);font:500 10px var(--wl-mono);letter-spacing:.12em}@keyframes wl-ring{0%{transform:scale(.55);opacity:.5}to{transform:scale(1.35);opacity:0}}.wl-io{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;margin:30px 0 0}.wl-io dt{font:500 11px/22px var(--wl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--wl-ink-3)}.wl-io dd{margin:0;font-size:16px;line-height:22px;font-weight:500}.wl-vault{display:block;width:min(360px,100%);height:auto;margin:0 0 22px;color:var(--wl-ink);overflow:visible}.wl-cards{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--wl-line);border-radius:18px;overflow:hidden}.wl-card{padding:30px 28px 32px;background:var(--wl-card);border-right:1px solid var(--wl-line-2);border-bottom:1px solid var(--wl-line-2);transition:background .3s}.wl-card:nth-child(2n){border-right:0}.wl-card:nth-last-child(-n+2){border-bottom:0}.wl-card:hover{background:var(--wl-paper-2)}.wl-card svg{width:26px;height:26px;fill:none;stroke:var(--wl-blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wl-card b{display:block;margin:16px 0 8px;font-size:19px;font-weight:600;letter-spacing:-.015em}.wl-card span{display:block;font-size:14.5px;line-height:1.6;color:var(--wl-ink-2)}@property --wl-ang{syntax:"<angle>";initial-value:0deg;inherits:false}.wl-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;align-items:stretch}.wl-plan{position:relative;display:flex;flex-direction:column;gap:20px;padding:28px 26px 30px;border:1px solid var(--wl-line);border-radius:20px;background:var(--wl-paper-2);transition:transform .35s cubic-bezier(.2,.7,.1,1),box-shadow .35s}.wl-plan:hover{transform:translateY(-5px);box-shadow:var(--wl-shadow)}.wl-plan-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.wl-plan-h b{font:600 12px var(--wl-mono);letter-spacing:.14em;text-transform:uppercase}.wl-plan-h span{font-size:12.5px;color:var(--wl-ink-3)}.wl-price{display:flex;align-items:baseline;gap:8px}.wl-price b{font-size:46px;font-weight:620;letter-spacing:-.04em;line-height:1}.wl-price span{font-size:14px;color:var(--wl-ink-3)}.wl-plan .wl-btn{width:100%}.wl-plan ul{display:grid;gap:11px;list-style:none;margin:2px 0 0;padding:0;font-size:14.5px;line-height:1.45;color:var(--wl-ink-2)}.wl-plan li{display:grid;grid-template-columns:20px 1fr}.wl-plan li:before{content:"";width:10px;height:6px;margin-top:5px;border-left:1.8px solid var(--wl-blue);border-bottom:1.8px solid var(--wl-blue);transform:rotate(-45deg)}.wl-plan-top{border:1.5px solid transparent;background:linear-gradient(var(--wl-paper-2),var(--wl-paper-2)) padding-box,conic-gradient(from var(--wl-ang),var(--wl-yellow),var(--wl-blue) 30%,var(--wl-yellow) 55%,var(--wl-blue) 80%,var(--wl-yellow)) border-box;animation:wl-ang 7s linear infinite}.wl-plan-top:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:inherit;filter:blur(28px);opacity:.5;background:conic-gradient(from var(--wl-ang),var(--wl-yellow),var(--wl-blue),var(--wl-yellow));animation:wl-ang 7s linear infinite}@keyframes wl-ang{to{--wl-ang:360deg}}.wl-tag{padding:3px 9px;border-radius:999px;background:var(--wl-yellow);color:#0b1430!important;font:700 10px var(--wl-mono)!important;letter-spacing:.1em;text-transform:uppercase}.wl-plans-note{max-width:62em;margin:22px 0 0;font-size:13.5px;line-height:1.6;color:var(--wl-ink-3)}.wl-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wl-post{display:flex;flex-direction:column;gap:8px;padding:12px 12px 18px;border:1px solid var(--wl-line);border-radius:18px;background:var(--wl-card);color:var(--wl-ink);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}.wl-post:hover{border-color:var(--wl-blue);background:var(--wl-paper-2);transform:translateY(-2px)}.wl-post img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:11px;border:1px solid var(--wl-line-2);margin-bottom:6px}.wl-post-tags{font:600 11.5px/1.2 var(--wl-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--wl-blue)}.wl-post b{font-size:19px;line-height:1.28;font-weight:600;letter-spacing:-.015em}.wl-post-sum{font-size:14.5px;line-height:1.6;color:var(--wl-ink-2)}.wl-post time{margin-top:auto;padding-top:4px;font:12.5px/1.2 var(--wl-mono);color:var(--wl-ink-3)}.wl-posts-all{margin:22px 0 0;font-size:15px}.wl-posts-all a{color:var(--wl-blue);font-weight:600;text-decoration:none}.wl-posts-all a:hover{text-decoration:underline}.wl-split-faq{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.wl-faq-big{position:sticky;top:110px}.wl-faq-word{width:100%;height:auto;overflow:visible}.wl-faq-word text{font:620 150px var(--wl-sans);letter-spacing:-.05em;fill:transparent;stroke:var(--wl-ink);stroke-width:2.4;paint-order:stroke;stroke-dasharray:4000;stroke-dashoffset:4000;transition:stroke-dashoffset 3.2s cubic-bezier(.4,0,.2,1),fill 1s 2.2s}.rev-in .wl-faq-word text{stroke-dashoffset:0;fill:color-mix(in srgb,var(--wl-blue) 10%,var(--wl-paper))}.wl-faq{border-top:1px solid var(--wl-line)}.wl-q{border-bottom:1px solid var(--wl-line)}.wl-q button{display:grid;grid-template-columns:46px 1fr 22px;align-items:center;width:100%;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--wl-ink);font:500 18.5px var(--wl-sans);letter-spacing:-.01em}.wl-q button i{font:600 11px var(--wl-mono);font-style:normal;letter-spacing:.08em;color:var(--wl-ink-3)}.wl-q button u{position:relative;width:14px;height:14px;justify-self:end}.wl-q button u:before,.wl-q button u:after{content:"";position:absolute;left:0;right:0;top:6px;height:1.6px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.2,.7,.1,1)}.wl-q button u:after{transform:rotate(90deg)}.wl-q button[aria-expanded=true] u:after{transform:rotate(0)}.wl-q button[aria-expanded=true] i{color:var(--wl-blue)}.wl-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.1,1)}.wl-a>div{overflow:hidden}.wl-q button[aria-expanded=true]+.wl-a{grid-template-rows:1fr}.wl-a p{margin:0 0 24px 46px;max-width:44em;font-size:15.5px;line-height:1.68;color:var(--wl-ink-2)}.wl-a a{color:var(--wl-blue)}.wl-final{position:relative;max-width:var(--wl-max);margin:0 auto;padding:clamp(110px,18vh,200px) var(--wl-pad) calc(min(1264px,96vw)*.32 + 24px);text-align:center;box-sizing:border-box}.wl-final-mark{position:absolute;left:50%;bottom:0;width:min(1264px,96vw);height:auto;transform:translate(-50%);color:var(--wl-ink);pointer-events:none;overflow:visible}.wl-final .wl-line{background:var(--wl-paper)}.wl-final-mark .wl-mark-word{font:620 228px var(--wl-sans);letter-spacing:-.05em;fill:transparent;stroke:color-mix(in srgb,var(--wl-ink-3) 55%,var(--wl-paper));stroke-width:2.2;paint-order:stroke;stroke-dasharray:16000;stroke-dashoffset:16000}.wl-final-mark .is-in .wl-mark-word{stroke-dashoffset:0;fill:var(--wl-paper);transition:stroke-dashoffset 5s cubic-bezier(.4,0,.2,1),fill 1s 3.8s}.wl-final-in{position:relative;z-index:1}.wl-final h2{margin:0;font-size:clamp(46px,7.4vw,118px);line-height:.98;letter-spacing:-.05em;font-weight:620}.wl-final h2 em{font-style:normal;color:var(--wl-blue)}.wl-final p{margin:20px 0 0;font-size:19px;color:var(--wl-ink-2)}.wl-final .wl-ctas{justify-content:center;animation:none}.wl-foot{border-top:1px solid var(--wl-line);background:color-mix(in srgb,var(--wl-paper-2) 70%,transparent);padding:52px var(--wl-pad) 0}.wl-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;max-width:var(--wl-max);margin:0 auto}.wl-foot-grid p{margin:12px 0 0;font-size:14px;color:var(--wl-ink-3)}.wl-foot-grid b{display:block;margin-bottom:6px;font:600 11px var(--wl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--wl-ink-3)}.wl-foot-grid a,.wl-linkbtn{display:block;margin-top:10px;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:400 14.5px var(--wl-sans);color:var(--wl-ink-2);text-decoration:none;transition:color .2s}.wl-foot-grid a:hover,.wl-linkbtn:hover{color:var(--wl-blue)}.wl-foot-line{max-width:var(--wl-max);margin:44px auto 0;padding:24px 0 28px;border-top:1px solid var(--wl-line-2);text-align:center;font:500 11px var(--wl-mono);letter-spacing:.08em;color:var(--wl-ink-3)}.wl-float{position:fixed;right:20px;bottom:20px;z-index:25;display:flex;align-items:center;gap:10px;padding:7px 8px 7px 14px;border-radius:999px;background:var(--wl-paper-2);border:1px solid var(--wl-line);box-shadow:var(--wl-shadow);font-size:13.5px;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s;pointer-events:none}.wl-float[hidden]{display:none}.wl-float.is-on{opacity:1;transform:none;pointer-events:auto}.wl-float-x{width:28px;height:28px;border-radius:50%;border:0;background:none;color:var(--wl-ink-3);cursor:pointer;font-size:12px}.wl-float-x:hover{color:var(--wl-ink);background:var(--wl-line-2)}#home.auth-open>:not(.hm-auth){filter:blur(10px) brightness(.8);pointer-events:none;-webkit-user-select:none;user-select:none}:root[data-theme=dark] #home.auth-open>:not(.hm-auth){filter:blur(10px) brightness(.5)}#home.auth-open .wl-float{display:none}.hm-auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b143038;overflow-y:auto}.hm-auth[hidden]{display:none}.hm-auth-card{position:relative;margin:auto;width:400px;max-width:94vw;background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;padding:30px 32px;box-shadow:0 30px 80px -30px #0b14308c;display:flex;flex-direction:column;gap:14px;animation:wl-up .35s both;font-family:var(--wl-sans)}.hm-auth-x{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--txt-faint);font-size:15px;cursor:pointer}.hm-auth-x:hover,.hm-auth-card .landing-logo{color:var(--txt)}.hm-auth-card .btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));border:0;font-family:inherit;color:#fff}.hm-auth-card .dlg-input{height:42px;padding:0 12px;font-size:14px;border-radius:9px;border-color:var(--line)}.hm-auth-card .dlg-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.hm-auth-card .landing-go{height:44px;padding:0;margin-top:4px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.hm-auth-card .landing-go:disabled{opacity:.7;cursor:default}.hm-auth-card .landing-ok{color:var(--good)}.hm-gbtn{display:flex;justify-content:center;min-height:40px}.hm-or{display:flex;align-items:center;gap:10px;color:var(--txt-faint);font-size:11px;letter-spacing:1px}.hm-or:before,.hm-or:after{content:"";flex:1;height:1px;background:var(--line-soft)}.hm-auth-legal{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--txt-faint);text-align:center}.hm-auth-legal a{color:inherit;text-decoration:underline}@media (max-width:1180px){.wl-hero{grid-template-columns:1fr;min-height:0;padding-top:40px}.wl-hero-text{max-width:760px}.wl-fig{max-width:820px}.wl-chapters{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,34%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}.wl-chapters li{scroll-snap-align:start}}@media (max-width:980px){.wl-posts{grid-template-columns:repeat(3,minmax(250px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.wl-post{scroll-snap-align:start}.wl-links{display:none}.wl-menu{display:inline-flex}.wl-nav .wl-signin{display:none}.wl-strip{grid-template-columns:1fr 1fr}.wl-strip li:nth-child(2){border-right:0}.wl-strip li:nth-child(-n+2){border-bottom:1px solid var(--wl-line-2)}.wl-split,.wl-split-rev,.wl-split-faq{grid-template-columns:1fr}.wl-split-rev .wl-hub{order:2}.wl-left,.wl-window,.wl-faq-big{position:static}.wl-caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:28px;border-top:0}.wl-caps li{display:contents}.wl-caps button{grid-template-columns:30px 1fr;padding:12px 14px;border:1px solid var(--wl-line);border-radius:12px;background:var(--wl-card);overflow:hidden;font-size:17px}.wl-caps li.is-on button{border-color:var(--wl-ink)}.wl-caps u{bottom:0}.wl-caps p{display:none}.wl-caps li.is-on p{display:block;grid-column:1/-1;order:1;max-height:none;margin:6px 2px 0}.wl-faq-big{max-width:320px}.wl-plans{grid-template-columns:1fr;max-width:520px}.wl-foot-grid{grid-template-columns:1fr 1fr}.wl-foot-brand{grid-column:1/-1}}@media (max-width:640px){.wl-nav{gap:12px}.wl-logo img{height:24px}.wl-theme{width:34px;height:34px}.wl-hero{padding-top:28px;gap:36px}.wl-chapters{grid-auto-columns:72%}.wl-player-url{display:none}.wl-player-real{left:10px;bottom:10px;font-size:9.5px}.wl-strip{grid-template-columns:1fr}.wl-strip li{border-right:0;border-bottom:1px solid var(--wl-line-2)}.wl-cards{grid-template-columns:1fr}.wl-card{border-right:0!important;border-bottom:1px solid var(--wl-line-2)!important}.wl-card:last-child{border-bottom:0!important}.wl-steps,.wl-tb{display:none}.wl-sheet{aspect-ratio:640/760}.wl-prompt{max-width:calc(100% - 56px)}.wl-final-mark .gl{display:none}.wl-caps button{grid-template-columns:1fr;padding:11px 6px;font-size:15px;text-align:center}.wl-caps i{display:none}.wl-q button{font-size:16.5px;grid-template-columns:36px 1fr 22px}.wl-a p{margin-left:36px}.wl-float{left:12px;right:12px;bottom:12px;justify-content:space-between}}@media (prefers-reduced-motion:reduce){#home *,#home *:before,#home *:after{animation:none!important;transition:none!important}:root.wl-js #home [data-rev]{opacity:1;transform:none}.wl-art .draw{stroke-dashoffset:0!important}.wl-art .pop{opacity:1!important;transform:none!important}.wl-faq-word text{stroke-dashoffset:0;fill:color-mix(in srgb,var(--wl-blue) 10%,var(--wl-paper))}}#drawing-overlay{--dwg-paper:#fbfbf7;--dwg-paper-ink:#5a6b78;--dwg-room-top:calc(var(--gutter) + var(--toolbar-h) + 8px);--dwg-room-bottom:var(--gutter);background-color:var(--stage);background-image:radial-gradient(var(--stage-dot) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed;padding:var(--dwg-room-top) var(--gutter) var(--dwg-room-bottom)}#viewport-container:has(>#ai-cmdbar:not(.hidden))>#drawing-overlay{--dwg-room-bottom:calc(2 * var(--gutter) + 52px)}#workspace:has(>#right-panel:not(.hidden)) #drawing-overlay{padding-right:calc(var(--rp-shift,268px) + 2 * var(--gutter))}.dwg-sheet{width:min(100cqw,1400px,calc(100cqh * 1000 / 680));background:var(--dwg-paper);border-radius:2px;box-shadow:0 0 0 1px var(--island-line),var(--shadow-lg)}.dwg-empty{color:var(--dwg-paper-ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;padding:0 48px}.dwg-sheet .dwg-hl,.dwg-sheet .dwg-snap{stroke:var(--accent)}.dwg-sheet .dwg-snapdot,.dwg-sheet .dwg-pick{fill:var(--accent)}.dwg-sheet .dwg-cmark{stroke:var(--accent);opacity:.45}.dwg-sheet .dwg-cmark.hot{opacity:1}.dwg-sheet :is(.dwg-dim-live,.dwg-dim-hover,.dwg-dim-sel) :is(line,path[fill=none]){stroke:var(--accent)}.dwg-sheet :is(.dwg-dim-live,.dwg-dim-hover,.dwg-dim-sel) path:not([fill=none]){fill:var(--accent)}.dwg-sheet :is(.dwg-dim-live,.dwg-dim-hover,.dwg-dim-sel) text{fill:var(--accent-fill)}.dwg-sheet .dwg-dim-sel text{font-weight:650;paint-order:stroke;stroke-linejoin:round;stroke-width:5px;stroke:color-mix(in srgb,var(--accent) 24%,transparent)}#proj-ghost :is(line,path,rect){stroke:var(--accent)}#proj-ghost rect{fill:var(--accent-soft)}#proj-ghost text{fill:var(--accent-fill)}#drawing-overlay svg>circle[fill="#0c79e8"]{fill:var(--accent)}.tree-row.dwg-vrow{min-height:48px;margin:2px 6px;padding:3px 10px 3px 4px;gap:10px}.tree-row .tw-ico.dwg-vthumb{width:52px;height:42px;flex:0 0 52px;border-radius:7px;background:var(--bg-inset);border:1px solid var(--island-line);color:var(--txt-dim)}.tree-row .tw-ico.dwg-vthumb svg{width:50px;height:40px}.tree-row.dwg-vrow.selected .tw-ico.dwg-vthumb{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}#plan-board{position:absolute;left:0;right:0;top:0;bottom:72px;z-index:11;overflow:auto;padding:var(--gutter);box-sizing:border-box;background:var(--stage);container-type:inline-size;color:var(--txt)}.pb-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;justify-content:space-between;margin-bottom:var(--gutter)}.pb-top h2{font-size:20px;font-weight:650;letter-spacing:-.01em}.pb-top p{margin-top:4px;color:var(--txt-dim);font-size:13px}.pb-actions{display:flex;gap:8px}.pb-actions button{height:40px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:600}.pb-build{background:var(--genie);color:var(--genie-on)}.pb-build:hover{background:var(--genie-2)}.pb-change{background:var(--bg-3);color:var(--txt);border:1px solid var(--island-line)}.pb-change:hover{border-color:var(--line)}.pb-grid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(240px,320px);gap:var(--gutter);align-items:start}@container (max-width:900px){.pb-grid{grid-template-columns:minmax(0,1fr)}}.pb-island{background:var(--island);border:1px solid var(--island-line);border-radius:var(--island-r);box-shadow:var(--island-shadow);padding:12px 14px}.pb-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.pb-head h3{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint)}.pb-count{font-family:var(--mono);font-size:11px;color:var(--txt-faint)}.pb-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--island-line)}.pb-row:first-of-type{border-top:0}.pb-q{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12.5px;line-height:1.4;color:var(--txt-dim)}.pb-q b{font-weight:550;color:var(--txt)}.pb-tag{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:11px;white-space:nowrap;border:1px solid var(--island-line);color:var(--txt-dim)}.pb-tag.pb-yours{color:var(--txt)}.pb-tag.pb-assume{color:var(--accent-ink);background:var(--accent-soft);border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent)}.pb-mid{display:flex;flex-direction:column;gap:var(--gutter);min-width:0}.pb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:var(--gutter)}.pb-part h4{font-size:14px;font-weight:600;margin-bottom:4px}.pb-part{display:flex;flex-direction:column;gap:4px}.pb-muted{color:var(--txt-dim);font-size:12.5px;line-height:1.45}.pb-mono{font-family:var(--mono);font-size:12.5px;color:var(--txt)}.pb-fit{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:7px 0;border-top:1px solid var(--island-line)}.pb-fit:first-of-type{border-top:0}.pb-fit-parts{font-size:13px}.pb-side{display:flex;flex-direction:column;gap:var(--gutter);min-width:0}.pb-hw{display:flex;gap:8px;padding:5px 0;font-size:12.5px}.pb-check{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12.5px}.pb-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;border:2px solid var(--txt-faint)}.pb-will{margin-left:auto;font-size:11.5px;white-space:nowrap}.pb-ref{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;font-size:12.5px}.pb-ref a{color:var(--accent);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-ref a:hover{text-decoration:underline}.pb-ref-t{display:flex;align-items:baseline;gap:5px;min-width:0}.pb-ref-host{flex:0 0 auto;color:var(--txt-dim);font-size:11.5px;white-space:nowrap}.pb-note{margin-top:6px;font-size:11.5px}.pb-empty{color:var(--txt-dim);font-size:12.5px}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ai-msg .ai-fb{display:flex;align-items:center;gap:2px;height:26px;margin:5px 0 -4px -6px;white-space:normal;line-height:1}.ai-fb-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--txt-faint);cursor:pointer;transition:background-color .12s ease,color .12s ease}.ai-fb-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ai-fb-btn:hover{background:var(--hover);color:var(--txt)}.ai-fb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-fb-btn[aria-pressed=true]{color:var(--accent)}.ai-fb-btn[aria-pressed=true] svg{fill:currentColor;fill-opacity:.9}.ai-fb-btn[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.ai-fb-note{min-width:0;margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--txt-dim)}.ai-fb-note.bad{color:var(--bad)}.ai-msg.ai-fb-open{min-width:min(272px,86%);box-sizing:border-box}.ai-fb-box{display:flex;flex-direction:column;gap:7px;margin-top:6px;padding:8px;box-sizing:border-box;border:1px solid var(--island-line);border-radius:10px;background:var(--bg-inset);white-space:normal}.ai-fb-text{display:block;width:100%;box-sizing:border-box;min-height:46px;max-height:140px;resize:vertical;margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--bg-raised);color:var(--txt);font:inherit;font-size:12px;line-height:1.4}.ai-fb-text::placeholder{color:var(--txt-faint)}.ai-fb-text:focus{outline:none;border-color:var(--accent)}.ai-fb-tags{display:flex;flex-wrap:wrap;gap:4px}.ai-fb-tag{padding:3px 9px;border:1px solid var(--island-line);border-radius:999px;background:transparent;color:var(--txt-dim);font:inherit;font-size:11px;line-height:1.3;cursor:pointer}.ai-fb-tag:hover{color:var(--txt);border-color:var(--line)}.ai-fb-tag[aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-ink)}.ai-fb-tag:focus-visible,.ai-fb-send:focus-visible,.ai-fb-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-fb-acts{display:flex;align-items:center;justify-content:flex-end;gap:6px}.ai-fb-err{flex:1 1 auto;min-width:0;font-size:11px;line-height:1.3;color:var(--bad)}.ai-fb-send,.ai-fb-cancel{padding:4px 12px;border-radius:7px;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}.ai-fb-send{border:1px solid var(--accent-fill);background:var(--accent-fill);color:#fff}.ai-fb-send:hover{background:var(--accent-fill-2);border-color:var(--accent-fill-2)}.ai-fb-cancel{border:1px solid var(--island-line);background:transparent;color:var(--txt-dim)}.ai-fb-cancel:hover{color:var(--txt);background:var(--hover)}.ai-fb-send:disabled,.ai-fb-cancel:disabled{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.ai-fb-btn{transition:none}}:root{--sim-w:340px}body.sim-open #right-panel{display:none!important}body.sim-open #workspace #viewport-container #viewcube-wrap,body.sim-open #workspace #viewport-container #view-toolbar{transform:translate(calc(-1 * (var(--sim-w) + var(--gutter))))!important}body.sim-open #workspace #viewport-container #toolbar{left:calc(50% - (var(--sim-w) + var(--gutter)) / 2)!important;max-width:calc(100% - 264px - var(--sim-w) - var(--gutter))!important}body.sim-open #workspace #viewport-container #ai-cmdbar{right:calc(var(--sim-w) + var(--gutter))!important;width:min(640px,calc(100% - var(--sim-w) - 3 * var(--gutter)))!important}body.sim-open #workspace #viewport-container #mode-hint,body.sim-open #workspace #viewport-container #genie-live{left:calc(50% - (var(--sim-w) + var(--gutter)) / 2)!important}#sim-panel.sw{position:absolute;top:0;right:0;bottom:0;width:var(--sim-w);z-index:30;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;background:var(--island,#fff);border:1px solid var(--island-line,#dde2e8);border-radius:var(--island-r,14px);box-shadow:var(--island-shadow,0 8px 24px -14px rgba(20,32,58,.35));color:var(--txt);font-size:13px;line-height:1.4}.sw button{font:inherit;cursor:pointer}.sw button:disabled{cursor:default;opacity:.5}.sw svg{width:16px;height:16px;flex:0 0 auto}.sw-head{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 14px;border-bottom:1px solid var(--island-line)}.sw-head-ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink)}.sw-head-ico svg{width:18px;height:18px}.sw-head-t{flex:1;min-width:0;display:flex;flex-direction:column}.sw-head-t b{font-size:14px;font-weight:600}.sw-head-sub{font-size:11.5px;color:var(--txt-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-x{width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--txt-dim);font-size:15px}.sw-x:hover{background:var(--bg-3);color:var(--txt)}.sw-studies{padding:6px 8px 4px;border-bottom:1px solid var(--island-line);max-height:30%;overflow-y:auto;flex:0 0 auto}.sw-studies:empty{display:none}.sw-studies-h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint)}.sw-st{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 8px;border-radius:9px;cursor:pointer;color:var(--txt-dim)}.sw-st:hover{background:var(--bg-3)}.sw-st.on{background:var(--accent-soft);color:var(--accent-ink)}.sw-st:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sw-st-ico{display:flex;color:inherit}.sw-st-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550;color:var(--txt)}.sw-st-in{flex:1;min-width:0;padding:3px 6px!important}.sw-kebab{width:26px;height:26px;border:0;border-radius:7px;background:none;color:var(--txt-faint);display:flex;align-items:center;justify-content:center;opacity:.65}.sw-st:hover .sw-kebab,.sw-st.on .sw-kebab{opacity:1}.sw-kebab:hover{background:var(--bg-3);color:var(--txt)}.sw-by-genie{flex:0 0 auto;font-size:10px;font-weight:650;padding:1px 6px;border-radius:999px;background:var(--genie-soft);color:var(--genie-ink);border:1px solid var(--genie-line)}.sw-badge{flex:0 0 auto;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--bg-3);color:var(--txt-dim)}.sw-badge.ok{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.sw-badge.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.sw-badge.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.sw-badge.run{background:var(--genie-soft);color:var(--genie-ink)}.sw-tabs{display:flex;gap:4px;padding:8px 12px 0;flex:0 0 auto}.sw-tab{flex:1;position:relative;padding:7px 8px;border:0;border-radius:8px 8px 0 0;background:none;color:var(--txt-dim);font-weight:550;border-bottom:2px solid transparent}.sw-tab:hover:not(:disabled){color:var(--txt)}.sw-tab.on{color:var(--accent-ink);border-bottom-color:var(--accent)}.sw-tab-dot{position:absolute;top:8px;margin-left:5px;width:7px;height:7px;border-radius:50%;background:var(--warn)}.sw-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 12px 14px;border-top:1px solid var(--island-line);scrollbar-width:thin}.sw-sec{padding:12px 0 6px;border-bottom:1px solid var(--island-line)}.sw-sec:last-child{border-bottom:0}.sw-sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-height:24px}.sw-sec-t{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint)}.sw-hint{font-size:11.5px;color:var(--txt-faint);margin:6px 0 2px;line-height:1.45}.sw-f{margin:8px 0}.sw-f-l{font-size:11.5px;color:var(--txt-dim);margin-bottom:4px}.sw-in,.sw-sel{box-sizing:border-box;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg-inset);color:var(--txt);font:inherit;font-size:13px}.sw-in:focus,.sw-sel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sw-num{display:flex;align-items:stretch;min-width:0}.sw-num .sw-in{border-radius:8px 0 0 8px;min-width:0;font-variant-numeric:tabular-nums}.sw-num .sw-in:only-child{border-radius:8px}.sw-unit{display:flex;align-items:center;padding:0 8px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--bg-3);color:var(--txt-dim);font-family:var(--mono);font-size:11.5px;white-space:nowrap}.sw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.sw-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 6px}.sw-row{display:flex;gap:6px;align-items:stretch}.sw-row .sw-sel{flex:1}.sw-row .sw-num{flex:0 0 96px}.sw-check-l{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12.5px;cursor:pointer}.sw-check-l input{accent-color:var(--accent);width:15px;height:15px}.sw-link{border:0;background:none;padding:2px 4px;color:var(--accent-ink);font-size:12px;font-weight:550;border-radius:6px}.sw-link:hover:not(:disabled){background:var(--accent-soft)}.sw-link.on{color:var(--accent-ink)}.sw-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg-raised,#fff);color:var(--txt);font-size:12.5px}.sw-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.sw-btn.on{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.sw-add{border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);background:none;color:var(--accent-ink);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:550}.sw-add:hover{background:var(--accent-soft)}.sw-add.on{border-style:solid;background:var(--accent-fill);color:#fff;border-color:var(--accent-fill)}.sw-chips{display:flex;flex-wrap:wrap;gap:4px}.sw-chip{padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg-inset);color:var(--txt-dim);font-size:12px}.sw-chip:hover:not(:disabled){color:var(--txt);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.sw-chip.on{background:var(--accent-fill);border-color:var(--accent-fill);color:#fff}.sw-chips.sw-seg{flex-wrap:nowrap;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--bg-inset)}.sw-chips.sw-seg .sw-chip{flex:1;border:0;border-radius:0;background:none;padding:6px 4px;border-right:1px solid var(--line)}.sw-chips.sw-seg .sw-chip:last-child{border-right:0}.sw-chips.sw-seg .sw-chip.on{background:var(--accent-fill);color:#fff}.sw-presets{margin-top:6px}.sw-presets .sw-chip{font-size:11.5px;padding:3px 8px}.sw-note{display:flex;gap:9px;align-items:flex-start;margin:10px 0 2px;padding:9px 11px;border-radius:10px;font-size:12.5px;background:var(--bg-inset);border:1px solid var(--island-line)}.sw-note-dot{flex:0 0 8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent)}.sw-note.warn{background:color-mix(in srgb,var(--warn) 9%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.sw-note.warn .sw-note-dot{background:var(--warn)}.sw-note.bad{background:color-mix(in srgb,var(--bad) 9%,transparent);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.sw-note.bad .sw-note-dot{background:var(--bad)}.sw-empty-line{font-size:12.5px;color:var(--txt-faint);padding:6px 2px 8px;line-height:1.5}.sw-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sw-type{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised,#fff);color:var(--txt);text-align:left;font-weight:550;font-size:12.5px}.sw-type svg{width:18px;height:18px;color:var(--txt-dim)}.sw-type:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.sw-type.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}.sw-type.on svg{color:var(--accent-ink)}.sw-empty{padding:18px 4px 8px}.sw-empty-t{font-size:16px;font-weight:600;margin-bottom:4px}.sw-empty-s{font-size:12.5px;color:var(--txt-dim);margin-bottom:14px;line-height:1.5}.sw-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.sw-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-raised,#fff);color:var(--txt);text-align:left;min-height:104px}.sw-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 6px 18px -10px color-mix(in srgb,var(--accent) 60%,transparent)}.sw-card-ico{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-ink);margin-bottom:4px}.sw-card-ico svg{width:19px;height:19px}.sw-card-t{font-weight:600;font-size:13.5px}.sw-card-d{font-size:11.5px;color:var(--txt-dim);line-height:1.4}.sw-item-w{margin:4px 0}.sw-item{--c:var(--accent);display:flex;align-items:center;gap:9px;padding:7px 8px;border:1px solid var(--island-line);border-radius:10px;cursor:pointer;background:var(--bg-raised,#fff)}.sw-item.fix{--c:#1f9d57}.sw-item.load{--c:#e8740c}.sw-item.hot{--c:#e5484d}.sw-item.cool{--c:#1e9cc9}.sw-item:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--island-line))}.sw-item.sel{border-color:var(--c);box-shadow:inset 3px 0 0 var(--c);border-bottom-left-radius:0;border-bottom-right-radius:0}.sw-item.off{opacity:.55}.sw-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sw-item-ico{flex:0 0 28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent)}.sw-item-main{flex:1;min-width:0}.sw-item-name{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-item-sum{font-size:11.5px;color:var(--txt-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-faces{flex:0 0 auto;font-size:10.5px;padding:2px 7px;border-radius:999px;background:var(--bg-3);color:var(--txt-dim)}.sw-faces.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.sw-del{flex:0 0 26px;height:26px;border:0;border-radius:7px;background:none;color:var(--txt-faint);display:flex;align-items:center;justify-content:center}.sw-del:hover{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}.sw-ed{padding:4px 11px 10px;border:1px solid var(--island-line);border-top:0;border-radius:0 0 10px 10px;background:var(--bg-inset)}.sw-ed-faces{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid var(--island-line);font-size:12px;color:var(--txt-dim)}.sw-ed-faces .warn{color:var(--warn)}.sw-foot{flex:0 0 auto;padding:10px 12px 12px;border-top:1px solid var(--island-line);background:var(--island)}.sw-run{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:0;border-radius:10px;background:var(--genie);color:var(--genie-on);font-weight:650;font-size:13.5px;box-shadow:0 0 0 3px var(--genie-soft)}.sw-run:hover:not(:disabled){background:var(--genie-2)}.sw-run:disabled{opacity:.45;box-shadow:none}.sw-run svg{width:14px;height:14px}.sw-todo{margin:0 0 9px;padding:0 0 0 18px;font-size:12px;color:var(--txt-dim);line-height:1.55}.sw-todo li::marker{color:var(--warn)}.sw-err{margin:0 0 9px;padding:9px 11px;border-radius:10px;border:1px solid color-mix(in srgb,var(--bad) 32%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent);font-size:12.5px}.sw-err b{color:var(--bad);display:block;margin-bottom:2px}.sw-err-h{color:var(--txt-dim);margin-top:4px;font-size:12px}.sw-prog-bar{height:8px;border-radius:999px;background:var(--bg-3);overflow:hidden}.sw-prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--genie)));transition:width .4s ease}.sw-prog-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.sw-prog-t{flex:1;min-width:0;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-prog-n{color:var(--txt-faint);font-variant-numeric:tabular-nums}.sw-card2{margin:12px 0 0;padding:11px 12px;border:1px solid var(--island-line);border-radius:12px;background:var(--bg-raised,#fff)}.sw-card-h{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-faint);margin-bottom:8px}.sw-verdict{--v:var(--good);box-shadow:inset 3px 0 0 var(--v)}.sw-verdict.marginal{--v:var(--warn)}.sw-verdict.fails{--v:var(--bad)}.sw-verdict-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sw-pill{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:#fff;background:var(--v)}.sw-verdict-fos{font-weight:600}.sw-verdict-t{margin-top:6px;font-size:12.5px;color:var(--txt-dim);line-height:1.5}.sw-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.sw-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 8px;border:1px solid var(--island-line);border-radius:9px;background:var(--bg-inset);text-align:left;color:var(--txt);min-width:0}.sw-kpi:hover:not(:disabled){border-color:var(--accent)}.sw .sw-kpi:disabled{opacity:1;cursor:default}.sw-kpi.on{border-color:var(--accent);background:var(--accent-soft)}.sw-kpi-l{font-size:10.5px;line-height:1.25;color:var(--txt-faint);max-width:100%}.sw-kpi-v{font-weight:650;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.sw-kpi-v small{font-weight:500;font-size:10.5px;color:var(--txt-dim)}.sw-big{display:flex;flex-direction:column;gap:2px}.sw-big span{font-size:11.5px;color:var(--txt-dim)}.sw-big b{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.sw-modes{display:flex;flex-direction:column;gap:4px}.sw-mode{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:0 8px;padding:7px 9px;border:1px solid var(--island-line);border-radius:9px;background:var(--bg-inset);color:var(--txt);text-align:left}.sw-mode b{font-variant-numeric:tabular-nums;text-align:right}.sw-mode-n{color:var(--txt-dim);font-size:12px}.sw-mode-h{grid-column:1/-1;font-size:11px;color:var(--txt-faint);margin-top:2px}.sw-mode:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--island-line))}.sw-mode.on{border-color:var(--accent);background:var(--accent-soft)}.sw-tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.sw-tool{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-inset);color:var(--txt-dim);font-size:12px}.sw-tool svg{width:12px;height:12px}.sw-tool:hover{color:var(--txt)}.sw-tool.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-ink)}.sw-time{display:flex;align-items:center;gap:8px}.sw-range{flex:1;accent-color:var(--accent)}.sw-time-v{flex:0 0 60px;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;color:var(--txt-dim)}.sw-probe-h{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11.5px;color:var(--txt-faint)}.sw-probe-h svg{width:14px;height:14px}.sw-probe-h span:nth-child(2){flex:1}.sw-chk{display:flex;gap:9px;align-items:flex-start;padding:6px 0;border-top:1px solid var(--island-line);font-size:12.5px}.sw-chk:first-of-type{border-top:0}.sw-chk-dot{flex:0 0 9px;height:9px;margin-top:4px;border-radius:50%;background:var(--accent)}.sw-chk.ok .sw-chk-dot{background:var(--good)}.sw-chk.warn .sw-chk-dot{background:var(--warn)}.sw-chk.info .sw-chk-dot{background:var(--txt-faint)}.sw-chk-t{font-size:12px;color:var(--txt-dim);margin-top:1px;line-height:1.45}.sw-notes{margin-top:12px;font-size:12px;color:var(--txt-dim)}.sw-notes summary{cursor:pointer;color:var(--txt);font-weight:550}.sw-notes ul{margin:6px 0 0;padding-left:18px;line-height:1.5}.sw-report{display:flex;gap:8px;margin-top:12px}.sw-report .sw-btn{flex:1;justify-content:center}.sw-kv{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:12.5px}.sw-kv span{color:var(--txt-dim)}.sw-loading{display:flex;align-items:center;gap:10px;padding:22px 4px;color:var(--txt-dim)}.sw-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:sw-spin .8s linear infinite}@keyframes sw-spin{to{transform:rotate(360deg)}}.sw-spark{margin-top:10px}.sw-spark svg{width:100%;height:74px;display:block;background:var(--bg-inset);border-radius:8px}.sw-spark path{fill:none;stroke-width:1.8}.sw-spark .mx{stroke:#e2202c;color:#e2202c}.sw-spark .av{stroke:#f08a24;color:#f08a24}.sw-spark .mn{stroke:#2f5bea;color:#2f5bea}.sw-spark-k{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:11px;color:var(--txt-faint)}.sw-spark-k span.mx,.sw-spark-k span.av,.sw-spark-k span.mn{font-weight:600}.sw-dyn svg{height:96px}.sw-dyn .nat{stroke:var(--txt-faint);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.sw-dyn .st{stroke:#2f5bea;stroke-width:1.2;stroke-dasharray:5 4;opacity:.8}.sw-spark-k span.st{color:#2f5bea;font-weight:600}.sw-curve{display:block;max-width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:8px}.sw-curve path{fill:none}.sw-curve .max{stroke:var(--accent);stroke-width:1.8}.sw-curve .drive{stroke:var(--txt-faint)}.sw-curve .axis{stroke:var(--line)}.sw-curve text{font-size:10px;fill:var(--txt-dim)}.sw-modal-t{font-size:13px;line-height:1.5}.sw-legend{position:absolute;left:var(--gutter,12px);top:calc(var(--toolbar-h,64px) + 26px);z-index:11;width:168px;box-sizing:border-box;padding:11px 12px 10px;background:var(--island,#fff);border:1px solid var(--island-line);border-radius:12px;box-shadow:var(--island-shadow);color:var(--txt);pointer-events:none}.sw-lg-t{font-weight:600;font-size:12.5px;line-height:1.3}.sw-lg-u{font-size:11px;color:var(--txt-faint);margin-bottom:9px;min-height:14px}.sw-lg-body{position:relative;display:flex;gap:9px}.sw-lg-bar{width:16px;flex:0 0 16px;border-radius:5px;box-shadow:inset 0 0 0 1px #0000001f}.sw-lg-ticks{position:relative;flex:1}.sw-lg-tick{position:absolute;left:0;font-size:11px;line-height:14px;font-family:var(--mono);color:var(--txt-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.sw-lg-tick:before{content:"";position:absolute;left:-12px;top:7px;width:6px;height:1px;background:var(--txt-faint)}.sw-lg-tick.end{color:var(--txt);font-weight:600}.sw-lg-foot{margin-top:9px;padding-top:7px;border-top:1px solid var(--island-line);font-size:10.5px;color:var(--txt-faint);line-height:1.4}.sw-tip{position:absolute;z-index:14;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:6px 9px;border-radius:9px;background:var(--bg-raised,#fff);border:1px solid var(--island-line);box-shadow:var(--shadow,0 8px 20px rgba(0,0,0,.18));font-size:11px;color:var(--txt-dim);white-space:nowrap}.sw-tip[hidden]{display:none}.sw-tip b{font-size:13px;color:var(--txt);font-variant-numeric:tabular-nums}.sw-pins{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;overflow:hidden}.sw-pin{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;will-change:transform}.sw-pin-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);box-sizing:border-box;box-shadow:0 1px 3px #00000059}.sw-pin-lab{position:absolute;left:9px;top:-25px;padding:3px 8px;border-radius:7px;background:var(--bg-raised,#fff);border:1px solid var(--island-line);box-shadow:0 4px 12px -4px #0000004d;font-size:11.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--txt)}.sw-pin.mark{pointer-events:none}.sw-pin.mark.hi .sw-pin-dot{border-color:#e2202c}.sw-pin.mark.lo .sw-pin-dot{border-color:#2f5bea}.sw-pin.mark .sw-pin-lab{top:6px;font-weight:550}.sw-pickbar{position:absolute;left:calc(50% - (var(--sim-w) + var(--gutter,12px)) / 2);transform:translate(-50%);bottom:calc(var(--gutter,12px) + 66px);z-index:13;display:flex;align-items:center;gap:10px;max-width:calc(100% - var(--sim-w) - 4 * var(--gutter,12px));box-sizing:border-box;padding:6px 6px 6px 14px;border-radius:999px;background:var(--island,#fff);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--island-line));box-shadow:0 0 0 4px var(--accent-soft),var(--island-shadow);font-size:12.5px;color:var(--txt)}.sw-pickbar>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-pickbar-dot{flex:0 0 9px;height:9px;border-radius:50%;background:var(--accent);animation:sw-pulse 1.4s ease-in-out infinite}.sw-pickbar kbd{font-family:var(--mono);font-size:11px;padding:1px 6px;border:1px solid var(--island-line);border-radius:5px;color:var(--txt-faint)}@keyframes sw-pulse{50%{opacity:.35}}@media (max-width:900px){:root{--sim-w:300px}}.measured-callouts{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .18s ease}.measured-callouts.on{opacity:1}.measured-callouts[hidden]{display:none}.mc-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.mc-lead{fill:none;stroke-width:1.3;stroke-dasharray:3 2.5;stroke-linecap:round}.mc-dot{stroke:var(--bg-raised);stroke-width:1.5}.mc-lead.mc-pass{stroke:var(--good)}.mc-dot.mc-pass{fill:var(--good)}.mc-lead.mc-note{stroke:var(--warn)}.mc-dot.mc-note{fill:var(--warn)}.mc-lead.mc-unmeasurable{stroke:var(--txt-dim)}.mc-dot.mc-unmeasurable{fill:var(--bg-raised);stroke:var(--txt-dim)}.mc-lead.mc-fail{stroke:var(--bad)}.mc-dot.mc-fail{fill:var(--bad)}.mc-lead.off,.mc-dot.off{visibility:hidden}.mc-chip{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:2px;padding:3px 8px 3px 6px;border-radius:8px;background:var(--bg-raised);border:1px solid var(--island-line);box-shadow:0 6px 16px -8px #0000008c,0 1px 2px #0000001f;color:var(--txt);font:500 11.5px/16px var(--font-ui);white-space:nowrap;will-change:transform;transition:opacity .12s ease}.mc-chip.off{opacity:0}.mc-chip.mc-fail{border-color:color-mix(in srgb,var(--bad) 55%,transparent)}.mc-chip.mc-note{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.mc-row{display:flex;align-items:center;gap:5px}.mc-ic{display:inline-flex;flex:0 0 12px;width:12px;height:12px}.mc-ic svg{display:block;width:12px;height:12px}.mc-pass>.mc-ic{color:var(--good)}.mc-note>.mc-ic{color:var(--warn)}.mc-unmeasurable>.mc-ic{color:var(--txt-dim)}.mc-fail>.mc-ic{color:var(--bad)}.mc-knock{stroke:var(--bg-raised)}.mc-knock-f{fill:var(--bg-raised)}.mc-v{font:600 11.5px/16px var(--mono);font-variant-numeric:tabular-nums;color:var(--txt)}.mc-times{margin-right:-1px;font:600 11.5px/16px var(--mono);color:var(--txt-dim)}.mc-u{margin-left:-2px;font:500 10px/16px var(--mono);color:var(--txt-dim)}.mc-l{color:var(--txt-dim)}.mc-bar{position:absolute;bottom:var(--gutter,12px);left:var(--gutter,12px);display:flex;align-items:center;gap:8px;padding:3px 3px 3px 10px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--island-line);box-shadow:var(--island-shadow);color:var(--txt-dim);font:600 11.5px/16px var(--font-ui)}.mc-bar:empty{display:none}.mc-n{display:inline-flex;align-items:center;gap:3px;color:var(--txt);font:600 11.5px/16px var(--mono)}.mc-n.mc-pass .mc-ic{color:var(--good)}.mc-n.mc-note .mc-ic{color:var(--warn)}.mc-n.mc-unmeasurable .mc-ic{color:var(--txt-dim)}.mc-n.mc-fail .mc-ic{color:var(--bad)}.mc-x{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:-2px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--txt-dim);font:500 16px/1 var(--font-ui);cursor:pointer}.mc-x:hover{background:var(--hover);color:var(--txt)}.mc-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
