:root{color-scheme:dark;--bg: #0f0f0f;--bg-2: #131313;--panel: #161616;--panel-2: #1c1c1c;--panel-3: #242424;--panel-4: #2e2e2e;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--text: #f2f2f2;--text-2: #c4c4c4;--muted: #8c8c8c;--ring: 0 0 0 3px rgba(0, 153, 255, .22);--accent: #0099ff;--accent-soft: rgba(0, 153, 255, .16);--accent-text: #66c2ff;--error: #ff4d4f;--warning: #ffb020;--info: #0099ff;--success: #34c759;--radius: 12px;--radius-sm: 7px;--shadow: 0 16px 40px rgba(0, 0, 0, .55), 0 1px 0 rgba(255,255,255,.04) inset;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font);font-size:12px;color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.006em;line-height:1.4}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#root{margin:0;height:100%}body{background:var(--bg)}::selection{background:#0099ff59}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:8px}*::-webkit-scrollbar-track{background:transparent}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel-3);padding:1px 5px;border-radius:4px;font-size:11px}hr{border:none;border-top:1px solid var(--border);margin:10px 0}b{font-weight:600}button,select,input,textarea{font:inherit;color:var(--text);letter-spacing:inherit}button{background:var(--panel-3);border:none;border-radius:var(--radius-sm);padding:0 10px;height:28px;line-height:28px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s;color:var(--text-2);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;vertical-align:middle}button:focus-visible{outline:none;box-shadow:var(--ring)}button>svg{flex:none}button:hover:not(:disabled){background:var(--panel-4);color:var(--text)}button:active:not(:disabled){background:#383838}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:#1aa3ff;color:#fff}button.danger{color:var(--error)}button.danger:hover:not(:disabled){background:#ff4d4f24;color:var(--error)}button.active{background:var(--accent-soft);color:var(--accent-text)}input[type=number],input[type=text],input[type=password],select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 9px;height:28px;background:var(--panel-2);transition:background .12s,border-color .12s,box-shadow .12s}textarea{height:auto;padding:6px 8px;min-height:48px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--panel-2)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=number]{width:76px}select,.caret{--arrow: var(--muted);background-image:linear-gradient(45deg,transparent 50%,var(--arrow) 50%),linear-gradient(135deg,var(--arrow) 50%,transparent 50%);background-size:5px 5px,5px 5px;background-repeat:no-repeat}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:24px;background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%}.caret{display:inline-block;flex:none;width:10px;height:5px;background-position:0 50%,5px 50%}select[multiple]{background-image:none;padding:4px;height:auto}input[type=checkbox]{accent-color:var(--accent);width:13px;height:13px;margin:0 4px 0 0}input[type=color]{border:none;border-radius:6px;background:var(--panel-3);width:34px;height:24px;padding:2px}input[type=range]{accent-color:var(--accent);height:20px}.app{display:flex;flex-direction:column;height:100%}.toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;height:50px;padding:0 14px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.toolbar .bar-side{display:flex;align-items:center;gap:6px;min-width:0}.toolbar .bar-side.end{justify-content:flex-end}.brand{white-space:nowrap;font-weight:600;font-size:12px;color:var(--text);display:flex;align-items:center;gap:9px;margin-right:10px;letter-spacing:-.01em}.projects-btn,.knowledge-btn{background:transparent;color:var(--text-2);padding:0 8px}.projects-btn:hover,.projects-btn.active,.knowledge-btn:hover,.knowledge-btn.active{background:var(--panel-3);color:var(--text)}.crumb-sep{width:1px;height:14px;background:var(--border-strong);margin:0 2px;transform:skew(-12deg)}.recipe-name{flex:0 1 auto;min-width:0;max-width:320px;font-weight:500;background:transparent;border-color:transparent;outline:none}.recipe-name:hover{background:var(--panel-3)}.spacer{flex:1}.toolbar select{max-width:150px;color:var(--text-2)}.toolbar .tabs{display:inline-flex;gap:2px;padding:3px;background:var(--panel-2);border-radius:9px;border:1px solid var(--border);margin:0 6px}.tabs button{background:transparent;color:var(--text-2);height:26px;line-height:26px;padding:0 11px;border-radius:6px;font-weight:500}.tabs button:hover{background:var(--panel-3);color:var(--text)}.tabs button.active{background:var(--panel-4);color:var(--text);box-shadow:0 1px 2px #00000059}.user-btn.active{background:var(--panel-3);color:var(--text)}.hint{color:var(--muted);font-size:11px;white-space:nowrap}.badges{display:inline-flex;gap:3px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;font-weight:600;font-size:11px}.badge.error{background:#ff4d4f2e;color:#ff7b7d}.badge.warning{background:#ffb0202e;color:#ffc453}.badge.info{background:var(--accent-soft);color:var(--accent-text)}.seg{display:inline-flex;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:2px;gap:1px}.seg button{background:transparent;height:22px;line-height:22px;padding:0 9px;border-radius:6px;color:var(--text-2);font-size:11px}.seg button:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.seg button.on{background:var(--panel-4);color:var(--text);box-shadow:0 1px 2px #00000059}.seg-label{padding:0 6px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}button.icon{height:24px;line-height:24px;font-size:11px}button.icon.on{background:var(--accent-soft);color:var(--accent-text)}main{flex:1;min-height:0}.flow-layout{display:grid;grid-template-columns:400px 1fr 400px;gap:10px;padding:10px;height:100%}.left,.middle,.right,.center{min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px}.stack-views{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.stack-views .panel:last-child{flex:1.15}.present-views{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.viewer-waiting{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--panel) 82%,transparent);border-radius:var(--radius);pointer-events:none}.right .panel.grow{flex:1}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow:auto;min-width:0}.center .panel{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.single{padding:10px;height:100%;overflow:auto}.panel-title{font-weight:600;font-size:12px;letter-spacing:-.01em;margin:0 0 10px;display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:28px}.panel-title .spacer{flex:1}.panel-title .tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-title select.menu{width:auto}select.menu-step{width:82px}select.menu-template{width:112px}.viewer-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;min-height:26px}.viewer-title{font-weight:600;display:flex;align-items:center;gap:8px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-title .muted{font-weight:400;overflow:hidden;text-overflow:ellipsis}.viewer-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;margin-left:auto;min-width:0;justify-content:flex-end}.viewer-tools select{height:24px;font-size:11px;max-width:170px;min-width:0}.step-list{display:flex;flex-direction:column;gap:2px;overflow:auto;flex:1;margin:0 -4px;padding:0 4px}.step-card{border:none;border-radius:8px;padding:7px 9px;background:transparent;cursor:pointer;display:grid;grid-template-columns:18px 1fr;gap:1px 8px;align-items:start;transition:background .12s;position:relative}.step-card:hover{background:var(--panel-2)}.step-gap{position:relative;height:0;margin:-1px 0;display:flex;align-items:center;justify-content:center}.step-gap:after{content:"";position:absolute;left:0;right:0;top:-7px;height:14px}.step-gap:before{content:"";position:absolute;left:26px;right:6px;height:1px;background:var(--accent);opacity:0;transition:opacity .12s}.step-gap:hover:before,.step-gap:focus-within:before{opacity:.45}.gap-add{position:absolute;z-index:2;height:17px;min-width:17px;padding:0 4px;border-radius:999px;background:var(--panel-3);border:1px solid var(--border-strong);color:var(--muted);opacity:0;transition:opacity .12s,background .12s;display:inline-flex;align-items:center;justify-content:center}.step-gap:hover .gap-add,.step-gap:focus-within .gap-add,.gap-add.active{opacity:1}.gap-add:hover,.gap-add.active{background:var(--accent);border-color:var(--accent);color:#0b0b0b}.gap-add .caret{display:none}.step-card.selected{background:var(--accent-soft)}.step-card.selected .title,.step-card.selected .sub{color:var(--text)}.step-card.disabled{opacity:.4}.step-card.drop-target{box-shadow:0 -2px 0 var(--accent)}.step-card[draggable=true]{cursor:grab}.step-card .idx{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;padding-top:1px}.step-card .title{font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;line-height:16px}.step-card .sub{color:var(--muted);font-size:11px;line-height:15px}.step-card .kind,.cmp-step .kind{display:inline-block;padding:0 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:16px}.step-card .actions{grid-column:2;justify-self:start;display:flex;flex-direction:row;gap:3px;visibility:hidden;margin-top:4px}.step-card:hover .actions,.step-card.selected .actions{visibility:visible}.step-card .actions button{height:20px;line-height:20px;padding:0 6px;font-size:11px;border-radius:5px}.step-card .badges{display:inline-flex;vertical-align:middle}.step-card .badge{height:16px;min-width:16px;font-size:10px}.kind-substrate{background:#a0aab42e;color:#c9d1d9}.kind-deposit{background:#34c75929;color:#6fd88f}.kind-litho{background:#ff5aaa29;color:#ff8fc6}.kind-etch{background:#ff963c2e;color:#ffb26b}.kind-strip{background:#be96782e;color:#d8bba3}.kind-liftoff{background:#aa78ff2e;color:#c8a8ff}.kind-release{background:#3cc8dc29;color:#7fdfee}.kind-anneal{background:#ff5a5a2e;color:#ff9c9c}.kind-bond{background:#6e82ff2e;color:#aeb9ff}.kind-cmp{background:#8ca0b42e;color:#c0cfdc}.kind-dope{background:#c864ff29;color:#dcaaff}.kind-clean{background:#8cc85029;color:#b9e58e}.kind-thin{background:#aa82642e;color:#d7b596}.kind-custom{background:#9696962e;color:#cfcfcf}.kind{color:var(--text)}.form{display:grid;grid-template-columns:104px minmax(0,1fr);gap:6px 8px;align-items:center}.form>*{min-width:0}.form label,.form .form-label{color:var(--muted);font-size:11px}.form label[data-tip]{cursor:help}.form select,.form input[type=text],.form input[type=password]{width:100%}.form .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.num-field{position:relative;display:block;width:100%}.num-field input{width:100%;padding-right:calc(var(--unit-w, 0ch) + 14px)}.num-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--muted);pointer-events:none}.num-field input::-webkit-outer-spin-button,.num-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form .full{grid-column:1 / -1}.form textarea{width:100%}.desc{color:var(--muted);font-size:11px;margin:2px 0;line-height:1.5}details.advanced{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:6px;margin-top:2px}details.advanced summary{cursor:pointer;color:var(--muted);font-size:11px;list-style:none;display:flex;align-items:center;gap:6px}details.advanced summary:before{content:"";width:10px;height:10px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m9 18 6-6-6-6'/></svg>") center / contain no-repeat;transition:transform .12s}details[open].advanced summary:before{transform:rotate(90deg)}details.advanced .form{margin-top:8px}.step-editor{margin:2px 0 8px 26px;padding:10px 10px 10px 12px;background:var(--panel-2);border-left:2px solid var(--accent);border-radius:0 8px 8px 0}.step-editor .form{grid-template-columns:92px minmax(0,1fr)}.step-editor details.advanced{border-top-color:var(--border-strong)}.step-editor .desc{margin:0}.issue{position:relative;padding:8px 10px 9px 12px;margin:0 0 4px;background:var(--panel-2);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.issue:hover{background:var(--panel-3)}.issue.active{border-color:var(--accent);background:var(--accent-soft)}.issue-head{display:flex;align-items:center;gap:8px}.issue.error .dot{background:var(--error)}.issue.warning .dot{background:var(--warning)}.issue.info .dot{background:var(--info)}.issue-meta{color:var(--muted);font-size:11px;line-height:1.4;margin:2px 0 0}.issue-meta span[data-tip]{cursor:help;text-decoration:underline dotted rgba(255,255,255,.25);text-underline-offset:2px}.issue-body{color:var(--text-2);font-size:11.5px;line-height:1.5;margin:6px 0 0}.issue-why{color:var(--muted);font-size:11px;line-height:1.5;margin:4px 0 0}.issue-k{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--accent-text);margin:6px 0 0}.issue-k>span:first-child{flex:1;min-width:0}.issue-k-caret{flex:none;display:inline-flex;color:var(--muted)}.issue:hover .issue-k-caret{color:var(--accent-text)}.issue .kb-body{margin:6px 0 0 15px}.viewer{flex:1;min-height:0;position:relative;display:flex;border-radius:8px;overflow:hidden;background:var(--panel)}.viewer svg,.viewer canvas{width:100%;height:100%;display:block}.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;margin-top:6px;color:var(--text-2)}.legend-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:11px;color:var(--text-2);padding:7px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex:none}.legend-chips>span{white-space:nowrap}.legend-chips>span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);margin-right:5px;border:1px solid rgba(255,255,255,.12);vertical-align:-1px}.legend-chips>span.legend-note:before{display:none}.legend-chips>span.legend-note{color:var(--muted)}.legend .legend-materials>span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);margin-right:5px;border:1px solid rgba(255,255,255,.12);vertical-align:-1px}.legend span.muted:before,.legend .scalebar:before{display:none}.legend .scalebar{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--text-2);font-variant-numeric:tabular-nums}.legend .scalebar svg{color:#d0d0d0;display:block}.multi{position:relative;min-width:0;width:100%}.multi-field{width:100%;justify-content:space-between;background:var(--panel-3);color:var(--text);font-weight:400;padding:0 8px;border:1px solid transparent}.multi-field:hover:not(:disabled){background:var(--panel-3);border-color:var(--border-strong)}.multi-field.active{border-color:var(--accent)}.multi-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-list{min-width:0;max-height:220px;overflow:auto}.multi-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:12px;cursor:pointer;color:var(--text)}.multi-item:hover{background:var(--panel-3)}.multi-item input{margin:0}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}.mask-layout{display:grid;grid-template-columns:400px 1fr 400px;gap:10px;padding:10px;height:100%}.mask-layout .panel{display:flex;flex-direction:column;min-height:0}.mask-canvas{flex:1;min-height:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative}.mask-canvas svg{width:100%;height:100%;display:block;cursor:crosshair}.list-item{padding:5px 8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .12s}.list-item:hover{background:var(--panel-2)}.list-item.selected{background:var(--accent-soft)}.list-item.marked{background:#0099ff12;box-shadow:inset 2px 0 0 var(--accent)}.list-item.marked:hover{background:#0099ff1f}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.tool-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.tool-row.fill{flex-wrap:nowrap}.tool-row.fill>button{flex:1;min-width:0;justify-content:center}table.kb{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}table.kb th,table.kb td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}table.kb th{background:var(--panel-2);position:sticky;top:0;color:var(--text-2);font-weight:600;z-index:1}table.kb tr:hover td{background:#ffffff05}table.kb td.num{text-align:right;font-variant-numeric:tabular-nums}.matrix td.rate{text-align:center;font-size:10.5px;border-left:1px solid var(--border)}.knowledge-layout{display:grid;grid-template-columns:200px 1fr;gap:8px;height:100%}.knowledge-layout .panel{min-height:0}.card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:var(--panel-2)}.card h4{margin:0 0 6px;font-size:12px;font-weight:600}.muted{color:var(--muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status{display:inline-block;padding:0 7px;border-radius:9px;background:var(--panel-3);color:var(--text-2);font-size:10.5px;font-weight:500;line-height:18px}.reports-layout{display:grid;grid-template-columns:420px 1fr;gap:8px;height:100%}.reports-layout .panel{min-height:0}.empty{color:var(--muted);padding:16px;text-align:center}.popover{position:fixed;top:44px;right:12px;z-index:20;width:300px;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow)}.tooltip{position:fixed;z-index:1000;transform:translate(-50%);max-width:280px;background:#2a2a2a;color:var(--text);border:1px solid var(--border-strong);border-radius:7px;padding:6px 9px;font-size:11px;line-height:1.45;white-space:pre-line;box-shadow:var(--shadow);pointer-events:none;animation:tip-in .1s ease-out}.tooltip.above{transform:translate(-50%,-100%)}.tooltip:before{content:"";position:absolute;left:50%;top:-5px;width:8px;height:8px;background:#2a2a2a;border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);transform:translate(-50%) rotate(45deg)}.tooltip.above:before{top:auto;bottom:-5px;transform:translate(-50%) rotate(225deg)}@keyframes tip-in{0%{opacity:0}to{opacity:1}}.help{width:360px}.help ol{margin:6px 0 0;padding-left:18px;line-height:1.55}.help kbd{background:var(--panel-3);border-radius:4px;padding:0 5px;font-size:10.5px}.menu{position:relative}.menu .caret{opacity:.7;margin-left:2px}button.primary .caret,button.danger .caret{--arrow: currentColor;opacity:.9}.menu-btn{display:inline-flex;align-items:center;gap:4px}.menu-list{position:fixed;z-index:90;min-width:220px;max-width:420px;max-height:min(70vh,520px);overflow-y:auto;overscroll-behavior:contain;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:8px;padding:4px;box-shadow:var(--shadow);display:flex;flex-direction:column}.menu-item{background:transparent;text-align:left;height:auto;line-height:1.35;padding:6px 10px;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;white-space:normal;color:var(--text)}.menu-item:hover:not(:disabled){background:var(--panel-3)}.menu-sep{height:1px;background:var(--border);margin:4px 6px}.badges.as-button{background:transparent;padding:0 4px;height:26px}.badges.as-button:hover{background:var(--panel-3)}.picker{display:flex;flex-direction:column;gap:4px}.picker-list{max-height:132px;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:1px}.picker-list label{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;cursor:pointer}.picker-list label:hover{background:var(--panel-3)}.picker-list label.on{background:var(--accent-soft)}.step-card .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 1500px){.flow-layout,.mask-layout{grid-template-columns:360px 1fr 360px}}@media (max-width: 1150px){.flow-layout{grid-template-columns:330px 1fr;grid-template-rows:1fr 240px}.flow-layout .left{grid-row:1 / 3}.flow-layout .right{grid-column:2}.mask-layout{grid-template-columns:330px 1fr 330px}}@media (max-width: 1450px){.app-version{display:none}}@media (max-width: 1350px){.crumbs .name-pill{width:auto}.crumbs .tabs button{padding:0 13px}.recipe-name{max-width:220px}}@media (max-width: 1200px){.toolbar .hint{display:none}.recipe-name{max-width:170px}.toolbar .menu .caret{display:none}}@media (max-width: 1250px){.toolbar .bar-side.end .btn-label,.crumbs .right-pills .btn-label{display:none}.toolbar .bar-side.end .knowledge-btn,.toolbar .bar-side.end .user-btn{padding:0 7px;gap:0}}@media (max-width: 1050px){.crumbs .tabs button{padding:0 9px}.recipe-name{max-width:190px}.crumbs{gap:5px}}@media (max-width: 930px){.recipe-name{max-width:120px}}@media (max-width: 1000px){.toolbar .seg[data-tip^="Show one chip"]{display:none}}.notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--text-2);background:var(--accent-soft);border:1px solid rgba(0,153,255,.3);border-radius:7px;padding:5px 10px;margin-bottom:8px}.notice.muted{background:var(--panel-2);border-color:var(--border);color:var(--muted)}.cs-host{display:block;min-width:0;overflow:hidden;margin:2px 0 4px}.cs-host .cs-main{position:absolute;left:0;top:0;width:100%;height:100%;display:block}.cs-overlay{position:absolute;left:0;top:0;width:100%;height:100%}.viewer,.viewer *,.legend,.mask-canvas,.mask-canvas *{user-select:none;-webkit-user-select:none}.icon-btn{width:26px;padding:0;display:inline-flex;align-items:center;justify-content:center}.with-icon{display:inline-flex;align-items:center;gap:5px}.step-card .actions button{display:inline-flex;align-items:center;justify-content:center;width:22px;padding:0}.stepnav{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;flex:0 0 auto}.stepnav .seg.nav-btns button{height:24px;width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.stepnav-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.stepnav-title .muted{font-weight:400;margin-right:6px}.center .panel{flex:1}button.recipe-name{background:transparent;color:var(--text);font-weight:500;text-align:left;justify-content:flex-start;padding:0 8px}button.recipe-name:hover{background:var(--panel-3)}.recipe-name .rname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-name .dirty{margin-left:0}.dirty{display:inline-block;flex:none;width:7px;height:7px;min-width:7px;border-radius:50%;background:var(--warning);margin-left:6px;vertical-align:1px}.projects-layout{display:grid;grid-template-columns:280px 1fr;gap:10px;height:100%}.projects-layout .panel{min-height:0;padding:14px}.projects-layout .panel-title{margin-bottom:12px}.projects-layout .desc{margin:0 0 12px}.projects-layout .tool-row{margin-bottom:12px}.projects-layout hr{margin:12px 0}.tree-row{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 0;border-radius:6px;cursor:pointer;color:var(--text-2);min-height:26px}.tree-row>svg{flex:none}.tree-row .muted{font-size:11px;font-variant-numeric:tabular-nums}.tree-row:hover{background:var(--panel-2)}.tree-row.on{background:var(--accent-soft);color:var(--text)}.tree-row .tree-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-toggle{background:transparent;padding:0;width:14px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.project-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0;transition:border-color .12s,transform .12s,box-shadow .12s}.project-card *{cursor:inherit}.project-card.opening{border-color:var(--accent);opacity:.7}.project-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 8px 24px #00000059}.project-card.on{border-color:var(--accent)}.project-card.bad{opacity:.6}.project-thumb{aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center}.project-thumb img{width:100%;height:100%;object-fit:contain;display:block}.project-thumb-empty{color:var(--muted);font-size:11px}.project-body{padding:8px 10px 10px;display:grid;grid-template-rows:auto 2.9em auto 1fr;grid-template-columns:minmax(0,1fr);gap:4px;min-height:124px;min-width:0}.project-body>.project-meta{align-self:end}.project-name{font-weight:600;margin-bottom:2px;display:flex;align-items:center;gap:6px}.project-name .pname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-name>:not(.pname){flex:0 0 auto}.branch-pick{flex:none;opacity:.45;transition:opacity .12s}.branch-pick .menu-btn{height:22px;width:22px;padding:0;justify-content:center}.branch-pick .caret{display:none}.project-card:hover .branch-pick,.project-table tr:hover .branch-pick,.branch-pick:hover{opacity:1}.project-desc{color:var(--text-2);font-size:11px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.project-meta{color:var(--muted);font-size:10.5px;margin-top:0;line-height:1.5;overflow-wrap:anywhere}.cat{display:inline-block;font-size:10px;font-weight:600;padding:0 6px;border-radius:4px;margin-right:6px;vertical-align:1px;background:var(--panel-3);color:var(--text-2)}.cat-thermal{color:#ff9c6b}.cat-chemical{color:#7fe0ee}.cat-contamination{color:#dcaaff}.cat-stress{color:#ffd166}.cat-adhesion{color:#c9a9ff}.cat-lithography{color:#ff8fc6}.cat-design-rule{color:#aeb9ff}.cat-etch{color:#ffb376}.cat-release{color:#7fdfee}.cat-bonding{color:#aab6ff}.cat-sequence{color:#c0cfdc}.cat-knowledge{color:#b9e58e}.flow-layout.present{grid-template-columns:1fr;padding:14px 24px}.flow-layout.present .stepnav{padding:10px 14px}.flow-layout.present .stepnav-title{font-size:16px;white-space:normal}.flow-layout.present .stepnav-sub{font-size:12px}.stepnav-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--panel-3);border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.stepnav-progress>div{height:100%;background:var(--accent);transition:width .3s}.stepnav{position:relative}.user-btn{background:transparent;color:var(--text-2)}.user-btn:hover{background:var(--panel-3)}.avatar{display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;align-items:center;justify-content:center}.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;background:var(--panel-3);color:var(--text-2);font-size:11px;font-weight:500;border:1px solid transparent;white-space:nowrap}.tag:hover:not(:disabled){background:var(--panel-4);color:var(--text)}.tag.on{background:var(--accent-soft);color:var(--accent-text);border-color:#0099ff59}.tag.small{height:18px;padding:0 7px;font-size:10px;pointer-events:none}.tag-n{color:var(--muted);font-variant-numeric:tabular-nums}button.variant-pick{gap:5px}button.variant-pick.on{background:var(--accent-soft);color:var(--accent-text);border-color:#0099ff59}.step-card .variant-mark{margin-left:6px;height:16px;font-size:9.5px;font-weight:700;background:var(--accent-soft);color:var(--accent-text)}.step-card .variant-mark.muted{background:var(--panel-3);color:var(--muted);font-weight:500}.notice.variant-note{margin-bottom:8px}.variant-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px}.variant-touches{margin:6px 0 0;padding-left:18px;font-size:11px;color:var(--text-2)}.variant-touches li{margin:2px 0}.mask-source{display:flex;align-items:center;gap:6px;margin:6px 0 2px;padding:2px 6px;border-radius:6px;color:var(--muted);font-size:10.5px;cursor:pointer}.mask-source:hover{background:var(--panel-3);color:var(--text-2)}.mask-source .list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item.of-import{margin-left:10px}.notice.from-import{display:flex;gap:8px;align-items:flex-start;margin-top:8px}.notice.from-import code{font-size:10.5px}.notice.from-import .muted{margin-top:2px}.tags-bar{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 12px}.tags-editor{display:flex;flex-direction:column;gap:6px;min-width:0}.tags-field{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:3px 4px;min-height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.tags-field:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.tags-field input{flex:1;min-width:120px;border:none;background:transparent;height:20px;padding:0 4px;box-shadow:none!important}.tags-field .tag{height:20px;padding:0 4px 0 8px}.tags-suggest{display:flex;flex-wrap:wrap;gap:4px}.tags-suggest .tag{height:20px;font-size:10.5px}.project-tags{display:flex;gap:4px;margin-top:0;overflow:hidden;height:18px;align-items:center}.project-tags>.tag{flex:0 0 auto}.project-table .project-tags{flex-wrap:wrap;height:auto}.project-table-wrap{overflow:auto}.project-table{width:100%;border-collapse:collapse;font-size:11.5px}.project-table th{text-align:left;font-weight:600;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:0 10px 6px;white-space:nowrap;position:sticky;top:0;background:var(--panel);z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none}.project-table th:hover{color:var(--text-2)}.project-table th.sorted{color:var(--text)}.project-table th.pick{cursor:default}.sort-mark{display:inline-block;width:10px;color:var(--accent)}.project-table td{padding:7px 10px;border-top:1px solid var(--border);vertical-align:top;color:var(--text-2)}.project-table tbody tr{cursor:pointer}.project-table tbody tr:hover{background:var(--panel-2)}.project-table tbody tr.on td{background:var(--accent-soft)}.project-table tbody tr.bad{opacity:.6}.project-table tbody tr.opening{opacity:.7}.project-table td.name{color:var(--text);font-weight:600;max-width:260px}.project-table td.name .sub{font-weight:400;color:var(--muted);font-size:10.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.project-table th.num{text-align:right}.project-table td.path{color:var(--muted);font-size:10.5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-table td.pick,.project-table th.pick{width:30px;padding-left:0;padding-right:6px}.project-table .bad-note{color:var(--warning)}.project-table .project-tags{margin-top:0}.seg.small button{height:20px;padding:0 7px}.signin-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg, #0f0f0f)}.signin-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;width:100%;max-width:320px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}.signin-card h1{font-size:21px;font-weight:700;letter-spacing:-.01em;margin:2px 0 0}.signin-card p{margin:0;font-size:12px;line-height:1.5}.signin-card p.small{font-size:11px}.signin-card button.primary{width:100%;margin-top:6px}.signin-card .notice{width:100%;text-align:left}.signin-card.wide{max-width:420px}.signin-card input[type=text]{width:100%}.signin-card button.link{font-size:11px}.signin-card b{overflow-wrap:anywhere}.settings-page{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-bottom:24px}.settings-intro{padding:18px 4px 6px}.settings-intro h1{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}.settings-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:200px 1fr;gap:16px 24px;padding:16px 18px}.settings-title{font-weight:600;font-size:12.5px;letter-spacing:-.01em;margin-bottom:4px}.settings-hint{color:var(--muted);font-size:11px;line-height:1.5}.settings-body{min-width:0;display:flex;flex-direction:column;gap:10px}.signed-in{display:flex;align-items:center;gap:10px}.signed-in img{border-radius:50%;flex:none}.signed-in .who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}.signed-in .who .muted{font-size:11px;overflow-wrap:anywhere}.settings-body .form{grid-template-columns:96px minmax(0,1fr);gap:8px 10px}.settings-body .desc{margin:0}.people-block{display:flex;flex-direction:column;gap:6px}.people-label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;color:var(--text)}.people-note{color:var(--muted);font-size:11px;line-height:1.5}.people-list{list-style:none;margin:2px 0;padding:0;display:flex;flex-direction:column;gap:4px}.people-list li{display:flex;align-items:center;gap:8px;min-width:0;padding:4px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:7px;font-size:12px}.people-list .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-list .muted.small{font-size:10px;flex:none}@media (max-width: 720px){.settings-section{grid-template-columns:1fr}}.kb-layout{display:grid;grid-template-columns:260px 1fr;gap:10px;height:100%}.kb-layout .panel{min-height:0}.kb-filters{display:flex;flex-direction:column;gap:14px}.kb-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.kb-stats div{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column}.kb-stats b{font-size:15px;font-weight:600;letter-spacing:-.02em}.kb-stats span{color:var(--muted);font-size:10.5px}.filter-title{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.chip-list{display:flex;flex-wrap:wrap;gap:4px}.chip-list .tag{height:22px;font-size:11px;padding:0 8px}.kb-filters select{width:100%}.kb-main{display:flex;flex-direction:column}.kb-shared{font-size:11px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.kb-shared:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok, #4fd08a);flex:none}.kb-conflict{margin-bottom:10px}.kb-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.kb-toolbar>button,.kb-toolbar>.seg,.kb-toolbar>.kb-search{height:var(--control-h)}.kb-search{display:flex;align-items:center;gap:6px;flex:1;min-width:200px;height:var(--control-h);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 9px;color:var(--muted)}.kb-search input{flex:1;height:100%;border:none;background:transparent;padding:0;box-shadow:none!important}.kb-list{display:flex;flex-direction:column;gap:6px}.kcard{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:9px 12px 10px}.kcard.open{border-color:var(--border-strong)}.kcard-head{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:22px}.kcard-caret{color:var(--muted);display:inline-flex}.kcard-kind{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:4px;background:var(--panel-3);color:var(--text-2)}.kcard-kind.item{background:#34c75924;color:#7fdc9a}.kcard-kind.rule{background:var(--accent-soft);color:var(--accent-text)}.kcard-kind.check{background:#c8a0ff24;color:#d2b3ff}.kcard-title{font-weight:500;flex:1;min-width:0}.kcard-hits{font-size:10.5px;color:var(--warning);background:#ffb0201f;border-radius:999px;padding:1px 8px;white-space:nowrap}.kcard .dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.kcard .dot.error{background:var(--error)}.kcard .dot.warning{background:var(--warning)}.kcard .dot.info{background:var(--info)}.kcard-meta{color:var(--muted);font-size:11px;margin:3px 0 0 21px}.kcard-summary{color:var(--text-2);font-size:11.5px;line-height:1.5;margin:5px 0 0 21px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kcard-body{margin:8px 0 0 21px;font-size:12px;line-height:1.55;display:flex;flex-direction:column;gap:8px}.kcard-body p{margin:0}.kb-summary{color:var(--text);font-weight:500}.kb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}.kb-block-title{color:var(--muted);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.kb-block ul{margin:0;padding-left:16px;color:var(--text-2)}.kb-block li{margin:1px 0}.kb-condition{background:var(--panel-3);border-radius:8px;padding:8px 10px;color:var(--text-2);font-size:11.5px}.kb-json{background:var(--panel-3);border-radius:8px;padding:8px 10px;font-size:10.5px;overflow:auto;margin:6px 0 0}.kcard a{color:var(--accent-text)}@media (max-width: 1000px){.kb-layout{grid-template-columns:1fr}}.seg button.attention{color:var(--warning)}.research-box{display:flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:12px;color:var(--accent-text)}.research-box input{flex:1;border:none;background:transparent;box-shadow:none!important}.proposal{border:1px solid var(--border);border-radius:12px;padding:8px;background:var(--panel)}.proposal.approved{border-color:#34c75959}.proposal.rejected{opacity:.7}.proposal-head{display:flex;align-items:center;gap:8px;margin:0 4px 6px;font-size:11px}.proposal-actions{display:flex;flex-direction:column;gap:8px;margin:8px 4px 2px}.proposal-actions .row{display:flex;align-items:center}.timing{background:var(--panel-3);border-radius:8px;padding:8px 10px;font-size:11.5px;display:flex;flex-direction:column;gap:3px;margin-top:2px}.timing-head{display:flex;justify-content:space-between;align-items:center;color:var(--text);margin-bottom:2px}.timing-head b{font-weight:600;font-variant-numeric:tabular-nums}.timing-row{display:flex;justify-content:space-between;color:var(--text-2);gap:12px}.timing-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}.timing-formula{color:var(--muted);font-size:11px;margin-top:3px;font-variant-numeric:tabular-nums}.timing-missing{color:var(--warning);font-size:11px;margin-top:3px}.machine-list{display:flex;flex-direction:column;gap:8px;margin:8px 0 6px 21px}.machine{background:var(--panel-3);border-radius:8px;padding:8px 10px;font-size:11.5px;display:flex;flex-direction:column;gap:3px}.machine.editor{background:var(--panel-2);border:1px solid var(--border);padding:10px 12px;margin-top:8px;gap:6px}.machine-head{display:flex;align-items:center;gap:6px}.machine-rule{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.machine-rule .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}.machine-rule .dot.error{background:var(--error)}.machine-rule .dot.warning{background:var(--warning)}.machine-rule .dot.info{background:var(--info)}.kcard.editor .form{grid-template-columns:120px minmax(0,1fr)}@keyframes hlpulse{0%,to{opacity:.25}50%{opacity:.75}}.hl-pulse{animation:hlpulse 1.6s ease-in-out infinite}svg rect.hl-pulse,svg path.hl-pulse{fill-opacity:.35;stroke-opacity:1}.cs-notices{position:absolute;top:8px;left:8px;right:8px;z-index:2;display:flex;flex-direction:column;gap:6px;pointer-events:none}.cs-notices .notice{margin:0;pointer-events:auto;background:#0099ff24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cs-notices .notice.muted{background:#1d1d1dd9}.rules-head{display:flex;align-items:center;gap:10px;margin:0 0 10px;min-height:28px}.rules-empty{border:1px dashed var(--border-strong);border-radius:10px;padding:14px 16px;color:var(--muted);font-size:11.5px;line-height:1.5}.google-signin{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 12px}.tag.unreviewed{background:#ffb02024;color:#ffc453;border-color:#ffb02059;pointer-events:auto}.issue-head .tag.small{height:18px}.assistant-fab{position:fixed;right:16px;bottom:16px;z-index:40;background:var(--accent);color:#fff;font-weight:600;border:none;border-radius:999px;padding:9px 15px;box-shadow:var(--shadow)}.assistant-fab:hover{filter:brightness(1.1)}.assistant{position:fixed;top:0;right:0;bottom:0;width:min(430px,100vw);z-index:41;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border-strong);box-shadow:var(--shadow)}.assistant-head{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--border)}.assistant-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:9px}.assistant-intro{display:flex;flex-direction:column;gap:6px}.assistant-suggestion{text-align:left;padding:8px 10px;border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--border);color:var(--text-2);line-height:1.4}.assistant-suggestion:hover{background:var(--panel-3);color:var(--text)}.assistant-msg{padding:8px 11px;border-radius:var(--radius-sm);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-msg.user{background:var(--accent-soft);color:var(--text);align-self:flex-end;max-width:88%}.assistant-msg.bot{background:var(--panel-2);border:1px solid var(--border)}.assistant-msg.thinking{color:var(--muted);font-style:italic}.assistant-msg.error{background:#ff4d4f1a;border:1px solid rgba(255,77,79,.35);color:#ffb3b4;display:flex;gap:6px;align-items:flex-start}.assistant-tools{display:flex;flex-direction:column;gap:3px}.assistant-tool{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-2);overflow:hidden}.assistant-tool.fail{border-color:#ff4d4f66}.assistant-tool-head{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px 4px 8px;background:none;border:none;text-align:left;color:var(--muted)}.assistant-tool-head code{flex:1;min-width:0;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-tool-head:hover{color:var(--text-2);background:var(--panel-2)}.assistant-tool-head .rot{transform:rotate(90deg)}.assistant-tool.running .assistant-tool-head{color:var(--accent-text)}.assistant-badge{flex:none;display:inline-flex;align-items:center;height:16px;padding:0 7px;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);border:1px solid transparent}.assistant-badge.fail{background:#ff4d4f24;color:#ffb3b4;border-color:#ff4d4f59}.assistant-tool-img{display:block;max-width:100%;max-height:320px;margin:6px 0;border-radius:6px;border:1px solid var(--border);background:#000;image-rendering:pixelated}.assistant-tool-out{margin:0;padding:7px 9px;font-size:10.5px;max-height:240px;overflow:auto;border-top:1px solid var(--border);color:var(--text-2)}.assistant-changed{font-size:11px;color:var(--muted);padding:6px 2px;border-top:1px dashed var(--border-strong)}.assistant-input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--border);align-items:flex-end}.assistant-input textarea{flex:1;resize:none;font-family:var(--font)}.linklike{background:none;border:none;padding:0;color:var(--accent-text);text-decoration:underline;cursor:pointer}.step-card{grid-template-columns:18px minmax(0,1fr)}.step-card .title{min-width:0;overflow-wrap:anywhere}.step-card .sub{min-width:0}.step-list{overflow-x:hidden;overflow-y:auto}.flow-layout>.left,.flow-layout>.right,.flow-layout .left .panel,.flow-layout .right .panel{overflow-x:hidden}.panel-title{flex-wrap:wrap;row-gap:6px}.panel-title>select.menu{min-width:0}.step-editor .form input,.step-editor .form select,.step-editor .form textarea{min-width:0;max-width:100%}.issue .m,.issue .t{overflow-wrap:anywhere}.assistant-suggestion{white-space:normal;overflow-wrap:anywhere;height:auto;line-height:1.45}.assistant-body{overflow-x:hidden}.assistant-tool-head{min-width:0}.assistant-tool-head code{min-width:0;flex:1}body,.assistant-msg.bot,.assistant-msg.user{color:var(--text)}.assistant-intro p{color:var(--text-2)}.issue-label{display:block;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.issue-body{color:var(--text)}.issue-why{color:var(--text-2)}.issue.active .issue-label{color:var(--accent-text)}.brand-menu{background:transparent;padding:0 8px 0 4px;gap:8px;font-weight:600;color:var(--text);letter-spacing:-.01em}.brand-menu:hover:not(:disabled),.brand-menu.active{background:var(--panel-3)}.brand-name{white-space:nowrap}.crumbs{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;overflow:hidden}.bar-menu.menu-btn{flex:none;min-width:0;height:34px;line-height:32px;padding:0 11px;gap:5px;border-radius:9px;background:var(--panel-2);border:1px solid var(--border);color:var(--text-2);font-size:11.5px;font-weight:600}.bar-menu.menu-btn:hover:not(:disabled),.bar-menu.menu-btn.active{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.crumb-version{max-width:230px;font-variant-numeric:tabular-nums}.crumb-version.has-draft{border-style:dashed}.crumbs .tabs{margin:0 2px}.crumbs .tabs button{padding:0 20px}.crumbs .name-pill{background:var(--panel-2);border:1px solid var(--border);border-radius:9px;padding:3px;display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;width:var(--pill-w, auto)}.crumbs .name-pill .recipe-name{width:100%;max-width:none;border-radius:6px}.crumbs .right-pills{display:inline-flex;align-items:center;gap:8px;flex:none}.mask-sources{margin-bottom:8px}.mask-sources>button{flex:1 1 0;min-width:0;justify-content:center}.version-tree{--vstamp-w: 52px;position:relative;display:flex;flex-direction:column}.version-graph{position:absolute;left:0;top:0;pointer-events:none}.version-node{border-radius:var(--radius-sm)}.version-node.picked{background:var(--accent-soft)}.version-body{flex:1;min-width:0;display:flex;flex-direction:column;padding:5px 0 6px}.version-row{display:flex;flex-direction:column;gap:1px;width:100%;padding:2px 7px;background:transparent;border-radius:6px;text-align:left;color:var(--text-2);cursor:pointer}.version-row:hover{background:var(--panel-2);color:var(--text)}.version-node.picked .version-row{color:var(--text)}.version-head{display:flex;align-items:center;gap:7px;min-width:0}.version-summary{font-size:11.5px;line-height:18px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.version-sub{font-size:10.5px;line-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:calc(var(--vstamp-w) + 7px)}.vpill{flex:none;display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 7px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:10px;font-weight:600;line-height:1;white-space:nowrap}.vpill.v-major,.vpill.v-minor,.vpill.v-draft{min-width:var(--vstamp-w, 52px);justify-content:center;font-variant-numeric:tabular-nums}.vpill.v-major{background:var(--accent);color:#0b0b0b}.vpill.v-minor{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.vpill.v-draft{border:1px dashed var(--border);font-weight:500}.vpill.v-open{background:var(--accent-soft);color:var(--accent-text);border-color:#0099ff59}.vpill.v-branch{border-color:var(--border);font-weight:500}.vpill.v-link{border-color:var(--border);font-weight:500;cursor:pointer}.vpill.v-link:hover{border-color:var(--accent);color:var(--accent-text);background:transparent}.version-changes-toggle{align-self:flex-start;height:auto;padding:1px 7px 1px 5px;gap:3px;background:transparent;font-size:10.5px;color:var(--muted);display:flex;align-items:center}.version-changes-toggle:hover{color:var(--text)}.version-changes-toggle .turned{transform:rotate(90deg)}.change-list{margin:1px 0 4px;padding:0 0 0 4px;display:flex;flex-direction:column}.change-row{display:grid;grid-template-columns:54px 20px minmax(70px,.9fr) minmax(110px,1.5fr) 42px 24px;gap:8px;align-items:baseline;font-size:10.5px;line-height:1.55;padding:1px 4px;list-style:none}.change-row.cosmetic .change-where,.change-row.cosmetic .change-what{opacity:.65}.change-when{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.from-file{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--text-2)}.modal-scrim.inner{position:absolute;top:0;right:0;bottom:0;left:0}.ask-modal{width:min(470px,100%)}.change-more{align-self:flex-start;height:auto;margin:2px 0 2px 26px;padding:1px 7px;background:transparent;border:1px dashed var(--border);border-radius:999px;font-size:10px;color:var(--muted)}.change-more:hover{border-color:var(--border-strong);color:var(--text)}.change-row:hover{background:var(--panel-2);border-radius:4px}.change-kind{text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:700}.change-kind.added{color:#9ece6a}.change-kind.removed{color:#f7768e}.change-kind.moved{color:#e0af68}.change-kind.changed{color:#7aa2f7}.change-at{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.change-where{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-what{color:var(--muted);overflow-wrap:anywhere}.change-who{color:var(--muted);opacity:.8;font-size:9.5px;font-weight:600;text-align:right;letter-spacing:.03em}.item-code{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:10.5px;letter-spacing:.02em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--panel-3);color:var(--text-2)}.release-modal{width:min(700px,100%)}.release-half{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-top:10px}.release-half>header{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}.release-half>header .muted{font-size:10.5px}.release-choice{gap:8px;font-size:11px}.release-half .change-list{padding-left:2px;max-height:148px;overflow-y:auto}.app-version{background:transparent;color:var(--muted);font-size:10.5px;font-weight:500;padding:0 6px;height:20px;line-height:20px;border-radius:5px;align-self:center}.app-version:hover{background:var(--panel-3);color:var(--text-2)}.release-modal{width:min(720px,94vw)}.release{margin-bottom:14px}.release-head{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:8px}.release-notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--text-2)}.release-notes li{line-height:1.5}.crumbs .seg{height:auto;padding:3px;border-radius:9px}.crumbs .seg button{height:var(--control-h);line-height:var(--control-h)}.crumbs .seg .badges.as-button{height:var(--control-h);padding:0 7px;border-radius:6px}.badges.catching-up{opacity:.45}.badges.catching-up .badge{animation:catching-up 1.1s ease-in-out infinite}@keyframes catching-up{0%,to{opacity:.55}50%{opacity:1}}@media (max-width: 1300px){.brand-name{display:none}}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(720px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-head,.modal-foot{display:flex;align-items:center;gap:8px;padding:11px 14px}.modal-head{border-bottom:1px solid var(--border)}.modal-foot{border-top:1px solid var(--border);font-size:11px}.modal-body{flex:1;overflow:auto;padding:10px 14px;display:flex;flex-direction:column;gap:4px}.history-modal{width:min(1080px,100%);position:relative}.history-body{flex-direction:row;gap:0;align-items:stretch}.history-col{min-width:0;display:flex;flex-direction:column;gap:6px}.history-col.flow-col{flex:1 1 auto;padding-right:16px}.history-col.masks-col{flex:0 0 300px;border-left:1px solid var(--border);padding-left:16px}.mask-assets{display:flex;flex-direction:column;gap:2px}.mask-asset{padding:7px 8px;border-radius:8px;border:1px solid transparent}.mask-asset:hover{background:var(--panel-2)}.mask-asset.in-use{background:var(--panel-2);border-color:var(--border)}.mask-asset.picked{border-color:var(--accent);background:var(--accent-soft)}.mask-asset-head{display:flex;align-items:center;gap:7px;min-width:0}.mask-asset-head .version-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.mask-asset .version-sub{margin-top:3px;font-size:10.5px}.mask-asset-head button.icon{height:20px;line-height:20px;font-size:10.5px;padding:0 7px}.mask-users{margin-top:4px;font-size:10.5px;color:var(--muted)}.as-link{background:none;border:0;padding:0;height:auto;line-height:inherit;font-size:inherit;color:var(--accent-text, var(--accent));text-decoration:underline dotted}.as-link:hover{color:var(--text)}@media (max-width: 1100px){.history-body{flex-direction:column}.history-col.masks-col{flex:none;border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:12px}.history-col.flow-col{padding-right:0}}.history-col-head{display:flex;align-items:baseline;gap:7px;font-size:12px;padding:0 2px}.history-col-head .muted{font-size:10.5px}.history-list{display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow-y:auto;padding-right:2px}.history-chosen{font-size:11.5px}.version-pick{background:var(--panel-2);border:1px solid var(--border);color:var(--text-2);font-size:11px;font-weight:500;padding:0 8px;gap:5px;border-radius:var(--radius-sm)}.version-pick:hover:not(:disabled),.version-pick.active{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.version-pick .caret{opacity:.8}.version-pick.has-draft{border-style:dashed;border-color:var(--border-strong)}.panel-title .version-pick{height:var(--control-h);line-height:var(--control-h)}.panel-title .version-pick{min-width:0;max-width:150px}.version-label{display:inline-flex;align-items:center;gap:4px;min-width:0}.version-label .vtext{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.version-label .on-branch{flex:none;opacity:.85}.picture-menu{min-width:224px}.picture-menu .menu-item>span{display:inline-flex;align-items:center;gap:7px}.picture-menu-error{padding:6px 8px;font-size:11px;color:var(--error);max-width:260px}.issue-flag{flex:none;background:var(--panel-2);border:1px solid var(--border);color:var(--text-2);font-size:10.5px;height:20px;padding:0 7px;gap:4px}.issue-flag:hover{color:var(--text);border-color:var(--border-strong);background:var(--panel-3)}.issue-flag.raised{border-color:var(--warning);color:var(--warning)}.issue-flagform{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-2)}.issue-flagform textarea{resize:vertical;min-height:54px;font:inherit}.flags{display:flex;flex-direction:column;gap:10px}.flags .card.flag{display:flex;flex-direction:column;gap:7px;border-left:2px solid var(--warning)}.flags .card.flag.resolved{border-left-color:var(--ok, #3aa871);opacity:.85}.flags .card.flag.dismissed{border-left-color:var(--border-strong);opacity:.7}.flag-note{white-space:pre-wrap;line-height:1.5;color:var(--text)}.flag-where{font-size:10.5px}.flag-rule,.flag-gone{font-size:11.5px;color:var(--text-2);padding:6px 8px;border-radius:var(--radius-sm);background:var(--panel-2)}.flag-gone{color:var(--warning)}.review-divider{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:var(--muted);font-size:11px}.review-divider:before,.review-divider:after{content:"";flex:1;height:1px;background:var(--border)}.kb-kinds{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);padding:8px 10px;margin-bottom:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-2)}.kb-kinds b{color:var(--text-2)}.idpick{display:flex;flex-direction:column;gap:4px}.idpick-chips{display:flex;flex-wrap:wrap;gap:4px}.idpick-chips:empty{display:none}.idpick-chip{display:inline-flex;align-items:center;gap:2px;height:20px;padding:0 3px 0 7px;border-radius:999px;background:var(--panel-3);color:var(--text-2);font-size:10.5px;font-family:var(--mono, ui-monospace, monospace)}.idpick-chip.unknown{background:#faad1429;color:#ffd591}.idpick-chip .icon{height:16px;width:16px;color:inherit;opacity:.6}.idpick-chip .icon:hover{opacity:1}.idpick-list{max-height:260px;overflow:auto}.idpick-opt{display:flex;flex-direction:row;align-items:baseline;gap:8px}.idpick-opt.on{background:var(--panel-3)}.idpick-id{font-family:var(--mono, ui-monospace, monospace);font-size:11px;color:var(--text);flex:none}.idpick-name{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idpick-empty{padding:7px 9px;font-size:11px;color:var(--muted)}.multi-search{width:100%;margin-bottom:4px;height:24px;font-size:11px}.tech-actions{display:flex;align-items:center;gap:3px;margin-top:6px}.tech-actions .icon{height:22px;width:22px}.tech-actions .icon.danger:hover{color:var(--error)}.kb-form{display:flex;flex-direction:column;gap:10px}.kb-form .field{display:flex;flex-direction:column;gap:4px}.kb-form .field>span{font-size:10.5px;color:var(--muted)}.kb-form textarea{resize:vertical;font:inherit}.kb-form .row{display:flex;gap:10px;align-items:flex-end}.kcard-actions{display:inline-flex;gap:2px;margin-left:6px}.kcard-actions .icon{height:22px;width:22px}.kcard-actions .icon.danger:hover{color:var(--error)}button.link{background:none;border:0;padding:0;height:auto;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.flow-add-row{display:flex;gap:6px;margin:0 0 8px}.flow-add-row>.menu-btn{flex:1;justify-content:center}.panel-title .tag.small{height:17px;font-size:10px;padding:0 6px;font-weight:600}.machine-fold>summary{cursor:pointer;list-style:none;padding:6px 0 2px;font-weight:500;color:var(--text-2);display:flex;gap:6px;align-items:baseline}.machine-fold>summary::-webkit-details-marker{display:none}.machine-fold>summary:before{content:"▸";color:var(--muted);font-size:10px}.machine-fold[open]>summary:before{content:"▾"}.machine-fold>summary:hover{color:var(--text)}.machine-fold>summary .muted{font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--control-h: 26px}button,.menu-btn{height:var(--control-h);line-height:var(--control-h)}select,input[type=text],input[type=password],input[type=number],input[type=search]{height:var(--control-h)}button.icon,.viewer-tools select,.viewer-tools button,.panel-title select,.panel-title button,.stepnav button,.version-act button,.tabs button,.flow-add-row>.menu-btn{height:var(--control-h);line-height:var(--control-h);font-size:11px}.seg{height:var(--control-h);padding:2px}.seg button{height:calc(var(--control-h) - 6px);line-height:calc(var(--control-h) - 6px)}.stepnav .seg.nav-btns button{height:calc(var(--control-h) - 6px);width:26px}.badges.as-button{height:var(--control-h)}.badge,.tag.small,.step-card .actions button,.step-card .badge,.tags-field .tag,.tags-suggest .tag{height:auto}.badge,.tag.small{height:18px}.step-card .actions button{height:20px;line-height:20px}.step-card .badge{height:16px}.tags-field .tag,.tags-suggest .tag{height:20px}.panel-title .tag.small{height:18px;line-height:18px}select[multiple]{height:auto}.assistant-input textarea,textarea{height:auto;line-height:1.45}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 7px;line-height:1.5}.md h3,.md h4,.md h5,.md h6{margin:12px 0 5px;line-height:1.3;color:var(--text);font-weight:600}.md h3{font-size:13.5px}.md h4{font-size:12.5px}.md h5,.md h6{font-size:11.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--text-2)}.md ul,.md ol{margin:0 0 7px;padding-left:19px;display:flex;flex-direction:column;gap:3px}.md li{line-height:1.5}.md li>ul,.md li>ol{margin:3px 0 0}.md ul{list-style:disc}.md ol{list-style:decimal}.md strong{color:var(--text);font-weight:650}.md code{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:10.5px}.md pre{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin:0 0 7px;overflow-x:auto}.md pre code{background:none;border:none;padding:0;font-size:10.5px;line-height:1.5}.md a{color:var(--accent-text)}.md hr{border:none;border-top:1px solid var(--border-strong);margin:10px 0}.md sub,.md sup{font-size:.75em;line-height:0}.toolbar .tabs{gap:4px}.transfer{display:flex;align-items:center;gap:7px;margin:3px 0 3px 26px;padding:4px 10px;font-size:11px;line-height:1.4;color:var(--text-2);background:repeating-linear-gradient(135deg,var(--panel-2) 0 6px,var(--panel) 6px 12px);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.transfer>svg{flex:none;color:var(--accent-text)}.transfer b{color:var(--text);font-weight:600}.transfer .muted{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.list-item .list-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item .muted{flex:none}.gds-modal{width:min(860px,100%)}.gds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.gds-layer{display:flex;flex-direction:column;gap:5px;height:auto;padding:7px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.gds-layer:hover{background:var(--panel-3)}.gds-layer.on{border-color:var(--accent);background:var(--accent-soft)}.gds-layer svg{width:100%;aspect-ratio:1;background:var(--bg-2);border-radius:5px;display:block}.gds-cap{display:flex;align-items:center;gap:5px;font-size:11px;width:100%}.gds-cap .muted{margin-left:auto;font-size:10px}.loading{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 0;color:var(--muted, #8a8a8a)}.loading.inline{flex-direction:row;align-items:center;gap:7px;padding:0}.loading-chip{display:block;flex:none}.loading-chip svg{width:100%;height:100%;display:block}.loading-label{font-size:12px}.loading.inline .loading-label{font-size:inherit}.note-line{grid-column:2;font-size:11px;line-height:1.45;color:var(--muted);background:var(--panel-2);border-left:2px solid var(--border-strong);padding:5px 8px;border-radius:0 4px 4px 0}.legend{flex-wrap:nowrap;align-items:center;height:18px;overflow:hidden}.legend .legend-materials{display:flex;gap:4px 12px;min-width:0;overflow:hidden;white-space:nowrap;flex:0 1 auto}.legend .nowrap,.legend .cs-readout{white-space:nowrap;flex:none}.legend .cs-readout{margin-left:auto;min-width:150px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}.legend .cs-under{display:inline-block;flex:0 1 auto;min-width:0;margin-left:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text)}.legend .cs-under:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--c);margin-right:5px;border:1px solid rgba(255,255,255,.12);vertical-align:-1px}.legend .cs-readout.measuring{color:#7ec8ff;font-weight:600}.assistant-fab.busy{padding-left:8px}.assistant-fab .loading{gap:6px}.assistant-fab .loading-label{display:none}.issue-where{display:flex;align-items:baseline;gap:6px;margin:4px 0 0;min-width:0}.issue-step{flex:none;display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.issue-step.whole{background:var(--panel-2);color:var(--muted)}.issue-step-name{font-size:11.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-head .issue-step{flex:none}.issue-title{font-size:12px;font-weight:500;line-height:1.4;color:var(--text);margin-top:5px}.issue.error .issue-step{background:#ff4d4f29;color:#ffb3b4}.issue.warning .issue-step{background:#faad1429;color:#ffd591}.issue.info .issue-step{background:#5a9dff29;color:#a8c9ff}.assistant-input textarea{min-height:76px;max-height:40vh;line-height:1.45}.assistant-fab .loading-chip{display:inline-flex;align-items:center;justify-content:center;background:#080c148c;border-radius:50%;padding:3px;box-sizing:content-box}.grid-notice{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;background:var(--panel-2);border-color:var(--border);color:var(--text-2);box-shadow:inset 0 -1px 0 var(--border)}.grid-notice svg{color:var(--muted)}.grid-notice span{flex:1;min-width:0}.grid-notice.warn{background:color-mix(in srgb,var(--warning) 12%,var(--panel-2));color:var(--text)}.grid-notice.warn svg{color:var(--warning)}.view-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}.cut-slide{display:inline-flex;align-items:center;gap:7px;font-size:11px;height:24px}.cut-um{font-variant-numeric:tabular-nums;min-width:56px;color:var(--text-2)}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:96px;height:18px;background:transparent;cursor:pointer;margin:0}.slider:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.slider::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--panel-4);border:1px solid var(--border)}.slider::-moz-range-track{height:4px;border-radius:999px;background:var(--panel-4);border:1px solid var(--border)}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;margin-top:-5px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);box-shadow:0 1px 3px #00000080}.slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);box-shadow:0 1px 3px #00000080}.slider:hover::-webkit-slider-thumb{background:var(--accent-bright, var(--accent))}.slider:hover::-moz-range-thumb{background:var(--accent-bright, var(--accent))}.sev-filter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.tag.sev{cursor:pointer;opacity:.55}.tag.sev.on{opacity:1}.tag.sev.error.on{background:color-mix(in srgb,var(--error) 18%,var(--panel-3));color:var(--text);border-color:color-mix(in srgb,var(--error) 55%,transparent)}.tag.sev.warning.on{background:color-mix(in srgb,var(--warning) 18%,var(--panel-3));color:var(--text);border-color:color-mix(in srgb,var(--warning) 55%,transparent)}.tag.sev.info.on{border-color:color-mix(in srgb,var(--info) 55%,transparent)}.accepted-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.accepted-row{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.accepted-title{font-size:11.5px;color:var(--text-2)}.accepted-why{font-size:11px;color:var(--muted);margin-top:2px}.accepted-who{font-size:10px;color:var(--muted);margin-top:3px}.ask-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ask-field>label{font-size:11px;color:var(--text-2)}.ask-hint{font-size:10.5px;color:var(--muted)}.ask-why{font-size:10.5px;color:var(--error)}.share-link{margin-top:10px}.share-link input{width:100%;font-family:var(--mono, ui-monospace, monospace);font-size:10.5px}.share-toggle{align-items:flex-start;gap:8px}.share-toggle input{margin-top:2px;flex:none}.notice.warn{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.mobile-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:28px;background:var(--bg, #0d0d0d);color:var(--text);text-align:center}.mobile-gate-inner{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:380px}.mobile-gate-name{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:600;letter-spacing:-.02em}.mobile-gate p{margin:0;font-size:13px;line-height:1.5}.mobile-gate p.muted{font-size:12px}.accepted-main{display:flex;flex-direction:column;gap:3px;min-width:0}.accepted-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.accepted-title{font-size:11.5px;color:var(--text);font-weight:600}.accepted-step{font-size:10.5px;color:var(--text-2)}.accepted-msg{font-size:10.5px;color:var(--muted);line-height:1.45}.accepted-why{font-size:11px;color:var(--text-2);line-height:1.45}.accepted-why b{color:var(--muted);font-weight:600}.machine-table-wrap{overflow-x:auto;margin-top:6px}.machine-table{width:100%;border-collapse:collapse;font-size:11px}.machine-table th{text-align:left;font-weight:600;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:0 9px 5px;white-space:nowrap}.machine-table th.num,.machine-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.machine-table td{padding:5px 9px;border-top:1px solid var(--border);color:var(--text-2);vertical-align:top}.machine-table td.mname{color:var(--text);font-weight:600;white-space:nowrap}.machine-table tbody tr:hover td{background:var(--panel-2)}.machine-rules-row td{border-top:0;padding-top:0;padding-left:20px}.machine-rules-row:hover td{background:transparent}.status-pill .status-label{display:inline-flex;align-items:center;gap:5px}.status-pill.s-draft{color:var(--text-2)}.status-pill.s-review{color:var(--warning)}.status-pill.s-production{color:var(--ok, #35c26a)}.status-badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:600;border:1px solid transparent;white-space:nowrap}.status-badge.s-draft{background:var(--panel-3);color:var(--muted);border-color:var(--border)}.status-badge.s-review{background:color-mix(in srgb,var(--warning) 16%,var(--panel-3));color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,transparent)}.status-badge.s-production{background:color-mix(in srgb,var(--ok, #35c26a) 16%,var(--panel-3));color:var(--ok, #35c26a);border-color:color-mix(in srgb,var(--ok, #35c26a) 45%,transparent)}.checks-waiting{display:flex;align-items:center;gap:9px;padding:14px 4px;color:var(--muted);font-size:11.5px}.sev-filter.waiting{opacity:.4;pointer-events:none}.crumbs .share-btn{height:calc(var(--control-h) + 6px);width:calc(var(--control-h) + 6px);padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text-2)}.crumbs .share-btn:hover:not(:disabled){background:var(--panel-3);color:var(--text)}.mask-foot{align-items:baseline}.mask-foot .mask-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.mask-foot .cs-readout{margin-left:auto;min-width:150px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.changes-bar{margin:0 8px 6px;border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);background:color-mix(in srgb,var(--warning) 9%,var(--panel));border-radius:8px;font-size:12px}.changes-bar-head{display:flex;align-items:center;gap:4px 6px;padding:6px 8px 4px;flex-wrap:wrap}.changes-bar-actions{display:flex;gap:6px;padding:0 8px 6px}.changes-bar-actions button{height:22px;padding:0 8px;font-size:11px}.changes-bar-list{border-top:1px solid color-mix(in srgb,var(--warning) 30%,transparent);padding:4px 8px 6px;max-height:260px;overflow:auto}.changes-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warning);flex:none}.changes-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--warning) 16%,var(--panel-2));color:var(--text);border:1px solid color-mix(in srgb,var(--warning) 50%,transparent)}.step-card.chg:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px}.step-card.chg-added:before{background:#9ece6a}.step-card.chg-changed:before{background:#7aa2f7}.step-card.chg-moved:before{background:#e0af68}.step-card.chg-cosmetic:before{opacity:.45}.step-card.chg-added{background:color-mix(in srgb,#9ece6a 8%,transparent)}.step-card.ghost-removed{opacity:.6;cursor:default;background:color-mix(in srgb,#f7768e 7%,transparent)}.step-card.ghost-removed:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:#f7768e}.chg-tag{margin-left:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.chg-tag.chg-added{background:color-mix(in srgb,#9ece6a 20%,var(--panel-3));color:#b9e08f}.chg-tag.chg-removed{background:color-mix(in srgb,#f7768e 20%,var(--panel-3));color:#f9a0b2}.chg-tag.chg-changed{background:color-mix(in srgb,#7aa2f7 20%,var(--panel-3));color:#a8c1fa}.chg-tag.chg-moved{background:color-mix(in srgb,#e0af68 20%,var(--panel-3));color:#ecc890}.chg-word.chg-added{color:#9ece6a}.chg-word.chg-removed{color:#f7768e}.chg-word.chg-changed{color:#7aa2f7}.chg-word.chg-moved{color:#e0af68}.compare-page{display:flex;flex-direction:column;gap:10px;overflow:auto}.compare-sources{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:0 2px}.compare-sources label{display:flex;flex-direction:column;gap:3px;font-size:11px}.compare-pick{min-width:280px;max-width:420px}.compare-summary{display:flex;flex-direction:column;gap:4px;font-size:12px}.compare-note{font-size:11px}.delta{font-weight:600}.delta.worse{color:#f7768e}.delta.better{color:#9ece6a}.compare-tools{display:flex;align-items:center;gap:14px;font-size:11px}.compare-block{border:1px solid var(--border);border-radius:8px;padding:4px 8px}.compare-table{border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:12px}.cmp-row{display:grid;grid-template-columns:28px minmax(0,1fr) 76px 28px minmax(0,1fr);gap:2px 8px;padding:5px 8px;border-top:1px solid var(--border);cursor:pointer;position:relative;align-items:start}.cmp-row:first-child{border-top:none}.cmp-row:hover{background:var(--panel-2)}.cmp-row.picked{background:var(--accent-soft)}.cmp-row.cmp-head{cursor:default;font-weight:600;color:var(--muted);background:var(--panel-2)}.cmp-row.chg-same{opacity:.7}.cmp-row.chg-added{background:color-mix(in srgb,#9ece6a 8%,transparent)}.cmp-row.chg-removed{background:color-mix(in srgb,#f7768e 8%,transparent)}.cmp-row.chg-changed{background:color-mix(in srgb,#7aa2f7 8%,transparent)}.cmp-row.chg-moved{background:color-mix(in srgb,#e0af68 8%,transparent)}.cmp-at{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.cmp-step{display:flex;flex-direction:column;min-width:0}.cmp-step .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-step .sub{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-kind{text-align:center}.cmp-kind .chg-tag{margin-left:0}.cmp-what{grid-column:2 / -1;color:var(--text-2);font-size:11px;overflow-wrap:anywhere}.compare-detail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-detail-side{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px}.cmp-section{max-width:100%;height:auto;align-self:flex-start;border-radius:6px;border:1px solid var(--border)}.cmp-section.loading{display:grid;place-items:center;min-height:140px}.compare-issues{margin:0;padding-left:16px;font-size:11px}.compare-issues .error{color:#f7768e}.compare-issues .warning{color:#e0af68}.cmp-step .kind{margin-right:6px}.top-layers{display:flex;flex-wrap:wrap;gap:4px;margin:-2px 0 6px}.top-layer{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;font-size:11px;border-radius:11px}.top-layer .swatch{width:9px;height:9px;border-radius:2px;flex:none}.top-layer.current{border-color:var(--accent, #2aa8ff)}.top-layer.later{font-style:italic}.top-layer.off{opacity:.4}.top-layer.off .swatch{background:transparent!important;outline:1px solid currentColor}.top-view{flex-direction:column;background:#101214}.top-view svg{flex:1;min-height:0;width:100%;display:block;-webkit-user-select:none;user-select:none}.top-chip{fill:#ffffff09;stroke:#ffffff59;stroke-width:1}.top-status{position:absolute;left:8px;bottom:6px;right:8px;font-size:11px;color:var(--muted, #9aa);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 3px #000}.top-cut-at input{width:76px;height:22px;font-size:11px}.top-grid{stroke:#ffffff1a;stroke-width:1}.top-cell{fill:#2aa8ff1a;stroke:#2aa8ff8c;stroke-width:1}.top-cell-centre{fill:#2aa8ff}.top-lost{position:absolute;left:8px;bottom:26px;max-width:calc(100% - 16px);z-index:2;font-size:11px;padding:3px 8px;border-radius:6px;background:#0c2034eb;border:1px solid rgba(0,153,255,.55);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.cs-grid{margin-left:10px}.cs-grid.fine{color:#6fd39a}.cs-host .cs-main{transition:opacity .4s,filter .4s}.cs-provisional .cs-main{opacity:.5;filter:saturate(.35)}.cs-notices .notice.cs-refining{display:block;align-self:flex-start;background:#0c2034eb;border:1px solid rgba(0,153,255,.55);color:var(--text-2, #c9d4df);font-size:11.5px;padding:4px 9px 5px}.cs-notices .notice.cs-refining b{color:#fff}.cs-refining-bar{margin-top:4px;height:2px;border-radius:2px;background:#0099ff2e;overflow:hidden}.cs-refining-bar>div{height:100%;background:#09f;border-radius:2px;transition:width .3s}.cs-notices .notice.cs-refined{align-self:flex-start;padding:4px 9px;font-size:11.5px;background:#0c2034eb;border:1px solid rgba(0,153,255,.55);color:#fff;animation:cs-refined-fade 2.2s ease forwards}@keyframes cs-refined-fade{0%,70%{opacity:1}to{opacity:0}}.flow-layout.checks-folded{grid-template-columns:520px 1fr 44px}@media (max-width: 1500px){.flow-layout.checks-folded{grid-template-columns:470px 1fr 44px}}@media (max-width: 1150px){.flow-layout.checks-folded{grid-template-columns:330px 1fr;grid-template-rows:1fr 44px}}.flow-layout.present.checks-folded{grid-template-columns:1fr}.checks-rail{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:10px 0;cursor:pointer;color:var(--muted);border-radius:10px}.checks-rail:hover{background:var(--panel-3);color:var(--text)}.checks-rail .badge{min-width:26px}.checks-rail.catching-up .badge{animation:catching-up 1.1s ease-in-out infinite;opacity:.6}@media (max-width: 1150px){.checks-rail{flex-direction:row;justify-content:center;padding:0 10px}}.checks-collapse{margin-left:4px}
