.page.lk-wide{max-width:1240px}.lk-vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lk-toolbar{border-bottom:1px solid color-mix(in srgb, var(--bd-ink) 10%, transparent);background:color-mix(in srgb, var(--bd-shade) 60%, transparent);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;display:flex}.lk-tgroup{border-right:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);flex-wrap:wrap;align-items:center;gap:6px;padding-right:14px;display:flex}.lk-tgroup:last-of-type{border-right:0;padding-right:0}.lk-tb,.lk-btn{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 6%, transparent);min-height:40px;color:var(--bd-ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;line-height:1.2;display:inline-flex}.lk-tb svg,.lk-btn svg{flex:none}.lk-tb:hover:not(:disabled),.lk-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bd-ink) 15%, transparent)}.lk-tb:active:not(:disabled),.lk-btn:active:not(:disabled){transform:scale(.97)}.lk-tb:disabled,.lk-btn:disabled{opacity:.4;cursor:not-allowed}.lk-tb.is-on,.lk-btn.is-on{background:color-mix(in srgb, var(--bd-accent) 16%, transparent);border-color:var(--bd-accent);color:var(--bd-ink);font-weight:600}.lk-btn.is-go{background:var(--bd-accent);border-color:var(--bd-accent);color:var(--bd-accent-ink);font-weight:700}.lk-btn.is-stop{background:var(--bd-q-stress);border-color:var(--bd-q-stress);color:var(--bd-bg);font-weight:700}.lk-tb.is-danger,.lk-btn.is-danger{border-color:var(--bd-q-stress);color:var(--bd-q-stress)}.lk-tb.is-danger:hover:not(:disabled),.lk-btn.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--bd-q-stress) 14%, transparent)}.lk-tb-icon{width:40px;padding:0}.lk-zoom{font:500 13px var(--mono);color:var(--muted);text-align:right;min-width:3.4em}.lk-parts-btn{display:none}.lk-tb:focus-visible,.lk-btn:focus-visible,.lk-mode:focus-visible,.lk-pal:focus-visible,.lk-pen:focus-visible,.lk-mini:focus-visible,.lk-chips button:focus-visible,.lk-seg button:focus-visible,.lk-check input:focus-visible,.lk-canvas:focus-visible,.lk-select select:focus-visible,.lk-coord input:focus-visible,.lk-guide-x:focus-visible{outline:2px solid var(--bd-accent);outline-offset:2px}.lk-share{border:1px solid color-mix(in srgb, var(--bd-ink) 18%, transparent);background:color-mix(in srgb, var(--bd-shade) 50%, transparent);border-radius:6px;margin:10px 14px 0;padding:10px 12px}.lk-share label{letter-spacing:.06em;color:var(--muted);font-size:12.5px;font-weight:700}.lk-share-row{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.lk-share-row input{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 8%, transparent);min-width:0;min-height:40px;color:var(--ink);font:400 12.5px var(--mono);border-radius:4px;flex:240px;padding:0 10px}.lk-grid{grid-template-columns:150px minmax(0,1fr) 300px;align-items:start;gap:12px;padding:12px 14px 8px;display:grid}.lk-center{flex-direction:column;gap:8px;min-width:0;display:flex}.lk-palette,.lk-side{border:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);background:color-mix(in srgb, var(--bd-shade) 45%, transparent);border-radius:6px;min-width:0;padding:12px 12px 14px}.lk-palette-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lk-sheet-close{display:none}.lk-side-title{letter-spacing:.06em;color:var(--bd-ink);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.lk-side h3:before,.lk-side h4:before,.lk-palette h3:before,.lk-palette h4:before{content:none}.lk-side-title.lk-sec{border-top:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);margin-top:18px;padding-top:12px}.lk-type{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400}.lk-sub{letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;font-size:13px}.lk-sub-inline{margin:0;display:block}.lk-note,.lk-empty{color:var(--ink-2);max-width:none;margin:4px 0 0;font-size:13px;line-height:1.7}.lk-ok{color:var(--bd-q-material);max-width:none;margin:4px 0 0;font-size:13.5px;line-height:1.7}.lk-warnline{color:var(--bd-q-force);max-width:none;margin:4px 0 0;font-size:13.5px;line-height:1.7}.lk-pal-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.lk-pal{text-align:left;border:1px solid color-mix(in srgb, var(--bd-ink) 20%, transparent);background:color-mix(in srgb, var(--bd-ink) 5%, transparent);min-height:44px;color:var(--bd-q-displacement);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:12.5px;line-height:1.25;display:flex}.lk-pal span{color:var(--ink-2)}.lk-pal-t{flex-direction:column;line-height:1.25;display:flex}.lk-pal-t b{color:var(--ink);font-weight:600}.lk-pal:nth-child(n+4):nth-child(-n+6){color:var(--bd-q-displacement)}.lk-pal:nth-child(-n+3){color:var(--bd-q-material)}.lk-pal:nth-child(7){color:var(--bd-q-moment)}.lk-pal:nth-child(8),.lk-pal:nth-child(9){color:var(--bd-q-flow)}.lk-pal:nth-child(n+10){color:var(--bd-q-heat)}.lk-pal:hover{background:color-mix(in srgb, var(--bd-ink) 12%, transparent)}.lk-pal.is-on{border-color:var(--bd-accent);background:color-mix(in srgb, var(--bd-accent) 16%, transparent)}.lk-pal.is-on span{color:var(--bd-ink);font-weight:600}.lk-pens{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.lk-pen{border:1px solid color-mix(in srgb, var(--bd-ink) 20%, transparent);background:color-mix(in srgb, var(--bd-ink) 5%, transparent);min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.lk-pen.is-on{border-color:var(--bd-accent);background:color-mix(in srgb, var(--bd-accent) 16%, transparent)}.lk-select{display:block}.lk-select select,.lk-select-inline{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 8%, transparent);width:100%;min-height:40px;color:var(--ink);font:inherit;border-radius:4px;padding:0 8px;font-size:13px}.lk-select option{color:var(--bd-ink);background:var(--bd-bg)}.lk-savecolor{flex:none;width:auto}.lk-modes{flex-wrap:wrap;gap:6px;display:flex}.lk-mode{min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;border:1px solid color-mix(in srgb, var(--bd-ink) 30%, transparent);background:color-mix(in srgb, var(--bd-ink) 6%, transparent);color:var(--bd-ink);border-radius:4px;align-items:center;gap:6px;padding:0 14px;font-size:14px;line-height:1.2;display:inline-flex}.lk-mode:hover{background:color-mix(in srgb, var(--bd-ink) 15%, transparent)}.lk-mode.is-on{background:var(--bd-accent);border-color:var(--bd-accent);color:var(--bd-accent-ink);font-weight:700}.lk-mode-tag{cursor:default}.lk-hint{min-height:3.2em;color:var(--ink-2);max-width:none;margin:0;font-size:13.5px;line-height:1.7}.lk-stage{border:1px solid color-mix(in srgb, var(--bd-ink) 30%, transparent);background:var(--bd-bg);border-radius:6px;height:clamp(400px,64vh,640px);position:relative;overflow:hidden}.lk-canvas{touch-action:none;cursor:default;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.lk-canvas.is-pin,.lk-canvas.is-fix,.lk-canvas.is-unfix,.lk-canvas.is-pen,.lk-canvas.is-place{cursor:crosshair}.lk-canvas.is-delete{cursor:not-allowed}.lk-pop{z-index:3;border:1px solid color-mix(in srgb, var(--bd-ink) 40%, transparent);background:var(--bd-bg);border-radius:8px;flex-direction:column;gap:4px;width:248px;padding:6px;display:flex;position:absolute;box-shadow:0 6px 20px #0000002e}.lk-pop-head{color:var(--bd-ink);border-bottom:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);justify-content:space-between;align-items:center;gap:6px;padding:2px 2px 4px 8px;font-size:13px;font-weight:700;display:flex}.lk-pop-x{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.lk-pop>button{min-height:40px;color:var(--bd-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;display:flex}.lk-pop>button svg{flex:none}.lk-pop>button:hover,.lk-pop-x:hover{background:color-mix(in srgb, var(--bd-ink) 12%, transparent)}.lk-pop>button.is-on{color:var(--bd-q-force,var(--bd-ink));font-weight:700}.lk-pop>button.is-danger{color:var(--bd-q-stress)}.lk-pop>button:focus-visible,.lk-pop-x:focus-visible,.lk-drivesel select:focus-visible{outline:2px solid var(--bd-accent);outline-offset:1px}.lk-pop-note{color:var(--ink-2);max-width:none;margin:0 6px 4px;font-size:12px;line-height:1.6}.lk-drivesel{align-items:center;display:inline-flex}.lk-drivesel select{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:var(--bd-bg);max-width:220px;min-height:40px;color:var(--bd-ink);font:inherit;border-radius:6px;padding:0 8px;font-size:13.5px}.lk-guide{border:1px solid color-mix(in srgb, var(--bd-ink) 35%, transparent);border-left:4px solid var(--bd-accent);background:color-mix(in srgb, var(--bd-shade) 40%, var(--bd-bg));color:var(--ink);border-radius:6px;padding:10px 48px 8px 14px;font-size:13.5px;line-height:1.7;position:relative}.lk-guide strong{color:var(--bd-ink);letter-spacing:.06em;display:block}.lk-guide ol{max-width:none;margin:4px 0 4px 1.3em;padding:0}.lk-guide li{margin:2px 0}.lk-guide p{color:var(--ink-2);max-width:none;margin:2px 0 0;font-size:12.5px}.lk-guide-x{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:2px;right:2px}.lk-guide-x:hover{background:color-mix(in srgb, var(--bd-ink) 12%, transparent)}.lk-fault{background:color-mix(in srgb, var(--bd-q-stress) 12%, var(--bd-bg));border:1px solid var(--bd-q-stress);color:var(--bd-ink);border-left-width:4px;border-radius:6px;padding:8px 12px;font-size:13.5px;line-height:1.6;position:absolute;bottom:34px;left:10px;right:10px}.lk-msg{min-height:2.6em;color:var(--ink-2);max-width:none;margin:0;font-size:14px;line-height:1.7}.lk-play{border:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);background:color-mix(in srgb, var(--bd-shade) 45%, transparent);border-radius:6px;flex-direction:column;gap:10px;padding:12px 12px 10px;display:flex}.lk-play-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.lk-big{min-width:108px;min-height:46px;font-size:15px}.lk-stage-play{z-index:4;background:color-mix(in srgb, var(--bd-bg) 88%, transparent);border:1px solid color-mix(in srgb, var(--bd-ink) 16%, transparent);border-radius:8px;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #1c24331a}.lk-stage-play .lk-btn{min-width:92px;min-height:40px}.lk-stage-phi{font:600 15px/1 var(--mono,"IBM Plex Mono", monospace);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em}.lk-bar-label{letter-spacing:.08em;color:var(--muted);margin-right:8px;font-size:12.5px;font-weight:700}.lk-speed,.lk-scrub{flex:220px;min-width:0}.lk-speed label,.lk-scrub label{color:var(--ink-2);align-items:baseline;font-size:13.5px;display:flex}.lk-speed label b,.lk-scrub label b{font:600 14px var(--mono);color:var(--bd-q-displacement)}.lk-speed-ends{color:var(--muted);justify-content:space-between;font-size:11.5px;display:flex}.lk-scrub{flex:100%}.lk-chips{flex-wrap:wrap;gap:6px;display:flex}.lk-chips button,.lk-seg button{min-height:40px;font:inherit;cursor:pointer;border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 6%, transparent);color:var(--ink);border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;line-height:1.2;display:inline-flex}.lk-chips button:hover,.lk-seg button:hover{background:color-mix(in srgb, var(--bd-ink) 14%, transparent)}.lk-chips button.is-on,.lk-seg button.is-on{background:var(--bd-accent);border-color:var(--bd-accent);color:var(--bd-accent-ink);font-weight:700}.lk-seg{flex-wrap:wrap;gap:6px;display:flex}.lk-foot{font:400 12.5px var(--mono);color:var(--muted);max-width:none;margin:0;padding:6px 16px 14px}.lk-chips+.lk-insp,.lk-insp{border-top:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);flex-direction:column;gap:6px;padding-top:12px;display:flex}.lk-side>.lk-chips{margin-bottom:12px}.lk-coords{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.lk-coord{border:1px solid color-mix(in srgb, var(--bd-ink) 22%, transparent);background:color-mix(in srgb, var(--bd-ink) 7%, transparent);border-radius:4px;align-items:center;gap:4px;min-width:0;height:40px;padding:0 6px;display:flex}.lk-coord:focus-within{border-color:var(--bd-accent)}.lk-coord-l{font:600 13px var(--mono);color:var(--muted)}.lk-coord-u{font:400 11px var(--mono);color:var(--muted)}.lk-coord input{width:100%;min-width:0;color:var(--ink);font:500 14px var(--mono);text-align:right;background:0 0;border:0;outline:none;flex:1}.lk-holes{flex-direction:column;gap:6px;display:flex}.lk-hole-row{grid-template-columns:2.6em minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;display:grid}.lk-hole-n{color:var(--ink-2);font-size:12.5px}.lk-motor{border:1px solid color-mix(in srgb, var(--bd-q-force) 45%, transparent);background:color-mix(in srgb, var(--bd-q-force) 7%, transparent);border-radius:6px;flex-direction:column;gap:4px;margin-top:10px;padding:10px 12px;display:flex}.lk-check{cursor:pointer;align-items:center;gap:10px;min-height:40px;font-size:14.5px;display:flex}.lk-check input{width:22px;height:22px;accent-color:var(--bd-accent);flex:none}.lk-field .field-top{flex-wrap:wrap;row-gap:6px}.lk-field .field-top label{flex:100%}.sim.lk .num{height:44px;padding:0 6px}.sim.lk .field .step{border-radius:6px;width:40px;height:40px;font-size:18px}.sim.lk .field .step:disabled{opacity:.4;cursor:not-allowed}.sim.lk .num input{width:4.4em}.lk-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lk-list li{border-bottom:1px solid color-mix(in srgb, var(--bd-ink) 10%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.lk-li-btns{flex-wrap:wrap;gap:6px;display:inline-flex}.lk-mini{border:1px solid color-mix(in srgb, var(--bd-q-stress) 70%, transparent);min-height:40px;color:var(--bd-q-stress);font:inherit;cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:0 12px;font-size:13px}.lk-mini:hover:not(:disabled){background:color-mix(in srgb, var(--bd-q-stress) 14%, transparent)}.lk-mini:disabled{opacity:.4;cursor:not-allowed}.lk-mini-soft{border-color:color-mix(in srgb, var(--bd-ink) 30%, transparent);color:var(--ink)}.lk-mini-soft:hover:not(:disabled){background:color-mix(in srgb, var(--bd-ink) 12%, transparent)}.lk-clear{border-color:color-mix(in srgb, var(--bd-ink) 28%, transparent);color:var(--ink-2)}.lk-del{align-self:flex-start;margin-top:8px}.lk-pen-sw{gap:6px;display:inline-flex}.lk-pen-sw button{border:2px solid color-mix(in srgb, var(--bd-ink) 35%, transparent);cursor:pointer;border-radius:50%;width:40px;height:40px}.lk-pen-sw button.is-on{border-color:var(--bd-bg);outline:2px solid var(--bd-accent);outline-offset:1px}.lk-judge{border:1px solid color-mix(in srgb, var(--bd-q-material) 50%, transparent);background:color-mix(in srgb, var(--bd-q-material) 7%, transparent);border-radius:6px;margin-top:12px;padding:10px 12px}.lk-judge .lk-sub{margin-top:0}.lk-judge-type{color:var(--bd-q-material);max-width:none;margin:0;font-size:14.5px;font-weight:600}.lk-judge-dl,.lk-kin{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:8px 0 0;display:grid}.lk-judge-dl>div,.lk-kin>div{justify-content:space-between;gap:6px;font-size:13px;display:flex}.lk-judge-dl dt,.lk-kin dt{color:var(--muted)}.lk-judge-dl dd,.lk-kin dd{font-family:var(--mono);color:var(--ink);margin:0}.lk-kin{grid-template-columns:1fr}.lk-charts{flex-direction:column;gap:4px;margin-top:8px;display:flex}.lk-chart-fig{margin:0}.lk-chart-fig figcaption{color:var(--muted);font-size:12.5px}.lk-chart-fig figcaption b{font:600 13px var(--mono);color:var(--ink)}.lk-chart{width:100%;height:auto;display:block}.lk-chart-box{fill:color-mix(in srgb, var(--bd-ink) 4%, transparent);stroke:color-mix(in srgb, var(--bd-ink) 20%, transparent)}.lk-chart-title{fill:var(--ink);font:600 12px var(--mono)}.lk-chart-unit,.lk-chart-tick{fill:var(--muted);font:400 10px var(--mono)}.lk-chart-now{stroke:var(--bd-accent);stroke-width:1px;stroke-dasharray:3 3}.lk-trace-btns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}@media (width<=1180px){.lk-grid{grid-template-columns:132px minmax(0,1fr)}.lk-side{grid-column:1/-1}}@media (width<=900px){.lk-grid{grid-template-columns:minmax(0,1fr);padding-inline:10px}.lk-parts-btn{display:inline-flex}.lk-palette{z-index:70;background:var(--bd-bg);border-bottom:0;border-top:1.5px solid var(--bd-edge);visibility:hidden;border-radius:6px 6px 0 0;max-height:60vh;padding-bottom:24px;transition:transform .22s;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%);box-shadow:0 -6px 18px #0000002e}.lk-palette.is-open{visibility:visible;transform:translateY(0)}.lk-sheet-close{display:inline-flex}.lk-pal-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.lk-toolbar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:10px;padding:10px;overflow-x:auto}.lk-tgroup{flex-wrap:nowrap}.lk-tb span{display:none}.lk-tb{min-width:40px;padding:0 10px}.lk-parts-btn span,.lk-tgroup:first-of-type .lk-tb span{display:inline}.lk-parts-btn{background:var(--bd-accent);border-color:var(--bd-accent);color:var(--bd-accent-ink);flex:none;font-weight:700}.lk-stage{top:calc(var(--topbar-h) + 4px);z-index:5;height:min(52vh,440px);position:sticky}.lk-modes{flex-wrap:nowrap;overflow-x:auto}.lk-hint{min-height:0;font-size:13px}}@media (width<=560px){.lk-tgroup:first-of-type .lk-tb span{display:none}.lk-big{min-width:96px}.lk-play-row .lk-btn span{font-size:13px}.lk-coords{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.lk-toolbar,.lk-palette,.lk-play,.lk-modes,.lk-hint,.lk-share,.lk-guide{display:none!important}}.sim.fl-tool{--fl-edge:var(--bd-ink);--fl-idle:color-mix(in srgb, var(--bd-ink) 28%, var(--bd-bg));--fl-dot:var(--bd-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sim.fl-tool{--fl-edge:#061528;--fl-idle:#8ea9cf;--fl-dot:#ffffffe6}}:root[data-theme=dark] .sim.fl-tool{--fl-edge:#061528;--fl-idle:#8ea9cf;--fl-dot:#ffffffe6}.fl-btn{font:inherit;border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 6%, transparent);min-height:44px;color:var(--bd-ink);cursor:pointer;border-radius:4px;padding:6px 16px;font-size:14px;line-height:1.3}.fl-btn:hover{background:color-mix(in srgb, var(--bd-ink) 14%, transparent)}.fl-btn.is-danger{border-color:color-mix(in srgb, var(--bd-q-stress) 70%, transparent);color:var(--bd-q-stress);background:0 0}.fl-btn.is-danger:hover{background:color-mix(in srgb, var(--bd-q-stress) 14%, transparent)}.fl-preset{color:var(--ink-2);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.fl-preset select,.fl-unit{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 8%, transparent);min-height:44px;color:var(--ink);font:inherit;border-radius:4px;padding:0 10px;font-size:14px}.fl-preset option,.fl-unit option{color:var(--bd-ink);background:var(--bd-bg)}.fl-preset-note{color:var(--ink-2);max-width:none;margin:0;padding:10px 18px 0;font-size:14px;line-height:1.75}.fl-toolbar{flex-wrap:wrap;gap:8px;padding:12px 18px 0;display:flex}.fl-tool-btn{border:1px solid color-mix(in srgb, var(--bd-ink) 28%, transparent);background:color-mix(in srgb, var(--bd-ink) 6%, transparent);min-height:44px;color:var(--bd-ink);font:inherit;cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 16px;font-size:14.5px;display:inline-flex}.fl-tool-btn:hover{background:color-mix(in srgb, var(--bd-ink) 14%, transparent)}.fl-tool-btn.is-on{background:var(--bd-accent);border-color:var(--bd-accent);color:var(--bd-accent-ink);font-weight:700}.fl-tool-btn svg{flex:none}.fl-main{grid-template-columns:minmax(0,1fr) 316px;align-items:start;gap:16px;padding:14px 18px 8px;display:grid}.fl-stage{border:1px solid color-mix(in srgb, var(--bd-ink) 22%, transparent);background:color-mix(in srgb, var(--bd-shade) 35%, transparent);border-radius:6px;min-width:0;overflow:hidden}.fl-board{aspect-ratio:760/560;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-height:72vh;display:block}.fl-board.tool-junction,.fl-board.tool-reservoir,.fl-board.tool-pump{cursor:crosshair}.fl-board g[role=button]{cursor:pointer}.fl-board.tool-select .fl-node{cursor:grab}.fl-board g:focus-visible{outline:2px solid var(--bd-accent);outline-offset:3px}.fl-board g:focus:not(:focus-visible){outline:none}.fl-board text{font-family:var(--body);pointer-events:none}.fl-hit{fill:none;stroke:#0000;stroke-width:30px}.fl-pipe-edge{fill:none;stroke:var(--fl-edge);stroke-linecap:round;opacity:.85}.fl-pipe-fill{fill:none;stroke:var(--fl-idle);stroke-linecap:round}.fl-pipe.is-selected .fl-pipe-edge{stroke:var(--bd-accent);opacity:1}.fl-flow{fill:none;stroke:var(--fl-dot);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:.1 18;pointer-events:none;animation:1s linear infinite fl-dash}@keyframes fl-dash{to{stroke-dashoffset:-18.1px}}.fl-arrow{fill:var(--bd-bg);stroke:var(--fl-edge);stroke-width:2px;stroke-linejoin:round;pointer-events:none}.fl-label{fill:var(--ink);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:18px;font-weight:600}.fl-label .is-sub{fill:var(--bd-ink2);font-family:var(--mono);font-size:17px;font-weight:500}.fl-tank{fill:color-mix(in srgb, var(--bd-ink) 5%, var(--bd-bg));stroke:var(--bd-ink);stroke-width:3.5px}.fl-water{fill:color-mix(in srgb, var(--bd-q-flow) 45%, var(--bd-bg))}.fl-wave{fill:none;stroke:var(--bd-q-flow);stroke-width:2.5px;stroke-linecap:round}.fl-dot{fill:var(--bd-bg);stroke:var(--bd-ink);stroke-width:3px}.fl-pump-body{fill:color-mix(in srgb, var(--bd-q-force) 22%, transparent);stroke:var(--q-force);stroke-width:4px}.fl-impeller{fill:none;stroke:var(--q-force);stroke-width:3.5px;stroke-linecap:round}.fl-hub{fill:var(--q-force)}.fl-node.is-selected .fl-tank,.fl-node.is-selected .fl-dot,.fl-node.is-selected .fl-pump-body{stroke:var(--bd-accent);stroke-width:5px}.fl-node.is-start .fl-tank,.fl-node.is-start .fl-dot,.fl-node.is-start .fl-pump-body{stroke:var(--bd-accent)}.fl-start{fill:none;stroke:var(--bd-accent);stroke-width:3px;stroke-dasharray:7 6;pointer-events:none}.fl-board-wrap{position:relative}.fl-handle{opacity:0;transition:opacity .12s;cursor:crosshair!important}.fl-node:hover .fl-handle,.fl-handle.is-shown{opacity:1}.fl-handle-hit{fill:#0000}.fl-handle-dot{fill:var(--bd-bg);stroke:var(--bd-q-material);stroke-width:3px}.fl-handle-plus{stroke:var(--bd-q-material);stroke-width:3px;stroke-linecap:round}.fl-wire path{fill:none;stroke:var(--bd-q-material);stroke-width:4px;stroke-dasharray:10 7;stroke-linecap:round;pointer-events:none}.fl-wire-ring{fill:none;stroke:var(--bd-q-material);stroke-width:4px;pointer-events:none}.fl-wire text{fill:var(--bd-q-material);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:17px;font-weight:700}.fl-pop{z-index:6;border:1px solid color-mix(in srgb, var(--bd-ink) 40%, transparent);background:var(--bd-bg);border-radius:8px;flex-direction:column;gap:4px;width:240px;padding:6px;display:flex;position:absolute;box-shadow:0 6px 20px #0000002e}.fl-pop-head{color:var(--bd-ink);border-bottom:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);justify-content:space-between;align-items:center;gap:6px;padding:2px 2px 4px 8px;font-size:13px;font-weight:700;display:flex}.fl-pop-x{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:18px;line-height:1}.fl-pop>button{min-height:40px;color:var(--bd-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:13.5px}.fl-pop>button:hover,.fl-pop-x:hover{background:color-mix(in srgb, var(--bd-ink) 12%, transparent)}.fl-pop>button.is-danger{color:var(--bd-q-stress)}.fl-pop>button:focus-visible,.fl-pop-x:focus-visible,.fl-guide-x:focus-visible{outline:2px solid var(--bd-accent);outline-offset:1px}.fl-pop-note{color:var(--ink-2);max-width:none;margin:0 6px 4px;font-size:12px;line-height:1.6}.fl-msg{color:var(--ink-2);border-top:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);max-width:none;margin:0;padding:8px 14px;font-size:13.5px;line-height:1.6}.fl-guide{border:1px solid color-mix(in srgb, var(--bd-ink) 35%, transparent);border-left:4px solid var(--bd-accent);background:color-mix(in srgb, var(--bd-shade) 40%, var(--bd-bg));color:var(--ink);border-radius:6px;margin:12px 18px 0;padding:10px 48px 8px 14px;font-size:13.5px;line-height:1.7;position:relative}.fl-guide strong{color:var(--bd-ink);letter-spacing:.06em;display:block}.fl-guide ol{max-width:none;margin:4px 0 4px 1.3em;padding:0}.fl-guide p{color:var(--ink-2);max-width:none;margin:2px 0 0;font-size:12.5px}.fl-guide-x{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:20px;position:absolute;top:2px;right:2px}.fl-name{fill:var(--ink);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:20px;font-weight:600}.fl-sub{fill:var(--ink-2);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:17px}.fl-head{fill:var(--bd-q-displacement);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:17px;font-family:var(--mono)!important}.fl-demand path{fill:none;stroke:var(--bd-ink2);stroke-width:3px;stroke-linecap:round}.fl-demand .fl-demand-head{fill:var(--bd-ink2);stroke:none}.fl-demand text{fill:var(--bd-ink2);paint-order:stroke;stroke:var(--bd-bg);stroke-width:6px;stroke-linejoin:round;font-size:17px}.fl-empty{fill:var(--ink-2);font-size:21px}.fl-legend{border-top:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);flex-direction:column;gap:10px;padding:12px 14px 10px;display:flex}.fl-legend-row{flex-wrap:wrap;align-items:center;gap:10px 22px;display:flex}.fl-legend-cap{letter-spacing:.08em;color:var(--muted);font-size:12.5px;font-weight:700}.fl-seg{flex-wrap:wrap;display:inline-flex}.fl-seg button{border:1px solid color-mix(in srgb, var(--bd-ink) 30%, transparent);min-height:40px;color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:6px 14px;font-size:14px;line-height:1.3}.fl-seg button:first-child{border-radius:4px 0 0 4px}.fl-seg button:last-child{border-radius:0 4px 4px 0}.fl-seg button+button{border-left:0}.fl-seg button[aria-pressed=true]{background:var(--bd-accent);color:var(--bd-accent-ink);border-color:var(--bd-accent);font-weight:600}.fl-ramp{flex:1;min-width:200px;max-width:340px}.fl-ramp-bar{border:1px solid color-mix(in srgb, var(--bd-ink) 30%, transparent);border-radius:3px;height:14px;display:block}.fl-ramp-ticks{font:400 12.5px var(--mono);color:var(--ink-2);justify-content:space-between;margin-top:3px;display:flex}.fl-widths{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.fl-wsample{font:400 12.5px var(--mono);color:var(--ink-2);align-items:center;gap:4px;display:inline-flex}.fl-wsample svg line{stroke:var(--bd-ink2)}.fl-wunit{font:400 12.5px var(--mono);color:var(--muted)}.fl-legend-hint{color:var(--muted);max-width:none;margin:0;font-size:13px;line-height:1.7}.fl-inspector{border:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);background:color-mix(in srgb, var(--bd-shade) 45%, transparent);border-radius:6px;flex-direction:column;gap:10px;min-width:0;padding:14px 14px 16px;display:flex}.fl-ins-title{letter-spacing:.06em;color:var(--bd-ink);margin:0;font-size:14px}.fl-ins-title:before{display:none!important}.fl-empty-note{color:var(--ink-2);max-width:none;margin:0;font-size:14px;line-height:1.75}.fl-note{color:var(--muted);max-width:none;margin:0;font-size:13px;line-height:1.7}.fl-field .field-top{flex-wrap:wrap;row-gap:6px}.fl-field .num input{width:5.4em}.fl-field .num .fl-unit{min-height:34px;font:400 13px var(--mono);color:var(--muted);background:0 0;border:0;margin-right:-6px;padding:0 4px}.fl-field .num.fl-text input{text-align:left;width:9.5em;font-family:var(--body)}.fl-field .fl-wide{width:100%;min-height:44px;font-family:var(--body)}.fl-field .field-top:has(.fl-wide) label{flex-basis:100%}.fl-mini{border:1px solid color-mix(in srgb, var(--bd-ink) 14%, transparent);background:color-mix(in srgb, var(--bd-ink) 5%, transparent);border-radius:6px;gap:6px;margin:0;padding:10px 12px;display:grid}.fl-mini>div{justify-content:space-between;gap:10px;display:flex}.fl-mini dt{color:var(--muted);font-size:13px}.fl-mini dd{font:500 14px var(--mono);color:var(--ink);margin:0}.fl-btnrow{flex-wrap:wrap;gap:8px;display:flex}.fl-results{margin:0 0 26px}.fl-status{border:1px solid var(--line);border-radius:4px;margin:0 0 12px;padding:4px 14px;font-size:14px;display:inline-block}.fl-status.is-ok{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.fl-status.is-bad{color:var(--bad);border-color:var(--bad)}.fl-warns{margin:0 0 14px;padding:0 0 0 1.2em}.fl-warns li{color:var(--warn);margin:4px 0;font-size:14.5px}.fl-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14.5px}.fl-table caption{text-align:left;color:var(--ink);caption-side:top;padding:10px 14px 6px;font-weight:600}.fl-table th,.fl-table td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 14px}.fl-table thead th{background:var(--surface-2);color:var(--ink-2);font-size:13px;font-weight:600}.fl-table td{font-family:var(--mono)}.fl-table th:first-child,.fl-table td:first-child{text-align:left}.fl-table tbody th{font-weight:500}.fl-table tr:last-child>*{border-bottom:0}.fl-table tr.is-selected>*{background:var(--brand-soft)}.fl-link{font:inherit;color:var(--brand);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:36px;padding:6px 0;text-decoration:underline}.fl-steps-note{margin:12px 18px 0}@media (width<=860px){.fl-main{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.fl-main{flex-direction:column;gap:10px;padding-inline:12px;display:flex}.fl-toolbar,.fl-preset-note{padding-inline:12px}.fl-stage{display:contents}.fl-board-wrap{top:calc(var(--topbar-h) + 6px);z-index:5;order:0;position:sticky}.fl-board{background:var(--bd-bg);border:1px solid var(--bd-edge);border-radius:6px;max-height:46vh}.fl-msg{border:0;order:1;padding:0 2px}.fl-guide{margin-inline:12px}.fl-legend{border:1px solid color-mix(in srgb, var(--bd-ink) 16%, transparent);background:color-mix(in srgb, var(--bd-shade) 55%, transparent);border-radius:6px;order:1}.fl-inspector{order:2}.fl-label,.fl-name{font-size:24px}.fl-label .is-sub,.fl-sub,.fl-head,.fl-demand text{font-size:21px}.fl-label .is-sub{display:none}.fl-seg{width:100%}.fl-seg button{flex:1;padding:6px 8px;font-size:13.5px}.sim-head,.readouts{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.fl-flow{stroke-dasharray:2 16;opacity:.6;animation:none}}
