.rail-split{position:fixed;top:var(--bench-strip-h,56px);bottom:0;left:calc(var(--bench-rail,392px) - 5px);width:11px;z-index:36;cursor:col-resize;display:flex;align-items:center;justify-content:center;background:transparent}.rail-split[hidden]{display:none}.rail-split-grip{width:3px;height:34px;border-radius:3px;background:var(--line-bold);opacity:1;transition:opacity var(--t-fast,.12s) var(--ease,ease),height var(--t-fast,.12s) var(--ease,ease),background var(--t-fast,.12s) var(--ease,ease)}.rail-split:hover .rail-split-grip,.rail-split:focus-visible .rail-split-grip,body.is-railsplitting .rail-split-grip{height:46px;background:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.rail-split-grip{transition:none}}.rail-split:focus-visible{outline:2px solid var(--ink-strong);outline-offset:-2px}body.is-railsplitting{user-select:none;cursor:col-resize}body.is-railsplitting .workspace,body.is-railsplitting .cockpit{pointer-events:none}@media (max-width:900px){.rail-split{display:none}}.cat{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:32px 20px}.cat[hidden]{display:none}body.cat-open{overflow:hidden}.cat-backdrop{position:absolute;inset:0;background:rgba(6,8,12,0.55);backdrop-filter:blur(2px);animation:catFade 160ms var(--ease,ease)}@keyframes catFade{from{opacity:0}to{opacity:1}}.cat-panel{position:relative;width:min(1080px,100%);max-height:min(820px,100%);display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line-strong);border-radius:var(--r-4,6px);box-shadow:0 24px 64px rgba(0,0,0,.34);overflow:hidden;animation:catRise 200ms var(--ease,ease)}@keyframes catRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cat-backdrop,.cat-panel{animation:none}}.cat-head{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.cat-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-0.01em;color:var(--ink-strong)}.cat-x{margin-left:auto;background:none;border:none;cursor:pointer;font-size:22px;line-height:1;color:var(--ink-faint);padding:2px 8px;font-family:inherit}.cat-x:hover{color:var(--ink-strong)}.cat-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line);flex:0 0 auto}.cat-q{flex:1 1 260px;min-width:0;padding:8px 12px;font-size:13.5px;font-family:inherit;color:var(--ink);background:var(--bg-app);border:1px solid var(--line-strong);border-radius:999px}.cat-q::placeholder{color:var(--ink-faint)}.cat-q:focus{outline:none;border-color:var(--ink-soft)}.cat-seg{display:flex;gap:2px;flex:0 0 auto}.cat-segb{padding:6px 13px;font-size:12px;font-family:inherit;cursor:pointer;background:none;border:1px solid transparent;border-radius:999px;color:var(--ink-soft)}.cat-segb:hover{color:var(--ink-strong)}.cat-segb.is-on{color:var(--ink-strong);border-color:var(--line-strong);background:var(--bg-app)}.cat-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 18px 20px}.cat-body:focus{outline:none}.cat-sec{margin:18px 0 10px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;display:flex;align-items:baseline;gap:7px}.cat-sec span{color:var(--ink-disabled)}.cat-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:1fr}.cat-empty{color:var(--ink-faint);font-size:13.5px;padding:40px 4px;text-align:center}.cat-card{display:grid;grid-template-columns:104px 1fr;grid-template-rows:1fr auto;grid-template-areas:"thumb main" "acts acts";gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r-4,6px);background:var(--bg-app);position:relative;transition:border-color var(--t-fast,.12s) var(--ease,ease)}.cat-card:hover{border-color:var(--line-strong)}.cat-card.is-sel{border-color:var(--ink-soft)}.cat-card.is-current{border-color:var(--ink-soft)}.cat-card.is-current::before{content:"Open now";position:absolute;top:-1px;right:10px;font-family:var(--font-mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--bg-app);background:var(--ink-soft);padding:1px 6px;border-radius:0 0 3px 3px}.cat-card.is-busy{opacity:.55;pointer-events:none}.cat-thumb{grid-area:thumb;position:relative;width:104px;height:84px;border-radius:4px;background:var(--bg-subtle);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}.cat-canvas{width:100%;height:100%;display:block}.cat-thumb-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;font-family:var(--font-mono);font-size:8.5px;line-height:1.35;letter-spacing:0.04em;color:var(--ink-disabled)}.cat-acc{position:absolute;left:0;right:0;bottom:0;font-family:var(--font-mono);font-size:8px;letter-spacing:0.06em;color:var(--ink-faint);background:color-mix(in srgb,var(--bg-subtle) 84%,transparent);padding:1px 4px;text-align:center}.cat-thumb[data-sc="idle"] .cat-canvas,.cat-thumb[data-sc="loading"] .cat-canvas{opacity:0}.cat-thumb[data-sc="ok"] .cat-thumb-msg{display:none}.cat-thumb[data-sc="loading"] .cat-thumb-msg::after{content:"Folding…"}.cat-thumb[data-sc="error"] .cat-thumb-msg::after{content:"Structure unavailable"}.cat-thumb[data-sc="ok"] .cat-acc{display:block}.cat-thumb[data-sc="none"] .cat-acc{display:none}.cat-thumb--cx{color:var(--ink-faint);border-color:transparent;background:var(--bg-subtle)}.cat-thumb--cx svg{width:34px;height:34px}.cat-card--cx:hover .cat-thumb--cx{color:var(--ink-soft)}.cat-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:5px}.cat-open{background:none;border:none;padding:0;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink-strong);min-width:0}.cat-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;font-weight:600;line-height:1.35;letter-spacing:-0.005em}.cat-open:hover .cat-name{text-decoration:underline;text-underline-offset:2px}.cat-open:focus-visible{outline:2px solid var(--ink-strong);outline-offset:2px;border-radius:2px}.cat-flag{align-self:flex-start;font-family:var(--font-mono);font-size:9px;letter-spacing:0.09em;text-transform:uppercase;color:var(--warning,var(--ink-strong));border:1px solid currentColor;border-radius:3px;padding:1px 5px}.cat-chips{display:flex;flex-wrap:wrap;gap:4px}.cat-chip{font-family:var(--font-mono);font-size:9.5px;letter-spacing:0.04em;padding:2px 6px;border-radius:3px;background:var(--bg-subtle);color:var(--ink-soft);border:1px solid var(--line)}.cat-chip.is-key{color:var(--ink-strong);border-color:var(--line-strong)}.cat-chip.is-soft{color:var(--ink-faint);background:none}.cat-meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:0.02em}.cat-note{margin:2px 0 0;font-size:11.5px;color:var(--danger)}.cat-acts{grid-area:acts;display:flex;gap:6px;justify-content:flex-end;padding-top:8px;margin-top:2px;border-top:1px solid var(--line)}.cat-act{font-family:var(--font-mono);font-size:10px;letter-spacing:0.06em;padding:4px 10px;cursor:pointer;background:none;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:999px}.cat-act:hover{color:var(--ink-strong);border-color:var(--ink-soft)}.cat-act.is-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.cat-act.is-danger:hover{border-color:var(--danger)}.cat-act:focus-visible{outline:2px solid var(--ink-strong);outline-offset:1px}.cat-rename{display:flex;gap:6px;align-items:center}.cat-rename-i{flex:1 1 auto;min-width:0;padding:5px 9px;font-size:12.5px;font-family:inherit;color:var(--ink);background:var(--bg-card);border:1px solid var(--line-strong);border-radius:4px}.cat-rename-i:focus{outline:none;border-color:var(--ink-soft)}.cat-confirm{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-radius:4px;font-size:12px;color:var(--ink)}.cat-confirm span{flex:1 1 180px;min-width:0}@media (max-width:620px){.cat{padding:0}.cat-panel{max-height:100%;height:100%;border-radius:0;border:none}.cat-grid{grid-template-columns:1fr}}