:root{--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--green:#1f7a55;--green-strong:#175e41;--green-soft:#e6f1eb;--ink:#23302b;--muted:#5f6b65;--faint:#8a948f;--line:#e1e5df;--panel:#fff;--canvas:#fafbf8;--danger:#b42318;--danger-soft:#fdecea;--warn:#8a5a00;--warn-soft:#fff6e0;--focus:#2c6e9b;font-family:var(--font);color:var(--ink);background:var(--canvas);font-size:13px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px}button:hover:not(:disabled){background:#eef1ec}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=text],input:not([type]),select{background:#fff;border:1px solid #d5dbd4;border-radius:5px;min-width:0;padding:5px 7px}input:focus,select:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 2px #2c6e9b33}input[type=checkbox],input[type=radio]{accent-color:var(--green);flex-shrink:0;margin:0}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.kbd{font-family:var(--mono);color:var(--faint);border:1px solid var(--line);background:#fbfcfa;border-radius:4px;padding:0 4px;font-size:10.5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-rows:48px auto 1fr auto auto 34px;height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:0 12px;display:flex}.brand{letter-spacing:-.3px;color:#24392f;white-space:nowrap;align-items:center;gap:7px;font-size:15px;font-weight:700;display:flex}.brand-mark{border:2px solid var(--green);border-radius:3px;width:18px;height:18px;position:relative}.brand-mark:after{content:"";border-left:2px solid var(--green);border-bottom:2px solid var(--green);position:absolute;inset:3px}.sep{background:var(--line);flex-shrink:0;width:1px;height:22px}.doc-name{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:220px;padding:4px 6px;font-weight:600;overflow:hidden}.doc-name-input{width:200px}.save-state{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex;overflow:hidden}.save-dot{background:#9aa59f;border-radius:50%;flex-shrink:0;width:7px;height:7px}.save-dot.ok{background:#3f9a6f}.save-dot.busy{background:#c9a227}.save-dot.bad{background:var(--danger)}.save-state.bad{color:var(--danger);font-weight:600}.top-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}@media (width<=1099px){.brand-name,.top-actions .sep,.search-btn .kbd{display:none}.doc-name{flex-shrink:1;min-width:60px}.top-actions button{padding-left:7px;padding-right:7px}}.top-actions button{white-space:nowrap;align-items:center;gap:5px;display:flex}.primary{color:#fff;padding:6px 12px;font-weight:600;background:var(--green)!important}.primary:hover:not(:disabled){background:var(--green-strong)!important}.btn-outline{background:#fff;border-color:#d5dbd4}.search-btn{color:var(--muted);border:1px solid var(--line);justify-content:space-between}.workspace{min-height:0;display:flex;position:relative}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:stretch;gap:0;min-width:0;padding:4px 8px 3px;display:flex;overflow:hidden}.tb-group{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:center;padding:0 8px;display:flex}.tb-group:first-child{padding-left:0}.tb-group:last-child{border-right:0}.tb-buttons{flex:1;align-items:center;gap:1px;display:flex}.tb-group:first-child .tb-caption{margin-left:0}.tb-caption{text-align:center;letter-spacing:1px;text-transform:uppercase;color:#a2aba6;-webkit-user-select:none;user-select:none;border-top:1px solid #edf0ee;align-self:stretch;margin:4px 2px 0;padding-top:2px;font-size:8.5px;font-weight:600;line-height:11px}.tool-btn{color:#4f5c56;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:32px;height:32px;padding:0 5px;display:flex;position:relative}.tool-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:19px;height:19px}.tool-btn .tool-name{white-space:nowrap;font-size:10px;line-height:1.1}.tool-btn.active{background:var(--green-soft);color:var(--green-strong);border-color:#bfd9ca;font-weight:600}.mode-labels .tool-btn{min-width:42px;height:38px}.mode-groups .tool-btn{flex-direction:row;gap:5px}.tool-group{align-items:stretch;display:flex;position:relative}.tool-group>.tool-btn{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:3px}.group-chevron{color:#6b7871;border-radius:0 5px 5px 0;place-items:center;width:15px;padding:0;display:grid}.group-chevron svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:9px;height:9px}.group-chevron:hover,.group-chevron[aria-expanded=true]{color:var(--green-strong);background:#eef3f0}.tool-group:has(>.tool-btn.active)>.group-chevron{background:var(--green-soft);color:var(--green-strong)}.tool-group:hover>.tool-btn:not(.active){background:#f4f6f5}.flyout{z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:210px;padding:4px;position:fixed;box-shadow:0 8px 24px #141e1929}.menu-backdrop{z-index:250;position:fixed;inset:0}.context-menu{z-index:251;outline:none;min-width:208px;max-height:calc(100vh - 16px);overflow-y:auto}.context-menu .context-menu{position:fixed}.context-menu button{outline:none;gap:4px;padding:5px 8px 5px 4px}.context-menu button:focus-visible,.context-menu button.open{background:#f1f4f2}.context-menu button:disabled{color:var(--faint);cursor:default;background:0 0}.context-menu button.danger:not(:disabled){color:#b42318;background:0 0;border-color:#0000}.context-menu button.danger:not(:disabled):hover,.context-menu button.danger:not(:disabled):focus-visible{background:var(--danger-soft)}.context-menu button span:nth-child(2){white-space:nowrap;flex:1}.context-menu kbd{font:inherit;color:var(--faint);margin-left:18px;font-size:11px}.menu-check{text-align:center;width:14px;color:var(--green-strong);flex-shrink:0;font-size:11px}.menu-more{color:var(--faint);margin-left:14px}.menu-sep{background:var(--line);height:1px;margin:4px 6px}.flyout-title{color:var(--faint);padding:4px 8px 2px;font-size:11px}.flyout button{text-align:left;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12.5px;display:flex}.flyout button:hover{background:#f1f4f2}.flyout button.active{background:var(--green-soft);color:var(--green-strong);font-weight:600}.flyout button span:nth-child(2){flex:1}.flyout svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.tooltip{z-index:50;color:#fff;pointer-events:none;white-space:nowrap;background:#24302b;border-radius:5px;padding:6px 9px;font-size:11.5px;position:fixed}.tooltip .kbd{color:#cdd5d0;background:0 0;border-color:#4b5852;margin-left:6px}.panel{background:var(--panel);flex-direction:column;flex-shrink:0;width:260px;min-height:0;display:flex}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line);width:272px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px;font-weight:600;display:flex}.panel-body{flex:1;min-height:0;padding:10px 12px 16px;overflow-y:auto}.panel-collapsed-tab{writing-mode:vertical-rl;border-right:1px solid var(--line);background:var(--panel);width:26px;color:var(--muted);border-radius:0;flex-shrink:0;padding:10px 4px;font-size:11.5px;transform:rotate(180deg)}.panel-collapsed-tab.right{border-right:0;border-left:1px solid var(--line);writing-mode:vertical-rl;transform:none}.workspace.narrow .panel{z-index:20;position:absolute;top:0;bottom:0;box-shadow:0 6px 24px #1d2b2420}.workspace.narrow .panel.left{left:0}.workspace.narrow .panel.right{right:0}.section-label{letter-spacing:.8px;text-transform:uppercase;color:var(--faint);margin:14px 0 8px;font-size:10.5px;font-weight:600}.section-label:first-child{margin-top:2px}.layer-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex}.layer-row.active{background:var(--green-soft);border-color:#cfe3d7}.layer-row .swatch{border:1px solid #0002;border-radius:4px;flex-shrink:0;width:18px;height:18px;padding:0;overflow:hidden}.layer-row .swatch input{opacity:0;cursor:pointer;width:100%;height:100%}.layer-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:3px 4px;overflow:hidden}.layer-name.hidden{color:var(--faint);text-decoration:line-through}.layer-row .icon-btn{width:26px;height:26px;color:var(--muted);place-items:center;padding:0;display:grid}.layer-row .icon-btn.on{color:var(--ink)}.layer-row .icon-btn.warn{color:var(--warn)}.layer-row .icon-btn svg,.block-row .icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.active-badge{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px}.layer-count{color:var(--faint);text-align:right;min-width:16px;font-size:11px}.layer-detail{border:1px solid var(--line);border-radius:6px;gap:6px;margin:2px 0 8px 26px;padding:8px;font-size:12px;display:grid}.layer-detail label{justify-content:space-between;align-items:center;gap:8px;display:flex}.sel-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.sel-icon{width:34px;height:34px;color:var(--green-strong);background:#f4f8f5;border:1px solid #d4e2d9;border-radius:6px;place-items:center;font-size:16px;display:grid}.sel-head strong{display:block}.sel-head small{color:var(--muted)}.field-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field.wide{grid-column:span 2}.field label{color:var(--muted);font-size:11px}.input-wrap{background:#fff;border:1px solid #d5dbd4;border-radius:5px;align-items:center;display:flex}.input-wrap:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px #2c6e9b33}.input-wrap.error{border-color:var(--danger)}.input-wrap input{width:100%;font-family:var(--mono);background:0 0;border:0;padding:5px 6px;font-size:12px;box-shadow:none!important}.input-wrap .unit{color:var(--faint);padding-right:6px;font-size:11px}.input-wrap.readonly{background:#f6f7f5}.input-wrap.scrub input:not(:focus):not(:disabled){cursor:ew-resize}.scrub-cue{color:#b6bfba;cursor:ew-resize;touch-action:none;flex-shrink:0;align-self:stretch;align-items:center;padding:0 5px 0 1px;transition:color .12s;display:flex}.scrub-cue svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;display:block}.input-wrap.scrub:hover .scrub-cue{color:var(--green)}.input-wrap.scrub .unit:has(+.scrub-cue){padding-right:3px}.input-wrap.scrub-active,.input-wrap.scrub-active:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #1f7a5526}.input-wrap.scrub-active .scrub-cue{color:var(--green)}body.scrubbing,body.scrubbing *{-webkit-user-select:none;user-select:none;cursor:ew-resize!important}.scrub-hud{z-index:300;color:#9fada6;white-space:nowrap;pointer-events:none;background:#24302b;border-radius:6px;align-items:center;gap:8px;padding:3px 8px;font-size:11px;display:flex;position:fixed;box-shadow:0 2px 8px #0003}.scrub-cursor{z-index:301;pointer-events:none;filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff);position:fixed;top:0;left:0}.scrub-cursor svg{fill:none;stroke:#1d2b24;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;display:block}.scrub-hud .step{color:#fff;font-family:var(--mono);font-weight:600}.scrub-hud .on{color:#7fd8ad;font-weight:600}.field-error{color:var(--danger);font-size:11px}.row{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.row>span{color:var(--muted)}.row select,.row input,.row textarea{max-width:140px}.row textarea{font:inherit;resize:vertical;font-size:12.5px}.toggle{background:#cfd6d1;border-radius:10px;flex-shrink:0;width:30px;height:18px;padding:0;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:left .12s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--green)}.toggle.on:after{left:15px}.hint{color:var(--muted);font-size:12px;line-height:1.45}.lock-note{background:var(--warn-soft);color:var(--warn);border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:12px}.danger-btn{color:var(--danger);border-color:#f0c8c3;width:100%;margin-top:12px}.stage{background:var(--canvas);flex:1;min-width:0;position:relative;overflow:hidden}.stage canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage canvas.cursor-cross{cursor:crosshair}.stage canvas.cursor-grab{cursor:grab}.stage canvas.cursor-grabbing{cursor:grabbing}.stage-top{pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:10px;left:12px;right:12px}.stage-top>*{pointer-events:auto}.banner{background:var(--warn-soft);color:var(--warn);border:1px solid #ecd6a0;border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex;box-shadow:0 2px 8px #0000000d}.banner button{background:#fff;border-color:#e2c57c}.banner.info{border-color:var(--line);color:var(--ink);background:#fff}.empty-state{border:1px solid var(--line);z-index:4;background:#fff;border-radius:10px;width:360px;padding:16px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 20px #1d2b2410}.empty-state h2{margin:0 0 6px;font-size:15px}.empty-state p{color:var(--muted);margin:0 0 12px;line-height:1.45}.empty-state .actions{justify-content:flex-end;gap:6px;display:flex}.empty-state .actions button{white-space:nowrap}.zoom-ctl{border:1px solid var(--line);z-index:5;background:#fff;border-radius:7px;align-items:center;gap:2px;padding:2px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-ctl button{padding:3px 8px}.zoom-ctl .pct{font-family:var(--mono);text-align:center;min-width:56px;font-size:11.5px}.measure-card{z-index:5;background:#fff;border:1px solid #d9d3f0;border-radius:8px;min-width:200px;padding:8px 10px;font-size:12px;position:absolute;bottom:12px;left:12px}.measure-card h3{color:#5b4bb3;margin:0 0 4px;font-size:12px}.measure-card dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.measure-card dt{color:var(--muted)}.measure-card dd{font-family:var(--mono);text-align:right;margin:0}.notices{z-index:30;flex-direction:column;align-items:flex-end;gap:6px;max-width:380px;display:flex;position:absolute;bottom:58px;right:12px}.notice{color:#fff;background:#24302b;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex;box-shadow:0 4px 14px #0002}.notice.error{background:var(--danger)}.notice.success{background:#1f5e45}.notice button{color:#fff;border-color:#fff5;padding:2px 8px}.notice button:hover{background:#fff2!important}.tracker{z-index:15;background:#fff;border:1px solid #c9d6ce;border-radius:8px;flex-direction:column;gap:4px;width:max-content;padding:6px;display:flex;position:absolute;box-shadow:0 6px 18px #1d2b2420}.tracker.following{pointer-events:none}.tracker.following .scrub-cue{visibility:hidden}.tracker.pinned{box-shadow:0 0 0 2px #2c6e9b55,0 6px 18px #1d2b2420}.status-modes{gap:4px;display:flex}.status-modes .seg button{padding:1px 6px;font-size:11px}.tracker-row{grid-template-columns:58px 128px 74px;align-items:center;gap:6px;display:grid}.tracker-row label{color:var(--muted);font-size:11.5px;font-weight:600}.tracker-row .input-wrap input{font-size:12.5px}.tracker-row .input-wrap.locked{border-color:var(--green);background:#f3faf6}.lock-state{color:var(--faint);text-align:right;white-space:nowrap;font-size:10px}.lock-state.locked{color:var(--green-strong);font-weight:700}.lock-btn{color:var(--green-strong);padding:0 4px;font-size:10px;font-weight:700}.tracker-modes{border-top:1px solid var(--line);flex-wrap:wrap;gap:4px;padding-top:5px;display:flex}.tracker-option{border-top:1px solid var(--line);align-items:center;gap:6px;padding-top:5px;font-size:12px;display:flex}.seg{border:1px solid #d5dbd4;border-radius:5px;display:inline-flex;overflow:hidden}.seg button{border-radius:0;padding:2px 7px;font-size:11px}.seg button[aria-pressed=true]{background:var(--green-soft);color:var(--green-strong);font-weight:700}.tracker-actions{gap:4px;display:flex}.tracker-actions button{border-color:#d5dbd4;padding:2px 8px;font-size:11.5px}.snap-chip{z-index:14;color:#9a3412;background:#fff;border:1px solid #f0c9b5;border-radius:6px;align-items:center;gap:4px;padding:2px 4px 2px 7px;font-size:11px;display:flex;position:absolute}.snap-chip button{color:#9a3412;border-color:#f0c9b5;padding:1px 6px;font-size:11px}.grip-options{z-index:16;border:1px solid var(--line);background:#fff;border-radius:6px;flex-direction:column;padding:3px;display:flex;position:absolute;transform:translateY(-100%);box-shadow:0 2px 8px #0000001f}.grip-options button{text-align:left;border-color:#0000;padding:3px 8px;font-size:11.5px}.grip-options button.on{background:var(--green-soft);color:var(--green-strong);font-weight:600}.statusbar{background:var(--panel);border-top:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:0 10px;font-size:12px;display:flex}.status-tool{color:var(--green-strong);white-space:nowrap;font-weight:700}.status-prompt{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.status-coords{font-family:var(--mono);color:var(--muted);white-space:nowrap}.status-toggles{align-items:center;gap:2px;display:flex}.status-toggles button{color:var(--muted);border-color:#0000;padding:3px 7px;font-size:11.5px}.status-toggles button[aria-pressed=true]{color:var(--green-strong);background:var(--green-soft);border-color:#cfe3d7;font-weight:600}.status-toggles select{padding:2px 4px;font-size:11.5px}.backdrop{z-index:100;background:#1d2b2440;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);padding:18px;overflow:auto;box-shadow:0 16px 48px #0003}.busy-overlay{z-index:400;animation:.15s .15s both busy-in}.busy-overlay .dialog{width:auto;max-width:min(520px,100vw - 32px)}@keyframes busy-in{0%{opacity:0}to{opacity:1}}.dialog h2{margin:0 0 8px;font-size:16px}.dialog p{color:var(--muted);margin:0 0 12px;line-height:1.5}.dialog .actions{justify-content:flex-end;gap:6px;margin-top:14px;display:flex}.dialog .actions button{border-color:#d5dbd4}.dialog ul.details{color:var(--danger);font-size:12px;font-family:var(--mono);margin:0 0 8px;padding-left:18px}.radio-row{align-items:center;gap:8px;padding:6px 0;display:flex}.export-preview{border:1px solid var(--line);background:repeating-conic-gradient(#f4f5f3 0% 25%,#fff 0% 50%) 50%/16px 16px;border-radius:6px;place-items:center;height:170px;margin:8px 0;display:grid;position:relative;overflow:hidden}.export-preview img{object-fit:contain;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px}.report{background:#f6f8f6;border-radius:6px;padding:8px 10px;font-size:12px}.report div{margin:2px 0}.palette{align-self:start;width:min(560px,100vw - 32px);margin-top:12vh;padding:0;overflow:hidden}.palette input{border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%;padding:12px 14px;font-size:14px}.palette input:focus{box-shadow:none}.palette ul{max-height:50vh;margin:0;padding:4px;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.palette li[aria-selected=true]{background:var(--green-soft)}.palette li.disabled{opacity:.5;cursor:not-allowed}.palette li small{color:var(--faint);margin-left:8px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.dim-broken{color:#b42318;font-weight:600}input.override-on{color:#a15c07;border-color:#e3b46a;font-style:italic}.override-note{color:#a15c07}.hatch-lost{color:#b42318}.text-draft{z-index:16;background:#fff;border:1px solid #c9d6ce;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:6px;width:280px;padding:8px;display:grid;position:absolute;overflow-y:auto;box-shadow:0 6px 18px #1d2b2420}.text-draft .row2{align-items:center;gap:6px;font-size:12px;display:flex}.text-draft textarea{resize:vertical;width:100%;font:inherit;border:1px solid var(--line);border-radius:5px;padding:5px 7px;font-size:13px}.text-draft .row2 label{align-items:center;gap:4px;display:inline-flex}.text-draft:not(.block-draft){width:352px}.text-draft .row2 label{flex:1;justify-content:space-between;min-width:0}.text-draft .text-draft-outlines{border-top:1px solid var(--line);padding-top:6px}.text-draft .text-draft-outlines button{flex:none}.text-draft .text-draft-outlines label{white-space:nowrap;justify-content:flex-start}.text-draft .row2 .input-wrap{width:96px}.rich-toolbar{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:4px;padding-top:6px;display:grid}.rich-toolbar .seg button{min-width:26px;padding:2px 6px}.rich-toolbar select{flex:1;min-width:0;font-size:12px}.rich-toolbar input[type=color]{border:1px solid var(--line);width:28px;height:22px;margin-left:auto;padding:0}.rich-toolbar label button{flex:none;padding:0 4px}.measure-card>button{width:100%;margin-top:6px}.panel-subhead{letter-spacing:.8px;text-transform:uppercase;color:var(--faint);border-top:1px solid var(--line,#e3e9e5);margin:18px 0 6px;padding-top:12px;font-size:10.5px;font-weight:600}.block-row{border-radius:6px;align-items:center;gap:2px;padding:2px 4px;display:flex}.block-row.active{background:var(--green-soft)}.block-row .icon-btn{width:26px;height:26px;color:var(--muted);place-items:center;padding:0;display:grid}.block-row .icon-btn:disabled{opacity:.35}.block-name{text-align:left;min-width:0;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:4px 2px;overflow:hidden}.block-name:hover:not(:disabled){text-decoration:underline}.block-rename{min-width:0;font:inherit;flex:1;padding:3px 4px}.row-buttons{flex-wrap:wrap;gap:6px;display:flex}.row-buttons>button{flex:1}.banner.block-edit{color:#5c3d00;background:#fff4e0;border-color:#e3b25c}.insert-options select,.insert-options input{font:inherit;padding:2px 4px}.insert-options .input-wrap{width:84px}.pattern-options .input-wrap{width:80px}.insert-options .input-wrap input{padding:2px 4px}.insert-options .check{border-left:1px solid var(--line);cursor:pointer;white-space:nowrap;margin-left:2px;padding-left:8px}.insert-options label{align-items:center;gap:4px;display:inline-flex}.block-draft-name{color:#5b6b62;gap:4px;font-size:12px;display:grid}.block-draft-name input{font:inherit;color:#1d2b24;padding:5px 6px;font-size:14px}.block-draft .check{align-items:flex-start;gap:6px;font-size:12px;display:flex}.block-draft .hint{margin:0}.spinner{border:2px solid var(--line);border-top-color:var(--green);vertical-align:-2px;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.notice-inline{background:var(--warn-soft);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--warn)!important}.import-summary{background:#f6f8f6;border-radius:6px;gap:4px;margin-bottom:10px;padding:8px 10px;font-size:12.5px;display:grid}.import-pages{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.import-pages button{text-align:left;border:1px solid #d5dbd4;gap:2px;min-width:150px;display:grid}.import-pages button.selected{border-color:var(--green);background:var(--green-soft)}.import-pages small{color:var(--muted);font-size:11px}.row.two{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.row.two label{gap:4px;display:grid}.row.two label span{color:var(--muted);font-size:12px}.row.two input,.row.two select{width:100%;max-width:none}.ops-colors{flex-wrap:wrap;justify-content:flex-start;gap:14px}.ops-colors label{align-items:center;gap:6px;font-size:12px;display:flex}.ops-colors input[type=color]{border:1px solid var(--line,#ccc);width:32px;height:22px;padding:0}.row.two small{grid-column:1/-1}.dialog input[type=number]{background:#fff;border:1px solid #d5dbd4;border-radius:5px;min-width:0;padding:5px 7px}.dialog .input-wrap.small{width:92px;display:inline-flex}.row .input-wrap{max-width:140px}.row.two .input-wrap{width:100%;max-width:none}.row.two .input-wrap input{width:100%}.import-report{margin-top:12px;font-size:12px}.import-report summary{cursor:pointer;padding:4px 0;font-weight:600}.import-report table{border-collapse:collapse;width:100%;margin-top:4px}.import-report td{border-top:1px solid var(--line);vertical-align:top;padding:3px 6px}.import-report td.num{text-align:right;font-family:var(--mono)}.import-report tr.cat-unsupported td:first-child,.import-report tr.cat-omitted td:first-child{color:var(--warn)}.format-tabs{gap:4px;margin-bottom:6px;display:flex}.format-tabs button{border:1px solid #d5dbd4;min-width:56px;font-weight:600}.format-tabs button.selected{background:var(--green);border-color:var(--green);color:#fff}.layer-pick summary{cursor:pointer;color:var(--muted);padding:4px 0}ul.preflight{gap:6px;margin:0;padding:0;list-style:none;display:grid}ul.preflight li{border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}ul.preflight li.warning{background:var(--warn-soft);border-color:#ecd9a8}ul.preflight li div{gap:2px;display:grid}ul.preflight li small{color:var(--muted);font-size:11.5px}ul.preflight li button{border-color:#d5dbd4;flex-shrink:0}.dialog .actions .hint{align-self:center;margin-right:auto}.sheets-layout{grid-template-columns:170px 1fr;gap:12px;display:grid}.sheet-tabs{background:var(--panel);border-top:1px solid var(--line);align-items:stretch;gap:8px;min-width:0;padding:0 8px;font-size:12px;display:flex}.sheet-tabs-list{scrollbar-width:thin;align-items:stretch;gap:2px;min-width:0;display:flex;overflow-x:auto}.sheet-tab{max-width:180px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border:0;border-top:2px solid #0000;border-radius:0;flex:none;padding:4px 12px;overflow:hidden}.sheet-tab:hover,.sheet-tab.chosen{color:var(--ink);background:var(--green-soft)}.sheet-tab.active{color:var(--green-strong);border-top-color:var(--green);font-weight:600}.sheet-tab-add{color:var(--muted);border-radius:0;flex:none;padding:4px 10px}.sheet-tab-add:hover{color:var(--ink);background:var(--green-soft)}.sheet-tab-rename{flex:none;width:120px;margin:2px 0;padding:1px 6px;font-size:12px}.sheet-tabs-actions{white-space:nowrap;flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.sheet-tabs-actions span{color:var(--muted);margin-right:4px}.sheet-tabs-actions button{padding:2px 8px}.sheet-picker{border:1px solid var(--line);border-radius:6px;gap:2px;max-height:180px;margin:2px 0 8px 26px;padding:6px 8px;display:grid;overflow-y:auto}.sheet-picker-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.sheet-picker-head button{padding:1px 6px;font-size:12px}.sheet-picker small{margin-left:6px}.sheet-prop-actions{flex-wrap:wrap;gap:6px;display:flex}.sheet-list{align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.sheet-list li[role=option]{border:1px solid var(--line);cursor:pointer;border-radius:6px;gap:2px;padding:6px 8px;display:grid}.sheet-list li.selected{border-color:var(--green);background:var(--green-soft)}.sheet-list small{color:var(--muted);font-size:11px}.sheet-list button{border:1px dashed #c5cdc4;width:100%}.sheet-edit input[type=text]{width:100%}@media (width<=640px){.sheets-layout{grid-template-columns:1fr}}.measure-list{grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 6px;font-size:12px;display:grid}.measure-list dt{color:var(--muted)}.measure-list dd{text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;margin:0}.layer-detail .check-row{flex-direction:row;align-items:center;gap:6px;display:flex}.commandline{background:var(--panel);border-top:1px solid var(--line);min-width:0;padding:3px 10px 4px;font-size:12px}.cmd-history{min-height:16px;font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.cmd-history .cmd-err{color:var(--danger)}.cmd-history .cmd-cmd{color:var(--ink)}.cmd-row{align-items:center;gap:8px;min-width:0;display:flex}.cmd-label{font-family:var(--mono);color:var(--green-strong);white-space:nowrap;font-weight:700}.cmd-field{flex:1;min-width:0;position:relative}.cmd-field input{width:100%;font-family:var(--mono);padding:3px 6px;font-size:12.5px}.cmd-complete{z-index:30;border:1px solid var(--line);background:#fff;border-radius:8px;min-width:340px;max-width:100%;margin:0;padding:4px;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0002}.cmd-complete li{cursor:pointer;border-radius:5px;align-items:baseline;gap:8px;padding:4px 8px;font-size:12px;display:flex}.cmd-complete li[aria-selected=true],.cmd-complete li:hover{background:var(--green-soft)}.cmd-complete strong{font-family:var(--mono);min-width:96px}.cmd-alias{font-family:var(--mono);color:var(--green-strong);min-width:64px}.cmd-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmd-mode{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11.5px;display:flex}@media (width<=900px){.cmd-mode{display:none}}.gdt-symbols{flex-wrap:wrap;gap:3px;margin:4px 0 8px;display:flex}.gdt-symbols button{min-width:26px;padding:2px 4px;font-size:14px}.symbols-toggle{text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;border-radius:0;width:100%;display:block}.symbols-groups{gap:4px;margin-bottom:6px;display:flex}.symbols-groups button{flex:1;padding:4px 6px;font-size:11.5px}.symbols-groups button.active{background:var(--green-soft)}.symbol-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:4px;display:grid}.symbol-tile{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:2px;min-width:0;padding:4px 2px;font-size:10.5px;line-height:1.2;display:flex}.symbol-tile span{overflow-wrap:anywhere}.symbol-tile.active{background:var(--green-soft);color:inherit}.symbol-thumb{color:currentColor;max-width:100%;height:auto;display:block}.symbol-tile .symbol-thumb{color:var(--text,#1f2a24)}.symbol-detail{flex-direction:column;gap:6px;margin-top:8px;display:flex}.symbol-title{font-size:12.5px;font-weight:600}.symbol-title .hint{margin-left:4px;font-weight:400}.symbol-form{flex-direction:column;gap:5px;display:flex}.symbol-field{flex-direction:column;gap:2px;font-size:11.5px;display:flex}.symbol-field input,.symbol-field select{box-sizing:border-box;width:100%;min-width:0}.symbol-check{align-items:center;gap:6px;font-size:11.5px;display:flex}.symbol-preview{border:1px solid var(--line,#e3e9e5);border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px;display:flex}.symbol-preview .hint{text-align:center;overflow-wrap:anywhere;font-size:11px}.table-grid-wrap{margin:4px 0;overflow-x:auto}.table-grid{gap:2px;min-width:0;display:grid}.table-cell{font:inherit;border:1px solid var(--line);resize:none;background:#fff;border-radius:3px;min-width:0;min-height:24px;padding:3px 5px;font-size:12px}.table-cell.selected{border-color:var(--focus);background:#eef5fa}.count-table{border-collapse:collapse;width:100%;margin:4px 0 8px;font-size:13px}.count-table th,.count-table td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.count-table .num{text-align:right;font-variant-numeric:tabular-nums}.tf-menus{flex-wrap:wrap;gap:4px;display:inline-flex;position:relative}.tf-menus>button{border:1px solid var(--line);border-radius:4px;padding:2px 7px;font-size:12px}.tf-pop{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(5,30px);gap:2px;margin-top:3px;padding:4px;display:grid;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #141e1929}.tf-pop button{padding:3px 0;font-size:14px}.tf-pop-list{grid-template-columns:1fr;min-width:240px}.tf-pop-list button{text-align:left;padding:4px 8px;font-size:12.5px}.tf-panel{z-index:45;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;width:min(360px,100vw - 32px);max-height:calc(100vh - 140px);padding:10px 12px;display:flex;position:fixed;top:96px;right:16px;box-shadow:0 12px 32px #141e192e}.tf-head{justify-content:space-between;align-items:center;display:flex}.tf-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.tf-list{border-top:1px solid var(--line);max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.tf-list li>button{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;width:100%;padding:4px 6px;font-size:12.5px;display:block;overflow:hidden}.tf-list li>button[aria-current=true]{background:#eef5fa}.tf-list mark{background:#fde68a;padding:0 1px}.tf-where{color:var(--muted);margin-right:4px;font-size:11px}.tf-macro{align-items:center;gap:6px;padding:3px 0;font-size:13px;display:flex}.tf-macro>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tf-banner{z-index:44;background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:6px 10px;font-size:13px;display:flex;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #141e1929}.tf-c{font-weight:600}.tf-green{color:#15803d}.tf-red{color:#b91c1c}.tf-amber{color:#b45309}.toolbar.mode-wrap{flex-wrap:wrap;row-gap:3px}.toolbar.mode-wrap .tb-group:last-child{border-right:0}.stage canvas.touch-loupe{border:2px solid var(--green);pointer-events:none;z-index:16;background:var(--canvas);border-radius:50%;width:116px;height:116px;inset:auto;box-shadow:0 6px 20px #1d2b2440}.stage canvas.touch-loupe[hidden]{display:none}.touch-keys{z-index:6;border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:4px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #1d2b2420}.touch-keys button{border-color:#d5dbd4;min-width:52px;height:40px;padding:0 10px;font-weight:600}.touch-mode .tool-btn{min-width:42px;height:42px}.touch-mode .mode-labels .tool-btn{min-width:52px;height:48px}.touch-mode .group-chevron{width:24px}.touch-mode .top-actions button,.touch-mode .zoom-ctl button{min-height:38px}.touch-mode .status-toggles button{padding:6px 9px}.touch-mode .app{grid-template-rows:52px auto 1fr auto auto 44px}.touch-mode .cmd-field input{padding:6px 8px;font-size:16px}.touch-mode .context-menu button,.touch-mode .flyout button{padding-top:10px;padding-bottom:10px}.touch-mode .toggle{transform:scale(1.15)}html,body{overflow-x:hidden}@media (width<=1099px){.top-actions{scrollbar-width:none;flex-shrink:1;min-width:0;overflow-x:auto}.top-actions::-webkit-scrollbar{display:none}.status-toggles::-webkit-scrollbar{display:none}.toolbar::-webkit-scrollbar{display:none}.status-toggles{scrollbar-width:none;flex-shrink:1;min-width:0;overflow-x:auto}.status-toggles>*{white-space:nowrap;flex-shrink:0}.toolbar.mode-groups{scrollbar-width:none;overflow-x:auto}}@media (width<=639px){.topbar{gap:6px;padding:0 8px}.save-state,.status-coords,.status-modes,.statusbar>.sep{display:none}.statusbar{gap:6px;padding:0 6px}.status-prompt{display:none}.commandline{padding:3px 6px 4px}.cmd-label{display:none}.touch-keys button{min-width:44px;padding:0 8px}.touch-keys{bottom:8px;left:8px;transform:none}.touch-mode .zoom-ctl{bottom:64px;right:8px}.notices{max-width:none;bottom:116px;left:8px;right:8px}.workspace.narrow .panel{width:min(300px,100vw - 24px)}}.print-layout{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:16px;display:grid}.print-controls .seg{margin-bottom:4px}.print-controls .seg button{padding:4px 10px;font-size:12px}.print-controls .seg button.on{background:var(--green-soft);color:var(--green-strong);font-weight:700}.print-controls .checks{flex-wrap:wrap;gap:10px;display:flex}.print-controls .checks .radio-row{padding:2px 0}.print-controls .checks-col .radio-row{padding:3px 0}.print-right{gap:10px;min-width:0;display:grid}.print-preview-wrap{min-width:0}.export-pdf-preview{min-width:0;position:sticky;top:0}.print-preview{background:#e8ebe6;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:14px;min-height:240px;max-height:62vh;padding:14px;display:flex;overflow:auto}.print-fig{justify-items:center;gap:4px;margin:0;display:grid}.print-fig figcaption{color:var(--muted);font-size:11px}.print-page{background:#fff;box-shadow:0 1px 2px #0002,0 4px 14px #0002}.tile-grid{margin:0}.tile-grid svg{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;max-height:260px}.error-text{color:var(--danger)!important}.publish-table{border-collapse:collapse;width:100%;font-size:12px}.publish-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:4px;font-weight:600}.publish-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:3px 4px}.publish-table tr.excluded td{color:var(--faint)}.publish-table td.file{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.publish-table td.order{white-space:nowrap}.publish-table td.order button{padding:2px 6px}.publish-table select{max-width:150px}@media (width<=760px){.print-layout{grid-template-columns:1fr}}.row.two .checks-cell{gap:4px;display:grid}.row.two .checks-cell>span:first-child{color:var(--muted);font-size:12px}.publish-layout{gap:12px;display:grid}.tpl-list,.cust-table{border:1px solid #e3e7e2;border-radius:6px;max-height:46vh;overflow:auto}.tpl-row,.cust-row{border-top:1px solid #eef1ed;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;display:flex}.tpl-row:first-child,.cust-row:first-child{border-top:0}.tpl-row.picked{background:var(--green-soft)}.tpl-row .radio-row{padding:4px 0}.tpl-head{border-top:1px solid #eef1ed;margin:0;padding:8px 10px 4px}.field-row{grid-template-columns:110px 1fr;align-items:center;gap:8px;margin:8px 0;font-size:12.5px;display:grid}.field-row input,.field-row select{min-width:0;font:inherit;border:1px solid #d5dbd4;border-radius:5px;padding:5px 7px}.dialog .cust-table input,.dialog .row input[type=text],.dialog input[aria-label=Filter\ tools],.dialog input[aria-label=Alias],.dialog input[aria-label=Command],.dialog input[aria-label=Workspace\ name],.dialog input[aria-label="New template name"]{max-width:none;font:inherit;border:1px solid #d5dbd4;border-radius:5px;padding:4px 7px}.key-input{text-align:center;width:84px;font-family:var(--mono);cursor:pointer}.key-input:focus{outline:2px solid var(--focus);background:#eef5fb}.seg-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:10px;display:flex}.seg-tabs button{border:0;border-bottom:2px solid #0000;border-radius:0;padding:6px 10px}.seg-tabs button.active{border-bottom-color:var(--green);color:var(--green-strong);font-weight:600}.std-report{max-height:52vh;overflow:auto}.std-ok{font-weight:600;color:var(--green-strong)!important}.std-group{border:1px solid #e3e7e2;border-radius:6px;margin:8px 0;padding:6px 10px}.std-head{align-items:center;gap:6px;font-size:12.5px;display:flex}.std-group ul{color:var(--muted);margin:6px 0 2px;padding-left:18px;font-size:12px}.tablock-banner{z-index:60;max-width:min(760px,100vw - 32px);position:fixed;top:96px;left:50%;transform:translate(-50%)}.review-panel{width:min(400px,100vw - 32px)}.review-panel .tf-row input{flex:1;min-width:0}.review-note{margin:0;font-size:11.5px}.review-list{max-height:calc(100vh - 330px)}.review-item{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:6px 2px;font-size:12.5px;display:flex}.review-item.focus{background:#eef5fa}.review-item.resolved .review-text{color:var(--muted)}.review-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-pin{color:#fff;background:#d32f2f;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.review-item.resolved .review-pin{background:#8a948f}.review-text{white-space:pre-wrap;overflow-wrap:anywhere}.review-replyline{border-left:2px solid var(--line);padding-left:14px}.review-notefield{width:100%;font-size:12px}.review-area .seg{gap:10px;display:inline-flex}.review-total{font-variant-numeric:tabular-nums}.massprop-table th{color:var(--muted);font-weight:500}.layer-search{gap:4px;margin-bottom:6px;display:flex}.layer-search input[type=search]{flex:1;min-width:0}.layer-search select{max-width:42%}.layer-search .icon-btn{place-items:center;width:28px;padding:0;display:grid}.layer-search .icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;width:15px;height:15px}.layer-search .icon-btn.on{background:var(--green-soft);color:var(--green-strong)}.layer-props-filter{border:1px solid var(--line);border-radius:6px;gap:4px;margin-bottom:6px;padding:6px;font-size:12px;display:grid}.layer-props-filter label{justify-content:space-between;align-items:center;gap:6px;display:flex}.layer-list-head{color:var(--muted);justify-content:space-between;align-items:center;margin:2px 0 4px;font-size:12px;display:flex}.layer-list{max-height:60vh;overflow-y:auto}.layer-row .layer-pick{flex-shrink:0;margin:0 2px 0 0}.layer-row.picked{background:#eef4fb}.layer-bulk{background:#f4f8fc;border:1px solid #cfdcec;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;padding:6px;font-size:12px;display:flex}.layer-bulk button,.layer-bulk select{padding:2px 6px;font-size:12px}.layer-bulk input[type=color]{border:0;width:26px;height:22px;padding:0}.layer-bulk input[aria-label="Layer group name"]{width:110px}.layer-tools-row{justify-content:center;gap:10px;margin-top:6px;font-size:12px;display:flex}button.link{color:var(--green-strong,#1f7a55);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0 2px;text-decoration:underline}button.danger,button.primary.danger{color:#fff;background:var(--danger,#b42318);border-color:var(--danger,#b42318)}.layer-bulk button.danger{color:var(--danger,#b42318);background:0 0}.swatch-dot{vertical-align:-1px;border:1px solid #0002;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.layer-checklist{gap:4px;display:grid}.layer-checklist-actions{gap:10px;font-size:12px;display:flex}.layer-checklist-list{border:1px solid var(--line);border-radius:6px;max-height:240px;padding:4px 6px;font-size:13px;overflow-y:auto}.layer-checklist-list .check-row{align-items:center;gap:4px;display:flex}.layer-walk-list{border:1px solid var(--line);border-radius:6px;max-height:300px;margin:6px 0;font-size:13px;overflow-y:auto}.layer-walk-row{cursor:pointer;-webkit-user-select:none;user-select:none;padding:3px 8px}.layer-walk-row:hover{background:#f2f5f3}.layer-walk-row.on{background:var(--green-soft,#e7f3ec);font-weight:600}.laytrans-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.laytrans-cols h3{margin:6px 0;font-size:13px}.laytrans-map{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.laytrans-map input{width:140px}.laytrans-rules ul{max-height:160px;margin:0;padding-left:18px;font-size:12px;overflow-y:auto}.laytrans-plan{max-height:200px;font-size:12px;overflow-y:auto}.laytrans-plan td{padding:1px 6px 1px 0}.laytrans-options{flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:12px;display:flex}@media (width<=720px){.laytrans-cols{grid-template-columns:1fr}}.status-isolate{color:#8a5a00;background:#fff4e5;border:1px solid #f0c48a;border-radius:10px;padding:0 8px;font-size:11px}.drafting-settings .check-row{align-items:center;gap:6px;padding:2px 0;font-size:12.5px;display:flex}.drafting-settings .row-buttons{align-items:center;margin:8px 0}.drafting-settings .plain-list{gap:4px;margin:4px 0;padding:0;list-style:none;display:grid}.osnap-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px 12px;margin:6px 0;display:grid}.osnap-grid .hint{margin-left:auto;font-size:10.5px}.grip-menu{z-index:30;min-width:150px;display:grid}.grip-menu button{text-align:left;background:0 0;border:none;justify-content:flex-start;padding:5px 8px}.grip-menu button:hover,.grip-menu button:focus-visible{background:#f1f4f2}.grip-mode-chip{z-index:20;background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:6px;padding:4px 10px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001a}.crash-screen{background:var(--canvas);height:100%;padding:16px;display:flex;overflow:auto}.crash-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;max-width:480px;margin:auto;padding:20px;line-height:1.45}.crash-card h1{margin:0 0 10px;font-size:18px}.crash-card p{margin:0 0 10px}.crash-actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.crash-warning{color:var(--danger)}.crash-hint{color:var(--muted)}.crash-message{background:var(--danger-soft);color:var(--danger);font-family:var(--mono);overflow-wrap:anywhere;border-radius:6px;padding:8px 10px;font-size:12px}.crash-details summary{cursor:pointer;color:var(--muted)}.crash-details pre{max-height:200px;font-family:var(--mono);color:var(--muted);margin:8px 0 0;font-size:11px;overflow:auto}
