:root{--bg: #0d1117;--panel: #161b22;--panel-2: #1c232c;--line: #2a323d;--text: #e6edf3;--dim: #8b98a8;--accent: #58a6ff;--good: #3fb950;--warn: #d29922;--bad: #f85149;--well: #0f141a;--btn-bg: #161c24;--sel-bg: #24405e;--sel-soft: #1d3a5c;--inset: #11161d;--scene-bg: #12161c;--chip: #222a34;--chip-2: #1a2029;--env-box: #0c1a2a;--env-bad: #3a1d1d;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{--left-w: 260px;display:grid;--right-w: 320px;grid-template-columns:var(--left-w) 1fr;--tabbar-h: 34px;grid-template-rows:1fr var(--tabbar-row, var(--tabbar-h));grid-template-areas:"left board" "left tabs";height:100vh}#app.palette-collapsed{--left-w: 58px}@property --left-w{syntax: "<length>"; inherits: true; initial-value: 260px;}#app{transition:--left-w .22s ease}#app.right-collapsed .panel.right{transform:translate(calc(100% + 16px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s}#app:not(.right-collapsed) .dock{right:calc(var(--right-w) + 10px)}.dock{transition:right .22s ease}.panel.right{transition:transform .22s ease,opacity .18s ease,visibility 0s}@keyframes palette-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.panel.left.anim .palette-scroll,.panel.left.anim .search{animation:palette-in .24s ease}@media (prefers-reduced-motion: reduce){#app,.dock,.panel.right,#app.right-collapsed .panel.right{transition:none}.panel.left.anim .palette-scroll,.panel.left.anim .search{animation:none}}.brand{font-weight:600;letter-spacing:.2px;white-space:nowrap;text-transform:none;color:var(--text)}button.tool{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:5px 10px;cursor:pointer;white-space:nowrap;font:inherit}button.tool.small{padding:4px 7px;font-size:12px}button.tool:hover:not(:disabled){border-color:var(--accent)}button.tool.active{background:var(--sel-bg);border-color:var(--accent);color:#fff}button.tool:disabled{opacity:.4;cursor:default}.panel{background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.panel.left{grid-area:left;border-right:1px solid var(--line);overflow:hidden}.panel.right{position:absolute;top:0;right:0;z-index:15;width:var(--right-w);max-height:min(66.667vh,calc(100vh - var(--tabbar-h) - var(--mw-h, 0px) - 8px));border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 0 10px;box-shadow:0 8px 30px #00000073;overflow:hidden}.panel.right .right-summary{flex:0 1 auto;min-height:0;overflow-y:auto;border-bottom:0}.panel-section{border-bottom:1px solid var(--line)}.panel-head{position:sticky;top:0;z-index:1;padding:7px 10px;background:var(--panel-2);border-bottom:1px solid var(--line);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim)}.panel-body{padding:8px 10px 14px}.board-wrap{grid-area:board;position:relative;min-width:0;min-height:0;overflow:hidden}.board{width:100%;height:100%;display:block;cursor:crosshair}.board.erase-mode{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12 2v20M2 12h20' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M12 2v20M2 12h20' stroke='%23ff3b30' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,crosshair}.dock{position:absolute;top:12px;right:10px;z-index:5;display:flex;flex-direction:column;gap:10px;pointer-events:none}.dock-group{display:flex;flex-direction:column;gap:4px;pointer-events:auto}.dock-btn{position:relative;width:46px;height:46px;display:grid;place-items:center;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:#14192094;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#d6dee8;cursor:pointer;transition:background .12s,border-color .12s,transform .08s}.dock-btn:hover:not(:disabled){background:#262e38d9;border-color:#ffffff38}.dock-btn:active:not(:disabled){transform:scale(.96)}.dock-btn.active{background:#24486ed1;border-color:var(--accent);box-shadow:0 0 0 1px #58a6ff59,0 0 12px #58a6ff40}.dock-btn:disabled{opacity:.35;cursor:default}.dock-icon{width:22px;height:22px}.dock-img{width:34px;height:34px;object-fit:contain;opacity:.92}.dock-btn.active .dock-img{opacity:1}.dock-key{position:absolute;right:3px;bottom:2px;font-size:9px;line-height:1;color:#d6dee8b3;font-family:ui-monospace,monospace}.dock-drawer{align-items:flex-end;margin-right:-10px}.drawer-handle{width:26px;height:64px;padding:0;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(255,255,255,.12);border-right:0;border-radius:10px 0 0 10px;background:#141920c7;color:#d6dee8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:-4px 4px 14px #00000059;transition:background .12s,width .12s}.drawer-handle:hover{background:#24486ee6;width:30px}.drawer-handle .dock-icon{width:20px;height:20px}.dock-btn.copied{color:#3fb950;border-color:#3fb950;background:#143c20cc}.dock-label{position:absolute;left:4px;top:3px;font-size:9px;color:#d6dee8cc}.search{margin:8px 10px;padding:5px 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;color:var(--text);font:inherit}.palette-scroll{position:relative;flex:1 1 auto;min-height:0;display:flex}.palette-list{position:relative;flex:1 1 auto;min-width:0;overflow-y:auto;scrollbar-width:none;padding:0 28px 12px 6px}.palette-list::-webkit-scrollbar{display:none}.palette-rail{position:absolute;top:4px;bottom:6px;right:3px;width:22px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;border-radius:10px;background:#ffffff09}.rail-icon{width:20px;height:20px;background:center / 150% no-repeat;opacity:.3;cursor:pointer;transition:opacity .15s}.rail-icon.seen{opacity:.95}.rail-icon.absent{opacity:.1;cursor:default}.rail-icon.rail-pin,.group-label .group-icon[style*=svg]{background-size:72%}.palette-thumb{position:absolute;top:0;left:0;right:0;border-radius:10px;background:#58a6ff29;border:1px solid rgba(88,166,255,.5);cursor:grab;touch-action:none}.palette-thumb:hover,.palette-thumb.drag{background:#58a6ff42}.palette-thumb.drag{cursor:grabbing}.palette-rail.idle .palette-thumb,#app.palette-collapsed .palette-rail{display:none}.pgroup>.group-label,.pgroup>.group-head{position:sticky;top:0;z-index:2;background:var(--panel)}.group-head{display:flex;align-items:center}.group-head>.group-label{flex:1;min-width:0}.palette-list .group-label{color:#e8c547}.palette-list .group-label:hover{color:#ffe27a}#app:not(.palette-collapsed) .palette-head,#app:not(.palette-collapsed) .palette-scroll{width:259px}#app:not(.palette-collapsed) .panel.left .search{width:239px;flex-shrink:0}.group-icon{width:20px;height:20px;flex:none;background:center / 150% no-repeat}.pgroup.closed .group-icon{opacity:.5}.group-label{padding:8px 4px 3px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim)}button.machine{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:5px;padding:5px 6px;color:var(--text);cursor:pointer;font:inherit}button.machine:hover{background:var(--panel-2)}button.machine.active{background:var(--sel-bg);border-color:var(--accent)}.machine-name{font-size:12.5px}.machine-meta{font-size:11px;color:var(--dim)}.title{font-size:15px;font-weight:600}.sub{font-size:11px;color:var(--dim);margin-bottom:8px;word-break:break-word}.section{margin:12px 0 6px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim)}.section.thin{margin:8px 0 4px;padding-top:5px}.empty{color:var(--dim);padding:6px 0}.note{margin:6px 0;padding:6px 8px;background:#58a6ff14;border-left:2px solid var(--accent);border-radius:3px;font-size:11.5px;color:#c9d6e3}.warn{margin:4px 0;padding:5px 8px;background:#f851491a;border-left:2px solid var(--bad);border-radius:3px;font-size:11.5px}.row{display:flex;align-items:center;gap:8px;margin:5px 0}.row-label{flex:0 0 96px;color:var(--dim);font-size:11.5px}.sel,.num{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:4px 6px;font:inherit}.sel.small{font-size:11.5px;padding:2px 4px}.num{max-width:90px;flex:0 0 90px}.slots{display:flex;flex-direction:column;gap:3px}.slot{display:flex;align-items:center;gap:6px}.slot-label{flex:0 0 92px;font-size:11.5px;color:var(--dim)}.slot-fixed{flex:1;font-size:11.5px}.dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--line)}.badge{flex:0 0 auto;padding:1px 5px;border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:.4px}.badge.locked{background:#d299222e;color:var(--warn)}.badge.choose{background:#58a6ff2e;color:var(--accent)}.badge.unused{background:var(--panel-2);color:var(--dim)}.bar{height:5px;background:var(--panel-2);border-radius:3px;overflow:hidden;margin:2px 0 6px}.bar-fill{height:100%}.bar-fill.full{background:var(--good)}.bar-fill.part{background:var(--warn)}.bar-fill.stall{background:var(--bad)}.flow-row{display:flex;align-items:center;gap:6px;font-size:11.5px}.flow-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.mono.short{color:var(--bad)}.mono.surplus{color:var(--good)}.stat{display:flex;justify-content:space-between;padding:2px 0}.stat-label{color:var(--dim);font-size:11.5px}.stat-value{font-family:ui-monospace,monospace}.stat-value.good{color:var(--good)}.stat-value.bad{color:var(--bad)}.stat-value.warn{color:var(--warn)}.balance{display:flex;flex-direction:column;gap:2px}.balance-head,.balance-row{display:grid;grid-template-columns:1fr 46px 46px 50px;gap:4px;align-items:center}.balance-head{font-size:10.5px;text-transform:uppercase;color:var(--dim)}.balance-head span:not(:first-child),.balance-row span:not(:first-child){text-align:right}.balance-name{display:flex;align-items:center;gap:5px;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip{display:inline-flex;flex:0 0 18px;width:18px;height:18px;align-items:center;justify-content:center}.chip-img{width:18px;height:18px;object-fit:contain;image-rendering:auto}.thumb{flex:0 0 22px;width:22px;height:22px;object-fit:contain;margin-right:2px}button.machine{display:grid;grid-template-columns:24px 1fr;grid-template-areas:"thumb name" "thumb meta";align-items:center;column-gap:6px;row-gap:0}button.machine .thumb{grid-area:thumb}.machine-name{grid-area:name}.machine-meta{grid-area:meta}.balance-name .chip,.flow-row .chip{margin-right:2px}.modes{display:flex;gap:4px;flex:1}.mode-switch{position:relative;flex:1;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;border:1px solid var(--line);background:var(--inset)}.ms-knob{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:linear-gradient(180deg,#f0d264,#d4ae2c);box-shadow:0 1px 4px #00000073,inset 0 0 0 1px #ffeca0b3;transition:transform .28s cubic-bezier(.3,.7,.3,1)}.mode-switch.right .ms-knob{transform:translate(100%)}.ms-opt{position:relative;z-index:1;border:0;background:transparent;color:var(--dim);font:inherit;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;overflow:hidden;transition:color .2s;display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}.ms-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.ms-icon{flex:none;display:grid;place-items:center}.ms-icon svg{width:14px;height:14px;display:block}.ms-opt:hover{color:var(--text)}.ms-opt.on{color:#2a2000;font-weight:600}@media (prefers-reduced-motion: reduce){.ms-knob{transition:none}}.modes .tool{flex:1}.palette-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.collapse-btn{border:0;background:transparent;color:var(--dim);border-radius:6px;width:34px;height:30px;padding:0;display:grid;place-items:center;cursor:pointer;font:inherit;line-height:1}.collapse-icon{width:24px;height:24px}.collapse-btn:hover{color:var(--text)}.group-label{display:flex;align-items:center;gap:4px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;font-size:11px}.group-label:hover{color:var(--text)}.caret{width:10px;display:inline-block;text-align:center;transition:transform .26s cubic-bezier(.3,.7,.3,1)}.pgroup.closed .caret{transform:rotate(-90deg)}.group-icon{transition:opacity .2s ease}@media (prefers-reduced-motion: reduce){.caret,.group-icon{transition:none}}button.machine{grid-template-columns:24px 1fr auto 20px;grid-template-areas:"thumb name foot pin" "thumb meta foot pin"}button.machine .footprint{grid-area:foot;align-self:center}.footprint{display:inline-grid;flex:none}.footprint>span{background:#e8c547;border-radius:1px}.pin{grid-area:pin;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;color:var(--dim);opacity:0;transition:opacity .1s}button.machine:hover .pin,.pin.on{opacity:1}.pin:hover{color:var(--text);background:#ffffff14}.pin.on{color:#e8c547}.pin-icon{width:14px;height:14px}#app.palette-collapsed .palette-list{padding:6px 4px;display:flex;flex-direction:column;gap:4px;align-items:center}#app.palette-collapsed .palette-head{justify-content:center;padding:7px 4px}.mini-machine{width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:var(--panel-2);cursor:pointer}.mini-machine img{width:34px;height:34px;object-fit:contain}.mini-machine:hover{border-color:var(--line)}.mini-machine.active{border-color:var(--accent);background:var(--sel-bg)}.mini-hint{font-size:10.5px;color:var(--dim);text-align:center;padding:6px 2px;line-height:1.3}.recipe-card{margin:6px 0 10px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel-2)}.rc-env{padding:4px 8px;text-align:center;font-size:11.5px;color:#e6f4ff;background:linear-gradient(180deg,#2c6f93,#235a78);letter-spacing:.3px}.rc-row{display:flex;align-items:center;gap:6px;padding:8px}.rc-machine img{width:30px;height:30px;object-fit:contain}.rc-group{display:flex;gap:4px}.rc-item{display:flex;flex-direction:column;align-items:center;gap:2px}.rc-pic{position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:4px;background:#ffffff0d;border-bottom:2px solid #4aa3e8}.rc-pic img{width:28px;height:28px;object-fit:contain}.rc-count{position:absolute;right:-2px;bottom:-2px;min-width:14px;padding:0 3px;font-size:10px;line-height:14px;text-align:center;color:#fff;background:#080a0ee6;border-radius:3px}.rc-rate{font-size:10px;color:var(--dim);font-family:ui-monospace,monospace}.rc-arrow{color:var(--dim)}.rc-side{margin-left:auto;align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:2px}.rc-time{font-size:11.5px;color:var(--dim);font-family:ui-monospace,monospace}.rc-missing{color:var(--dim)}.topbar{position:absolute;top:12px;left:10px;z-index:5;pointer-events:none}.dock-row{display:flex;gap:4px;pointer-events:auto}.dock-btn.wide{width:auto;padding:0 12px 0 10px;display:flex;gap:6px;align-items:center}.dock-text{font-size:13px;font-weight:600}.toast-host{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:6px;pointer-events:none}.toast{padding:8px 14px;border-radius:8px;font-weight:600;box-shadow:0 6px 20px #00000073;transition:opacity .35s,transform .35s}.toast.warn{background:#5a1d1d;border:1px solid #f85149;color:#ffd9d6}.toast.info{background:#173a24;border:1px solid #3fb950;color:#d7f5de}.toast.out{opacity:0;transform:translateY(-6px)}.bp-overlay{position:fixed;inset:0;z-index:50;background:#04060a9e;display:grid;place-items:center}.bp-window{position:relative;width:min(1100px,88vw);height:min(760px,86vh);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #0009;overflow:hidden}.bp-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.bp-title{font-size:16px;font-weight:700;white-space:nowrap}.bp-count{color:var(--dim);white-space:nowrap}.bp-spacer{flex:1}.bp-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:20px;line-height:1;cursor:pointer}.bp-close:hover{border-color:var(--bad);color:#fff}.bp-grid{flex:1;overflow-y:auto;padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-rows:180px;gap:12px;align-content:start}.bp-card{display:flex;flex-direction:column;padding:0;border-radius:10px;border:1px solid var(--line);background:var(--well);color:var(--text);cursor:pointer;overflow:hidden;font:inherit;text-align:left}.bp-card:hover{border-color:#58a6ff99}.bp-card.module{border:2px solid #3b8eea}.bp-card.map{border:2px solid #e8912d}.bp-card.modeler{border:2px solid #e8c547}.bp-card.selected{box-shadow:0 0 0 3px #ffffff8c}.bp-card.add{border:2px dashed #3d4c5e;background:transparent;align-items:center;justify-content:center;color:var(--dim)}.bp-card.add:hover{border-color:var(--accent);color:var(--text)}.bp-plus{font-size:54px;line-height:1;font-weight:300}.bp-add-text{margin-top:6px}.bp-thumb{flex:1;min-height:0;width:100%;object-fit:contain;background:var(--scene-bg);display:block}.bp-card.modeler .bp-thumb,.bp-add-panel.modeler .bp-preview-big{background:#0f1318}.bp-thumb.empty{background:repeating-linear-gradient(45deg,var(--scene-bg) 0 8px,var(--btn-bg) 8px 16px)}.bp-card-foot{display:flex;align-items:center;gap:8px;padding:7px 9px;border-top:1px solid var(--line)}.bp-card-icon{width:24px;height:24px;flex:none;object-fit:contain}.bp-card-icon.none{border-radius:5px;background:var(--chip)}.bp-card-name{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-badge{flex:none;font-size:10px;padding:2px 6px;border-radius:4px}.bp-badge.map{background:#3b2a12;color:#f0b35a}.bp-badge.module{background:#14314a;color:#7cc2ff}.bp-badge.modeler{background:#3a3212;color:#e8c547}.bp-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--panel-2)}.bp-actions-name{flex:1;font-weight:600}button.tool.primary{background:#1f6feb;border-color:#388bfd;color:#fff}button.tool.danger{border-color:#8b2c2c;color:#ffb4ae}button.tool.danger:hover:not(:disabled){border-color:var(--bad)}.bp-dialog-wrap{position:absolute;inset:0;z-index:2;background:#04060a8c;display:grid;place-items:center}.bp-dialog{width:min(760px,92%);max-height:90%;display:flex;flex-direction:column;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #0009;overflow:hidden}.bp-dialog.small{width:min(420px,92%)}.bp-dialog-title{padding:12px 14px;font-weight:700;border-bottom:1px solid var(--line)}.bp-dialog-text{padding:16px 14px;line-height:1.5}.bp-dialog-body{display:flex;gap:14px;padding:14px;min-height:0;flex:1}.bp-dialog-left{width:300px;flex:none;display:flex;flex-direction:column;gap:8px}.bp-dialog-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;min-height:0}.bp-preview-big{width:100%;aspect-ratio:16 / 10;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:var(--scene-bg)}.bp-hint,.bp-label{color:var(--dim);font-size:12px}.bp-name,.bp-search{width:100%;padding:7px 9px;border-radius:6px;border:1px solid var(--line);background:var(--well);color:var(--text);font:inherit}.bp-name.bad{border-color:var(--bad)}.bp-icons{flex:1;min-height:180px;max-height:320px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;align-content:start;padding:4px;border:1px solid var(--line);border-radius:6px;background:var(--well)}.bp-icon{width:42px;height:42px;padding:3px;border-radius:6px;border:1px solid transparent;background:var(--btn-bg);cursor:pointer}.bp-icon img{width:100%;height:100%;object-fit:contain}.bp-icon:hover{border-color:#58a6ff80}.bp-icon.active{border-color:var(--accent);background:var(--sel-soft)}.bp-dialog-buttons{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.bp-tabs{display:flex;gap:2px;margin-left:10px;padding:2px;border-radius:8px;background:var(--inset);border:1px solid var(--line)}.bp-tab{border:0;background:transparent;color:var(--dim);font:inherit;font-weight:600;padding:5px 14px;border-radius:6px;cursor:pointer}.bp-tab:hover{color:var(--text)}.bp-tab.active{background:var(--sel-bg);color:#fff}.bp-tabs.small{margin-left:0;align-self:flex-start}.bp-tabs.small .bp-tab{padding:4px 10px;font-weight:500}.bp-card.add:disabled{opacity:.45;cursor:default}.bp-card.add:disabled:hover{border-color:#3d4c5e;color:var(--dim)}.bp-card.add.import .bp-plus{font-size:40px}.base-tab{flex:1;overflow-y:auto;padding:8px 18px 18px}.base-loc h3{margin:14px 0 8px;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}.base-presets{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.base-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 12px 8px;min-width:96px;border:1px solid var(--line);border-radius:8px;background:var(--btn-bg);color:var(--text);font:inherit;cursor:pointer}.base-tile:hover{border-color:var(--accent)}.base-tile.current{border-color:#e8c547;box-shadow:0 0 0 1px #e8c547}.base-preview{box-sizing:border-box;border:1px solid #56606c;border-radius:3px;background:radial-gradient(circle,#4a5563 1px,transparent 1.2px) 0 0 / 6px 6px,#20262f}.base-preview.edge-top{border-top:5px solid #b9c3cf}.base-preview.edge-left{border-left:5px solid #b9c3cf}.base-label{font-weight:600;font-size:12px;text-align:center}.base-size{font-size:11px;color:var(--dim)}.base-custom{display:flex;align-items:center;gap:8px}.base-num{width:70px;padding:5px 7px;border-radius:6px;border:1px solid var(--line);background:var(--inset);color:var(--text);font:inherit}.base-tab>.bp-hint{margin-top:16px;line-height:1.5}.bp-dialog.import .bp-field{display:flex;flex-direction:column;gap:5px;padding:10px 14px 0}.bp-dialog.import>.bp-hint{padding:10px 14px 0;line-height:1.45}.bp-name.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.bp-error{color:#ff8a80;padding:8px 14px 0;min-height:1.2em}#app{position:relative}.machine-window{position:absolute;right:0;bottom:var(--tabbar-h);z-index:20;width:min(476px,100vw);max-height:min(66vh,calc(100vh - 120px));display:flex;flex-direction:column;background:#161b22fa;border:1px solid var(--line);border-right:0;border-radius:12px 0 0;box-shadow:0 -8px 30px #00000080;overflow:hidden}.machine-window[hidden]{display:none}@keyframes mw-in{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}@keyframes mw-out{0%{transform:none;opacity:1}to{transform:translate(48px);opacity:0}}.machine-window.mw-opening{animation:mw-in .22s ease}@keyframes mw-shrink-k{0%{transform:none;opacity:1}to{transform:scale(.12);opacity:0}}@keyframes mw-grow-k{0%{transform:scale(.12);opacity:0}to{transform:none;opacity:1}}@keyframes mw-pop-k{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.machine-window.mw-shrink{animation:mw-shrink-k .22s ease forwards;transform-origin:100% 100%;pointer-events:none}.machine-window.mw-grow{animation:mw-grow-k .22s ease;transform-origin:100% 100%}.machine-window.mw-pop{animation:mw-pop-k .22s ease;transform-origin:100% 100%}.machine-window.mw-closing{animation:mw-out .22s ease forwards;pointer-events:none}@media (prefers-reduced-motion: reduce){.machine-window.mw-opening,.machine-window.mw-closing,.machine-window.mw-shrink,.machine-window.mw-grow,.machine-window.mw-pop{animation:none}}.machine-window.collapsed{width:auto;background:transparent;border:0;box-shadow:none;overflow:visible;right:8px;bottom:34px}.machine-window>.panel-body{overflow-y:auto;min-height:0}.mw-head{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-2);border-bottom:1px solid var(--line)}.mw-icon{width:36px;height:36px;object-fit:contain;flex:none}.mw-title{flex:1;min-width:0}.mw-name{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mw-meta{font-size:11px;color:var(--dim)}.mw-collapse{width:28px;height:28px;flex:none;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:18px;line-height:1;cursor:pointer}.mw-collapse:hover{border-color:var(--accent)}.mw-power{width:28px;height:28px;flex:none;display:grid;place-items:center;padding:0;border-radius:7px;border:1px solid var(--line);background:transparent;color:#3fb950;cursor:pointer}.mw-power:hover{border-color:var(--accent)}.mw-power.off{color:#fff;background:#b62324;border-color:#f85149}html.touch-ui .mw-power{width:26px;height:26px}.mw-mini{width:52px;height:52px;display:grid;place-items:center;padding:0;border-radius:12px;border:1px solid var(--accent);background:#161b22f0;box-shadow:0 6px 20px #00000080;cursor:pointer}.mw-mini .mw-icon{width:38px;height:38px}.mp-envbox{flex:none;width:64px;height:48px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--line);position:relative}.mp-envbox.env{background:var(--env);color:var(--env-box);border-color:transparent}.mp-envbox.env.bad{background:var(--env-bad);color:var(--env);border-color:#e5534b}.mp-env-icon{width:24px;height:24px}.mp-envbox.env .mp-env-text{font-size:10px;font-weight:700}.mp-envbox.activator{background:var(--well)}.mp-envbox.activator.bad{border-color:#e5534b}.mp-gauge-wrap{position:relative;width:44px;height:29px}.mp-gauge{width:44px;height:29px}.mp-gauge-item{position:absolute;left:14px;top:11px;width:16px;height:16px}.mp-env-text{font-size:10px;font-family:ui-monospace,monospace}.mp-env-sub{font-size:9px;color:var(--dim)}.mp-row{display:flex;gap:8px;align-items:stretch;margin:6px 0 4px}.mp-row>:first-child:not(.mp-layout-box){flex:1 1 0;min-width:0}.mp-row>.mp-layout-box{margin-left:auto}.sim-mw-wrap{overflow:hidden}.sim-arrow-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-clock{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--well);padding:6px 8px}.mp-clock-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mp-pct{font-weight:700;font-family:ui-monospace,monospace;min-width:38px}.mp-clockbar{flex:1;height:4px;border-radius:2px;background:var(--chip);overflow:hidden}.mp-clockfill{height:100%}.mp-status{font-weight:800;letter-spacing:.5px;font-size:12px}.mp-pct.good,.mp-status.good{color:#57ab5a}.mp-clockfill.good{background:#57ab5a}.mp-pct.slow,.mp-status.slow{color:#e2c541}.mp-clockfill.slow{background:#e2c541}.mp-pct.bad,.mp-status.bad{color:#e5534b}.mp-clockfill.bad{background:#e5534b}.mp-status.none,.mp-pct.none{color:var(--dim)}.mp-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mp-col{min-width:0;border-left:1px solid var(--line);padding-left:6px}.mp-col:first-child{border-left:0;padding-left:0}.mp-col-head{font-size:10px;font-weight:700;color:var(--dim);letter-spacing:.6px;margin-bottom:3px}.mp-io{display:flex;align-items:center;gap:5px;margin:2px 0}.mp-icon{width:22px;height:22px;object-fit:contain}.mp-rate{font-size:10.5px;font-family:ui-monospace,monospace;color:var(--text)}.mp-rate.short{color:#e2c541}.mp-portbar{width:4px;height:20px;border-radius:2px;flex:none}.mp-portbar.none{background:repeating-linear-gradient(0deg,#e5534b 0 3px,transparent 3px 6px)}.mp-layout-box{flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--well);padding:6px}.mp-layout{position:relative}.mp-lay-cell{position:absolute;background:#e8c547;border-radius:1px}.mp-lay-arrow{position:absolute}.mp-lay-item{position:absolute;padding:0;border:1px solid transparent;border-radius:50%;background:#ffffffeb;display:grid;place-items:center;cursor:default}.mp-lay-item img{width:80%;height:80%;object-fit:contain}.mp-lay-item.empty{background:transparent;border:1px dashed #3d4c5e}.mp-lay-item.pick{cursor:pointer;border-color:var(--accent);box-shadow:0 0 0 1px #58a6ff66}.mp-lay-item.pick:hover{transform:scale(1.12)}.mp-recipes{margin-top:4px;max-height:var(--recipe-row-h, 142px);overflow-y:auto;scrollbar-gutter:stable}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 10px}.rg-card{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--well);padding:4px 5px 2px;cursor:pointer;min-width:0}.rg-card:hover{border-color:#58a6ff99}.rg-card.running{border-color:var(--accent);background:#13263b;box-shadow:0 0 0 1px #58a6ff66}.rg-card.other{opacity:.55}.rg-card.other:hover{opacity:.9}.rg-card.run{border-color:#57ab5a;background:#142519}.rg-card.wait.ticked{border-color:#e2c541}.rg-sep.run{color:#57ab5a}.rg-sep.wait{color:#e2c541}.rg-check{width:15px;height:15px;padding:0;flex:none;display:grid;place-items:center;border-radius:3px;border:1.5px solid #5b6b7e;background:transparent;color:#0c1016;font-size:11px;font-weight:900;line-height:1;cursor:pointer}.rg-check:hover{border-color:#e2c541}.rg-check.manual{background:#e2c541;border-color:#e2c541}.rg-check.auto{background:#6e7681;border-color:#6e7681;cursor:not-allowed}.rg-card.other .rg-check{visibility:hidden}.rg-card .recipe-card{margin:2px 0 0;border:0;background:transparent}.rg-sep{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:var(--dim);font-size:11px;margin:4px 0 2px}.rg-sep:before,.rg-sep:after{content:"";flex:1;height:1px;background:var(--line)}.rg-card .rc-row{padding:2px 1px 4px;gap:4px}.rg-card .rc-group{flex-wrap:wrap}.rg-card .rc-pic img{width:22px;height:22px}.rg-card .rc-rate{font-size:9px}.rg-card .rc-time{font-size:10px}.rg-card .rc-env{font-size:9.5px;padding:1px 6px}.rc-env.env-acid{color:#2a1f00;background:linear-gradient(180deg,#e8b62c,#c9961a)}.mp-clock.outlet .mp-col-head{margin-top:2px}.mp-big-list{display:flex;flex-wrap:wrap;gap:6px}.mp-big{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px}.mp-big-icon{width:40px;height:40px;object-fit:contain;border-radius:6px;background:#ffffff0d;border-bottom:2px solid #4aa3e8}.item-btn{width:34px;height:34px;padding:2px;border-radius:7px;border:1px solid var(--line);background:var(--well);color:var(--dim);font-size:18px;line-height:1;cursor:pointer}.item-btn:hover{border-color:var(--accent)}.item-btn.empty{border-style:dashed}.item-btn img{width:100%;height:100%;object-fit:contain}.item-picker{position:fixed;z-index:60;width:272px;max-height:300px;display:flex;flex-direction:column;gap:6px;padding:8px;background:#161b22;border:1px solid var(--accent);border-radius:10px;box-shadow:0 10px 30px #0009}.ip-title{font-size:11px;font-weight:700;color:var(--dim);letter-spacing:.4px}.ip-search{width:100%;padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--well);color:var(--text);font:inherit}.ip-grid{overflow-y:auto;min-height:44px;padding:2px;display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px;align-content:start}.ip-item{box-sizing:border-box;width:36px;height:36px;padding:3px;border-radius:6px;border:1px solid transparent;background:var(--well);color:var(--dim);cursor:pointer;font-size:16px}.ip-item:hover{border-color:#58a6ff99}.ip-item.active{border-color:var(--accent);background:var(--sel-soft)}.ip-item img{width:100%;height:100%;object-fit:contain}.ip-item.none{background:var(--chip-2)}.mp-lay-item.empty .mp-empty-icon{width:90%;height:90%;object-fit:contain;opacity:.9}.rc-item.empty .rc-pic{background:var(--chip-2);display:grid;place-items:center}.rc-item.empty .rc-pic img{width:80%;height:80%;object-fit:contain}.rc-item.empty .rc-rate{color:var(--dim)}.mw-name-row{display:flex;align-items:center;gap:6px;min-width:0}.mw-warn{flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e5534b;color:#fff;font-size:12px;font-weight:900;line-height:1;cursor:help;box-shadow:0 0 0 2px #e5534b40;position:relative}.mw-warn-tip{display:none;position:absolute;top:calc(100% + 7px);left:-10px;z-index:40;width:max-content;max-width:300px;padding:7px 10px;border-radius:7px;background:#2a1416;border:1px solid #e5534b;color:#ffd9d6;box-shadow:0 6px 20px #0000008c;font-size:12px;font-weight:500;line-height:1.45;text-align:left;white-space:normal;cursor:default}.mw-warn-tip>div+div{margin-top:3px}.mw-warn:hover .mw-warn-tip,.mw-warn:focus .mw-warn-tip{display:block}.modes.rates{flex-wrap:wrap;gap:3px}.modes.rates .tool.small{min-width:30px;padding:2px 5px}button.machine,.mini-machine{position:relative}.hotkey{position:absolute;left:2px;top:2px;min-width:14px;height:14px;padding:0 3px;border-radius:4px;background:#e2c541;color:#0c1016;font-size:10px;font-weight:800;line-height:14px;text-align:center;pointer-events:none}.mini-machine .hotkey{inset:auto 2px 2px auto}.mp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:4px}.mp-slot{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 2px;border:1px solid var(--line);border-radius:6px;background:var(--well);color:var(--text);cursor:pointer}.mp-slot:hover{border-color:var(--accent)}.mp-slot.empty{border-style:dashed;min-height:44px;justify-content:center}.mp-slot-plus{font-size:20px;line-height:1;color:var(--dim)}.mp-slot-icon{width:26px;height:26px;object-fit:contain}.tabbar{grid-area:tabs;display:flex;align-items:stretch;min-width:0;background:#0a0e13;border-top:1px solid var(--line);padding:0 8px}.tb-host{flex:1 1 auto;min-width:0;display:flex}.tb-msg{flex:0 1 auto;max-width:45%;align-self:center;margin-left:12px;font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-strip{flex:1 1 auto;display:flex;align-items:flex-start;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.tb-strip::-webkit-scrollbar{display:none}.tb-tab{position:relative;display:flex;align-items:center;gap:7px;flex:0 1 200px;min-width:120px;height:calc(var(--tabbar-h) - 5px);margin-top:-1px;padding:0 6px 0 11px;border-radius:0 0 9px 9px;color:var(--dim);cursor:pointer;user-select:none;transition:background .12s,color .12s}.tb-tab:hover{background:var(--btn-bg);color:var(--text)}.tb-tab.active{background:var(--panel);color:var(--text);border:1px solid var(--line);border-top-color:var(--panel)}.tb-tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#e8c547}.tb-tab+.tb-tab:not(.active):before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:1px;background:var(--line)}.tb-tab.active+.tb-tab:before,.tb-tab:hover+.tb-tab:before{display:none}.tb-icon{width:16px;height:16px;flex:none;display:grid}.tb-icon svg{width:100%;height:100%}.tb-tab.map .tb-icon{color:#58a6ff}.tb-tab.modeler .tb-icon{color:#e8c547}.tb-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.tb-dirty{color:#e8c547;font-size:10px}.tb-close{width:20px;height:20px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--dim);font-size:15px;line-height:1;cursor:pointer}.tb-close:hover{background:#ffffff1f;color:#fff}.tb-add{flex:none;width:26px;height:26px;margin:3px 0 0 4px;border:0;border-radius:50%;background:transparent;color:var(--dim);font-size:19px;line-height:1;cursor:pointer}.tb-add:hover{background:#1c232c;color:var(--text)}.tb-menu{position:fixed;z-index:60;min-width:150px;padding:4px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);box-shadow:0 10px 30px #0000008c}.tb-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;cursor:pointer;text-align:left}.tb-menu-item:hover{background:var(--sel-bg)}.tb-menu-item .tb-icon{width:18px;height:18px}.tb-menu-item:first-child .tb-icon{color:#58a6ff}.tb-menu-item:last-child .tb-icon{color:#e8c547}.bp-overlay.confirm .bp-dialog{position:relative}.modeler-root{display:none}#app.modeler-mode .board-wrap,#app.modeler-mode>.panel.right,#app.modeler-mode .machine-window{display:none!important}#app.modeler-mode .palette-list .md-off{opacity:.38}#app.modeler-mode .modeler-root{display:block;grid-area:board;min-height:0;position:relative;background:#0f1318}.modeler-empty{height:100%;display:grid;place-content:center;gap:8px;text-align:center;color:var(--dim)}.modeler-title{font-size:18px;font-weight:700;color:var(--text)}.md-viewport{position:absolute;inset:0;overflow:hidden;cursor:default;background:radial-gradient(circle,#1f2630 1px,transparent 1.3px) 0 0 / 24px 24px,#0f1318}.md-viewport.panning{cursor:grabbing}.md-world{position:absolute;left:0;top:0;transform-origin:0 0}.md-edges{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible}.md-edge{fill:none;stroke:#c9d1d9;stroke-width:2.2;pointer-events:none}.md-edge.pipe{stroke:#7cc2ff}.md-edge.selected{stroke:#e8c547;stroke-width:3}.md-edge.temp{stroke:#e8c547;stroke-dasharray:6 5}.md-edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.md-labels{position:absolute;left:0;top:0}.md-label{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;padding:2px;border-radius:50%;background:#1b222b;border:1px solid #56606c;cursor:move;z-index:3}.md-label img{width:100%;height:100%;object-fit:contain;pointer-events:none}.md-label.selected{border-color:#e8c547;box-shadow:0 0 0 2px #e8c54759}.md-nodes{position:absolute;left:0;top:0}.md-node{position:absolute;display:flex;flex-direction:column;align-items:stretch;min-width:132px;background:#d9dcdf;border:2px solid #111;border-radius:10px;color:#111;user-select:none;z-index:2;box-shadow:0 4px 14px #00000073}.md-node.selected{outline:3px solid #e8c547;outline-offset:2px}.md-node>.md-side.top{padding-top:3px}.md-node>.md-side.bottom{padding-bottom:3px}.md-node>.md-fields{border-radius:0 0 8px 8px}.md-port{border-radius:5px}.md-mid{display:flex;align-items:stretch}.md-side{display:flex;gap:2px}.md-side.left,.md-side.right{flex-direction:column;justify-content:center;padding:3px 0}.md-side.top,.md-side.bottom{justify-content:center}.md-side:empty{display:none}.md-port{width:26px;height:26px;padding:2px;border:0;background:#c3c7cc;cursor:crosshair}.md-port.in,.md-port.out{background:#c9ced4}.md-port:hover{background:#e8c547}.md-port img{width:100%;height:100%;object-fit:contain;pointer-events:none}.md-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 8px;cursor:move;min-width:70px}.md-machine{width:44px;height:44px;object-fit:contain;pointer-events:none}.md-name{font-size:11px;font-weight:600;text-align:center;line-height:1.2;max-width:120px}.md-sub{font-size:10.5px;color:#444}.md-fields{display:flex;flex-direction:column;align-items:center;background:#fff;border-top:1px solid #999;padding:2px 4px}.md-pct{font-size:11.5px;font-weight:700}.md-limit{width:64px;text-align:center;font:inherit;font-size:12px;font-weight:700;border:0;border-top:1px dashed #bbb;background:transparent;color:#111;padding:1px 0}.md-limit:focus{outline:2px solid #58a6ff}.md-toolbar{position:absolute;left:12px;top:12px;display:flex;gap:8px;z-index:5}.hint-box{position:absolute;right:10px;bottom:calc(var(--tabbar-h) + 10px);z-index:30;display:flex;flex-direction:column;gap:3px;overflow:hidden;padding:7px 9px 10px;border-radius:8px;background:#0f1318e0;border:1px solid var(--line);font-size:11px;color:var(--dim);pointer-events:none;white-space:nowrap;box-shadow:0 6px 18px #00000059;opacity:1;transition:opacity .6s ease;animation:hint-in .2s ease}.hint-box.out{opacity:0}@keyframes hint-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hint-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:#e8c547;transform-origin:left center;animation:hint-count linear forwards}@keyframes hint-count{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.hint-row{display:flex;align-items:center;gap:7px}.hint-box{padding-right:26px}.hint-pin{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:3px;border:0;border-radius:5px;background:transparent;color:var(--dim);cursor:pointer;pointer-events:auto;display:grid;place-items:center}.hint-pin svg{width:13px;height:13px;transform:rotate(45deg);transition:transform .15s}.hint-pin:hover{color:var(--text);background:#7f7f7f2e}.hint-pin.on{color:#e8c547}.hint-pin.on svg{transform:none}.hint-box.out .hint-pin{pointer-events:auto}.hint-ic{display:inline-flex;align-items:center;gap:2px;min-width:44px;color:#c9d1d9;font-size:12px}.hint-ic kbd{font:600 10px ui-monospace,monospace;padding:0 4px;border:1px solid #56606c;border-bottom-width:2px;border-radius:4px;background:#1b222b;color:#e6edf3}.md-empty{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;color:var(--dim);pointer-events:none}.md-dialog{width:min(820px,92vw);max-height:82vh}.md-dialog .bp-dialog-title{display:flex;align-items:center;justify-content:space-between}.md-x{width:28px;height:28px;font-size:18px}.md-dialog-body{padding:12px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;min-height:0}.md-machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.md-machine-btn{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--btn-bg);color:var(--text);font:inherit;cursor:pointer;text-align:left}.md-machine-btn:hover{border-color:var(--accent)}.md-machine-btn img{width:30px;height:30px;object-fit:contain;flex:none}.md-recipes .md-recipe{text-align:left;font:inherit;color:var(--text);cursor:pointer}.md-mode{font-size:10.5px;color:#e8c547;margin-bottom:2px}.md-items{display:grid;grid-template-columns:repeat(auto-fill,40px);gap:4px}.md-port{position:relative}.md-port.short{background:#f08c8c;box-shadow:inset 0 0 0 2px #c62828}.md-port.surplus{background:#9be0a4;box-shadow:inset 0 0 0 2px #2e7d32}.md-rate{position:absolute;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;color:#d0d7de;pointer-events:none;padding:1px 3px;border-radius:3px;background:#0f1318d9}.md-rate.left{right:calc(100% + 3px);top:50%;transform:translateY(-50%)}.md-rate.right{left:calc(100% + 3px);top:50%;transform:translateY(-50%)}.md-rate.top{bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.md-rate.bottom{top:calc(100% + 3px);left:50%;transform:translate(-50%)}.md-port.short .md-rate{color:#ff8a80}.md-port.surplus .md-rate{color:#7ee787}.md-pct.low{color:#c62828}.md-pct.none{color:#777}.md-edge.over{stroke-width:5.5}.md-edge.over.selected{stroke-width:6}.md-lrate{position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);font-size:10.5px;font-weight:700;color:#e6edf3;background:#0f1318d9;padding:0 4px;border-radius:3px;white-space:nowrap;pointer-events:none}.md-src-btn{display:flex;align-items:center;gap:4px;margin-top:3px;padding:2px 6px;max-width:130px;border:1px solid #777;border-radius:5px;background:#fff;color:#111;font:inherit;font-size:10.5px;cursor:pointer}.md-src-btn:hover{border-color:#1f6feb}.md-src-btn img{width:18px;height:18px;object-fit:contain;flex:none}.md-src-btn span:not(.md-inf){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-inf{font-weight:700;color:#1f6feb}.modeler-root .panel.right.md-summary{max-height:min(66.667vh,calc(100% - 8px))}.md-sum-row{padding:2px 0}.md-sum-row .flow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-sum-row .short{color:var(--bad)}.md-sum-row .surplus{color:var(--good)}.md-sum-icon{width:20px;height:20px;object-fit:contain;flex:none}.pair-ctl{display:flex;align-items:center;gap:4px;min-width:0}.pair-pick{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--btn-bg);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pair-pick:hover{border-color:#3fb950}.pair-pick.active{border-color:#3fb950;color:#3fb950;background:#143c2099}.pair-icon{font-size:15px;line-height:1;color:#3fb950}.pair-clear{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:var(--btn-bg);color:var(--dim);font-size:15px;line-height:1;cursor:pointer}.pair-clear:hover{color:#ff8a80;border-color:#e5534b}.md-empty[hidden]{display:none}.md-dock{z-index:6}.drawer-handle .when-closed,#app.right-collapsed .drawer-handle .when-open{display:none}#app.right-collapsed .drawer-handle .when-closed{display:block}.md-node.blank{border-style:dashed;background:#c9ccd0}.md-blank{font-style:italic;color:#555}.md-node.drop{outline:3px dashed #e8c547;outline-offset:3px}.md-edge-hit{cursor:pointer}.md-anchor-pt{fill:#0f1318;stroke:#e8c547;stroke-width:2;pointer-events:all;cursor:move}.md-anchor-pt:hover{fill:#e8c547;stroke:#fff}.md-label{cursor:pointer}.md-option{display:flex;flex-direction:column;gap:4px}.md-opt-head{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px}.md-opt-head img{width:24px;height:24px;object-fit:contain;flex:none}.md-opt-head .md-mode{margin:0 0 0 auto}.md-opt-src{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dim);padding:6px 2px}.md-port.act{box-shadow:inset 0 0 0 2px #a371f7}.md-port.env{background:#cdeff3;box-shadow:inset 0 0 0 2px #39c5cf}.md-port.env.short{background:#f08c8c;box-shadow:inset 0 0 0 2px #c62828}.md-edge.env{stroke:#39c5cf;stroke-dasharray:7 5}.md-edge.orange{stroke:#f0883e}.md-edge.yellow{stroke:#e8c547}.md-rate-sel{cursor:pointer}.md-port.md-plate{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-2px);width:auto;height:22px;padding:0 12px;border:2px solid #111;border-radius:5px 5px 0 0;font-size:11.5px;font-weight:800;letter-spacing:.8px;color:#111;cursor:crosshair;z-index:3;box-shadow:none}.md-port.md-plate.env-Stable{background:#73cada}.md-port.md-plate.env-Acid{background:#e9cc83}.md-port.md-plate.short{background:#f08c8c;border-style:dashed}.md-port.md-plate.env-Stable{border-color:#1f8fa6}.md-port.md-plate.env-Acid{border-color:#b8901f}.md-port.md-plate.short{border-color:#c62828}.md-port.md-plate:hover{filter:brightness(1.12)}.md-anchor{position:absolute;left:0;top:50%;width:1px;height:1px;pointer-events:none}.md-node.env-node .md-body{padding:8px 14px}.md-env-name{font-size:16px;font-weight:900;letter-spacing:1px}.md-port.placing{outline:2px solid #e8c547;outline-offset:1px;background:#fff3c4}.md-label[data-limit] .md-lrate{color:#e8c547}.md-pop{position:absolute;z-index:30;min-width:240px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);box-shadow:0 10px 30px #0000008c;display:flex;flex-direction:column;gap:8px}.md-pop-title{font-size:12px;font-weight:600}.md-pop-row{display:flex;align-items:center;gap:10px}.md-pop-range{flex:1;accent-color:#e8c547}.md-pop-val{min-width:92px;text-align:right;font-family:ui-monospace,monospace;font-size:12px}.md-pop-hint{font-size:11px;color:var(--dim)}.md-port.cru-slot{cursor:pointer}.md-port.slot-yellow{box-shadow:inset 0 0 0 3px #e8c547}.md-port.slot-orange{box-shadow:inset 0 0 0 3px #f0883e}.md-port.slot-black{box-shadow:inset 0 0 0 3px #111}.md-edge.white{stroke:#f0f3f6}.md-cru{display:flex;flex-direction:column;gap:2px;margin-top:3px;align-items:stretch}.md-cru-row{display:flex;align-items:center;gap:3px;font-size:10.5px;font-weight:600}.md-cru-row img{width:16px;height:16px;object-fit:contain}.md-cru-row span{margin-left:auto;font-family:ui-monospace,monospace}.md-cru-row.ticked span:before{content:"✔ ";color:#b08800}.md-box{position:absolute;z-index:4;pointer-events:none;border:1.5px dashed #6fd6ff;background:#38c4ff1a}.md-box[hidden]{display:none}.md-topbar{z-index:6}.md-port.md-plate{left:-2px;right:-2px;transform:translateY(-2px);width:auto}.md-anchor.center{left:50%;top:50%}.md-port.md-plate{font-family:inherit;line-height:1;letter-spacing:.4px}.md-warn{position:absolute;top:-9px;right:-9px;z-index:4;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e5534b;color:#fff;font-size:12px;font-weight:900;line-height:1;cursor:help;box-shadow:0 0 0 2px #e5534b4d}.md-warn-tip{display:none;position:absolute;top:calc(100% + 6px);right:-6px;width:230px;padding:7px 10px;border-radius:7px;background:#2a1416;border:1px solid #e5534b;color:#ffd9d6;font-size:11.5px;font-weight:500;line-height:1.45;text-align:left;box-shadow:0 6px 20px #0000008c;z-index:10}.md-warn:hover .md-warn-tip{display:block}.md-node:has(.md-warn){z-index:3}.tb-rename{flex:1;min-width:0;font:inherit;font-size:12.5px;padding:1px 4px;border:1px solid var(--accent);border-radius:4px;background:var(--well);color:var(--text);outline:none}.show-hidden{margin:0 6px 0 auto;flex:none;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--dim);text-transform:none;letter-spacing:0;cursor:pointer}.show-hidden input{margin:0;accent-color:#e8c547;cursor:pointer}button.machine.hidden-machine{opacity:.45;cursor:not-allowed}.md-ink{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:4}.md-ink-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.md-ink-hit{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.md-ink-text{font-family:inherit;font-weight:600;pointer-events:none;user-select:none;white-space:pre}.md-viewport.pen-draw,.md-viewport.pen-draw *,.md-viewport.pen-rect,.md-viewport.pen-rect *{cursor:crosshair!important}.md-viewport.moving,.md-viewport.moving *{cursor:move!important}.md-viewport.pen-text,.md-viewport.pen-text *{cursor:text!important}.md-viewport.pen-erase,.md-viewport.pen-erase *{cursor:cell!important}.md-viewport.pen-text .md-ink-text,.md-viewport.pen-erase .md-ink-text{pointer-events:all}.md-viewport.pen-erase .md-ink-hit{pointer-events:stroke}.md-viewport.pen-erase .md-ink-hit:hover+.md-ink-stroke,.md-viewport.pen-erase .md-ink-text:hover{opacity:.45}.md-viewport.panning,.md-viewport.panning *{cursor:grabbing!important}.md-penbar{position:absolute;top:12px;right:64px;z-index:7;width:196px;display:flex;flex-direction:column;gap:7px;padding:8px 9px 10px;border-radius:10px;background:#161b22f2;border:1px solid var(--line);box-shadow:0 8px 22px #00000073;transition:right .22s ease}#app:not(.right-collapsed) .md-penbar{right:calc(var(--right-w) + 64px)}.md-penbar[hidden]{display:none}.md-pen-row{display:flex;align-items:center;gap:4px}.md-pen-tool{width:36px;height:32px;display:grid;place-items:center;padding:0;border-radius:7px;border:1px solid transparent;background:transparent;color:#c9d1d9;cursor:pointer}.md-pen-tool .dock-icon{width:20px;height:20px}.md-pen-tool:hover{background:#ffffff12}.md-pen-tool.active{background:#e8c54729;border-color:#e8c547;color:#e8c547}.md-pen-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;justify-items:center}.md-pen-color{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.18);cursor:pointer}.md-pen-color.active{border-color:#fff;box-shadow:0 0 0 2px #e8c547}.md-pen-custom{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}.md-pen-label{font-size:11px;color:var(--dim)}.md-pen-row .md-pen-label{flex:1}.md-pen-width{width:100%;margin:0;accent-color:#e8c547}.md-pen-preview{width:24px;height:24px;display:grid;place-items:center}.md-pen-dot{display:block;border-radius:50%}.md-pen-val{min-width:34px;text-align:right;font-size:11px;color:#c9d1d9;font-variant-numeric:tabular-nums}.md-pen-close{width:28px;height:28px;padding:0;margin-left:auto;border-radius:6px;border:1px solid var(--line);background:transparent;color:#c9d1d9;font-size:16px;line-height:1;cursor:pointer}.md-pen-close:hover{background:#ffffff14}.md-ink-edit{position:absolute;z-index:8;margin:0;padding:0 2px;min-width:2em;resize:none;overflow:hidden;font-family:inherit;font-weight:600;white-space:pre;background:#0f13188c;border:1px dashed #e8c547;border-radius:3px;outline:none;transform:translate(-3px,-1px)}.ip-section{grid-column:1 / -1;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:11px;font-weight:600;color:#e8c547}.md-ink.hidden{display:none}.mp-rate-row{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.mp-rate-label{font-size:11px;color:var(--dim)}.mp-rate-slider{flex:1;min-width:80px;accent-color:#e8c547}.mp-rate-val{min-width:92px;text-align:right;font-size:12px;color:#e6edf3;font-variant-numeric:tabular-nums}.note.warn{color:#f2c230;border-left:3px solid #f2c230;padding-left:8px}.md-ink.md-ink-back{z-index:0}.md-ink-back rect.md-ink-stroke{fill:none}.md-ink-back rect.md-ink-hit{fill:none}.tb-settings{flex:none;align-self:center;width:26px;height:26px;margin-left:8px;padding:4px;border:0;border-radius:50%;background:transparent;color:var(--dim);cursor:pointer;display:grid;place-items:center}.tb-settings svg{width:17px;height:17px;transition:transform .3s ease}.tb-settings:hover,.tb-settings.open{background:var(--panel-2);color:var(--text)}.tb-settings.open svg{transform:rotate(60deg)}.set-menu{min-width:200px;padding:6px 8px 8px}.set-row{display:flex;align-items:center;gap:8px;padding:4px 2px}.set-check-row{cursor:pointer;font-size:12.5px;color:var(--text);user-select:none}.set-check-row input{margin:0;accent-color:var(--accent)}.set-volume{display:flex;align-items:center;gap:8px}.set-volume .tb-music-slider{flex:1;min-width:0}.set-speaker{flex:none;width:32px;height:32px;padding:6px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--dim);display:grid;place-items:center;cursor:pointer}.set-speaker svg{width:18px;height:18px}.set-speaker.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.set-seg{position:relative;flex:1;display:grid;grid-template-columns:1fr 1fr;padding:2px;border-radius:8px;background:var(--chip);border:1px solid var(--line)}.set-seg:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:6px;background:var(--panel-2);box-shadow:0 0 0 1px var(--accent);transition:transform .22s cubic-bezier(.3,.7,.3,1)}.set-seg.right:before{transform:translate(100%)}.set-seg-opt{position:relative;z-index:1;border:0;background:transparent;color:var(--dim);font:inherit;font-size:12px;padding:4px 8px;cursor:pointer;white-space:nowrap}.set-seg-opt.on{color:var(--text)}@media (prefers-reduced-motion: reduce){.set-seg:before{transition:none}}.tb-theme{position:relative;flex:none;width:30px;height:30px;padding:0;border-radius:7px;border:1px solid var(--line);background:var(--panel);cursor:pointer;overflow:hidden}.tb-theme:hover{border-color:var(--accent)}.tb-theme-ic{position:absolute;inset:0;display:grid;place-items:center;transition:transform .45s cubic-bezier(.3,1.4,.5,1),opacity .3s ease}.tb-theme-ic svg{width:17px;height:17px}.tb-theme-ic.sun{color:#f2a33a}.tb-theme-ic.moon{color:#9fb7ff}.tb-theme .sun{transform:rotate(-120deg) scale(.2);opacity:0}.tb-theme .moon,.tb-theme.light .sun{transform:none;opacity:1}.tb-theme.light .moon{transform:rotate(120deg) scale(.2);opacity:0}@media (prefers-reduced-motion: reduce){.tb-theme-ic{transition:none}}.tb-lang{flex:1;display:flex;align-items:center;justify-content:space-between;gap:6px;height:30px;padding:0 8px 0 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.tb-lang:hover,.tb-lang.open{border-color:var(--accent)}.tb-lang-caret{color:var(--dim);font-size:10px;transition:transform .15s}.tb-lang.open .tb-lang-caret{transform:rotate(180deg)}.lang-menu{z-index:61}.lang-menu{min-width:120px}.set-head{padding:2px 2px 4px;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}.set-check{width:14px;flex:none;color:var(--accent);font-weight:700}.set-opt.on{color:var(--accent)}.palette-drag-ghost{position:fixed;left:0;top:0;z-index:80;width:40px;height:40px;object-fit:contain;pointer-events:none;border-radius:8px;background:#161b22bf;border:1px solid var(--accent);padding:3px;box-shadow:0 6px 18px #0006}body.palette-dragging,body.palette-dragging *{cursor:grabbing!important;user-select:none}.bp-add-panel{position:absolute;z-index:3;display:flex;flex-direction:column;min-height:0;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0009}.bp-add-panel.module{border-top:3px solid #3b8eea}.bp-add-panel.map{border-top:3px solid #e8912d}.bp-add-panel.modeler{border-top:3px solid #e8c547}.bp-add-title{display:flex;align-items:center;gap:8px}.bp-add-title>span{flex:1;min-width:0}.bp-add-title .bp-close{width:28px;height:28px;font-size:18px}.bp-add-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:7px;padding:12px 14px}.bp-add-body .bp-preview-big{flex:none}.bp-add-body .bp-icons{max-height:none;min-height:90px}.bp-required{color:var(--bad);font-weight:700}.bp-add-body.compact{flex:1 1 auto;gap:8px;padding:10px 12px}.bp-add-body.compact .bp-preview-big{flex:0 1 auto;min-height:60px;max-height:170px;width:100%;object-fit:contain}.bp-name-row{display:flex;align-items:center;gap:8px;flex:none}.bp-name-row .bp-name{flex:1;min-width:0}.bp-icon-pick{flex:none;width:38px;height:38px;padding:5px;border-radius:8px;border:1px dashed var(--line);background:var(--well);color:var(--dim);display:grid;place-items:center;cursor:pointer}.bp-icon-pick svg{width:24px;height:24px}.bp-icon-pick.set{border-style:solid;border-color:var(--accent);padding:3px}.bp-icon-pick img{width:100%;height:100%;object-fit:contain}html.touch-ui .bp-actions{justify-content:flex-end;padding:6px 12px}html.touch-ui .bp-grid{grid-template-columns:repeat(auto-fill,212px);grid-auto-rows:180px;justify-content:start}html.touch-ui .bp-head{gap:6px;padding:8px 10px}html.touch-ui .bp-head .bp-tabs{margin-left:4px;min-width:0;overflow-x:auto;scrollbar-width:none}html.touch-ui .bp-head .bp-tab{padding:5px 10px;flex:none}html.touch-ui .bp-head>.tool,html.touch-ui .bp-head>.bp-close{flex:none}.bp-card.bp-ghost{position:fixed;z-index:4;pointer-events:none;transform-origin:center}.bp-card.bp-ghost>*{opacity:0;transition:opacity .12s ease}.bp-card.bp-ghost.filled>*{opacity:1}.bp-card.fresh{--aura: 59, 142, 234;animation:bp-aura 1.8s ease-in-out infinite}.bp-card.map.fresh{--aura: 232, 145, 45}.bp-card.modeler.fresh{--aura: 232, 197, 71}@keyframes bp-aura{0%,to{box-shadow:0 0 0 1px rgba(var(--aura),.7),0 0 10px 2px rgba(var(--aura),.45),0 0 22px 6px rgba(var(--aura),.18)}50%{box-shadow:0 0 0 2px rgba(var(--aura),.95),0 0 16px 5px rgba(var(--aura),.7),0 0 36px 12px rgba(var(--aura),.32)}}@media (prefers-reduced-motion: reduce){.bp-card.fresh{animation:none;box-shadow:0 0 0 2px rgba(var(--aura),.95),0 0 16px 5px rgba(var(--aura),.6)}}.bp-card{position:relative}.bp-card-pin{position:absolute;top:6px;right:6px;z-index:1;width:26px;height:26px;padding:5px;border-radius:7px;display:grid;place-items:center;color:#c9d1d9;background:#0d1117b8;border:1px solid rgba(255,255,255,.12);opacity:0;transition:opacity .12s,color .12s;cursor:pointer}.bp-card-pin svg{width:14px;height:14px;transform:rotate(45deg);transition:transform .15s}.bp-card:hover .bp-card-pin,.bp-card-pin.on{opacity:1}.bp-card-pin:hover{color:#fff;border-color:var(--accent)}.bp-card-pin.on{color:#e8c547;border-color:#e8c54799}.bp-card-pin.on svg{transform:none}.bp-window.file-over{outline:2px dashed var(--accent);outline-offset:-4px}.bp-card.add.drop-target:disabled{opacity:1}.bp-card.add.drop-target{border-color:var(--accent);border-style:solid;color:var(--text);background:#58a6ff1f}.bp-card.add .bp-plus{transition:color .15s,text-shadow .15s,transform .15s}.bp-card.add.drop-target .bp-plus{color:var(--accent);transform:scale(1.15);text-shadow:0 0 14px rgba(88,166,255,.9),0 0 30px rgba(88,166,255,.5)}.bp-card.add.drop-target .bp-add-text{color:var(--accent)}.bp-card.add.drop-over .bp-add-text{font-weight:700}.bp-card.replaceable{cursor:copy}.bp-card.replaceable:hover{box-shadow:0 0 0 2px var(--accent),0 0 14px #58a6ff73}.bp-replace-tag{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--bg);background:var(--accent);box-shadow:0 4px 12px #00000059;opacity:0;transition:opacity .12s}.bp-card.replaceable:hover .bp-replace-tag{opacity:1}.bp-replace-hint{margin-top:2px}.mini-sep{height:1px;margin:6px;background:var(--line);flex:none}.mini-machine.mini-bp{border-width:2px}.mini-machine.mini-bp.module{border-color:#3b8eea}.mini-machine.mini-bp.map{border-color:#e8912d}.mini-machine.mini-bp.modeler{border-color:#e8c547}.mini-machine.mini-bp.module{color:#3b8eea}.mini-machine.mini-bp.map{color:#e8912d}.mini-machine.mini-bp.modeler{color:#e8c547}.mini-bp-sheet{display:grid;place-items:center;width:34px;height:34px}.mini-bp-sheet svg{width:34px;height:34px}.mini-machine.mini-bp img.mini-bp-badge{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;padding:1px;border-radius:6px;background:var(--panel);border:1.5px solid currentColor;object-fit:contain;box-shadow:0 1px 4px #0006}#app.file-over:after{content:"";position:fixed;inset:6px;z-index:40;pointer-events:none;border:2px dashed var(--accent);border-radius:10px;background:#58a6ff0f}.sim-dialog{width:min(980px,94vw);max-height:88vh}.sim-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px 6px}.sim-minutes{width:80px}.sim-progress{height:6px;margin:6px 14px 0;border-radius:3px;background:var(--chip);overflow:hidden}.sim-progress-fill{height:100%;width:0;background:var(--accent);transition:width .15s}.sim-status{padding:6px 14px 0}.sim-results{flex:1;min-height:0;overflow:auto;padding:4px 14px 10px}.sim-section{margin:12px 0 6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--dim)}.sim-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.sim-table th{position:sticky;top:0;background:var(--panel-2);color:var(--dim);font-weight:600;text-align:right;padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.sim-table th:first-child,.sim-table td:first-child{text-align:left}.sim-table td{text-align:right;padding:3px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.sim-table td.dim{color:var(--dim)}.sim-table td.neg{color:var(--bad)}.sim-name{display:flex;align-items:center;gap:6px}.sim-name img{width:20px;height:20px;object-fit:contain}#app.sim-mode .right-summary,#app.sim-mode .hint-box{display:none}.panel.right .sim-summary{flex:0 1 auto;min-height:0;overflow-y:auto;border-bottom:0}.sim-bar{position:absolute;left:12px;bottom:14px;z-index:25;width:max-content;max-width:calc(100% - 24px);display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px 10px;border-radius:12px;background:#161b22f0;border:1px solid var(--line);box-shadow:0 8px 26px #00000073;white-space:nowrap}.sim-btn{height:30px;min-width:30px;padding:0 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.sim-btn:hover{border-color:var(--accent)}.sim-btn.play{min-width:40px;font-size:13px;color:var(--accent)}.sim-btn.exit:hover{border-color:var(--bad);color:var(--bad)}.sim-btn.active{border-color:var(--accent);color:var(--accent)}.sim-controls-row{display:flex;align-items:flex-end;gap:8px}.sim-controls-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.sim-chart{width:0;min-width:100%;display:flex;flex-direction:column;gap:6px;padding-bottom:4px;border-bottom:1px solid var(--line);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #9b6bdf;--series-6: #d6457f;--series-7: #2aa6b8;--series-8: #8a9a2b;--series-9: #a8714a;--series-10: #7a8ca3}[data-theme=light] .sim-chart{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #8657d6;--series-6: #e05591;--series-7: #1f9fb3;--series-8: #7d8f1f;--series-9: #a5683c;--series-10: #6a7e98}.sim-chart-head{display:flex;align-items:center;gap:8px;min-width:0}.sim-chart-title{font-size:12px;font-weight:700;color:var(--text);flex:none}.sim-chart-chips{display:flex;gap:4px;overflow-x:auto;min-width:0;scrollbar-width:thin}.sim-chip{display:flex;align-items:center;gap:4px;flex:none;height:24px;padding:0 8px 0 6px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--dim);font:inherit;font-size:11.5px;cursor:pointer}.sim-chip img{width:16px;height:16px;object-fit:contain}.sim-chip.on{color:var(--text);border-color:var(--dim);background:var(--chip)}.sim-chip-swatch{width:10px;height:3px;border-radius:2px;background:var(--line);flex:none}.sim-chart-plot{position:relative;height:170px}.sim-chart-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.sim-chart-labels{position:absolute;top:0;bottom:0;right:0;pointer-events:none}.sim-chart-lbl{position:absolute;width:18px;height:18px;box-sizing:border-box;border-radius:5px;pointer-events:auto;border:1.5px solid var(--c, var(--line));background:var(--panel-2);display:grid;place-items:center}.sim-chart-lbl img{width:14px;height:14px;object-fit:contain;display:block}.sim-chart-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:var(--dim);pointer-events:none}.sim-chart-empty[hidden]{display:none}.sim-chart-tip{position:absolute;z-index:1;min-width:150px;padding:6px 8px;border-radius:8px;pointer-events:none;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px #00000059;font-size:11.5px}.sim-chart-tip[hidden]{display:none}.sim-chart-tip-time{color:var(--dim);font:11px ui-monospace,monospace;margin-bottom:3px}.sim-chart-tip-row{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--dim)}.sim-chart-tip-row strong{color:var(--text);font-variant-numeric:tabular-nums}.sim-speeds{display:flex;gap:2px;padding:2px;border-radius:8px;background:var(--inset);border:1px solid var(--line)}.sim-speeds .sim-btn{height:24px;min-width:0;padding:0 7px;border:0;background:transparent;color:var(--dim)}.sim-speeds .sim-btn.active{background:var(--sel-bg);color:var(--text)}.sim-clock{font:600 14px ui-monospace,monospace;min-width:76px;text-align:center;color:var(--text)}.sim-depot{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--dim);cursor:pointer}.sim-info{position:absolute;top:12px;right:64px;z-index:25;width:260px;max-height:calc(100% - 90px);overflow-y:auto;padding:10px 12px;border-radius:10px;background:#161b22f0;border:1px solid var(--line);box-shadow:0 8px 26px #0006;font-size:12px}.sim-info-title{font-weight:700;font-size:13px;margin-bottom:4px}.sim-info-state{color:var(--dim);margin-bottom:6px}.sim-info-state.running{color:var(--good)}.sim-info-state.blocked{color:var(--bad)}.sim-info-state.idle{color:var(--warn)}.sim-info-head{margin:8px 0 3px;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dim)}.sim-info-row{display:flex;align-items:center;gap:6px;padding:1px 0}.sim-info-row img{width:18px;height:18px;object-fit:contain}.sim-info-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-info-val{font-variant-numeric:tabular-nums;font-weight:600}.sim-info-val.neg{color:var(--bad)}.sim-info-foot{margin-top:8px;color:var(--dim);font-size:11px}.sim-prod{display:flex;flex-direction:column;gap:6px}.sim-prod-head{display:flex;justify-content:flex-end}.sim-prod .sim-recipe{gap:6px}.sim-prod .sim-slots{flex-direction:column;gap:4px}.sim-prod .sim-slot{width:44px;height:44px}.sim-prod .sim-slot img{width:34px;height:34px}.sim-prod .sim-arrow{min-width:50px}.sim-mw-extra:empty{display:none}.sim-mw-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.sim-mw-state{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--chip);color:var(--dim);white-space:nowrap}.sim-mw-state.running{color:var(--good)}.sim-mw-state.idle{color:var(--warn)}.sim-mw-state.blocked,.sim-mw-state.unpowered{color:var(--bad)}.sim-mw-rows{display:flex;flex-direction:column;gap:10px}.sim-recipe{display:flex;align-items:center;gap:10px}.sim-slots{display:flex;gap:6px;flex:none}.sim-slot{position:relative;width:52px;height:52px;border-radius:8px;border:1px solid var(--line);background:var(--well);display:grid;place-items:center}.sim-slot img{width:40px;height:40px;object-fit:contain;transition:filter .2s,opacity .2s}.sim-slot.empty img{filter:brightness(.3) saturate(.4);opacity:.7}.sim-slot-count{position:absolute;right:3px;bottom:1px;font:700 12px ui-monospace,monospace;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000}.sim-slot.empty .sim-slot-count{color:var(--dim)}.sim-arrow{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:stretch;gap:3px}.sim-arrow-time,.sim-arrow-pct{text-align:center;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums;min-height:1.2em}.sim-arrow-bar{position:relative;height:12px;margin-right:8px}.sim-arrow-track{position:absolute;left:0;right:0;top:4px;height:4px;border-radius:2px;background:#58a6ff38}.sim-arrow-fill{position:absolute;left:0;top:4px;height:4px;width:0;border-radius:2px;background:#58a6ff;box-shadow:0 0 6px #58a6ffb3}.sim-arrow-head{position:absolute;right:-8px;top:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid rgba(88,166,255,.22)}.sim-arrow.done .sim-arrow-head{border-left-color:#58a6ff}.sim-arrow-x{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;color:var(--bad);font-weight:900;font-size:15px;line-height:1;text-shadow:0 0 4px rgba(0,0,0,.8)}.sim-arrow.stuck .sim-arrow-fill{width:0!important}.sim-arrow.stuck .sim-arrow-x{display:block}.sim-arrow.stuck .sim-arrow-time{color:var(--bad)}.sim-mw-foot{font-size:11px;color:var(--dim)}:root[data-theme=light]{--bg: #f6f8fa;--panel: #ffffff;--panel-2: #f0f3f6;--line: #d0d7de;--text: #1f2328;--dim: #59636e;--accent: #0969da;--good: #1a7f37;--warn: #9a6700;--bad: #cf222e;--well: #f6f8fa;--btn-bg: #f6f8fa;--sel-bg: #ddf4ff;--sel-soft: #ddf4ff;--inset: #eef1f4;--scene-bg: #eef1f4;--chip: #e6e9ed;--chip-2: #eaeef2;--env-box: #eef6ff;--env-bad: #ffebe9;color-scheme:light}[data-theme=light] .panel.right{box-shadow:0 8px 30px #1f232826}[data-theme=light] .dock-btn{background:#ffffffe0;border-color:#1f232826;color:#24292f}[data-theme=light] .dock-btn:hover:not(:disabled){background:#eaeef2f7;border-color:#1f23284d}[data-theme=light] .dock-btn.active{background:#0969da24;color:#0969da;box-shadow:0 0 0 1px #0969da66}[data-theme=light] .dock-btn.copied{color:#1a7f37;border-color:#1a7f37;background:#1a7f371f}[data-theme=light] .dock-key,[data-theme=light] .dock-label{color:#24292fb3}[data-theme=light] .drawer-handle{background:#ffffffeb;color:#24292f;border-color:#1f23282e;box-shadow:-4px 4px 14px #1f23281f}[data-theme=light] .drawer-handle:hover{background:#0969da24}[data-theme=light] .palette-rail{background:#0000000a}[data-theme=light] .palette-list .group-label{color:#9a6700}[data-theme=light] .palette-list .group-label:hover{color:#7d4e00}[data-theme=light] .note{color:#24292f;background:#0969da12}[data-theme=light] .note.warn{color:#9a6700;border-left-color:#d4a72c}[data-theme=light] .warn{background:#cf222e12}[data-theme=light] .pin:hover{background:#0000000f}[data-theme=light] .pin.on{color:#bf8700}[data-theme=light] .rc-pic,[data-theme=light] .mp-big-icon{background:#0000000d}[data-theme=light] .toast{box-shadow:0 6px 20px #1f23282e}[data-theme=light] .toast.warn{background:#ffebe9;border-color:#cf222e;color:#82071e}[data-theme=light] .toast.info{background:#dafbe1;border-color:#1a7f37;color:#116329}[data-theme=light] .bp-overlay,[data-theme=light] .bp-dialog-wrap{background:#1f232859}[data-theme=light] .bp-window,[data-theme=light] .bp-dialog,[data-theme=light] .item-picker{box-shadow:0 16px 50px #1f232840}[data-theme=light] .bp-card.selected{box-shadow:0 0 0 3px #0969da73}[data-theme=light] .bp-card.add{border-color:#afb8c1}[data-theme=light] .bp-badge.map{background:#fff1e5;color:#bc4c00}[data-theme=light] .bp-badge.module{background:#ddf4ff;color:#0969da}[data-theme=light] .bp-badge.modeler{background:#fff8c5;color:#9a6700}[data-theme=light] button.tool.danger{border-color:#cf222e;color:#cf222e}[data-theme=light] .base-tile.current{border-color:#bf8700;box-shadow:0 0 0 1px #bf8700}[data-theme=light] .bp-error{color:#cf222e}[data-theme=light] .machine-window{background:#fffffffa;box-shadow:0 -8px 30px #1f232826}[data-theme=light] .mw-mini{background:#fffffff5;box-shadow:0 6px 20px #1f23282e}[data-theme=light] .mp-pct.good,[data-theme=light] .mp-status.good,[data-theme=light] .rg-sep.run{color:#1a7f37}[data-theme=light] .mp-pct.slow,[data-theme=light] .mp-status.slow,[data-theme=light] .mp-rate.short,[data-theme=light] .rg-sep.wait{color:#9a6700}[data-theme=light] .mp-pct.bad,[data-theme=light] .mp-status.bad{color:#cf222e}[data-theme=light] .mp-lay-item.empty{border-color:#afb8c1}[data-theme=light] .rg-card.running{background:#ddf4ff}[data-theme=light] .rg-card.run{background:#dafbe1}[data-theme=light] .mw-warn-tip,[data-theme=light] .md-warn-tip{background:#ffebe9;border-color:#cf222e;color:#82071e;box-shadow:0 6px 20px #1f23282e}[data-theme=light] .mp-rate-val{color:var(--text)}[data-theme=light] .pair-pick.active{background:#1a7f371f}[data-theme=light] .pair-clear:hover{color:#cf222e}[data-theme=light] .tabbar{background:#e9edf1}[data-theme=light] .tb-tab.active:after{background:#d4a72c}[data-theme=light] .tb-tab.modeler .tb-icon,[data-theme=light] .tb-menu-item:last-child .tb-icon,[data-theme=light] .tb-dirty{color:#bf8700}[data-theme=light] .tb-tab.map .tb-icon,[data-theme=light] .tb-menu-item:first-child .tb-icon{color:#0969da}[data-theme=light] .tb-close:hover{background:#00000014;color:#1f2328}[data-theme=light] .tb-add:hover{background:#f6f8fa}[data-theme=light] .tb-menu,[data-theme=light] .md-pop{background:#fff;box-shadow:0 10px 30px #1f23282e}[data-theme=light] .tb-menu-item.set-opt .tb-icon{color:inherit}[data-theme=light] .tb-theme-ic.sun{color:#d4790f}[data-theme=light] .tb-theme-ic.moon{color:#4a63c9}[data-theme=light] .hint-box{background:#fffffff0;box-shadow:0 6px 18px #1f232826}[data-theme=light] .hint-ic{color:#424a53}[data-theme=light] .hint-ic kbd{background:#f6f8fa;color:#1f2328;border-color:#8c959f}[data-theme=light] .hint-timer{background:#d4a72c}[data-theme=light] .hint-pin.on{color:#bf8700}[data-theme=light] #app.modeler-mode .modeler-root{background:#f6f8fa}[data-theme=light] .md-viewport{background:radial-gradient(circle,#c9d1d9 1px,transparent 1.3px) 0 0 / 24px 24px,#f6f8fa}[data-theme=light] .md-edge{stroke:#57606a}[data-theme=light] .md-edge.pipe{stroke:#0969da}[data-theme=light] .md-edge.white{stroke:#8c959f}[data-theme=light] .md-edge.yellow,[data-theme=light] .md-edge.temp{stroke:#d4a72c}[data-theme=light] .md-edge.selected{stroke:#bf8700}[data-theme=light] .md-edge.env{stroke:#1b9aaa}[data-theme=light] .md-label{background:#fff;border-color:#8c959f}[data-theme=light] .md-label.selected{border-color:#bf8700}[data-theme=light] .md-lrate,[data-theme=light] .md-rate{color:#1f2328;background:#ffffffeb}[data-theme=light] .md-label[data-limit] .md-lrate{color:#9a6700}[data-theme=light] .md-port.short .md-rate{color:#cf222e}[data-theme=light] .md-port.surplus .md-rate{color:#1a7f37}[data-theme=light] .md-node{box-shadow:0 4px 14px #1f23282e}[data-theme=light] .md-anchor-pt{fill:#fff;stroke:#bf8700}[data-theme=light] .md-anchor-pt:hover{fill:#d4a72c;stroke:#1f2328}[data-theme=light] .md-box{border-color:#0969da;background:#0969da14}[data-theme=light] .md-penbar{background:#fffffff7;box-shadow:0 8px 22px #1f232826}[data-theme=light] .md-pen-tool,[data-theme=light] .md-pen-val,[data-theme=light] .md-pen-close{color:#424a53}[data-theme=light] .md-pen-tool:hover,[data-theme=light] .md-pen-close:hover{background:#0000000f}[data-theme=light] .md-pen-tool.active{color:#9a6700;border-color:#d4a72c;background:#d4a72c26}[data-theme=light] .md-pen-color{border-color:#0003}[data-theme=light] .md-pen-color.active{border-color:#1f2328}[data-theme=light] .md-ink-edit{background:#ffffffbf}[data-theme=light] .show-hidden input,[data-theme=light] .md-pen-width,[data-theme=light] .mp-rate-slider,[data-theme=light] .md-pop-range{accent-color:#bf8700}[data-theme=light] button.tool.active,[data-theme=light] .bp-tab.active{color:#0969da}[data-theme=light] .palette-drag-ghost{background:#ffffffd9;box-shadow:0 6px 18px #1f23282e}[data-theme=light] .bp-add-panel{box-shadow:0 16px 50px #1f232840}[data-theme=light] .bp-card-pin{background:#ffffffd9;color:#424a53;border-color:#1f232826}[data-theme=light] .bp-card-pin.on{color:#bf8700}[data-theme=light] .bp-card.modeler .bp-thumb,[data-theme=light] .bp-add-panel.modeler .bp-preview-big{background:#f6f8fa}[data-theme=light] .sim-bar,[data-theme=light] .sim-info{background:#fffffff5;box-shadow:0 8px 26px #1f232826}[data-theme=light] .sim-arrow-fill{background:#0969da;box-shadow:0 0 6px #0969da73}[data-theme=light] .sim-arrow.done .sim-arrow-head{border-left-color:#0969da}[data-theme=light] .sim-arrow-track{background:#0969da2e}[data-theme=light] .sim-arrow-head{border-left-color:#0969da2e}[data-theme=light] .sim-slot.empty img{filter:brightness(1.6) saturate(.2);opacity:.35}.tb-group{--g: #8a96a3;position:relative;display:flex;align-items:stretch;gap:2px;flex:none;height:var(--tabbar-h);margin:-1px 2px 0 4px;padding:0 1px 0 0;border:1px solid var(--line);border-top:0;border-left:0;border-radius:0 0 10px}.tb-group.selected{--g: #e2b93b}.tb-group-name{position:relative;z-index:1;display:flex;align-items:center;gap:4px;flex:none;max-width:160px;margin-right:-9px;padding:0 19px 0 12px;background:var(--g);color:#0d1117;font-size:11.5px;font-weight:700;cursor:pointer;user-select:none;clip-path:polygon(0 0,calc(100% - 9px) 0,calc(100% - 9px) calc(100% - 9px),calc(100% - 8.69px) calc(100% - 6.67px),calc(100% - 7.79px) calc(100% - 4.5px),calc(100% - 6.36px) calc(100% - 2.64px),calc(100% - 4.5px) calc(100% - 1.21px),calc(100% - 2.33px) calc(100% - .31px),calc(100% + -0px) calc(100% + -0px),9px calc(100% + -0px),6.67px calc(100% - .31px),4.5px calc(100% - 1.21px),2.64px calc(100% - 2.64px),1.21px calc(100% - 4.5px),.31px calc(100% - 6.67px),0px calc(100% - 9px));transition:background .15s}.tb-group.alone{border:0;padding:0}.tb-group.alone .tb-group-name{margin-right:0;padding-right:12px;clip-path:polygon(0 0,100% 0,calc(100% + -0px) calc(100% - 9px),calc(100% - .31px) calc(100% - 6.67px),calc(100% - 1.21px) calc(100% - 4.5px),calc(100% - 2.64px) calc(100% - 2.64px),calc(100% - 4.5px) calc(100% - 1.21px),calc(100% - 6.67px) calc(100% - .31px),calc(100% - 9px) calc(100% + -0px),9px calc(100% + -0px),6.67px calc(100% - .31px),4.5px calc(100% - 1.21px),2.64px calc(100% - 2.64px),1.21px calc(100% - 4.5px),.31px calc(100% - 6.67px),0px calc(100% - 9px))}.tb-group-name.unnamed .tb-group-text{opacity:.7;font-weight:600}.tb-group-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-group-caret{font-size:9px;opacity:.8}.tb-group-name.drop-group{outline:2px dashed var(--accent);outline-offset:-3px}.tb-group .tb-rename{align-self:center;width:120px}.tb-group .tb-tab{height:100%;margin-top:0;flex-basis:180px}.tb-tab.grouped{box-shadow:inset 0 -3px 0 var(--g)}.tb-tab.drop-group{outline:2px dashed var(--accent);outline-offset:-3px;background:var(--sel-bg)}.tb-strip.reordering .tb-tab,.tb-strip.reordering .tb-group,.tb-strip.reordering .tb-group-name{transition:transform .18s cubic-bezier(.2,.8,.2,1),background .12s,color .12s}.tb-strip.reordering .tb-group{border-color:transparent}.tb-group.dragging{opacity:.45}.tb-tab.dragging{opacity:.4}.dock-btn.sim-on{background:#e2b93b;border-color:#e2b93b;color:#0d1117}.dock-btn.sim-on:hover{background:#f0c94a}.sim-chart.collapsed{border-bottom:0;padding-bottom:0}.sim-chart-plot[hidden],.sim-chart-head[hidden]{display:none}.sim-axis-row{display:flex;align-items:flex-start;height:30px}.sim-axis-now{box-sizing:border-box;flex:none;padding-right:6px;text-align:right;font:600 12px ui-monospace,monospace;color:var(--text);line-height:16px}.sim-axis-end{box-sizing:border-box;flex:none;padding-left:8px;font:11px ui-monospace,monospace;color:var(--dim);line-height:16px}.sim-axis{position:relative;flex:1;min-width:80px;height:30px;cursor:pointer;touch-action:none}.sim-axis-rail{position:absolute;left:0;right:0;top:6px;height:4px;border-radius:2px;background:var(--chip);transition:height .12s,top .12s}.sim-axis:hover .sim-axis-rail,.sim-axis.dragging .sim-axis-rail{top:5px;height:6px}.sim-axis-computed{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:color-mix(in srgb,var(--accent) 30%,var(--chip))}.sim-axis-played{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--accent)}.sim-axis-knob{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--text);border:2px solid var(--accent);box-shadow:0 1px 4px #00000080}.sim-axis-ticks{position:absolute;left:0;right:0;top:14px;height:14px;pointer-events:none}.sim-axis-tick{position:absolute;transform:translate(-50%);font:10.5px ui-monospace,monospace;color:var(--dim);white-space:nowrap}.sim-axis-tick:first-child{transform:none}.sim-speeds.sim-hours .sim-btn{padding:0 8px}.sim-chart-toggle{position:absolute;top:4px;right:6px;z-index:2;width:24px;height:20px;padding:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer}.sim-chart-toggle:hover{background:var(--chip);color:var(--text)}.sim-chart-toggle svg{width:16px;height:16px;transition:transform .25s ease}.sim-chart-toggle.collapsed svg{transform:rotate(180deg)}.sim-chart-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .2s ease}.sim-chart-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:6px}.sim-chart.collapsed .sim-chart-body{grid-template-rows:0fr;opacity:0}.sim-chart.collapsed .sim-chart-head,.sim-chart-head{padding-right:28px}.sim-axis-tick.end{transform:translate(-100%)}.sim-eye{width:30px;min-width:30px;padding:0;display:grid;place-items:center}.sim-eye svg{width:18px;height:18px}.sim-eye.floating{position:absolute;z-index:25;box-shadow:0 6px 18px #0006}@media (prefers-reduced-motion: reduce){.sim-chart-body,.sim-chart-toggle svg{transition:none}}.sim-wait{font-size:11.5px;color:var(--warn);white-space:nowrap}.balance.sim-bal .balance-head,.balance.sim-bal .balance-row{grid-template-columns:minmax(0,1fr) 62px 62px}.balance.sim-bal .partial{font-style:italic}.balance.sim-bal .partial:not(.short):not(.surplus){color:var(--dim)}.sim-mw-wrap{display:flex;flex-direction:column;gap:8px;min-width:0}.sim-slot.bolt{background:color-mix(in srgb,#f5c542 12%,var(--panel-2))}.sim-bolt svg{width:30px;height:30px;display:block;color:var(--text)}.rc-item.power .rc-pic{display:grid;place-items:center;color:var(--text)}.rc-power svg{width:22px;height:22px;display:block}.tb-music{flex:none;align-self:center;width:22px;height:22px;margin-left:6px;padding:3px;border:0;border-radius:50%;background:transparent;color:var(--dim);cursor:pointer;display:grid;place-items:center}.tb-music svg{width:15px;height:15px}.tb-music:hover{background:var(--panel-2);color:var(--text)}.tb-music.on{color:var(--accent)}.sim-controls-main>.sim-reset{margin-left:auto}.sim-controls-row>.sim-eye{flex:none}.sim-gen-btn{position:relative;width:30px;min-width:30px;padding:0;display:grid;place-items:center}.sim-gen-btn svg{width:16px;height:16px}.sim-gen-badge{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--accent);color:var(--bg);font-size:9.5px;font-weight:800;line-height:15px;text-align:center}.sim-gen{position:absolute;z-index:26;width:min(620px,calc(100% - 24px));height:min(520px,calc(100% - 120px));overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 16px 40px #00000080}.sim-gen-title{font-weight:700;font-size:13px}.sim-gen-note{font-size:11.5px;color:var(--warn)}.sim-gen-note[hidden]{display:none}.sim-gen-cols{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.sim-gen-col{min-height:0;min-width:0;display:flex;flex-direction:column;gap:4px}.sim-gen-col-head{font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dim)}.sim-gen-col-head.on{color:var(--good)}.sim-gen-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;padding-right:2px}.sim-gen-row{display:flex;align-items:center;gap:6px;min-width:0;flex:none;padding:3px 6px;border-radius:7px;background:var(--well);border:1px solid transparent;font-size:12px;position:relative}.sim-gen-row.on{border-color:color-mix(in srgb,var(--good) 45%,transparent)}.sim-gen-row.just-moved{border-color:var(--accent)}.sim-gen-row img{width:22px;height:22px;object-fit:contain;flex:none}.sim-gen-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-gen-input{width:64px;flex:none;height:24px;padding:0 6px;border-radius:6px;border:1px solid var(--line);background:var(--inset);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:right}.sim-gen-input:focus{outline:none;border-color:var(--accent)}.sim-gen-unit{flex:none;font-size:10.5px;color:var(--dim)}.sim-gen-empty{font-size:11.5px;color:var(--dim);padding:8px 4px}.sim-chart-chips{scrollbar-width:none;overscroll-behavior:contain}.sim-chart-chips::-webkit-scrollbar{display:none}.sim-chip{width:50px;justify-content:center;padding:0 6px}.sim-chip .sim-chip-name{display:none}.sim-chip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sim-chart-title{display:flex;align-items:center;gap:4px;flex:none;padding:2px 8px 2px 4px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.sim-chart-title:hover{background:var(--chip)}.sim-chart-title-caret{font-size:10px;color:var(--dim);transition:transform .25s ease}.sim-chart.expanded .sim-chart-title-caret{transform:rotate(90deg)}.sim-chart-all{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease,opacity .25s ease;opacity:0}.sim-chart.expanded .sim-chart-all{grid-template-rows:1fr;opacity:1}.sim-chart-all-inner{min-height:0;overflow:hidden}.sim-chart-all-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px;max-height:168px;overflow-y:auto;padding:2px 2px 6px}.sim-all-item{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 6px;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--dim);font:inherit;font-size:12px;cursor:pointer;min-width:0}.sim-all-item img{width:18px;height:18px;object-fit:contain;flex:none}.sim-all-item.on{color:var(--text);background:var(--chip);border-color:var(--dim)}.sim-all-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sim-all-rate{flex:none;font-variant-numeric:tabular-nums;color:var(--text)}.sim-chart-all-empty{font-size:12px;color:var(--dim);padding:4px}@media (prefers-reduced-motion: reduce){.sim-chart-all,.sim-chart-title-caret{transition:none}}html.touch-ui .sim-chart-plot{transition:height .3s ease}html.touch-ui .sim-chart.expanded .sim-chart-plot{height:96px}html.touch-ui .sim-chart-all-list{max-height:68px;overscroll-behavior:contain}.tb-music-wrap{position:relative;display:flex;align-self:center}.tb-music-vol{position:absolute;right:-6px;bottom:calc(100% + 4px);z-index:50;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 8px 22px #00000073;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility 0s linear .15s}.tb-music-vol:after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}.tb-music-wrap:hover .tb-music-vol,.tb-music-vol:focus-within{opacity:1;visibility:visible;transform:none;transition:opacity .15s,transform .15s}.tb-music-slider{width:110px;accent-color:var(--accent)}.tb-music-pct{min-width:32px;text-align:right;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.fold-sec{display:flex;align-items:center;gap:7px;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;font:inherit;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--dim);cursor:pointer;text-align:left;padding:8px 0 0}.fold-sec:hover{color:var(--text)}.fold-sign{position:relative;width:10px;height:10px;flex:none}.fold-sign:before,.fold-sign:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:1px;background:var(--text);transition:transform .26s cubic-bezier(.3,.7,.3,1)}.fold-sign:after{transform:rotate(180deg)}.fold-sec.shut .fold-sign:after{transform:rotate(90deg)}.fold-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .28s ease,opacity .22s ease}.fold-body.shut{grid-template-rows:0fr;opacity:0}.fold-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion: reduce){.fold-body,.fold-sign:before,.fold-sign:after{transition:none}}.sim-gen-top{display:flex;align-items:center;gap:12px}.sim-gen-top .sim-gen-title{flex:1}.sim-gen-inf{color:var(--text)}.sim-env-box{border:1.5px solid var(--envc);border-radius:9px;overflow:hidden;background:color-mix(in srgb,var(--envc) 8%,transparent)}.sim-env-bar{display:flex;align-items:center;gap:6px;padding:2px 8px;background:var(--envc);color:#0d1117;font-size:10.5px;font-weight:700;letter-spacing:.3px}.sim-env-box>.sim-recipe{padding:6px 6px 6px 4px}html.touch-ui,html.touch-ui body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}html.touch-ui body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.touch-ui input,html.touch-ui textarea,html.touch-ui [contenteditable]{-webkit-user-select:text;user-select:text}html.touch-ui .md-viewport{touch-action:none}html.touch-ui,html.touch-ui body{position:fixed;inset:0;width:100%;height:100%;overflow:hidden;margin:0}html.touch-ui #app{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;overflow:hidden}html.touch-ui ::-webkit-scrollbar{width:0;height:0}@property --tabbar-row{syntax: "<length>"; inherits: true; initial-value: 34px;}html.touch-ui #app{--tabbar-row: var(--tabbar-h);transition:--left-w .22s ease,--tabbar-row .26s ease}html.touch-ui #app.touch-busy{--tabbar-row: 0px}html.touch-ui .tabbar{height:var(--tabbar-h);align-self:start}html.touch-ui .tb-msg{display:none}@media (prefers-reduced-motion: reduce){html.touch-ui #app{transition:none}}#app.touch-acting .dock{visibility:hidden;transition:right .22s ease,visibility 0s linear .26s}.touch-actions{position:absolute;top:8px;right:8px;z-index:6;display:flex;flex-direction:column;gap:3px;padding:4px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px #00000059;transition:right .22s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s}.touch-actions.ta-out{transform:translate(calc(100% + 16px + var(--ta-off, 0px)));visibility:hidden;pointer-events:none;transition:right .22s ease,transform .22s ease-in,visibility 0s linear .22s}#app:not(.right-collapsed) .touch-actions{--ta-off: var(--right-w)}html.touch-ui #app.touch-acting .dock .dock-drawer{visibility:visible}.ta-more{display:grid;grid-template-rows:1fr;transition:grid-template-rows .24s ease,opacity .2s ease}.ta-more-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:3px}.ta-more.shut{grid-template-rows:0fr;opacity:0;pointer-events:none}.ta-btn.keep .ta-page{fill:currentColor}@media (prefers-reduced-motion: reduce){.touch-actions,.touch-actions.ta-out,.ta-more{transition:none}}#app:not(.right-collapsed) .touch-actions{right:calc(var(--right-w) + 8px)}.ta-btn{width:50px;height:35px;padding:1px 0 0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:inherit}.ta-btn[hidden]{display:none}.ta-btn svg{width:18px;height:18px;display:block}.ta-label{font-size:8.5px;line-height:1;color:var(--dim);white-space:nowrap}.ta-btn:active:not(:disabled){background:var(--chip)}.ta-btn.primary:not(:disabled){color:#e8c547}.ta-btn.primary:not(:disabled) .ta-label{color:#e8c547}.ta-btn.on{border-color:#e8c547;background:color-mix(in srgb,#e8c547 18%,transparent);color:#e8c547}.ta-btn.on .ta-label{color:#e8c547}.ta-btn:disabled{opacity:.3}.ta-sep{height:1px;margin:2px 4px;background:var(--line)}.ta-sep[hidden]{display:none}.touch-modebar{position:absolute;top:8px;right:80px;z-index:6;width:min(300px,42vw);padding:4px;border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);box-shadow:0 6px 18px #00000059;display:flex;transition:right .22s ease}#app:not(.right-collapsed) .touch-modebar{right:calc(var(--right-w) + 80px)}.touch-modebar[hidden]{display:none}html.touch-ui .machine-window:not(.collapsed){right:66px;top:0;bottom:var(--tabbar-h);width:238px;max-height:none;border-right:1px solid var(--line);border-top:0;border-radius:0}html.touch-ui .machine-window.collapsed{right:78px;margin-bottom:8px}html.touch-ui #app:not(.right-collapsed) .machine-window.collapsed{right:calc(var(--right-w) + 78px)}html.touch-ui .mw-head{gap:5px;padding:6px;flex-wrap:nowrap}html.touch-ui .mw-icon{width:26px;height:26px}html.touch-ui .mw-name{font-size:13px}html.touch-ui .mw-meta{font-size:10px}html.touch-ui .mw-collapse{width:26px;height:26px}.mode-switch.compact{flex:none;width:64px;padding:2px}.mode-switch.compact .ms-knob{top:2px;bottom:2px;left:2px;width:calc(50% - 2px)}.mode-switch.compact .ms-opt{padding:4px 0}.mode-switch.compact .ms-label{display:none}.mp-row.single>*{flex:1 1 auto;min-width:0;margin-left:0!important}html.touch-ui .mp-row.single .mp-layout-box{display:flex;justify-content:center}html.touch-ui .recipe-grid{grid-template-columns:1fr}html.touch-ui .mp-recipes{max-height:none;overflow:visible}html.touch-ui .machine-window .panel-body{flex:1 1 auto;min-height:0;overflow-y:auto}html.touch-ui .dock{top:8px;gap:6px}html.touch-ui .dock-group{gap:3px}html.touch-ui .dock .dock-btn:not(.wide){width:40px;height:38px;border-radius:9px}html.touch-ui .dock-img{width:28px;height:28px}html.touch-ui .dock-icon{width:19px;height:19px}html.touch-ui .dock-key{display:none}html.touch-ui .drawer-handle{height:46px}html.touch-ui .topbar .dock-btn:not(.wide){width:31px;height:31px;border-radius:8px}html.touch-ui .topbar .dock-icon{width:15px;height:15px}html.touch-ui .touch-modebar{width:150px;padding:2px;top:6px}html.touch-ui .touch-modebar .mode-switch{padding:2px}html.touch-ui .touch-modebar .ms-knob{top:2px;bottom:2px;left:2px;width:calc(50% - 2px)}html.touch-ui .touch-modebar .ms-opt{font-size:9.5px;padding:2px 4px;gap:3px}html.touch-ui .touch-modebar .ms-icon svg{width:10px;height:10px}html.touch-ui .panel.right,html.touch-ui .modeler-root .panel.right.md-summary{bottom:var(--tabbar-h);max-height:none;border-radius:0;display:flex;flex-direction:column}html.touch-ui .panel.right .right-summary,html.touch-ui .panel.right .sim-summary{flex:1 1 auto}html.touch-ui #app:not(.right-collapsed) .machine-window{right:calc(var(--right-w) + 66px)}html.touch-ui .pin{opacity:.55}html.touch-ui .pin.on{opacity:1}.ta-logi{display:flex;flex-direction:column;gap:3px;padding-top:3px;border-top:1px solid var(--line)}.ta-logi[hidden]{display:none}.ta-logi-btn img{width:20px;height:20px;object-fit:contain;display:block}html.touch-ui .mw-head{align-items:flex-start}html.touch-ui .mw-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}html.touch-ui .mw-name-row{align-items:flex-start}.mw-mode-row{margin:2px 0 8px}.mw-mode-row .mode-switch{width:100%}.mw-card{display:flex;flex-direction:column;align-items:center;margin:0 0 8px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--well)}.mw-card-env{align-self:stretch;font-weight:700}.mw-card-layout{padding:4px 0;display:flex;justify-content:center}.mw-card .mp-layout-box{border:0;background:transparent;border-radius:0}html.touch-ui .machine-window .section+.mp-rate-row{border-top:0;margin-top:2px;padding-top:2px}html.touch-ui .machine-window .section+.mp-rate-row .mp-rate-label{display:none}html.touch-ui .machine-window .section+.mp-rate-row .mp-rate-slider{flex:1;min-width:0}html.touch-ui .machine-window .section+.mp-rate-row .mp-rate-val{min-width:0;flex:none}.mp-lay-rate{position:absolute;display:grid;place-items:center;overflow:visible;white-space:nowrap;pointer-events:none;font-size:8.5px;font-weight:600;color:var(--text);font-family:ui-monospace,monospace}.mp-lay-rate[data-side]{display:flex;box-sizing:border-box}.mp-lay-rate[data-side=l]{justify-content:flex-end;align-items:center;padding-right:6px}.mp-lay-rate[data-side=r]{justify-content:flex-start;align-items:center;padding-left:6px}.mp-lay-rate[data-side=t]{justify-content:center;align-items:flex-end;padding-bottom:4px}.mp-lay-rate[data-side=b]{justify-content:center;align-items:flex-start;padding-top:4px}html:not(.touch-ui) .mp-layout-box.rates{padding:10px 22px}html:not(.touch-ui) .mp-lay-rate{font-size:9.5px}html:not(.touch-ui) .mp-lay-rate[data-side=l]{padding-right:9px}html:not(.touch-ui) .mp-lay-rate[data-side=r]{padding-left:9px}html:not(.touch-ui) .mp-lay-rate[data-side=t]{padding-bottom:8px}html:not(.touch-ui) .mp-lay-rate[data-side=b]{padding-top:8px}.mp-ring-gauge{position:absolute;overflow:visible;pointer-events:none}.mw-sim-prod{margin-bottom:8px}html.touch-ui .mw-head{position:relative}html.touch-ui .mw-warn{position:static}html.touch-ui .mw-warn-tip{left:6px;right:6px;top:calc(100% - 2px);width:auto;max-width:none}.machine-window .note:not(.warn){display:none}.ip-head{display:flex;align-items:center;gap:6px;min-height:22px}.ip-head .ip-title{flex:1;min-width:0}.ip-close,.mw-warn-close{flex:none;width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);font-size:16px;line-height:1;cursor:pointer}.ip-close:hover,.mw-warn-close:hover{border-color:var(--accent)}.mw-warn-tip{padding-right:34px}.mw-warn-close{position:absolute;top:5px;right:5px;width:22px;height:22px;color:inherit;border-color:currentColor}.mw-warn.tip-closed .mw-warn-tip{display:none!important}.source-row .source-ctl{display:flex;align-items:center;gap:6px}.source-row .source-ctl .num{width:72px}.source-unit{font-size:11.5px;color:var(--dim)}html.ui-zoom #app{--left-w: calc(260px * var(--ui-k));--right-w: calc(320px * var(--ui-k))}html.ui-zoom #app.palette-collapsed{--left-w: calc(58px * var(--ui-k))}html.ui-zoom .panel.left,html.ui-zoom .panel.right,html.ui-zoom .machine-window{zoom:var(--ui-k)}html.ui-zoom .panel.right{width:calc(var(--right-w) / var(--ui-k));max-height:calc(min(66.667vh,calc(100vh - var(--tabbar-h) - var(--mw-h, 0px) - 8px)) / var(--ui-k))}html.ui-zoom .machine-window{bottom:calc(var(--tabbar-h) / var(--ui-k));width:min(476px,calc(100vw / var(--ui-k)));max-height:calc(min(66vh,calc(100vh - 120px)) / var(--ui-k))}html.ui-zoom .machine-window.collapsed{width:auto;max-height:none;right:calc(8px / var(--ui-k))}html.touch-ui .sim-controls-main{flex-wrap:nowrap}html.touch-ui .sim-bar{z-index:26}html.touch-ui .touch-actions{z-index:27}html.touch-ui .machine-window.layer-front,html.touch-ui .panel.right.layer-front,html.touch-ui .sim-bar.layer-front{z-index:31}@keyframes picker-open{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}html.touch-ui .item-picker{animation:picker-open .2s cubic-bezier(.2,.8,.2,1)}html.touch-ui .md-overlay{animation:overlay-in .18s ease}html.touch-ui .md-overlay .md-dialog{animation:picker-open .24s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){html.touch-ui .item-picker,html.touch-ui .md-overlay,html.touch-ui .md-overlay .md-dialog{animation:none}}.recipes-btn{flex:none;width:30px;height:30px;margin-left:auto;padding:4px;border-radius:8px;border:1px solid var(--line);background:transparent;color:#e8c547;display:grid;place-items:center;cursor:pointer}.recipes-btn svg{width:20px;height:20px}.recipes-btn:hover{border-color:#e8c547;background:#e8c5471a}.rl-overlay{position:fixed;inset:0;z-index:56;display:flex;flex-direction:column;background:#0d1117;color:var(--text);background-image:radial-gradient(circle at 40% 55%,rgba(255,255,255,.035),transparent 55%)}[data-theme=light] .rl-overlay{background:#eef0f2}.rl-top{flex:none;display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line)}.rl-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel);overflow:hidden;white-space:nowrap}.rl-folder{flex:none;width:26px;height:22px;padding:0;border:0;background:none;color:var(--text);cursor:pointer}.rl-folder svg{width:22px;height:20px}.rl-sep{color:var(--dim)}.rl-chip{flex:none;border:0;border-radius:3px;padding:3px 10px;background:#e6edf3;color:#0d1117;font:inherit;font-weight:600;cursor:pointer}.rl-chip.last{background:none;color:var(--text);cursor:default;padding-left:2px}.rl-search-box{flex:0 1 260px;display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}.rl-search-ico svg{width:18px;height:18px;display:block;color:var(--text)}.rl-search{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;outline:none}.rl-back{flex:none;width:36px;height:36px;padding:0;border:0;background:none;color:var(--text);cursor:pointer}.rl-back svg{width:34px;height:34px}.rl-body{flex:1;min-height:0;position:relative}.rl-list{position:absolute;inset:0;overflow-y:auto;padding:14px 22px 30px}.rl-group-title{margin:14px 0 8px;padding-left:8px;border-left:3px solid var(--text);font-weight:700;letter-spacing:.3px}.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.rl-entry{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);font:inherit;cursor:pointer}.rl-entry:hover{border-color:var(--line);background:var(--panel)}.rl-entry-name{font-size:11.5px;text-align:center;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rl-empty,.rl-none{color:var(--dim);padding:10px;font-size:12.5px}.rl-tile{position:relative;flex:none;width:54px;height:54px;padding:4px;border:1px solid #39424e;border-radius:3px;background:linear-gradient(#1b2129,#11161c);cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 4px #00000073}.rl-tile:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#8fbf3a}.rl-tile.ph-liquid:after,.rl-tile.ph-gas:after{background:#3b8eea}.rl-tile img{width:100%;height:100%;object-fit:contain;pointer-events:none}.rl-tile.raw{background:repeating-linear-gradient(45deg,#2b333d 0 6px,#222932 6px 12px)}.rl-count{position:absolute;left:3px;bottom:4px;font-size:10.5px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}.rl-item{position:absolute;inset:0;display:flex;gap:18px;padding:14px 22px 16px}.rl-info{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.rl-name{font-size:24px;font-weight:700}.rl-sub{color:var(--dim);margin-top:2px}.rl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.rl-tag{padding:2px 14px;border-radius:999px;background:var(--chip);font-weight:600;font-size:12.5px}.rl-tag:first-child{box-shadow:inset 0 -2px #8fbf3a}.rl-rule{height:1px;background:var(--line);margin:10px 0 8px}.rl-facts{color:var(--text);font-size:13px;line-height:1.6}.rl-hero{flex:1;min-height:120px;display:grid;place-items:center;position:relative}.rl-hero img{width:min(42%,220px);max-height:80%;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.55))}.rl-hero-mark{position:absolute;width:50%;aspect-ratio:1;max-width:340px;border:2px solid rgba(255,255,255,.05);clip-path:polygon(50% 100%,0 0,100% 0);background:#ffffff06}.rl-side{flex:0 0 min(460px,46%);display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--line)}.rl-side-scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 12px}.rl-sec{margin:10px 0 8px;padding-left:8px;border-left:3px solid var(--text);font-weight:700;font-size:15px}.rl-card{margin-bottom:10px}.rl-card-head{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#e6edf3;color:#0d1117;font-weight:600}.rl-card-head .rl-micon{width:22px;height:22px;object-fit:contain}.rl-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-chev{font-weight:800}.rl-env{padding:1px 6px;border-radius:3px;font-size:10.5px;font-weight:700}.rl-env.env-stable{background:#3b8eea;color:#fff}.rl-env.env-acid{background:#e8c547;color:#1a1300}.rl-card-body{display:flex;align-items:center;gap:8px;padding:8px 6px 4px}.rl-rrow{flex:1;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rl-plus{color:var(--dim);font-size:16px}.rl-time{display:inline-flex;flex-direction:column;align-items:center;color:var(--dim);font-size:11px;line-height:1.1;padding:0 4px}.rl-ff{font-size:10px}.rl-pin{flex:none;width:34px;height:34px;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--well);color:var(--dim);cursor:pointer}.rl-pin svg{width:100%;height:100%;transform:rotate(45deg)}.rl-pin.on{color:#e8c547;border-color:#e8c54799}.rl-pin.on svg{transform:none}.rl-chain-btn,.rl-model-btn{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:10px 12px 12px;padding:12px 18px;border:0;border-radius:2px;background:linear-gradient(100deg,#050608 0 30%,#1b2027 30% 34%,#050608 34%);color:#fff;font:inherit;font-size:20px;font-weight:600;letter-spacing:.5px;cursor:pointer;position:relative}.rl-chain-btn:hover,.rl-model-btn:hover{box-shadow:0 0 0 1px #e8c547}.rl-chain-ico{position:absolute;left:18px;width:22px;height:22px;background:linear-gradient(#fff 0 0) 0 50% / 9px 9px no-repeat,linear-gradient(#fff 0 0) 100% 0 / 9px 9px no-repeat,linear-gradient(#fff 0 0) 100% 100% / 9px 9px no-repeat}.rl-chain{position:absolute;inset:0}.rl-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.rl-viewport.panning{cursor:grabbing}.rl-world{position:absolute;left:0;top:0;transform-origin:0 0}.rl-world>*{position:absolute}.rl-lines{left:0;top:0;overflow:visible;pointer-events:none}.rl-lines path{fill:none;stroke:#8b96a3;stroke-width:1.6}.rl-lines path.alt{stroke:#5c6772}.rl-mach{height:40px;border:1px solid #4a5563;border-radius:4px;background:#222932;box-shadow:0 2px 5px #00000080}.rl-mach-main{display:flex;align-items:center;gap:4px;padding:3px 6px 0;font-size:11.5px;font-weight:600;white-space:nowrap}.rl-mach-main .rl-micon{width:18px;height:18px;object-fit:contain;flex:none}.rl-mach-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.rl-mach-time{text-align:center;font-size:9.5px;color:var(--dim)}.rl-mach-top{position:absolute;left:-1px;bottom:100%;min-width:calc(100% + 2px);display:flex;flex-direction:column}.rl-mach-env{padding:1px 6px;font-size:9px;font-weight:700;border-radius:4px 4px 0 0}.rl-mach-env.env-stable{background:#3b8eea;color:#fff}.rl-mach-env.env-acid{background:#e8c547;color:#1a1300}.rl-default{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px;padding:2px 6px;border-radius:4px;background:#39424e;font-size:9.5px;color:var(--text);cursor:pointer;white-space:nowrap}.rl-default.on{cursor:default}.rl-check{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--text);display:grid;place-items:center;font-size:8px}.rl-check.on{background:var(--text);color:#0d1117}.rl-default:not(.on):hover .rl-check{background:#ffffff4d}.rl-more{height:20px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 10px;border:1px solid #1a1300;border-radius:999px;background:#e8c547;color:#1a1300;font:inherit;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 0 0 2px #00000059}.rl-more.up{background:#d9b53a}.rl-hint{position:absolute;right:18px;bottom:74px;color:var(--dim);font-size:12px;pointer-events:none}.rl-model-btn{position:absolute;right:6px;bottom:0;margin:0 12px 12px;min-width:240px}html.touch-ui .rl-top{padding:6px 10px;gap:8px}html.touch-ui .rl-chip{padding:2px 8px}html.touch-ui .rl-search-box{flex-basis:170px}html.touch-ui .rl-item{padding:8px 12px;gap:12px}html.touch-ui .rl-name{font-size:19px}html.touch-ui .rl-chain-btn,html.touch-ui .rl-model-btn{font-size:16px;padding:9px 14px;margin:6px 8px 8px}html.touch-ui .rl-model-btn{min-width:190px}html.touch-ui .rl-hint{bottom:56px}html.touch-ui .rl-tile{width:44px;height:44px}html.touch-ui .rl-card-body .rl-tile,html.touch-ui .rl-grid .rl-tile{width:42px;height:42px}html.touch-ui .rl-world .rl-tile{width:54px;height:54px}html.touch-ui .recipes-btn{width:34px;height:34px}.rl-desc{margin-bottom:4px}.rl-desc.lore{color:var(--dim);font-style:italic}.rl-facts{max-height:40%;overflow-y:auto}.rl-mach{border-color:#aeb8c4;background:linear-gradient(#f2f5f8,#d9e0e7);color:#10151b;box-shadow:0 2px 6px #0000008c}.rl-mach .rl-mach-time{color:#4b5563}.rl-default{background:#e6edf3;color:#10151b}.rl-check{border-color:#10151b}.rl-check.on{background:#10151b;color:#e6edf3}.rl-default:not(.on):hover .rl-check{background:#10151b40}.rl-tile{border-color:#5a6573}.rl-lines path{stroke:#a9b4c0}html.touch-ui .rl-hero{min-height:90px}html.touch-ui .rl-hero img{width:min(30%,130px)}html.touch-ui .rl-facts{max-height:34%;font-size:12px}@keyframes rl-flash{0%{background:#e6edf3;color:#0d1117}to{background:#050608;color:#fff}}.rl-chain-btn.flash,.rl-model-btn.flash{animation:rl-flash .32s ease-out}[data-theme=light] .rl-chain-btn.flash,[data-theme=light] .rl-model-btn.flash{animation-name:rl-flash}@media (prefers-reduced-motion: reduce){.rl-chain-btn.flash,.rl-model-btn.flash{animation-duration:.01s}}html.touch-ui .rl-list{padding:6px 10px 20px}html.touch-ui .rl-group-title{margin:8px 0 4px}html.touch-ui .rl-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:0}html.touch-ui .rl-entry{padding:4px 2px;gap:3px}html.touch-ui .rl-entry-name{font-size:10.5px}.md-edge.bad,.md-edge.bad.pipe,.md-edge.bad.yellow,.md-edge.bad.orange{stroke:#e5534b}.rl-chip,.rl-folder,.rl-back,.rl-entry,.rl-pin,.rl-default,.rl-mach,.rl-env-btn,.rl-more{transition:box-shadow .12s,background-color .12s}.rl-chip:hover,.rl-folder:hover,.rl-back:hover,.rl-pin:hover,.rl-default:not(.on):hover,.rl-mach:hover,.rl-env-btn:hover{box-shadow:0 0 0 1.5px #e8c547}.rl-back{border-radius:50%}.rl-entry:hover{border-color:#e8c547}.rl-more:hover{background:#f5d75e;box-shadow:0 0 0 2px #fff4c2}.rl-mach{cursor:pointer}.rl-mach:hover{box-shadow:0 0 0 1.5px #e8c547,0 2px 6px #0000008c}@keyframes rl-press{0%{filter:brightness(1.7) saturate(1.3)}to{filter:none}}.rl-press{animation:rl-press .3s ease-out}@media (prefers-reduced-motion: reduce){.rl-press{animation-duration:.01s}}.rl-mach-env{white-space:nowrap;letter-spacing:.3px}.rl-mach.rl-xcard{height:auto;width:max-content;padding:6px 10px;border-width:2px}.rl-xcard>.rl-mach-top{left:-2px;min-width:calc(100% + 4px)}.rl-mach.env-stable{border-color:#3b8eea}.rl-mach.env-acid{border-color:#e8c547}.rl-xmain{display:flex;align-items:center;gap:6px;white-space:nowrap}.rl-xm{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:104px;font-size:11.5px;font-weight:700;text-align:center;white-space:normal;line-height:1.15}.rl-xm .rl-micon{width:30px;height:30px;object-fit:contain}.rl-xsep{align-self:stretch;width:1px;margin:0 4px;background:currentColor;opacity:.35}.rl-xcard .rl-tile,html.touch-ui .rl-world .rl-xcard .rl-tile{width:40px;height:40px}.rl-xcard .rl-plus{color:#4b5563}.rl-xarrow{display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 2px;color:#4b5563;font-size:10.5px;font-weight:700}.rl-xarrow svg{width:38px;height:10px;display:block}.rl-env-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;font:inherit;font-size:9.5px;font-weight:700;cursor:pointer}.rl-env-chev{display:inline-block;font-size:8px;transition:transform .2s}.rl-env-btn.open .rl-env-chev{transform:rotate(180deg)}.rl-lines path.env{stroke-width:2;stroke-dasharray:5 5}.rl-lines path.env-stable{stroke:#3b8eea}.rl-lines path.env-acid{stroke:#e8c547}.set-music{display:flex;align-items:center;gap:6px}.set-music-head{flex:none}.set-music-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px}.set-music-name.none{color:var(--dim);font-style:italic}.set-music-pick{flex:none;white-space:nowrap}.set-music-clear{flex:none;padding:0 7px}.set-app{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.set-ver{color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums}.set-dl-group{display:flex;align-items:center;gap:4px;margin-left:auto}.set-dl-head{color:var(--dim);font-size:12px;margin-right:2px}a.set-dl{text-decoration:none;color:var(--text);display:inline-grid;place-items:center;padding:4px 7px}a.set-dl svg{width:16px;height:16px;display:block}.set-dl-head{position:relative;padding-left:2px}.tb-settings{position:relative}.set-ping{position:absolute;width:7px;height:7px;border-radius:50%;background:#f85149;pointer-events:none}.set-ping:after{content:"";position:absolute;inset:0;border-radius:50%;background:#f85149;animation:set-ping-k 1.6s cubic-bezier(0,0,.2,1) infinite}@keyframes set-ping-k{75%,to{transform:scale(2.4);opacity:0}}@media (prefers-reduced-motion: reduce){.set-ping:after{animation:none}}.set-ping-dl{left:-4px;top:-3px}.set-ping-gear{right:2px;top:2px}.rl-overlay,[data-theme=light] .rl-overlay{background:var(--bg);background-image:none}.rl-top{background:var(--panel)}.rl-chip{background:var(--chip);color:var(--text)}.rl-chip.last{background:none}.rl-list{display:flex;flex-direction:column;gap:14px}.rl-win{flex:none;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 22px #00000047}[data-theme=light] .rl-win{box-shadow:0 4px 16px #1f23281a}.rl-win-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--panel-2);border-bottom:1px solid var(--line)}.rl-win-title{font-size:15px;font-weight:700}.rl-win-count{padding:1px 9px;border-radius:999px;background:var(--chip);color:var(--dim);font-size:12px;font-weight:600}.rl-win .rl-grid{padding:10px 12px 12px}.rl-entry{border-radius:10px}.rl-entry:hover{background:var(--panel-2);border-color:#e8c547}.rl-tile,.rl-xcard .rl-tile{border:1px solid var(--line);border-radius:8px;background:var(--well);box-shadow:none}.rl-tile:after{display:none}.rl-tile.raw{background:repeating-linear-gradient(45deg,var(--chip) 0 6px,var(--well) 6px 12px)}.rl-tile:hover{border-color:#e8c547}.rl-count{left:auto;right:4px;bottom:1px;font:700 12px ui-monospace,monospace;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000}.rl-info{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px}.rl-side{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.rl-hero-mark{border-color:var(--line);background:var(--panel-2)}[data-theme=light] .rl-hero img{filter:drop-shadow(0 10px 18px rgba(31,35,40,.25))}.rl-card{border:1px solid var(--line);border-radius:12px;background:var(--panel-2);overflow:hidden;margin-bottom:10px}.rl-card-head{display:flex;align-items:center;gap:10px;padding:8px 10px 2px 12px;background:none;color:var(--text);font-size:14px;font-weight:700}.rl-card-head .rl-micon{width:28px;height:28px}.rl-card-head .rl-pin{width:28px;height:28px;padding:5px}.rl-card-body{display:block;margin:6px 8px 8px;padding:10px 12px;background:var(--well);border:1px solid var(--line);border-radius:10px}.rl-rrow{flex-wrap:nowrap;gap:8px}.rl-slots{flex:none;display:flex;align-items:center;gap:4px}.rl-plus{color:var(--dim);font-size:15px;font-weight:700;padding:0 1px}.rl-arrow{flex:1;min-width:56px;display:flex;flex-direction:column;align-items:stretch;gap:3px}.rl-arrow-time{text-align:center;font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.rl-arrow-bar{position:relative;height:12px;margin-right:8px}.rl-arrow-track{position:absolute;left:0;right:0;top:4px;height:4px;border-radius:2px;background:#58a6ff38}.rl-arrow-fill{position:absolute;left:0;top:4px;height:4px;width:0;border-radius:2px;background:#58a6ff;box-shadow:0 0 6px #58a6ffb3;animation:rl-fill var(--dur, 2s) linear infinite}.rl-arrow-head{position:absolute;right:-8px;top:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid rgba(88,166,255,.45)}@keyframes rl-fill{0%{width:0}to{width:100%}}[data-theme=light] .rl-arrow-fill{background:#0969da;box-shadow:0 0 6px #0969da73}[data-theme=light] .rl-arrow-track{background:#0969da2e}[data-theme=light] .rl-arrow-head{border-left-color:#0969da66}@media (prefers-reduced-motion: reduce){.rl-arrow-fill{animation:none;width:100%}}html.touch-ui .rl-card-body .rl-tile{width:42px;height:42px}html.touch-ui .rl-arrow{min-width:40px}[data-theme=light] .rl-lines path{stroke:#8c959f}.hint-box.batch-tip{padding-right:9px;animation:hint-in .2s ease}.hint-box.batch-tip[hidden]{display:none}.batch-tip-head{color:#e8c547;font-weight:700;font-size:11.5px;margin-bottom:2px}body.batch-on .hint-box:not(.batch-tip){display:none}@media (orientation: portrait){html.touch-ui .sim-controls-main{flex-wrap:wrap;row-gap:6px}html.touch-ui .sim-controls-main:after{content:"";order:1;flex-basis:100%;height:0}html.touch-ui .sim-controls-main>.sim-hours,html.touch-ui .sim-controls-main>.sim-wait,html.touch-ui .sim-controls-main>.sim-reset{order:2}html.touch-ui .sim-controls-main{column-gap:5px}html.touch-ui .sim-controls-main .sim-speeds{gap:1px}html.touch-ui .sim-controls-main .sim-btn,html.touch-ui .sim-controls-main .sim-speeds.sim-hours .sim-btn{min-width:26px;padding:0 5px}html.touch-ui .sim-controls-main .sim-btn.play{min-width:34px}html.touch-ui .sim-bar{max-width:calc(100% - 20px);left:10px}}@media (orientation: landscape){html.touch-ui .dock .dock-erase,html.touch-ui .dock .dock-layer,html.touch-ui .dock .dock-lib,html.touch-ui .dock .dock-sim{display:none}}@media (orientation: portrait){html.touch-ui .topbar .top-lib,html.touch-ui .topbar .top-sim{display:none}}html.touch-ui #app.palette-hidden{--left-w: 0px}html.touch-ui #app.palette-hidden .panel.left{border-right:0}.palette-peek{display:none}html.touch-ui .palette-peek{display:grid;place-items:center;position:absolute;left:0;top:50%;z-index:24;width:22px;height:58px;margin-top:-29px;padding:0;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:var(--panel);color:var(--text);box-shadow:0 4px 12px #00000059;transform:translate(-110%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}html.touch-ui #app.palette-hidden .palette-peek{transform:none;visibility:visible;transition:transform .24s ease .12s,visibility 0s}.palette-peek svg{width:16px;height:16px}@media (prefers-reduced-motion: reduce){html.touch-ui .palette-peek{transition:none}}.rl-entry .rl-tile:hover,.rl-entry:hover .rl-tile{border-color:var(--line)}.rl-chain-btn.flash,.rl-model-btn.flash{box-shadow:none!important}@keyframes rl-flash-back{0%{filter:invert(1)}to{filter:none}}.rl-back.flash{animation:rl-flash-back .32s ease-out;box-shadow:none!important}@media (prefers-reduced-motion: reduce){.rl-back.flash{animation-duration:.01s}}.rl-slots .rl-slot-empty{cursor:default;background:transparent;border-style:dashed;border-color:transparent}.rl-slots .rl-slot-empty:hover{border-color:transparent}.rl-plus.ghost{visibility:hidden}.rl-plus{width:10px;text-align:center;flex:none}.rl-card.env{border-width:2px}.rl-card.env-stable{border-color:#3b8eea}.rl-card.env-acid{border-color:#e8c547}.rl-card-env{padding:3px 12px;font-size:11px;font-weight:800;letter-spacing:.4px;white-space:nowrap}.rl-card.env-stable .rl-card-env{background:#3b8eea;color:#fff}.rl-card.env-acid .rl-card-env{background:#e8c547;color:#1a1300}.rl-act{flex:none;width:28px;height:28px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--well);display:grid;place-items:center}.rl-act img{width:100%;height:100%;object-fit:contain}@media (orientation: portrait){html.touch-ui .rl-item{flex-direction:column;overflow-y:auto}html.touch-ui .rl-info{flex:none}html.touch-ui .rl-facts{max-height:none}html.touch-ui .rl-hero{flex:none;min-height:160px}html.touch-ui .rl-side{flex:none;min-height:auto}html.touch-ui .rl-side-scroll{overflow:visible}html.touch-ui .rl-side .rl-chain-btn{position:fixed;right:14px;bottom:14px;z-index:5;margin:0;padding:10px 16px 10px 46px;font-size:15px;border-radius:999px;box-shadow:0 6px 18px #00000080}html.touch-ui .rl-side .rl-chain-btn .rl-chain-ico{left:16px;width:18px;height:18px;background-size:7px 7px}html.touch-ui .rl-item{padding-bottom:72px}}html.touch-ui:not(.native-app) .palette-peek:before{content:"";position:absolute;inset:-34px -26px -34px 0}html.touch-ui:not(.native-app) .drawer-handle{position:relative}html.touch-ui:not(.native-app) .drawer-handle:before{content:"";position:absolute;inset:0 0 -26px -26px}.tabbar .tb-recipes{margin-left:2px;width:26px;height:26px;padding:3px;align-self:center}.tabbar .tb-recipes svg{width:18px;height:18px}html.touch-ui .palette-head .recipes-btn{margin-left:0}html.touch-ui .palette-head .brand{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis}@media (orientation: portrait){html.touch-ui .drawer-handle{position:relative;width:34px;height:76px}html.touch-ui .drawer-handle .dock-icon{width:24px;height:24px}html.touch-ui .drawer-handle:before{content:"";position:absolute;inset:0 0 -30px -34px}}@media (orientation: portrait){html.touch-ui .machine-window:not(.collapsed),html.touch-ui #app:not(.right-collapsed) .machine-window:not(.collapsed){inset:auto 0 0;width:auto;height:50dvh;max-height:none;z-index:32;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0}html.touch-ui #app:has(>.machine-window:not(.collapsed):not([hidden]):not(.mw-closing):not(.mw-shrink)){--tabbar-row: 0px}html.touch-ui .machine-window.mw-opening,html.touch-ui .machine-window.mw-grow{animation:mw-sheet-up .28s cubic-bezier(.2,.8,.2,1)}html.touch-ui .machine-window.mw-closing,html.touch-ui .machine-window.mw-shrink{animation:mw-sheet-down .22s ease-in forwards}html.touch-ui .machine-window.collapsed,html.touch-ui #app:not(.right-collapsed) .machine-window.collapsed{right:6px;bottom:calc(var(--tabbar-h) + 6px);margin:0}html.touch-ui .machine-window.collapsed.mw-pop{animation:mw-mini-up .24s cubic-bezier(.2,.8,.2,1)}.mw-sheet-row{display:flex;gap:8px;align-items:flex-start}.mp-row.mw-sheet-row>:first-child:not(.mp-layout-box){flex:none;width:max-content;min-width:146px;max-width:46%;box-sizing:border-box}.mw-sheet-row>:last-child{flex:1 1 auto;min-width:0;display:flex;justify-content:center}html.touch-ui .machine-window .recipe-grid{grid-template-columns:1fr 1fr}html.touch-ui .machine-window .recipe-grid{gap:5px}html.touch-ui .machine-window .rg-card .rc-row{gap:3px;padding:2px 0 3px}html.touch-ui .machine-window .rg-card .rc-group{flex-wrap:nowrap;gap:2px}html.touch-ui .machine-window .rg-card .rc-pic{width:29px;height:29px}html.touch-ui .machine-window .rg-card .rc-pic img{width:21px;height:21px}html.touch-ui .machine-window .rg-card .rc-rate{font-size:8px;letter-spacing:-.2px}html.touch-ui .machine-window .rg-card .rc-arrow{font-size:11px}html.touch-ui #app:not(.right-collapsed) .touch-actions,html.touch-ui #app:not(.right-collapsed) .touch-modebar,html.touch-ui #app:not(.right-collapsed) .machine-window.collapsed{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}}@keyframes mw-sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes mw-sheet-down{0%{transform:none}to{transform:translateY(100%)}}@keyframes mw-mini-up{0%{transform:translateY(160%);opacity:0}to{transform:none;opacity:1}}.rl-search-toggle,.rl-back .ico-close{display:none}@media (orientation: portrait){html.touch-ui .rl-top{position:relative;z-index:6;gap:6px;padding:6px 8px}html.touch-ui .rl-crumbs{gap:4px;padding:3px 6px}html.touch-ui .rl-chip{padding:2px 6px;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}html.touch-ui .rl-chip-db{font-size:0;flex:none}html.touch-ui .rl-chip-db:after{content:attr(data-short);font-size:12px}html.touch-ui .rl-crumb-rec{display:none}html.touch-ui .rl-search-toggle{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel-2);color:var(--text)}html.touch-ui .rl-search-toggle .rl-search-ico svg{width:18px;height:18px}html.touch-ui .rl-overlay.rl-search-open .rl-search-toggle{border-color:#e8c547;color:#e8c547}html.touch-ui .rl-back .ico-back{display:none}html.touch-ui .rl-back .ico-close{display:block}html.touch-ui .rl-back{width:34px;height:34px}html.touch-ui .rl-back svg{width:32px;height:32px}html.touch-ui .rl-search-box{position:absolute;left:8px;right:8px;top:calc(100% + 6px);z-index:5;padding:8px 10px;box-shadow:0 8px 22px #00000073;border-radius:10px;transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s}html.touch-ui .rl-overlay.rl-search-open .rl-search-box{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility 0s}}html.touch-ui #app:not(.palette-collapsed) .palette-head{padding-left:4px}.dock-ghost{position:absolute;top:0;right:0;z-index:-1;display:flex;flex-direction:column;gap:10px;pointer-events:none}.dock-ghost .dock-group{pointer-events:none}.dock-btn{--btn-fill: #1a1f27}.dock-btn.active{--btn-fill: #24486e}[data-theme=light] .dock-btn{--btn-fill: #ffffff}[data-theme=light] .dock-btn.active{--btn-fill: #dbe9f8}html.touch-ui .touch-actions{top:4px;right:4px}html.touch-ui .touch-actions.ta-out{transform:translateY(calc(-100% - 20px))}html.touch-ui .touch-actions.ta-collapsed{transform:translateY(calc(-100% + 46px))}html.touch-ui .touch-actions.ta-collapsed>:not(.ta-grip){pointer-events:none}.ta-grip{display:none}html.touch-ui .ta-grip{display:grid;place-items:center;height:42px;margin:0 -4px -4px;touch-action:none}html.touch-ui .ta-grip span,.dock-grip span{width:28px;height:5px;border-radius:3px;background:var(--dim);opacity:.85}html.touch-ui .dock>.dock-group:not(.dock-drawer){transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease}html.touch-ui #app.touch-acting .dock>.dock-group:not(.dock-drawer){transform:translateY(calc(-100% - 24px));opacity:0}html.touch-ui .dock .dock-drawer{transform:translateY(var(--drawer-shift, 0px));transition:transform .28s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){html.touch-ui .dock>.dock-group:not(.dock-drawer),html.touch-ui .dock .dock-drawer{transition:none}}html:not(.touch-ui) .hint-box.batch-tip{font-size:13px;gap:5px;padding:10px 12px 12px}html:not(.touch-ui) .hint-box.batch-tip .hint-ic{font-size:14px;min-width:56px}html:not(.touch-ui) .hint-box.batch-tip .hint-ic kbd{font-size:12px;padding:1px 5px}html:not(.touch-ui) .batch-tip-head{font-size:14px;margin-bottom:4px}html.touch-ui .hint-box{pointer-events:auto;touch-action:pan-y}html.touch-ui .hint-box:not(.batch-tip){zoom:.75}.dock-grip{display:none}html.touch-ui .dock-grip{display:grid;place-items:center;width:40px;height:42px;margin-top:-4px;border-radius:0 0 10px 10px;touch-action:none;background:#14192094;border:1px solid rgba(255,255,255,.09);border-top:0}html.touch-ui[data-theme=light] .dock-grip{background:#ffffffe0}html.touch-ui #app.dock-collapsed:not(.touch-acting) .dock>.dock-group:not(.dock-drawer){transform:translateY(calc(-1 * var(--dock-hide, 0px)))}html.touch-ui .dock>.dock-group,html.touch-ui .touch-actions{touch-action:none}.ta-grip,.dock-grip{position:relative}.ta-grip i,.dock-grip i{position:absolute;left:50%;top:50%;width:16px;height:5px;margin:-2.5px 0 0 -8px;border-radius:3px;background:var(--dim);opacity:.9;transition:transform .28s cubic-bezier(.2,.8,.2,1)}.ta-grip i:first-child,.dock-grip i:first-child{transform:translate(-7px)}.ta-grip i:last-child,.dock-grip i:last-child{transform:translate(7px)}html.touch-ui .touch-actions.ta-collapsed .ta-grip i:first-child,html.touch-ui #app.dock-collapsed .dock-grip i:first-child{transform:translate(-5px) rotate(35deg)}html.touch-ui .touch-actions.ta-collapsed .ta-grip i:last-child,html.touch-ui #app.dock-collapsed .dock-grip i:last-child{transform:translate(5px) rotate(-35deg)}@media (prefers-reduced-motion: reduce){.ta-grip i,.dock-grip i{transition:none}}
