*{box-sizing:border-box;margin:0}body{color:var(--ink);background:var(--paper,#fdfbf7);-webkit-font-smoothing:antialiased;font:14px -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;overflow:hidden}:root{--mono:ui-monospace, monospace;--surface:color-mix(in srgb, var(--accent) 8%, var(--paper));--surface-hover:color-mix(in srgb, var(--accent) 14%, var(--paper));--surface-line:color-mix(in srgb, var(--accent) 24%, var(--paper));--accent-ink:color-mix(in srgb, var(--accent) 65%, var(--paper));--said-ink:color-mix(in srgb, var(--sketch) 55%, var(--paper));--z-page:6;--z-dims:7;--z-marquee:5;--z-console:9;--z-chrome:10;--z-panel:15;--z-snap:30}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{color:var(--paper);background:var(--accent)}#toolbar{pointer-events:none;z-index:var(--z-chrome);grid-template-rows:auto auto;justify-items:start;gap:12px;display:grid;position:fixed;top:20px;left:20px}#toolbar .groups{grid-area:1/1;align-items:flex-start;gap:10px;transition:transform .25s,opacity .2s;display:flex}body[data-screen=draw] #toolbar .groups:not([data-mode=draw]),body[data-screen=make] #toolbar .groups:not([data-mode=make]),body[data-screen=layout] #toolbar .groups:not([data-mode=layout]){--hit:none;opacity:0;pointer-events:none;transform:translate(calc(-100% - 24px))}#toolbar .group{flex-direction:column;gap:10px;display:flex}#toolbar .buttons{grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:10px;display:grid}#toolbar .group:not(:has(button:not([hidden]))){display:none}#toolbar .group h3,#mode-menu h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 -2px;font-size:9px;font-weight:500}#toolbar .divider{background:#1c19171f;align-self:stretch;width:1px}#toolbar button{pointer-events:var(--hit,auto);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:44px;height:44px;padding:0;transition:background .12s,color .12s;display:flex}#toolbar button span{letter-spacing:.01em;font-size:10px;line-height:1}#toolbar button:not(:has(svg)){height:auto;padding:8px 4px}#toolbar button:hover{background:var(--surface-hover)}#toolbar button{position:relative}#toolbar button:after{content:attr(data-tip);z-index:1;width:max-content;max-width:210px;color:var(--paper);text-align:left;opacity:0;pointer-events:none;background:#1c1917eb;border-radius:4px;padding:6px 8px;font-size:11px;line-height:1.35;transition:opacity .1s .35s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}#toolbar button:hover{z-index:1}#toolbar button:hover:after{opacity:1}#toolbar button.active{color:var(--paper);background:var(--accent-active);border-color:var(--accent-active)}#toolbar button:disabled{color:var(--muted);cursor:not-allowed;background:0 0}#toolbar button:disabled:hover{background:0 0}#hint{max-width:40ch;color:var(--muted);pointer-events:none;grid-area:2/1;font-size:12px}#account{z-index:var(--z-panel);width:44px;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:50%;place-items:center;display:grid;position:fixed;top:20px;right:20px}#account:hover{background:var(--surface-hover)}#uimode{z-index:var(--z-panel);width:44px;height:44px;color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:50%;place-items:center;display:grid;position:fixed;top:20px;right:76px}#uimode:hover{background:var(--surface-hover)}#mode-menu{background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;min-width:160px;padding:4px;position:fixed;inset:72px 76px auto auto;overflow:hidden}#mode-menu h3{margin:0;padding:6px 10px 4px}#mode-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:3px;padding:8px 10px;font-size:13px;display:block}#mode-menu button:hover{background:var(--surface-hover)}#mode-menu button.active{color:var(--paper);background:var(--ink)}#account-menu{background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;min-width:160px;padding:4px;position:fixed;inset:72px 20px auto auto;overflow:hidden}#account-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:3px;padding:8px 10px;font-size:13px;display:block}#account-menu button:hover{background:var(--surface-hover)}#gate{max-width:min(400px,100vw - 40px);color:var(--ink);background:0 0;border:0;margin:auto;padding:0}#gate[open]{flex-direction:column;display:flex}#gate::backdrop{background:#0006}#gate [hidden]{display:none}.gate-close{color:var(--paper);opacity:.75;text-shadow:0 1px 2px #00000080;background:0 0;border:0;align-self:flex-end;padding:0 2px 4px;font-size:26px;line-height:1}.gate-close:hover{opacity:1}.gate-why{color:var(--paper);text-align:center;text-shadow:0 1px 2px #00000080;margin-bottom:10px;font-size:13px}.gate-why:empty{display:none}.gate-welcome{text-align:center;background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;padding:32px 28px 26px}.gate-note{text-align:center}.gate-note p{color:var(--paper);text-shadow:0 1px 2px #00000080;font-size:13px}.gate-note button{margin-top:14px}.gate-dots{text-align:left;width:3ch;animation:1.4s steps(4,jump-none) infinite gate-dots;display:inline-block}@keyframes gate-dots{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.gate-dots{animation:none}}#gate-form:not(:empty)~.gate-note{display:none}.gate-welcome h1{margin-bottom:8px;font-size:22px;font-weight:600}.gate-welcome p{color:var(--muted);font-size:14px}.gate-buttons{flex-direction:column;gap:10px;margin-top:22px;display:flex}.gate-buttons button,.gate-note button{color:var(--paper);background:var(--accent);border:0;border-radius:2px;padding:10px 18px;font-size:14px}.gate-buttons button:hover,.gate-note button:hover{background:var(--accent-active)}.panel{z-index:var(--z-panel);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;width:216px;transition:transform .25s;position:fixed;top:76px;right:20px;overflow:hidden;transform:translate(calc(100% + 24px))}.panel.open{transform:none}.rail{--rail-w:264px;z-index:var(--z-panel);pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;top:76px;right:20px}.rail>.panel{width:var(--rail-w);z-index:auto;pointer-events:auto;transition:transform .25s ease, display .25s allow-discrete;position:static}.rail>.panel:not(.open){display:none}.panel>header{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--surface-line);align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.panel>header>span{margin-right:auto}.rail>.panel>header{cursor:pointer}#aside{right:calc(20px + var(--rail-w) + 12px)}.panel>header .twisty{color:var(--muted);background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;transition:transform .12s;display:flex}.panel>header:hover .twisty{color:var(--ink)}.panel.shut>header{border-bottom:0}.panel.shut>header .twisty{transform:rotate(-90deg)}.panel.shut>.panel-body{display:none}.panel{--row-gap:5px;--twisty:13px;--marker:8px}.panel ul{padding:4px;list-style:none}.panel li{gap:var(--row-gap);cursor:default;border-radius:2px;align-items:center;padding:5px 6px;display:flex;position:relative}.panel li.heading{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:default;padding:10px 6px 2px;font-size:10px;font-weight:600}.panel li.heading:first-child{padding-top:2px}.panel li.selected{background:var(--surface-hover)}#outliner li.drop{box-shadow:inset 0 0 0 1px var(--accent)}#outliner li.deep .name{color:var(--muted)}#outliner .eye,#outliner .twisty,.panel .act{color:var(--ink);background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:flex}#outliner .twisty{width:var(--twisty);height:var(--twisty);color:var(--muted);transition:transform .12s}#outliner .twisty.shut{transform:rotate(-90deg)}#outliner .twisty:disabled{visibility:hidden}.panel .act{pointer-events:none;opacity:0;transition:opacity .12s}.panel li.selected .act,.panel li:focus-within .act,#outliner li.deep:hover .act{pointer-events:auto;opacity:.7}.panel .act:hover{opacity:1}#outliner li.hidden .eye{color:var(--line)}#outliner .eye:disabled{cursor:default;opacity:.35}#outliner .marker{width:var(--marker);color:var(--accent);flex-shrink:0;font-weight:600}.panel .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}#outliner .params-act{color:var(--accent);background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:flex}#outliner .params-act.unset{color:var(--line)}#outliner .params-act.unset:hover{color:var(--muted)}.panel .swatch{border:1px solid var(--surface-line);border-radius:2px;flex-shrink:0;width:13px;height:13px;padding:0}.panel .swatch.unset{border-style:dashed;border-color:var(--muted);background:0 0}.swatches{z-index:var(--z-snap);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;display:grid;position:fixed;box-shadow:0 4px 12px #0000001f}.swatches button{border:1px solid var(--surface-line);border-radius:2px;width:16px;height:16px;padding:0}.swatches .none{border-style:dashed;border-color:var(--muted);background:0 0}#outliner li.entered .name{font-weight:600}#outliner li.hidden .name{color:var(--muted);text-decoration:line-through}#outliner li.reference .name{color:var(--muted);font-style:italic}.rename{min-width:0;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--ink);background:0 0;outline:none;flex:1;padding:1px 0;font-size:13px}#outliner{order:0}#views{order:1}#sheets{order:-2}#placements{order:-1}#sheets .paper,#placements .scale{letter-spacing:.04em;color:var(--muted);flex-shrink:0;font-size:11px}#placements .scale{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}#placements .scale:hover,#placements .scale:focus-visible{color:var(--ink)}#views li,#sheets li,#placements li{padding-left:calc(6px + var(--twisty) + var(--marker) + var(--row-gap) * 2);cursor:pointer}#levels{width:min(360px,100vw - 40px);max-height:min(70vh,560px);color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;margin:auto;padding:0}#levels::backdrop{background:#00000040}#levels ul{padding:8px;list-style:none}#levels li{border-radius:2px;align-items:center;gap:8px;padding:5px 6px;display:flex}#levels .act{color:var(--ink);opacity:.7;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0;display:flex}#levels .act:hover{opacity:1}#levels .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}#levels .qty{width:96px}#levels li.add{border-top:1px solid var(--surface-line);margin-top:4px;padding-top:10px}#levels li.add input.name{font:inherit;color:var(--ink);background:var(--surface-hover);border:1px solid var(--surface-line);border-radius:2px;outline:none;padding:3px 6px;font-size:13px}#levels li.add .act{justify-content:center;width:20px;font-size:16px;line-height:1}dialog>header{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--surface-line);align-items:center;gap:12px;padding:14px 16px;font-size:12px;display:flex}dialog>header>span:first-child{margin-right:auto}dialog>header .close{color:var(--muted);background:0 0;border:0;padding:0;font-size:20px;line-height:1}dialog>header .close:hover{color:var(--ink)}.dialog-body{overflow-y:auto}#models{width:min(720px,100vw - 40px);max-height:min(80vh,640px);color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;flex-direction:column;margin:auto;padding:0;display:flex}#models::backdrop{background:#00000040}#models.dropping{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}#models>header{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--surface-line);align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.models-where{text-transform:none;opacity:.8;margin-right:auto}#models .close{color:var(--muted);background:0 0;border:0;padding:0 2px;font-size:18px;line-height:1}.models-crumbs{border-bottom:1px solid var(--surface-line);flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.models-crumb{font:inherit;color:var(--muted);background:0 0;border:0;border-radius:2px;padding:2px 4px;font-size:12px}.models-crumb:last-of-type{color:var(--ink)}.models-crumb:hover{background:var(--surface-hover)}.models-sep{color:var(--muted);opacity:.5;font-size:12px}.models-crumb-acts{gap:6px;margin-left:auto;display:flex}.models-new-folder,.models-current button,.params-menu-new button{font:inherit;color:var(--muted);border:1px solid var(--surface-line);background:0 0;border-radius:2px;padding:3px 8px;font-size:12px}.models-new-folder:hover,.models-current button:hover:not(:disabled),.params-menu-new button:hover{color:var(--ink);background:var(--surface-hover)}.models-current button:disabled{cursor:not-allowed;opacity:.45}.models-scroll{flex:1;min-height:120px;overflow-y:auto}.models-table{border-collapse:collapse;table-layout:fixed;width:100%}.models-table th:first-child{width:auto}.models-table th:nth-child(2),.models-table th:nth-child(3){width:100px}.models-table th:nth-child(4){width:88px}.models-table th:last-child{width:104px}.models-table thead th{text-align:left;background:var(--surface);border-bottom:1px solid var(--surface-line);padding:0;position:sticky;top:0}.models-sort{width:100%;font:inherit;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;color:var(--muted);background:0 0;border:0;padding:6px 12px;font-size:11px}.models-sort.on{color:var(--ink)}.models-sort:hover{background:var(--surface-hover)}.models-table th.num .models-sort,.models-table td.num{text-align:right}.models-table tbody td{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:5px 12px;font-size:12px;overflow:hidden}.models-table tbody tr:hover{background:var(--surface-hover)}.models-open-now .models-open{color:var(--accent);font-weight:600}.models-open{width:100%;min-width:0;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:13px;display:flex;overflow:hidden}.models-open span{text-overflow:ellipsis;overflow:hidden}.models-acts{justify-content:flex-end;gap:2px;display:flex}.models-act{color:var(--muted);visibility:hidden;background:0 0;border:0;border-radius:2px;align-items:center;padding:2px;display:flex}tr:hover .models-act,.models-act:focus-visible{visibility:visible}.models-act:hover{color:var(--ink);background:var(--surface)}.models-empty{color:var(--muted);text-align:center;font-size:13px;padding:14px 12px!important}#models>footer{border-top:1px solid var(--surface-line);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.models-row{gap:8px;display:flex}.models-current{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.models-current-what{color:var(--muted);margin-right:auto;font-size:12px}.models-status{color:var(--muted);font-size:11px}.models-status:empty{display:none}.models-name{min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--surface-line);border-radius:2px;flex:1;padding:5px 8px;font-size:13px}.models-save,#params>footer button{color:var(--paper);background:var(--accent);border:0;border-radius:2px;padding:5px 14px;font-size:13px}#viewcube{z-index:var(--z-chrome);cursor:pointer;transition:opacity .2s;position:fixed;bottom:20px;right:20px}body:not([data-screen=draw]) #viewcube{pointer-events:none;opacity:0}#snap{z-index:var(--z-snap);border:2px solid var(--snap);pointer-events:none;width:11px;height:11px;margin:-6px 0 0 -6px;display:none;position:fixed}#snap.midpoint{border:7px solid #0000;border-top-width:0;border-bottom:12px solid var(--snap);width:0;height:0;margin:-6px 0 0 -7px}#snap.edge{transform:rotate(45deg)}#snap.centre{border-radius:50%}#snap.perpendicular{border-top-color:#0000;border-right-color:#0000}#marquee{z-index:var(--z-marquee);background:color-mix(in srgb, var(--accent) 6%, transparent);border:1px solid var(--accent);pointer-events:none;display:none;position:fixed}#marquee.crossing{border-style:dashed}#dims{width:100%;height:100%;z-index:var(--z-dims);pointer-events:none;position:fixed;inset:0}#dims .dim{stroke:var(--guide);fill:var(--guide);font-family:inherit}#dims text{stroke:none}#dims .dim .leg{stroke-opacity:.55}#dims .dim.chosen{stroke:var(--accent);fill:var(--accent)}#dims .dim.paper{stroke:var(--ink);fill:var(--ink)}#dims .dim.paper .leg{stroke-opacity:.8}#console{bottom:calc(20px + var(--scrub-height,0px));z-index:var(--z-console);width:min(680px,55vw);color:var(--paper);background:var(--ink);border-radius:4px;flex-direction:column;transition:bottom .25s;display:flex;position:fixed;left:20px}#console header{align-items:center;gap:8px;padding:6px 10px;display:flex}#console .collapse{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0;font-size:11px;display:flex}#console .collapse svg{transition:transform .15s}#console.collapsed .collapse svg{transform:rotate(-90deg)}#console .errors{color:var(--paper);background:var(--danger);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}#console .errors:empty,#console:not(.collapsed) .errors{display:none}#console .clear{color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}#console .clear:hover,#console .toggle.on{color:var(--paper)}#console .toggle:not(.on){text-decoration:line-through}#console .lines{max-height:30vh;font:11px/1.55 var(--mono);white-space:pre-wrap;padding:0 10px 8px;overflow-y:auto}#console.collapsed .lines{display:none}#console .system{color:var(--muted)}#console.no-system .system,#console.no-state .state{display:none}#console .said{color:var(--said-ink)}#console .warn{color:#e5c07b}#console .error{color:#e06c75}#console .prompt{color:var(--accent-ink)}#console .entry{font:14px/1.4 var(--mono);letter-spacing:.04em;color:var(--paper);border-top:1px solid color-mix(in srgb, var(--paper) 12%, transparent);align-items:baseline;gap:2px;padding:8px 10px;display:flex}#console .entry:before{content:"› ";color:var(--accent-ink)}#console .entry .caret{color:var(--accent-ink)}#console .entry.working{color:var(--muted)}#console .entry .go{font:10px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);border:1px solid var(--accent-ink);background:0 0;border-radius:2px;flex:none;margin-left:auto;padding:2px 10px}#console .entry .go:disabled{color:var(--muted);cursor:not-allowed;border-color:color-mix(in srgb, var(--paper) 20%, transparent)}#console .entry.working .go{color:#e06c75;border-color:#e06c75}#console .entry .placeholder{color:var(--muted);padding-left:6px;font-size:11px}#console .entry.typing .placeholder{display:none}#console .entry.working .caret{animation:1.1s ease-in-out infinite thinking}@keyframes thinking{50%{opacity:.25}}#make{z-index:calc(var(--z-panel) + 1);flex-direction:column;width:280px;display:flex;bottom:20px}#make .panel-body{padding:16px;overflow-y:auto}#make .modes{border:1px solid var(--surface-line);border-radius:2px;grid-template-columns:1fr 1fr;margin-bottom:18px;display:grid;overflow:hidden}#make .modes button{color:var(--muted);background:0 0;border:none;padding:7px;font-size:12px}#make .modes button.active{color:var(--paper);background:var(--accent-active)}#make [data-machine]{display:contents}body:not(.machine-print) #make [data-machine=printer],body.machine-print #make [data-machine=router],body.machine-print #toolbar button[data-machine=router]{display:none}#make h3{border-bottom:1px solid var(--surface-line);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;padding-bottom:8px;font-size:10px;font-weight:600}#make label{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}#make label span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px}#make input:disabled{opacity:.5}#make .field-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}#make .qty{width:100%}#make .qty input{padding:6px 2px}#make .apply{width:100%;color:var(--muted);border:1px solid var(--surface-line);background:0 0;border-radius:2px;margin:14px 0 4px;padding:9px;font-size:12px;transition:background .12s,color .12s}#make .apply.pending{color:var(--paper);background:var(--accent-active);border-color:var(--accent-active)}#make .apply:disabled{cursor:default}#make .warn-group ul{color:var(--warn);margin:10px 0;padding-left:16px;font-size:12px}#make .warn-group.notes ul{color:var(--muted)}#make .warn-group:not(:has(li)){display:none}#make .warn-group h3{margin:10px 0 0}#make .reason{color:var(--danger);margin:10px 0;font-size:12px}#make .reason:empty{display:none}#make .parts{margin-bottom:16px}#make .parts ul{margin:0;padding:0;list-style:none}#make .parts li{color:var(--ink);border:1px solid #0000;border-radius:2px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}#make .parts li.picking{border-color:var(--accent-active)}#make .parts .name{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#make .parts .name:hover{text-decoration:underline}#make .parts .state{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none;font-size:10px}#make .parts .lay{color:var(--muted);cursor:pointer;opacity:.55;background:0 0;border:0;flex:none;align-items:center;padding:0;transition:opacity .12s;display:flex}#make .parts li.laid .lay,#make .parts .lay:hover{opacity:1}#make .parts li.picking .lay{opacity:1;color:var(--accent-active)}#make .parts li:not(.laid) .state{color:var(--warn)}#make .parts .note{color:var(--muted);margin:8px 0 0;font-size:11px}#make .parts .note:empty{display:none}#make-warnings li{cursor:pointer}#make-warnings li:hover{text-decoration:underline}#scrub{z-index:var(--z-chrome);background:var(--surface);border:1px solid var(--surface-line);opacity:0;pointer-events:none;border-radius:4px;padding:14px 18px 12px;transition:transform .25s,opacity .2s;position:fixed;bottom:20px;left:20px;right:316px;transform:translateY(10px)}#scrub.open{opacity:1;pointer-events:auto;transform:none}#scrub .track{position:relative}#scrub .ticks{pointer-events:none;position:absolute;inset:0}#scrub .tick{background:var(--surface-line);width:1px;height:9px;margin-top:-4px;position:absolute;top:50%}#scrub .flag{width:14px;height:14px;color:var(--paper);background:var(--warn);pointer-events:auto;border:0;border-radius:50%;margin:-7px 0 0 -7px;padding:0;font-size:10px;line-height:1;position:absolute;top:50%}#scrub input[type=range]{appearance:none;background:var(--surface-line);outline:none;width:100%;height:2px;display:block;position:relative}#scrub input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ink);cursor:pointer;width:12px;height:12px}#scrub input[type=range]::-moz-range-thumb{background:var(--ink);cursor:pointer;border:0;border-radius:0;width:12px;height:12px}#scrub .readout{font-family:var(--mono);color:var(--muted);margin:12px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}#params{width:min(720px,100vw - 40px);max-height:min(85vh,760px);color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;flex-direction:column;gap:0;margin:auto;padding:0;display:flex}#params::backdrop{background:#00000040}#params>header{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--surface-line);align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}#params>header>span:first-child{margin-right:auto}#params .close{color:var(--muted);background:0 0;border:0;padding:0 2px;font-size:18px;line-height:1}.params-table{flex-direction:column;gap:8px;padding:8px 14px 14px;display:flex}.params-row{align-items:center;gap:8px;font-size:13px;display:flex}.params-row>span{color:var(--muted);flex:1}.params-from{min-width:0;color:var(--muted);flex:none;align-items:center;gap:4px;font-size:11px;font-style:italic;display:flex}.params-row.handed>span:first-child{opacity:.75}.params-clear{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:12px;font-style:normal;line-height:1}.params-clear:hover{color:var(--ink)}.params-row .qty{width:110px}.params-add input{width:110px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--surface-line);border-radius:3px;padding:5px 8px;font-size:13px}.params-add{border-top:1px dashed var(--surface-line);align-items:center;gap:8px;padding-top:6px;display:flex}.params-add input[type=text]{flex:1;width:auto}#params h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 14px 0;font-size:11px;font-weight:400}.params-steps{max-height:52vh;padding:6px 14px 14px;overflow-y:auto}.params-step{border-bottom:1px solid color-mix(in srgb, var(--surface-line) 50%, transparent);flex-wrap:wrap;align-items:center;gap:5px 8px;padding:6px 0;font-size:13px;display:flex}.params-n{width:16px;color:var(--muted);text-align:right;font-size:11px}.params-verb{min-width:84px;color:var(--ink)}.params-arg{flex-wrap:wrap;align-items:center;gap:3px;display:inline-flex}.params-arg.points{flex:1 0 100%;align-items:baseline}.params-points{flex-wrap:wrap;align-items:center;gap:4px 5px;display:flex}.params-point{background:color-mix(in srgb, var(--surface-line) 35%, transparent);border-radius:12px;align-items:center;gap:3px;padding:2px 3px;display:inline-flex}.params-point .params-n{width:auto;padding:0 2px}.params-seg{align-items:center;display:inline-flex}.params-arg.muted,.params-label{color:var(--muted);font-size:12px}.params-chip{font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);border:1px solid var(--surface-line);border-radius:11px;padding:3px 10px;font-size:12px;position:relative}.params-chip:hover{border-color:var(--accent)}.params-chip.bound{color:var(--paper);background:var(--accent);border-color:var(--accent)}.params-chip.derived{color:var(--muted);background:0 0;border-style:dashed}.params-chip.derived:hover{color:var(--ink)}.params-arg.dimensions{border-left:1px solid var(--surface-line);gap:4px;margin-left:2px;padding-left:8px}.params-menu{z-index:var(--z-snap);text-align:left;background:var(--surface);border:1px solid var(--surface-line);border-radius:3px;flex-direction:column;gap:2px;min-width:190px;padding:4px;display:flex;position:fixed;box-shadow:0 4px 12px #0000001f}.params-menu>button{font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:2px;align-items:baseline;gap:8px;padding:3px 6px;font-size:12px;display:flex}.params-menu>button:hover{background:var(--surface-hover)}.params-menu-was{color:var(--muted);margin-left:auto;font-size:10px}.params-menu-unlink{border-top:1px solid var(--surface-line)!important;border-radius:0!important}.params-menu-modes{border-top:1px solid var(--surface-line);gap:2px;margin-bottom:4px;padding-top:4px;display:flex}.params-menu-mode{font:inherit;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:2px;flex:1;padding:3px 6px;font-size:11px}.params-menu-mode:hover{color:var(--ink)}.params-menu-mode.on{color:var(--ink);background:var(--surface-hover);border-color:var(--surface-line)}.params-menu-new{gap:4px;display:flex}.params-menu-list{flex-wrap:wrap;gap:4px;padding-bottom:6px;display:flex}.params-menu-list:empty{display:none}.params-menu-list .params-chip{align-items:baseline;gap:5px;display:inline-flex}.params-menu-worth{color:var(--muted);font-variant-numeric:tabular-nums;padding:3px 1px 0;font-size:10px}.params-menu-worth.bad{color:var(--warn)}.params-menu-new input:disabled{cursor:not-allowed;opacity:.6}.params-menu-new input{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--surface-line);border-radius:2px;padding:2px 5px;font-size:11px}#params>footer{border-top:1px solid var(--surface-line);align-items:center;gap:8px;padding:10px 12px;display:flex}.params-hint{color:var(--muted);flex:1;font-size:12px}#params>footer button:hover{filter:brightness(1.08)}#connect-mcp{width:min(520px,100vw - 40px);color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;margin:auto;padding:0}#connect-mcp::backdrop{background:#00000040}#connect-mcp .dialog-body{padding:4px 16px 16px}#connect-mcp section{margin-top:14px}#connect-mcp h3{margin:0 0 4px;font-size:13px}#connect-mcp p{color:var(--muted);margin:0 0 6px;line-height:1.4}.copyable{align-items:center;gap:8px;display:flex}.copyable code{min-width:0;font-family:var(--mono);white-space:nowrap;background:var(--paper);border:1px solid var(--surface-line);border-radius:3px;flex:1;padding:6px 8px;overflow-x:auto}#setup,#placed{width:min(320px,100vw - 40px);color:var(--ink);background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;margin:auto;padding:0}#setup::backdrop,#placed::backdrop{background:#00000040}#setup ul,#placed ul{padding:8px;list-style:none}#setup li,#placed li{align-items:center;gap:12px;padding:6px;display:flex}#setup .name,#placed .name{color:var(--muted);margin-right:auto}.unit{color:var(--muted);align-items:baseline;gap:4px;display:flex}.unit .qty{width:92px}.qty{background:var(--paper);border:1px solid var(--surface-line);border-radius:2px;grid-template-columns:auto 1fr auto;align-items:stretch;display:grid;overflow:hidden}.qty:focus-within{border-color:var(--accent)}.qty input{min-width:0;font-family:var(--mono);color:var(--ink);text-align:center;appearance:textfield;background:0 0;border:0;outline:none;padding:4px 2px;font-size:13px}.qty input::-webkit-inner-spin-button{appearance:none}.qty input::-webkit-outer-spin-button{appearance:none}.qty .step{color:var(--muted);-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;padding:0 7px;font-size:13px;line-height:1}.qty .step:hover{color:var(--ink);background:var(--surface-line)}.qty .step:active{color:var(--accent)}.qty .step:focus-visible{outline-offset:-3px}.drop .field{width:100%;color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--surface-line);border-radius:2px;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px 4px 8px;font-size:13px;display:flex}.drop .field:hover{border-color:var(--muted)}.drop .field .twisty{color:var(--muted);flex-shrink:0;display:flex}.drop-menu{background:var(--surface);border:1px solid var(--surface-line);border-radius:4px;margin:0;padding:4px;position:fixed;overflow:hidden;box-shadow:0 6px 20px #1c19171f}.drop-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:3px;padding:7px 10px;font-size:13px;display:block}.drop-menu button:hover{background:var(--surface-hover)}.drop-menu button.active{color:var(--paper);background:var(--ink)}.choice{border:1px solid var(--surface-line);border-radius:2px;grid-auto-flow:column;display:grid;overflow:hidden}.choice button{color:var(--muted);background:0 0;border:none;padding:4px 12px;font-size:12px}.choice button:hover{color:var(--ink);background:var(--surface-hover)}.choice button.active{color:var(--paper);background:var(--accent-active)}#page{z-index:var(--z-page);display:none;position:fixed;inset:0}#page.open{display:block}#paper{border:1px solid var(--surface-line);box-shadow:0 0 0 100vmax color-mix(in srgb, var(--ink) 12%, transparent);position:absolute;overflow:hidden}.frame{cursor:move;border:1px dashed #0000;outline:none;position:absolute}.frame:hover,.frame:focus-visible,.frame.picked,.frame.dragging{border-color:var(--guide)}.mark{cursor:move;color:var(--mark-ink,var(--ink));white-space:pre;border:1px dashed #0000;outline:none;line-height:1;position:absolute}.mark.serif{font-family:Georgia,Times New Roman,serif}.mark.mono{font-family:var(--mono)}.mark.narrow{font-family:Arial Narrow,Helvetica Neue,sans-serif;font-stretch:75%}.mark:hover,.mark:focus-visible,.mark.picked,.mark.dragging{border-color:var(--guide)}.mark.line{pointer-events:none;border:none}.mark.line svg{overflow:visible}.mark.line .ink{stroke:var(--mark-ink,var(--ink));stroke-linecap:round;fill:var(--mark-fill,none);fill-opacity:var(--mark-alpha,1)}.mark.line .hit{stroke:#0000;stroke-width:8px;fill:none;pointer-events:stroke;cursor:move}.mark.line .grip{pointer-events:auto}.mark.line .head{fill:var(--mark-ink,var(--ink));stroke:none}.mark.line[data-tip=open] .head{fill:none;stroke:var(--mark-ink,var(--ink));stroke-linecap:round;stroke-linejoin:round}.mark.line:hover .ink,.mark.line:focus-visible .ink,.mark.line.picked .ink,.mark.line.dragging .ink{stroke:var(--guide)}.mark.line:hover .head,.mark.line:focus-visible .head,.mark.line.picked .head,.mark.line.dragging .head{fill:var(--guide)}.mark.line[data-tip=open]:hover .head,.mark.line[data-tip=open]:focus-visible .head,.mark.line[data-tip=open].picked .head,.mark.line[data-tip=open].dragging .head{fill:none;stroke:var(--guide)}.mark.line.band{pointer-events:none}.mark.line.band .ink{stroke:var(--guide)}.mark.line.band .head{fill:var(--guide)}.grip{z-index:1;border:2px solid var(--snap);width:13px;height:13px;display:none;position:absolute;transform:translate(-50%,-50%)}.grip:before{content:"";position:absolute;inset:-1px}.grip.left:before{left:-10px}.grip.right:before{right:-10px}.grip.top:before{top:-10px}.grip.bottom:before{bottom:-10px}.picked>.grip{display:block}
