:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fcfdfb;--surface:#fff;--subtle:#f5f7f5;--work:#eef1ee;--ink:#18221f;--muted:#4f5d57;--border:#b8c6c0;--strong:#7d8d85;--primary:#0b6b5f;--primary-hover:#07564d;--primary-wash:#ddf2ec;--focus:#006bce;--info:#2c5f78;--info-wash:#e8f3f8;--warning:#704000;--warning-line:#d48300;--warning-wash:#fff5d8;--danger:#9a1d1d;--danger-wash:#fdecec;--scrim:#0d18148f;--ease:cubic-bezier(.23,1,.32,1);--drawer:cubic-bezier(.32,.72,0,1);color:var(--ink);background:var(--page);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-width:0;margin:0}body{background:var(--page);overflow-x:hidden}button,input,select{font:inherit;color:inherit}button,.button,.file-button,summary{min-width:44px;min-height:44px}button,.button,.file-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-weight:650;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;color:#6d7773;background:#edf0ee;border-color:#ccd4d0}.primary{color:#fff;background:var(--primary);border-color:var(--primary)}.danger{color:var(--danger);background:var(--danger-wash);border-color:#d9aaaa}.quiet{background:0 0;border-color:#0000}a{color:var(--primary);text-underline-offset:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;transition:none}.skip-link{z-index:60;background:var(--surface);border:2px solid var(--focus);padding:8px 12px;position:fixed;top:4px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.skip-canvas{left:150px}.skip-inspector{left:245px}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}[hidden]{display:none!important}.editor-body{height:100dvh;overflow:hidden}.editor-app{grid-template-rows:88px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.editor-topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;grid-template-rows:44px 44px;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:0 8px;padding:0 8px;display:grid}.topbar-brand{align-items:center;gap:10px;min-width:0;display:flex}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--primary);width:20px;height:20px;box-shadow:5px -5px 0 -2px var(--surface),5px -5px 0 0 var(--ink);flex:none}.topbar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:13px;display:none;overflow:hidden}.topbar-truth{text-align:center;color:var(--muted);overflow-wrap:anywhere;grid-area:2/1/auto/-1;align-self:center;margin:0;font-size:12px;line-height:1.25}.topbar-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.topbar-actions #help-open{padding-inline:8px;font-size:0}.topbar-actions #help-open:before{content:"?";border:1px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-size:16px;display:grid}.topbar-actions .language-nav{min-width:0}.editor-main{grid-template-rows:44px minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.single-mode-tabs{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0 6px;display:grid}.single-mode-tabs button,.panel-tabs button{background:0 0;border:0;border-radius:0;min-width:0;padding-inline:6px}.single-mode-tabs button[aria-selected=true],.panel-tabs button[aria-selected=true]{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary);background:var(--primary-wash)}.workbench{background:var(--work);min-height:0;position:relative;overflow:hidden}.editor-region{min-width:0;min-height:0}.panel{background:var(--surface);border:0}.task-region,.inspector-region{grid-template-rows:auto 44px minmax(0,1fr);height:100%;display:none;overflow:hidden}.editor-app[data-single-active=setup] .task-region,.editor-app[data-single-active=canvas] .canvas-region,.editor-app[data-single-active=inspect] .inspector-region{display:grid}.region-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:6px 12px;display:flex}.region-heading h2{margin:0;font-size:16px}.step-kicker{color:var(--primary);letter-spacing:.08em;margin:0;font:650 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.drawer-close{padding:0;font-size:22px;display:none}.panel-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.panel-tabs button{white-space:normal;font-size:12px;line-height:1.15}.panel-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:12px;overflow-y:auto}.control-group{border:0;border-bottom:1px solid var(--border);gap:12px;margin:0 0 20px;padding:0 0 18px;display:grid}.control-group:last-child{border:0}.control-group h3,.panel-scroll h3{margin:0;font-size:15px}.helper,.disabled-reason,.user-label{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.disabled-reason:empty{display:none}label{gap:5px;font-size:13px;font-weight:650;display:grid}label>span{align-items:center;gap:5px;display:flex}input,select{border:1px solid var(--border);background:var(--surface);border-radius:4px;width:100%;min-width:0;min-height:44px;padding:8px 10px}input:invalid{border-color:var(--danger)}.field-row,.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.compact-list,.placement-list{gap:8px;margin:0;padding-left:20px;display:grid}.classification{border:1px solid var(--primary);width:fit-content;color:var(--primary);background:var(--primary-wash);border-radius:999px;margin:0;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.placement-list{padding:0;list-style:none}.placement-row{border:1px solid var(--border);border-radius:6px;gap:4px;padding:9px;display:grid}.placement-row[aria-current=true]{outline:2px solid var(--focus);outline-offset:1px}.row-meta{color:var(--muted);font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nudge-group{border:0;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;padding:0;display:grid}.nudge-group legend{grid-column:1/-1;margin-bottom:5px;font-size:13px;font-weight:650}.warning-card,.error-summary,.recovery-card{border-left:4px solid var(--warning-line);background:repeating-linear-gradient(135deg,var(--warning-wash) 0 12px,#fffaf0 12px 24px);padding:12px}.error-summary{border-color:var(--danger);background:var(--danger-wash)}.recovery-card{justify-content:space-between;align-items:center;gap:8px;display:flex}.local-actions{gap:8px;margin:12px 0;display:grid}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.canvas-region{background:var(--work);grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:none;overflow:hidden}.canvas-viewport{border:1px solid var(--strong);background:var(--work);touch-action:none;min-height:0;position:relative;overflow:hidden}.planner-svg{background:var(--work);-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;display:block}.planner-svg.is-dragging{cursor:grabbing}.quick-start{z-index:5;border:1px solid var(--strong);background:#fffffff7;border-radius:10px;width:min(520px,100% - 24px);max-height:calc(100% - 24px);padding:16px;position:absolute;inset:50% auto auto 50%;overflow:auto;translate:-50% -50%;box-shadow:0 16px 44px #12231d33}.quick-start h2{margin:2px 0 4px;font-size:20px}.quick-start>p:not(.step-kicker){color:var(--muted);margin:0 0 12px}.quick-start ol{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.quick-start li{border-left:3px solid var(--primary);gap:2px;padding-left:9px;display:grid}.quick-start li span{color:var(--muted);font-size:13px}.quick-start .button-row{background:var(--surface);padding-top:6px;position:sticky;bottom:0}.context-actions{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(5,minmax(44px,1fr));grid-auto-rows:minmax(44px,auto);gap:4px;padding:4px 6px;display:grid}.context-actions button{white-space:normal;width:100%;min-width:44px;min-height:44px;padding:4px;font-size:12px;line-height:1.15}.context-actions .context-desktop-only{display:none}.pan-controls,.history-controls,.short-zoom{display:contents}.history-controls button{font-size:0}.history-controls button span{font-size:12px}.canvas-statusbar{border-top:1px solid var(--border);background:var(--surface);min-height:40px;padding:6px 8px;display:block}.status-summary{width:100%;min-width:0;min-height:28px;color:var(--muted);overflow-wrap:anywhere;align-items:center;margin:0;font-size:12px;line-height:1.35;display:flex}.legend{color:var(--muted);gap:8px;margin:12px 0;font-size:12px;display:grid}.legend span{align-items:center;gap:6px;display:inline-flex}.legend span:before{content:"";border:1px solid var(--strong);width:16px;height:16px}.legend-usable:before{background:radial-gradient(circle at 3px 3px,var(--primary) 1.5px,transparent 2px),var(--primary-wash);background-size:8px 8px}.legend-obstacle:before{background:repeating-linear-gradient(45deg,transparent 0 3px,var(--strong) 3px 4px)}.legend-warning:before{background:repeating-linear-gradient(45deg,var(--warning-wash) 0 4px,var(--warning-line) 4px 8px)}.geometry-block{cursor:grab}.geometry-block .block-shape{fill:#fff;stroke:var(--primary);stroke-width:2px}.geometry-block.is-warning .block-shape{fill:url(#warning-pattern);stroke:var(--warning)}.geometry-block.is-selected .selection-line{display:block}.selection-line{fill:none;stroke:var(--focus);stroke-width:4px;stroke-dasharray:6 3;pointer-events:none;display:none}.block-label{fill:var(--ink);pointer-events:none;font:650 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.area-usable{fill:url(#usable-pattern);stroke:var(--primary)}.area-obstacle{fill:url(#obstacle-pattern);stroke:var(--strong)}.area-usable,.area-obstacle{pointer-events:none}dialog{border:1px solid var(--border);opacity:0;max-width:min(480px,100vw - 24px);max-height:calc(100dvh - 24px);transition-property:opacity,transform;transition-duration:.12s;transition-timing-function:var(--ease);border-radius:12px;padding:20px;transform:translateY(8px);box-shadow:0 22px 60px #0d18143d}dialog[open]{opacity:1;transition-duration:.18s;transform:none}dialog::backdrop{background:var(--scrim)}dialog h2{margin-top:0}.edge-dialog{width:min(480px,100vw);max-width:none;height:calc(100dvh - 24px);margin:12px 12px 12px auto;padding:0;overflow:hidden}.dialog-shell{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.dialog-shell>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dialog-shell h2{margin:0}.dialog-scroll{padding:6px 18px 28px;overflow-y:auto}.dialog-scroll section{border-bottom:1px solid var(--border);padding:12px 0}.dialog-scroll h3{margin:0 0 4px}.toast{z-index:50;border:1px solid var(--primary);background:var(--surface);max-width:360px;transition-property:opacity,transform;transition-duration:.16s;transition-timing-function:var(--ease);border-radius:8px;padding:12px 16px;position:fixed;bottom:16px;right:16px}.toast.is-exiting{opacity:0;transform:translateY(8px)}.noscript{z-index:60;background:var(--danger-wash);border:2px solid var(--danger);padding:16px;position:fixed;inset:16px;overflow:auto}.site-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;min-height:56px;padding:0 24px;display:flex}.site-header nav{align-items:center;gap:8px;margin-left:auto;display:flex}.simple-page main{max-width:1200px;margin:auto;padding:24px}.prose-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:760px;margin:40px auto;padding:28px}.site-footer{border-top:1px solid var(--border);max-width:1200px;color:var(--muted);margin:auto;padding:24px;font-size:13px}.recovery-nav{gap:16px;display:grid}.primary-nav a{align-items:center;min-height:44px;display:inline-flex}.field-error{color:var(--danger);font-size:13px;font-weight:500;display:block}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}@media (height<560px){.editor-app{grid-template-rows:56px minmax(0,1fr)}.editor-topbar{grid-template-rows:56px;grid-template-columns:max-content minmax(0,1fr) max-content}.topbar-truth{grid-area:1/2;font-size:11px;line-height:1.1}.topbar-title{display:none}.quick-start{width:min(760px,100% - 20px);padding:10px}.quick-start ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.quick-start .button-row{background:var(--surface);padding-top:6px;position:sticky;bottom:0}}@media (width>=768px) and (height>=560px){.editor-app{grid-template-rows:56px minmax(0,1fr)}.editor-topbar{grid-template-rows:56px}.topbar-truth{grid-area:1/2}.topbar-title{display:inline}.editor-main{grid-template-rows:minmax(0,1fr)}.single-mode-tabs{display:none}.workbench{height:100%}.canvas-region{display:grid!important}.task-region,.inspector-region{z-index:12;width:clamp(320px,44vw,400px);position:absolute;top:0;bottom:0;box-shadow:0 16px 40px #12231d33}.task-region{left:0}.inspector-region{right:0}.task-region.is-drawer-open,.inspector-region.is-drawer-open{display:grid}.drawer-close{display:inline-flex}.context-actions{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:44px;align-items:stretch;gap:4px;min-height:96px;padding:4px 8px;display:grid;overflow:hidden}.context-actions .context-desktop-only{display:inline-flex}.context-actions button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0;height:44px;min-height:44px;padding:3px 5px;font-size:12px;line-height:1.15}.context-actions>.toolbar-spacer.context-desktop-only{display:none}.context-actions #open-task-drawer{grid-column:span 2}.context-actions #mode-select{grid-column:span 1}.context-actions #mode-usable,.context-actions #mode-obstacle{grid-column:span 2}.context-actions .pan-controls,.context-actions .history-controls,.context-actions .desktop-zoom-controls{align-items:stretch;gap:4px;display:grid}.context-actions .pan-controls{grid-column:span 4;grid-template-columns:repeat(4,minmax(0,1fr))}.context-actions .history-controls{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr))}.context-actions .desktop-zoom-controls{grid-column:span 3;grid-template-columns:repeat(3,minmax(0,1fr))}.context-actions #canvas-add{grid-column:span 3}.context-actions #open-inspect-drawer{grid-column:span 2}.history-controls button{font-size:0}.history-controls button span{font-size:12px}.short-zoom{display:none}.context-actions #open-task-drawer,.context-actions #open-inspect-drawer{display:inline-flex}.canvas-viewport{margin:8px}.canvas-statusbar{padding-inline:10px}}@media (width>=1280px) and (height>=720px){.editor-app{grid-template-rows:48px minmax(0,1fr)}.editor-topbar{grid-template-rows:48px;padding-inline:12px}.topbar-title{display:inline}.topbar-truth{font-size:12px}.topbar-actions #help-open{font-size:13px}.topbar-actions #help-open:before{display:none}.workbench{grid-template-columns:clamp(252px,20vw,304px) minmax(560px,1fr) clamp(272px,22vw,336px);height:100%;display:grid}.task-region,.inspector-region{width:auto;height:100%;box-shadow:none;border-radius:0;position:static;display:grid!important}.task-region{border-right:1px solid var(--border)}.inspector-region{border-left:1px solid var(--border)}.drawer-close,.context-actions #open-task-drawer{display:none}.context-actions #open-inspect-drawer{display:inline-flex}.canvas-region{grid-column:2;min-width:560px}.canvas-viewport{min-height:520px;margin:0 8px}.short-zoom{display:none}.canvas-statusbar{min-height:52px}}.topbar-title{margin:0}.brand{justify-content:center;min-width:44px;min-height:44px;padding-inline:10px}@media (width<=767px),(height<560px){#analytics-settings{display:none}}@media (width<=359px){.field-row,.field-grid{grid-template-columns:1fr}.topbar-brand .brand>span:last-child{display:none}.topbar-actions{gap:0}.quick-start{width:calc(100% - 12px);padding:10px}.quick-start .button-row{display:grid}.quick-start button{width:100%}}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover,.button:hover,summary:hover{background-color:var(--subtle);border-color:var(--strong);transition-property:color,background-color,border-color;transition-duration:.12s;transition-timing-function:ease}.primary:not(:disabled):hover{background:var(--primary-hover);color:#fff}.geometry-block:hover .block-shape{stroke-width:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}.geometry-block.is-pointer-active .block-shape{transform:none!important}}@media (hover:hover) and (pointer:fine){:is(button:not(:disabled),a[href],summary,.button,.file-button).is-pointer-pressed{transition:transform 80ms cubic-bezier(.23,1,.32,1);transform:translateY(1px)scale(.985)}}@media (prefers-reduced-motion:reduce){:is(button,a,summary,.button,.file-button).is-pointer-pressed{transform:none!important}}.consent-panel{max-width:38rem}.consent-panel h2:focus{outline:none}.consent-panel p{line-height:1.6}.consent-panel .button-row{justify-content:flex-end;margin-top:20px}@media (forced-colors:active){:root{--page:Canvas;--surface:Canvas;--subtle:Canvas;--work:Canvas;--ink:CanvasText;--muted:CanvasText;--border:ButtonBorder;--strong:ButtonBorder;--primary:Highlight;--primary-hover:Highlight;--primary-wash:Canvas;--focus:Highlight;--warning:CanvasText;--warning-line:CanvasText;--warning-wash:Canvas;--danger:CanvasText;--danger-wash:Canvas}.primary{color:highlighttext}}
