.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: var(--font-sans);--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--t-display: clamp(2.6rem, 7vw, 4.4rem);--t-title: 1.22rem;--t-head: .72rem;--t-body: 1rem;--t-body-sm: .88rem;--t-readout: .94rem;--t-mono: .78rem;--t-chip: .62rem;--t-label: .6rem;--w-display: 800;--w-title: 650;--w-strong: 550;--w-body: 400;--lh-display: .95;--lh-title: 1.2;--lh-body: 1.62;--tr-display: -.04em;--tr-title: -.022em;--tr-label: .14em;--tr-head: .18em;--tr-seal: .24em;--well: #0a0f16;--ground-deep: #0a0e14;--ground: #0e131b;--docket: #161d27;--docket-raised: #1d2532;--hairline: #252e3c;--hairline-soft: #1b222e;--ink: #e6ebf2;--ink-dim: #9aa7ba;--ink-faint: #8692a5;--ink-ghost: #737e90;--stamp: #f07a35;--stamp-bright: #ff8f4d;--stamp-deep: #c85a1c;--stamp-wash: rgba(240, 122, 53, .12);--stamp-edge: rgba(240, 122, 53, .38);--stamp-ink: #1a0e05;--sev-error: #f2726d;--sev-error-wash: rgba(242, 114, 109, .11);--sev-error-edge: rgba(242, 114, 109, .32);--sev-warn: #e0a233;--sev-warn-wash: rgba(224, 162, 51, .11);--sev-warn-edge: rgba(224, 162, 51, .32);--sev-info: #78a9d8;--sev-info-wash: rgba(120, 169, 216, .11);--sev-info-edge: rgba(120, 169, 216, .32);--sev-ok: #5fc48a;--sev-ok-wash: rgba(95, 196, 138, .11);--sev-ok-edge: rgba(95, 196, 138, .32);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--s9: 96px;--r-xs: 2px;--r-sm: 3px;--r-md: 4px;--r-lg: 6px;--r-pill: 999px;--lift-sm: 0 3px 10px -3px rgba(0, 0, 0, .62);--lift: 0 8px 22px -8px rgba(0, 0, 0, .7), 0 2px 6px -2px rgba(0, 0, 0, .5);--ease: cubic-bezier(.16, 1, .3, 1);--ease-quick: cubic-bezier(.2, 0, 0, 1);--dur-quick: .15s;--dur: .2s;--dur-slow: .5s;--measure: 68ch;--measure-tight: 56ch;--shell: 1120px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--fs-2xl: 1.5rem;--fs-xl: 1.25rem;--fs-md: 1rem;--fs-base: .9375rem;--fs-sm: .875rem;--fs-xs: .8125rem;--fs-2xs: .6875rem;--tracking-tight: -.02em;--tracking-snug: -.01em;--topbar-h: 56px;--shell-width: var(--shell);--on-accent: #ffffff;--bg-sunken: var(--well);--ring: 0 0 0 3px var(--stamp-wash);--accent-line: var(--stamp-edge);--accent-soft: var(--stamp-wash);--shadow-accent: 0 2px 12px var(--accent-glow);--font-ui: var(--font-sans)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--ground);color:var(--ink);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--hairline-soft) 1px,transparent 1px),linear-gradient(90deg,var(--hairline-soft) 1px,transparent 1px);background-size:88px 88px;opacity:.5;pointer-events:none;z-index:0}a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hairline);transition:text-decoration-color .15s var(--ease-quick),color .15s var(--ease-quick)}:focus-visible{outline:2px solid var(--stamp);outline-offset:2px;border-radius:var(--r-xs)}.container{max-width:1120px;margin:0 auto;padding:0 var(--s5) var(--s9);position:relative;z-index:1}@keyframes stampIn{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-in{animation:fileIn .5s var(--ease) both}.animate-in-d1{animation:fileIn .5s var(--ease) .06s both}.animate-in-d2{animation:fileIn .5s var(--ease) .12s both}.animate-in-d3{animation:fileIn .5s var(--ease) .18s both}.kicker{font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.kbd{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--ink-dim);background:var(--well);border:1px solid var(--hairline);border-bottom-width:2px;border-radius:var(--r-sm);padding:1px 5px;white-space:nowrap;line-height:1.5}:root{--font: var(--font-sans);--mono: var(--font-mono);--bg: var(--ground);--bg-elev: var(--docket);--bg-elev-2: var(--docket-raised);--bg-hover: #222b39;--bg-active: #293343;--border: var(--hairline);--border-soft: var(--hairline-soft);--border-faint: #161d28;--text: var(--ink);--text-dim: var(--ink-dim);--text-faint: var(--ink-faint);--text-inverse: var(--stamp-ink);--accent: var(--stamp);--accent-strong: var(--stamp);--accent-deep: var(--stamp-deep);--accent-glow: var(--stamp-wash);--green: var(--sev-ok);--green-bg: var(--sev-ok-wash);--green-border: var(--sev-ok-edge);--red: var(--sev-error);--red-bg: var(--sev-error-wash);--red-border: var(--sev-error-edge);--amber: var(--sev-warn);--amber-bg: var(--sev-warn-wash);--amber-border: var(--sev-warn-edge);--blue: var(--sev-info);--blue-bg: var(--sev-info-wash);--blue-border: var(--sev-info-edge);--purple: var(--sev-info);--purple-bg: var(--sev-info-wash);--purple-border: var(--sev-info-edge);--teal: var(--sev-info);--teal-bg: var(--sev-info-wash);--teal-border: var(--sev-info-edge);--shadow-sm: none;--shadow: none;--shadow-lg: var(--lift);--radius: var(--r-lg);--radius-sm: var(--r-md);--radius-xs: var(--r-sm)}body{background:var(--ground)}body:before{top:0;left:0;width:100%;height:100%;background:linear-gradient(var(--hairline-soft) 1px,transparent 1px),linear-gradient(90deg,var(--hairline-soft) 1px,transparent 1px);background-size:88px 88px;opacity:.5}body:after{content:none}.card{border-radius:var(--r-lg);box-shadow:none;padding:var(--s5);margin-bottom:var(--s4)}.card:hover{box-shadow:none}.card h2{font-size:.95rem;font-weight:650;letter-spacing:-.015em;margin-bottom:var(--s4)}.card h2 .sub{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);margin-left:auto;white-space:nowrap}label{font-size:.78rem;font-weight:500;color:var(--ink-dim)}.segmented{border-radius:var(--r-md)}.segmented button{border-radius:var(--r-sm)}.segmented button.active{background:var(--stamp);color:var(--stamp-ink);font-weight:600}input[type=text],select,textarea{background-color:var(--well);border-radius:var(--r-md);font-size:.86rem}input[type=text]:focus,select:focus,textarea:focus{border-color:var(--stamp);box-shadow:0 0 0 3px var(--stamp-wash)}select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%238692a5' d='M6 8L2 4h8z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select option{background-color:var(--docket);color:var(--ink)}.btn{border-radius:var(--r-md);font-family:var(--font-sans);font-size:.84rem;font-weight:500;box-shadow:none}.btn:hover{border-color:var(--ink-faint);box-shadow:var(--lift-sm)}.btn-primary,.btn-success{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink);font-weight:600;box-shadow:none}.btn-primary:hover,.btn-success:hover{background:var(--stamp-bright);border-color:var(--stamp-bright);box-shadow:var(--lift)}.btn-primary:disabled,.btn-success:disabled{background:var(--well);border-color:var(--hairline-soft);color:var(--ink-faint);opacity:1;box-shadow:none}.btn-lg{border-radius:var(--r-md);font-size:.9rem}.dropzone{border-radius:var(--r-lg);background:var(--well)}.dropzone:hover,.dropzone.dragover{border-color:var(--stamp-edge);box-shadow:inset 0 0 0 3px var(--stamp-wash)}.dropzone .dz-icon{color:var(--ink-faint)}.dropzone .browse-link{color:var(--stamp)}.dropzone .browse-link:hover{color:var(--stamp-bright)}.dz-loaded{border-radius:var(--r-lg)}.dz-loaded .meta .count{font-family:var(--font-mono)}.check:has(input:checked){background:var(--stamp-wash);border-color:var(--stamp-edge)}.check input{accent-color:var(--stamp)}.scl-row.sel{background:var(--stamp-wash)}.scl-row.sel .scl-name{color:var(--stamp)}.scl-row.sel .scl-check{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink)}.scl-check{border-radius:var(--r-sm)}.dz-loaded .checkicon,.empty-ok .ok-icon{background:var(--sev-ok-wash);border:1px solid var(--sev-ok-edge);color:var(--sev-ok)}.diff-line.removed{background:var(--sev-error-wash)}.diff-line.added{background:var(--sev-ok-wash)}.stat{border-radius:var(--r-md)}.stat:hover{border-color:var(--hairline)}.stat .num{font-family:var(--font-mono);font-size:1.7rem;font-weight:600;letter-spacing:-.03em}.stat .label{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.stat.purple{background:var(--stamp-wash)}.stat.purple:before{background:var(--stamp)}.stat.purple .num{color:var(--stamp)}.result-summary{background:var(--docket);border-color:var(--hairline)}.result-header-row{align-items:baseline;padding-bottom:var(--s3);border-bottom:1px solid var(--hairline-soft);margin-bottom:var(--s4)}.result-header-icon,.section-icon{width:auto;height:auto;background:none!important;border-radius:0;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;color:var(--ink-faint);margin-right:var(--s2)}.section-icon.green{color:var(--sev-ok)}.section-icon.red{color:var(--sev-error)}.section-icon.amber{color:var(--sev-warn)}.section-icon.blue,.section-icon.purple{color:var(--sev-info)}.card h2 .sub,.file-issue-count,.duration-line b,.meta-line b{font-family:var(--font-mono)}.file-issue-count{background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-pill);color:var(--ink-dim)}.filter-bar{background:var(--well);border:1px solid var(--hairline-soft);border-radius:var(--r-md);padding:var(--s2) var(--s3)}.filter-bar .filter-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:var(--tr-label);font-weight:500}.filter-chip{background:transparent;border-color:var(--hairline);font-family:var(--font-sans);font-size:.72rem}.filter-chip.active{background:var(--stamp-wash);border-color:var(--stamp);color:var(--stamp)}.filter-chip .count{font-family:var(--font-mono);color:var(--ink-faint);opacity:1}.filter-chip.active .count{color:var(--stamp)}.filter-chip.is-empty{border-color:transparent;color:var(--ink-faint);cursor:default}.filter-chip.is-empty:hover{border-color:transparent;color:var(--ink-faint)}.file-group{border-color:var(--hairline);border-radius:var(--r-md);overflow:hidden}.file-group-header{background:var(--ground-deep);border-bottom:1px solid var(--hairline);padding:var(--s2) var(--s3)}.file-path{color:var(--ink);font-size:.75rem}.issues-scroll{max-height:none;overflow-y:visible;padding-right:0;gap:var(--s2)}.issue-item{background:var(--ground-deep);padding:var(--s3)}.issue-item-body{font-size:.84rem;line-height:1.55}.issue-loc{background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink-dim)}.issue-cmd,.issue-code,.issue-snippet{border-color:var(--hairline);color:var(--ink-dim)}.issue-snippet .line-error{border-radius:var(--r-xs)}.issue-hint{border-radius:var(--r-sm);font-size:.75rem}.issue-hint .issue-hint-tag{font-family:var(--font-mono);font-weight:600;letter-spacing:.1em}.checklist-chip.auto,.issue-hint.auto{background:var(--sev-ok-wash);border:1px solid var(--sev-ok-edge)}.checklist-chip.manual,.issue-hint.manual{background:var(--sev-warn-wash);border:1px solid var(--sev-warn-edge)}.checklist-loc{color:var(--ink-faint)}.checklist-item{background:var(--ground-deep)}.checklist-title{font-weight:600;letter-spacing:-.015em}.empty-state{font-size:.82rem;color:var(--ink-faint);padding:var(--s6) var(--s2)}.krule{background:var(--ground-deep)}.krule-icon{font-family:var(--font-mono);color:var(--ink-faint);background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-sm)}.kmin,.kfound{font-family:var(--font-mono);font-size:.72rem}.vrow{border-radius:var(--r-md)}.vrow.open{border-color:var(--stamp-edge);box-shadow:none}.vname{font-family:var(--font-mono);font-size:.86rem;font-weight:500;letter-spacing:-.01em}.vrow{background:var(--docket)}.vhead{padding:var(--s3) var(--s4)}.vhead:hover{background:var(--docket-raised)}.vrow.open .vhead{background:var(--ground-deep);border-bottom:1px solid var(--hairline-soft)}.pill{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.04em}.pill-btn{border:1px solid transparent;cursor:pointer}.pill-btn:hover{border-color:currentColor}.pill.ok{background:var(--sev-ok-wash);color:var(--sev-ok)}.cta-port.btn-primary{background:transparent;border-color:var(--stamp-edge);color:var(--stamp);box-shadow:none}.vhead:hover .cta-port.btn-primary,.cta-port.btn-primary:hover,.cta-port.btn-primary:focus-visible{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink)}.vhead .chev{font-family:var(--font-mono);color:var(--ink-faint)}.fix-actions{gap:var(--s3);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--hairline-soft)}.fix-actions .btn-primary{background:transparent;border-color:var(--stamp-edge);color:var(--stamp)}.fix-actions .btn-primary:hover:not(:disabled){background:var(--stamp-wash);border-color:var(--stamp);color:var(--stamp);box-shadow:none}.fix-actions .btn-success{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink)}.fix-actions .btn-success:hover:not(:disabled){background:var(--stamp-bright);border-color:var(--stamp-bright)}.plan-header{background:var(--ground-deep);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s3) var(--s4)}.plan-direction{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.12em;border-radius:var(--r-pill);padding:3px 10px;background:var(--well);border:1px solid var(--hairline);color:var(--ink-dim)}.plan-direction.fwd,.plan-direction.bwd{background:var(--well);color:var(--ink-dim)}.plan-versions{font-size:.95rem;letter-spacing:-.01em}.plan-file-count{font-family:var(--font-mono);font-size:.74rem;color:var(--ink-faint)}.plan-section-title{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:var(--tr-label);color:var(--ink-faint);margin-top:var(--s5)}.plan-rewrite{background:var(--ground-deep);border-color:var(--hairline-soft);border-radius:var(--r-sm)}.plan-rewrite:hover{background:var(--docket-raised)}.plan-rewrite-count{font-family:var(--font-mono);background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-pill);color:var(--ink-dim)}.plan-manual{background:var(--sev-warn-wash);border:1px solid var(--sev-warn-edge);border-radius:var(--r-sm)}.plan-manual-desc{color:var(--sev-warn);font-size:.82rem}.plan-manual-files{color:var(--ink-faint)}.fix-file-list{max-height:none;overflow:visible}.diff-view{max-height:60vh}.fix-toolbar{margin:var(--s5) 0 var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--hairline-soft)}.fix-toolbar-title{font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:var(--tr-label);color:var(--ink-faint)}.fix-file-header{font-family:var(--font-mono);font-size:.78rem;font-weight:500;color:var(--ink);padding:var(--s2) var(--s2);border-radius:var(--r-sm)}.fix-file-header.clickable:hover{color:var(--ink);background:var(--docket-raised)}.fix-file-header .patch-count{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint)}.fix-file-icon{color:var(--ink-faint)}.fix-file.expanded{background:var(--ground-deep);border-color:var(--hairline);border-radius:var(--r-md)}.fix-detail{font-size:.75rem;color:var(--ink-dim)}.fix-detail.detail-ok{color:var(--sev-ok)}.fix-detail.detail-warn{color:var(--sev-warn)}.fix-detail.detail-error{color:var(--sev-error)}.detail-arrow{color:var(--sev-ok)}.diff-panel{border-color:var(--hairline);border-radius:var(--r-md)}.diff-toolbar{background:var(--ground-deep);border-bottom:1px solid var(--hairline);padding:var(--s2) var(--s3)}.diff-view{background:var(--well)}.diff-col{border-color:var(--hairline);border-radius:var(--r-sm)}.diff-col-header{font-family:var(--font-mono);font-size:.62rem;letter-spacing:var(--tr-label)}.diff-detail{font-family:var(--font-mono);background:var(--docket-raised);border-radius:var(--r-sm);color:var(--ink-faint)}.diff-line.context{color:var(--ink-dim)}.diff-line.gap{color:var(--ink-faint);font-size:.68rem;font-style:italic;background:var(--ground-deep);border-top:1px solid var(--hairline-soft);border-bottom:1px solid var(--hairline-soft);padding-top:1px;padding-bottom:1px}.diff-line.gap .diff-text{padding-left:var(--s2)}.diff-approx{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sev-warn);background:var(--sev-warn-wash);border:1px solid var(--sev-warn-edge);border-radius:var(--r-pill);padding:1px 8px;white-space:nowrap}.diff-empty{padding:var(--s4);font-size:.8rem;color:var(--ink-faint);background:var(--well)}.hl-key{color:var(--ink);font-weight:500}.empty-ok p{color:var(--ink-dim)}.empty-ok b{color:var(--sev-ok)}.vtag,.scl-tag{font-family:var(--font-mono);border-radius:var(--r-pill);letter-spacing:.08em;text-transform:uppercase}.vtag.release,.scl-tag.rel{background:var(--well);color:var(--ink-dim);border:1px solid var(--hairline)}.vtag.snapshot,.scl-tag.snap{background:transparent;color:var(--ink-faint);border:1px dashed var(--hairline)}.pill,.filter-chip,.issue-badge,.checklist-chip{font-family:var(--font-mono);border-radius:var(--r-pill);letter-spacing:.06em}.file-kind-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:var(--r-sm);background:var(--well);border:1px solid var(--hairline)}.file-kind-tag.cmd{color:var(--sev-error)}.file-kind-tag.reg{color:var(--sev-warn)}.file-kind-tag.struct,.file-kind-tag.ref{color:var(--sev-info)}.file-kind-tag.dep{color:var(--ink-dim)}.file-kind-tag.bc{color:var(--sev-warn)}.issue-badge{font-weight:600;letter-spacing:.08em}.issue-badge.dep{background:var(--well);color:var(--ink-dim);border:1px solid var(--hairline)}.pill.dep,.filter-chip.dep{background:var(--well);color:var(--ink-dim)}.pill-btn:hover{transform:none;border-color:currentColor}.filter-chip.active{box-shadow:none;border-color:currentColor}.issue,.issue-item,.checklist-item{border-radius:var(--r-md);border-left-width:1px;border-left-color:var(--hairline)}.issue.cmd,.issue.reg,.issue.struct,.issue.fmt,.issue.ref,.issue.dep,.issue-item.cmd,.issue-item.reg,.issue-item.struct,.issue-item.ref,.issue-item.dep,.issue-item.bc,.checklist-item.auto,.checklist-item.manual{border-left-color:var(--hairline)}.issue-item:hover{border-color:var(--hairline);background:var(--docket-raised);transform:none}.issue .loc,.issue-loc,.checklist-loc{font-family:var(--font-mono)}.issue-snippet,.issue-code,.issue-cmd,.code-snippet,.diff-code{background:var(--well);border-radius:var(--r-sm)}.checklist-card{border-radius:var(--r-lg);box-shadow:none}.checklist-card:before{content:none}.checklist-card{padding-left:var(--s4)}.krule{border-radius:var(--r-md);border-left:1px solid var(--hairline)}.krule:hover{border-color:var(--hairline)}.issue-hint.auto .issue-hint-dot,.issue-hint.manual .issue-hint-dot{box-shadow:none}.issue-hint,.checklist-fix,.file-group,.fix-file,.diff-col,.diff-panel,.porting-plan,.plan-rewrite,.plan-manual,.empty-ok,.empty-state,.error{border-radius:var(--r-md)}.error span:first-child{font-family:var(--font-mono);font-weight:700}.hl-comment{color:var(--ink-faint)}.hl-cmd{color:var(--sev-info)}.hl-selector{color:var(--sev-warn)}.hl-coord,.hl-string{color:var(--sev-ok)}.hl-number{color:var(--sev-info)}.hl-bool{color:var(--stamp)}.hl-nbt{color:var(--sev-warn)}.hl-rlid{color:var(--sev-info)}.hl-marker{color:var(--sev-error)}.section-icon.purple{color:var(--sev-info)}:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}.vhead:focus-visible,.scl-row:focus-visible,.fix-file-header.clickable:focus-visible{outline:2px solid var(--stamp);outline-offset:-2px}.scl-list:focus-within{border-color:var(--stamp);box-shadow:0 0 0 3px var(--stamp-wash)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--well)}::-webkit-scrollbar-thumb{background:var(--hairline);border:3px solid var(--well);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hairline)}a:hover{color:var(--ink);text-decoration-color:var(--stamp)}.animate-in,.animate-in-d1,.animate-in-d2,.animate-in-d3{animation-name:fileIn;animation-duration:var(--dur-slow);animation-timing-function:var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hub-root{position:relative;min-height:100vh}.hub{position:relative;z-index:2;max-width:var(--shell);margin:0 auto;padding:0 var(--s5) var(--s9);font-family:var(--font-sans);color:var(--ink);line-height:1.6}@keyframes fileIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes stampIn{0%{opacity:0;transform:rotate(-4deg) scale(1.08)}to{opacity:1;transform:rotate(-4deg) scale(1)}}@media(prefers-reduced-motion:reduce){.hub *,.hub *:before,.hub *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hub :focus-visible{outline:2px solid var(--stamp);outline-offset:2px;border-radius:var(--r-xs)}.desk-masthead{margin-top:var(--s7);border:1px solid var(--hairline);background:var(--docket);animation:fileIn var(--dur-slow) var(--ease) both}.register-strip{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;padding:var(--s2) var(--s5);border-bottom:1px solid var(--hairline);background:var(--ground-deep)}.reg-field{display:inline-flex;align-items:baseline;gap:var(--s2);white-space:nowrap}.reg-key{font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.reg-val{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--ink-dim)}.reg-push{margin-left:auto}.masthead-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--s6);padding:var(--s7) var(--s5) var(--s6)}.wordmark{font-family:var(--font-display);font-size:var(--t-display);font-weight:var(--w-display);letter-spacing:var(--tr-display);line-height:var(--lh-display);color:var(--ink);text-wrap:balance}.wordmark .wm-tail{font-weight:300;color:var(--ink-dim)}.wordmark .wm-dot{color:var(--stamp)}.masthead-line{margin-top:var(--s4);max-width:var(--measure-tight);font-size:1.02rem;line-height:var(--lh-body);color:var(--ink-dim);text-wrap:pretty}.masthead-line strong{font-weight:var(--w-strong);color:var(--ink)}.filing-stamp{align-self:start;padding:var(--s2) var(--s3);border:1px solid var(--hairline);text-align:center;transform:rotate(-4deg);animation:stampIn .45s var(--ease) .28s both}.filing-stamp .fs-line1{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.filing-stamp .fs-line2{display:block;margin-top:2px;font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.readout-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--hairline);background:var(--ground-deep)}.readout-cell{min-width:0;padding:var(--s3) var(--s5);border-right:1px solid var(--hairline)}.readout-cell:last-child{border-right:none}.readout-cell .ro-key{display:block;font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.readout-cell .ro-val{display:block;margin-top:3px;font-family:var(--font-mono);font-size:var(--t-readout);font-weight:500;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readout-cell .ro-arrow{color:var(--ink-faint);padding:0 2px}.docket-head{display:flex;align-items:baseline;gap:var(--s4);margin-top:var(--s8);margin-bottom:var(--s4);animation:fileIn var(--dur-slow) var(--ease) .1s both}.docket-head h2{font-size:var(--t-head);font-weight:600;letter-spacing:var(--tr-head);text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}.docket-head .dh-rule{flex:1;height:1px;background:var(--hairline)}.docket-head .dh-count{font-family:var(--font-mono);font-size:var(--t-head);color:var(--ink-faint);white-space:nowrap}.docket-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s4)}@media(min-width:1000px){.docket-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.docket-grid{grid-template-columns:1fr}}.tool-case{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--docket);border:1px solid var(--hairline);animation:fileIn var(--dur-slow) var(--ease) both;transition:border-color var(--dur) var(--ease-quick),transform var(--dur) var(--ease-quick),box-shadow var(--dur) var(--ease-quick)}.tool-case:nth-child(1){animation-delay:.16s}.tool-case:nth-child(2){animation-delay:.22s}.tool-case:nth-child(3){animation-delay:.28s}.tool-case.is-open{border-color:var(--stamp-edge)}.tool-case.is-open:hover,.tool-case.is-open:focus-within{transform:translateY(-2px);box-shadow:var(--lift);border-color:var(--stamp)}.tool-case.is-sealed{background:var(--ground-deep)}.case-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px solid var(--hairline);background:var(--ground-deep)}.tool-case.is-sealed .case-bar{background:transparent}.case-no{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--ink-faint)}.tool-case.is-open .case-no{color:var(--stamp)}.case-bar .case-gap{flex:1}.status-chip{display:inline-flex;align-items:center;gap:var(--s2);padding:2px 9px;border:1px solid transparent;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--t-chip);font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.status-chip:before{content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:currentColor}.status-chip.open{color:var(--stamp);background:var(--stamp-wash);border-color:var(--stamp-edge)}.status-chip.sealed{color:var(--ink-faint);background:var(--well);border-color:var(--hairline)}.case-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:var(--s5) var(--s4) var(--s4)}.case-title{font-family:var(--font-display);font-size:var(--t-title);font-weight:var(--w-title);letter-spacing:var(--tr-title);line-height:var(--lh-title);color:var(--ink)}.tool-case.is-sealed .case-title{color:var(--ink-dim)}.case-desc{margin-top:var(--s2);max-width:44ch;font-size:var(--t-body-sm);line-height:1.6;color:var(--ink-dim);text-wrap:pretty}.case-docket{margin-top:var(--s5);border-top:1px solid var(--hairline-soft)}.docket-row{display:flex;align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--hairline-soft)}.docket-row:last-child{border-bottom:none}.docket-row .dk-key{width:76px;flex-shrink:0;font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.docket-row .dk-val{min-width:0;font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-case.is-open .docket-row .dk-val{color:var(--ink)}.case-action{margin-top:auto;padding-top:var(--s5)}.case-action .hub-btn{width:100%}.case-seal{position:absolute;right:-14px;bottom:46px;padding:3px 22px;border:1px solid var(--hairline);transform:rotate(-11deg);font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:var(--tr-seal);text-transform:uppercase;color:var(--ink-ghost);pointer-events:none;-webkit-user-select:none;user-select:none}.hub-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:10px 18px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--docket-raised);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-body-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick),box-shadow var(--dur-quick) var(--ease-quick)}.hub-btn:hover{border-color:var(--ink-faint);box-shadow:var(--lift-sm)}.hub-btn.primary{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink);font-weight:600}.hub-btn.primary:hover{background:var(--stamp-bright);border-color:var(--stamp-bright);box-shadow:var(--lift)}.hub-btn.primary:active{background:var(--stamp-deep)}.hub-btn:disabled{background:var(--well);border-color:var(--hairline-soft);color:var(--ink-faint);cursor:not-allowed;box-shadow:none}.hub-btn .btn-arrow{transition:transform var(--dur-quick) var(--ease-quick)}.hub-btn:hover .btn-arrow{transform:translate(2px)}.hub-footer{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s8);padding-top:var(--s4);border-top:1px solid var(--hairline)}.hub-footer p{margin-right:auto;font-size:.8rem;color:var(--ink-faint)}.hub-footer a{font-size:.8rem;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hairline);transition:text-decoration-color var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick)}.hub-footer a:hover{color:var(--ink);text-decoration-color:var(--stamp)}.hub-footer .hf-version{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-ghost)}@media(max-width:720px){.hub{padding:0 var(--s4) var(--s8)}.masthead-body{grid-template-columns:minmax(0,1fr);padding:var(--s6) var(--s4) var(--s5)}.filing-stamp{justify-self:start;transform:rotate(-3deg)}@keyframes stampIn{0%{opacity:0;transform:rotate(-3deg) scale(1.08)}to{opacity:1;transform:rotate(-3deg) scale(1)}}.register-strip{gap:var(--s4);padding:var(--s2) var(--s4)}.readout-cell{padding:var(--s3) var(--s4)}.docket-head{margin-top:var(--s7)}}.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6);background:#0a0c11c7;backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--border-faint)}.topbar-inner{width:100%;max-width:var(--shell-width);margin:0 auto;display:flex;align-items:center;gap:var(--sp-3)}.brand{display:inline-flex;align-items:center;gap:var(--sp-3);background:none;border:none;padding:4px 6px 4px 4px;margin-left:-4px;border-radius:var(--r-sm);cursor:pointer;color:inherit;transition:background var(--dur) var(--ease)}.brand:hover{background:var(--bg-elev-2)}.brand[disabled]{cursor:default}.brand[disabled]:hover{background:none}.brand-mark{width:30px;height:30px;flex-shrink:0;display:block}.brand-name{font-family:var(--font-display);font-size:1.02rem;font-weight:600;letter-spacing:var(--tracking-tight);color:var(--text);line-height:1;white-space:nowrap}.brand-name em{font-style:normal;color:var(--accent)}.topbar-sep{width:1px;height:18px;background:var(--border);flex-shrink:0}.topbar-context{font-size:var(--fs-sm);color:var(--text-dim);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-spacer{flex:1;min-width:var(--sp-2)}.topbar-tag{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-faint);border:1px solid var(--border);background:var(--bg-elev);padding:3px 10px;border-radius:var(--r-full);white-space:nowrap}.topbar-back{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--text-dim);background:transparent;border:1px solid transparent;padding:6px 12px;border-radius:var(--r-sm);cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.topbar-back:hover{color:var(--text);background:var(--bg-elev-2);border-color:var(--border)}.topbar-back svg{transition:transform var(--dur) var(--ease)}.topbar-back:hover svg{transform:translate(-2px)}@media(max-width:640px){.topbar{padding:0 var(--sp-4)}.topbar-tag{display:none}.topbar-context{font-size:var(--fs-xs)}}.view-head{padding:var(--sp-7) 0 var(--sp-6);margin-bottom:var(--sp-6);border-bottom:1px solid var(--border-faint)}.view-head h1{font-size:var(--fs-2xl);font-weight:600;letter-spacing:var(--tracking-tight);line-height:1.15}.view-head p{margin-top:6px;font-size:var(--fs-base);color:var(--text-dim);max-width:62ch}.view-head-row{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}.view-head-row>div:first-child{flex:1;min-width:240px}@media(max-width:560px){.view-head{padding:var(--sp-5) 0 var(--sp-4);margin-bottom:var(--sp-5)}.view-head h1{font-size:var(--fs-xl)}}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-6);margin-bottom:var(--sp-5);box-shadow:var(--shadow);transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card:hover{box-shadow:var(--shadow-lg)}.card h2{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;color:var(--text);margin-bottom:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2);letter-spacing:var(--tracking-snug);flex-wrap:wrap}.card h2 .sub{font-family:var(--font-ui);font-weight:400;color:var(--text-faint);font-size:var(--fs-xs);margin-left:auto;white-space:nowrap;letter-spacing:0}label{display:block;margin-bottom:7px;font-size:var(--fs-sm);color:var(--text-dim);font-weight:500}.segmented{display:inline-flex;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:3px}.segmented button{padding:7px 15px;border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-dim);cursor:pointer;font-size:var(--fs-sm);font-weight:500;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--accent);color:var(--on-accent);font-weight:600}input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--text);font-size:var(--fs-base);font-family:var(--font-mono);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}input[type=text]::placeholder{color:var(--text-faint)}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input[type=text]:disabled{opacity:.45;cursor:not-allowed}textarea{resize:vertical;min-height:56px}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%2398a1b4' d='M6 8L2 4h8z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}select option{background:var(--bg-elev);color:var(--text)}.btn{padding:9px 18px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-elev-2);color:var(--text);cursor:pointer;font-size:var(--fs-sm);font-weight:500;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);display:inline-flex;align-items:center;gap:var(--sp-2);justify-content:center;white-space:nowrap}.btn:hover{background:var(--bg-hover);border-color:var(--text-faint)}.btn:active{transform:scale(.975)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:#ffcf68;border-color:#ffcf68}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.btn-sm{padding:5px 11px;font-size:var(--fs-xs)}.btn-lg{padding:12px 26px;font-size:var(--fs-md);border-radius:var(--r-sm)}.btn-success{background:var(--green);border-color:var(--green);color:#06251a;font-weight:600;box-shadow:0 2px 16px #57d99a33}.btn-success:hover{background:#6ee5ab;border-color:#6ee5ab}.btn-success:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.checks{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-dim);-webkit-user-select:none;user-select:none;font-weight:500;margin-bottom:0;padding:8px 13px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.check:hover{color:var(--text);border-color:var(--text-faint);background:var(--bg-elev-2)}.check input{width:16px;height:16px;accent-color:var(--accent-strong);cursor:pointer;flex-shrink:0}.check:has(input:checked){color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.run-row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-soft)}.run-row .btn-primary{margin-left:auto;min-width:170px}.run-hint{font-size:var(--fs-xs);color:var(--text-faint);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:720px){.grid-2{grid-template-columns:1fr}}.row-between{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}.row-between>*{flex:1;min-width:180px}.field{margin-bottom:var(--sp-4)}.field:last-child{margin-bottom:0}.hint{font-size:var(--fs-xs);color:var(--text-faint);margin-top:6px}.error{display:flex;align-items:center;gap:var(--sp-3);padding:13px 18px;margin-bottom:var(--sp-5);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-base);animation:fadeScale var(--dur) var(--ease-out)}.error span:first-child{color:var(--red);font-weight:700;font-family:var(--font-mono);flex-shrink:0}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:currentColor;animation:spin .65s linear infinite;display:inline-block;flex-shrink:0}@media(max-width:560px){.container{padding:0 var(--sp-4) var(--sp-9)}.card{padding:var(--sp-5)}.run-row .btn-primary{margin-left:0;flex:1 1 100%}}.ide{position:relative;z-index:1;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--ground);font-family:var(--font-sans)}.ide ::-webkit-scrollbar{width:8px;height:8px}.ide ::-webkit-scrollbar-track{background:transparent}.ide ::-webkit-scrollbar-thumb{background:var(--hairline);border:2px solid transparent;background-clip:padding-box;border-radius:var(--r-pill)}.ide ::-webkit-scrollbar-thumb:hover{background:var(--ink-ghost);background-clip:padding-box}.ide-topbar{flex:0 0 40px;height:40px;min-width:0;display:flex;align-items:center;gap:var(--s3);padding:0 var(--s3);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.ide-back{flex-shrink:0;padding:4px 10px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--ink-dim);font-family:var(--font-sans);font-size:.82rem;font-weight:500;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.ide-back:hover{color:var(--ink);background:var(--docket);border-color:var(--hairline)}.ide-crumb{min-width:0;font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:var(--s3);border-left:1px solid var(--hairline)}.ide-status{min-width:0;margin-left:auto;padding-left:var(--s2);font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}.ide-unsaved{color:var(--stamp)}.ide-version-label{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;cursor:pointer}.ide-version-text{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);-webkit-user-select:none;user-select:none}.ide-version-select{height:22px;padding:0 18px 0 6px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.72rem;outline:none;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color var(--dur-quick) var(--ease-quick)}.ide-version-select:focus{border-color:var(--stamp-edge)}.ide-version-warning{flex-shrink:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.68rem;color:var(--sev-warn);background:var(--sev-warn-wash, rgba(219, 170, 56, .1));padding:1px 8px;border-radius:var(--r-sm)}.ide-topbar-btn{flex-shrink:0;padding:3px 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.ide-topbar-btn:hover:not(:disabled){color:var(--ink);background:var(--docket);border-color:var(--stamp-edge)}.ide-topbar-btn:disabled{opacity:.35;cursor:not-allowed}.ide-spyglass-status{margin-left:var(--s2);padding:1px 6px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.ide-spyglass-status.ready{color:#2ea043;background:#2ea0431f}.ide-spyglass-status.loading{color:var(--ink-dim);background:#80808024}.ide-spyglass-status.failed{color:#f85149;background:#f8514924}.ide-main{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}.ide-explorer{flex:0 0 260px;width:260px;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--ground-deep);border-right:1px solid var(--hairline)}.ide-explorer-head{flex:0 0 auto;display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--hairline-soft);font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.ide-explorer-count{margin-left:auto;padding:1px 7px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--well);color:var(--ink-ghost);letter-spacing:.04em}.ide-packmeta{flex:0 0 auto;display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s3);border-bottom:1px solid var(--hairline-soft);background:var(--well)}.ide-packmeta-name{flex:1;min-width:0;font-family:var(--font-mono);font-size:.74rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-packmeta-actions{flex-shrink:0;display:inline-flex}.ide-packmeta-actions .btn{padding:2px 8px;font-size:.7rem;line-height:1.4}.ide-tree{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--s1) 0 var(--s5)}.ide-tree-empty{padding:var(--s5) var(--s3);text-align:center;font-size:var(--t-body-sm);color:var(--ink-ghost)}.ide-tree-row{display:flex;align-items:center;gap:5px;width:100%;min-width:0;padding-block:3px;padding-right:var(--s3);border:0;border-radius:0;background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.735rem;line-height:1.6;text-align:left;cursor:pointer;white-space:nowrap;transition:background var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick)}.ide-tree-row:hover{background:var(--docket);color:var(--ink)}.ide-tree-row:focus-visible{outline-offset:-2px}.ide-caret{flex-shrink:0;width:10px;font-size:.5rem;line-height:1;color:var(--ink-ghost);transition:color var(--dur-quick) var(--ease-quick)}.ide-folder:hover .ide-caret{color:var(--ink-dim)}.ide-folder-icon{flex-shrink:0;font-size:.7rem;line-height:1;filter:grayscale(.35);opacity:.85}.ide-folder-name{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink-dim)}.ide-folder.collapsed .ide-folder-name{color:var(--ink-faint)}.ide-file-icon{flex-shrink:0;width:10px;text-align:center;font-size:.6rem;line-height:1;color:var(--ink-ghost)}.ide-file-actions{display:inline-flex;align-items:center;gap:2px;margin-left:auto;opacity:0;transition:opacity var(--dur-quick) var(--ease-quick)}.ide-file-actions.visible{opacity:1}.ide-file:hover>.ide-file-actions,.ide-file:focus-within>.ide-file-actions,.ide-tree-row:hover>.ide-file-actions{opacity:1}.ide-file-action{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:var(--r-sm);color:var(--ink-ghost);font-size:.68rem;line-height:1;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick)}.ide-file-action:hover{color:var(--ink);background:var(--docket-raised, var(--docket))}.ide-rename-input{flex:1 1 auto;min-width:0;height:20px;padding:0 4px;border:1px solid var(--stamp-edge);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.735rem;line-height:1;outline:none}.ide-file.renaming{cursor:default;background:var(--docket)}.ide-tree-newfile-btn{display:block;width:100%;padding:3px var(--s3);border:0;background:transparent;color:var(--ink-ghost);font-family:var(--font-mono);font-size:.72rem;text-align:left;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick)}.ide-tree-newfile-btn:hover{color:var(--ink-dim);background:var(--docket)}.ide-tree-newfile{display:flex;align-items:center;gap:5px;padding:3px var(--s3);background:var(--docket)}.ide-newfile-folder{height:20px;padding:0 14px 0 4px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.68rem;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;max-width:100px;min-width:50px}.ide-newfile-input{flex:1 1 auto;min-width:0;height:20px;padding:0 4px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.72rem;line-height:1;outline:none;transition:border-color var(--dur-quick) var(--ease-quick)}.ide-newfile-input:focus{border-color:var(--stamp-edge)}.ide-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.ide-file.active,.ide-file.active:hover{background:var(--stamp-wash);color:var(--stamp);box-shadow:inset 2px 0 0 var(--stamp)}.ide-file.active .ide-file-icon{color:var(--stamp)}.ide-file.dragging{opacity:.4;cursor:grabbing}.ide-file:not(.dragging){cursor:grab}.ide-folder.drop-target{background:var(--stamp-wash);outline:1.5px dashed var(--stamp);outline-offset:-1.5px}.ide-folder.drop-target .ide-folder-name{color:var(--stamp)}.ide-folder.drop-target .ide-folder-icon{filter:none}.ide-loader{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--s3)}.ide-loader .card{margin:0;padding:0;border:0;background:transparent;box-shadow:none;animation:none}.ide-loader .card h2{font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s2)}.ide-loader .card h2 .sub{font-size:.6rem}.ide-loader .dropzone{padding:var(--s5) var(--s3);border-radius:var(--r-md)}.ide-loader .dropzone .dz-icon svg{width:26px;height:26px}.ide-loader .dropzone p{font-size:.8rem;line-height:1.45}.ide-loader .dropzone .dz-hint{font-size:.7rem;margin-top:5px}.ide-loader .dropzone .dz-browse{margin-top:var(--s3);display:flex;flex-direction:column;gap:4px;font-size:.76rem}.ide-loader .dropzone .browse-sep{display:none}.ide-center{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}.ide-tabs{flex:0 0 34px;height:34px;display:flex;align-items:stretch;gap:1px;padding-right:var(--s2);background:var(--ground-deep);border-bottom:1px solid var(--hairline);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.ide-tabs::-webkit-scrollbar{height:3px}.ide-tabs-hint{display:flex;align-items:center;padding:0 var(--s3);font-size:.74rem;color:var(--ink-ghost);white-space:nowrap}.ide-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:0 var(--s2) 0 var(--s3);border-right:1px solid var(--hairline-soft);background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.735rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;box-shadow:inset 0 2px 0 transparent;transition:background var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick),box-shadow var(--dur-quick) var(--ease-quick)}.ide-tab:hover{background:var(--docket);color:var(--ink-dim)}.ide-tab.active{background:var(--well);color:var(--ink);box-shadow:inset 0 2px 0 var(--stamp)}.ide-tab-dot{color:var(--stamp);font-size:.55rem;line-height:1}.ide-tab-dot:not(:empty){margin-right:-2px}.ide-tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.ide-tab-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-ghost);font-size:.62rem;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick)}.ide-tab:hover .ide-tab-close,.ide-tab.active .ide-tab-close,.ide-tab-close:focus-visible{opacity:1}.ide-tab-close:hover{background:var(--docket-raised);color:var(--ink)}.ide-editor{flex:1 1 auto;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--well)}.ide-editor>section{flex:1 1 auto;min-height:0}.ide-editor .monaco-editor,.ide-editor .monaco-editor .monaco-editor-background,.ide-editor .monaco-editor .margin,.ide-editor .monaco-editor-background{background-color:var(--well)}.ide-editor .monaco-editor .scroll-decoration{box-shadow:none}.ide-editor-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--s6) var(--s5);text-align:center;font-size:var(--t-body-sm);color:var(--ink-ghost)}.ide-bottom{flex:0 0 22%;min-height:0;max-height:68%;display:flex;flex-direction:column;overflow:hidden;background:var(--ground);border-top:1px solid var(--hairline)}.ide-bottom.collapsed{flex-basis:0;max-height:40px}.ide-bottom.collapsed .ide-panel-body{display:none}.ide-panel-resize{flex:0 0 9px;height:9px;position:relative;z-index:3;cursor:ns-resize;background:transparent;touch-action:none}.ide-panel-resize:after{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--hairline);transition:background var(--dur-quick) var(--ease-quick)}.ide-panel-resize:hover:after,.ide-panel-resize:active:after{background:var(--stamp)}.ide-sidebar-resize{flex:0 0 9px;width:9px;position:relative;z-index:3;cursor:col-resize;background:transparent;touch-action:none}.ide-sidebar-resize:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:var(--hairline);transition:background var(--dur-quick) var(--ease-quick)}.ide-sidebar-resize:hover:after,.ide-sidebar-resize:active:after{background:var(--stamp)}.ide-panel-tabs{flex:0 0 30px;height:30px;display:flex;align-items:stretch;gap:var(--s1);padding:0 var(--s2);background:var(--ground-deep);border-bottom:1px solid var(--hairline-soft)}.ide-problem-filter{flex:0 0 220px;max-width:30%;margin-left:auto;align-self:center;height:22px;padding:0 8px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.7rem;outline:none;transition:border-color var(--dur-quick) var(--ease-quick)}.ide-problem-filter::placeholder{color:var(--ink-ghost)}.ide-problem-filter:focus{border-color:var(--stamp-edge)}.ide-panel-collapse{flex-shrink:0;align-self:center;width:24px;height:22px;margin-left:var(--s1);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink-faint);font-size:.55rem;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.ide-panel-collapse:hover{color:var(--ink);background:var(--docket);border-color:var(--hairline)}.ide-panel-tab{display:inline-flex;align-items:center;gap:6px;padding:0 var(--s3);border:0;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--t-chip);font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 -2px 0 transparent;transition:color var(--dur-quick) var(--ease-quick),box-shadow var(--dur-quick) var(--ease-quick)}.ide-panel-tab:hover{color:var(--ink-dim)}.ide-panel-tab.active{color:var(--stamp);box-shadow:inset 0 -2px 0 var(--stamp)}.ide-panel-count{padding:0 6px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--well);color:var(--ink-ghost);font-size:.58rem;letter-spacing:.02em}.ide-panel-tab.active .ide-panel-count{border-color:var(--stamp-edge);color:var(--stamp)}.ide-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ide-panel-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:0 var(--s4) var(--s5)}.ide-runbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin:0 calc(var(--s4) * -1) var(--s3);padding:var(--s2) var(--s4);background:var(--ground);border-bottom:1px solid var(--hairline-soft)}.ide-runbar>span:first-child{display:inline-flex;align-items:center;gap:var(--s2);min-width:0;font-size:.78rem;color:var(--ink-faint)}.ide-runbar .btn{flex-shrink:0;padding:5px 14px;font-size:.78rem}.ide-loading{display:flex;align-items:center;justify-content:center;gap:var(--s2);padding:var(--s6) var(--s4);font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-dim)}.ide-analysis-empty{padding:var(--s4) 0 0;color:var(--ink-dim)}.ide-analysis-empty>p{text-align:center;font-size:var(--t-body-sm);color:var(--ink-faint)}.ide-analysis-empty>p+p{margin-top:4px}.ide-analysis-empty>p.ide-analysis-sub{max-width:var(--measure-tight);margin-inline:auto;color:var(--ink-ghost);font-size:.78rem}.ide-analysis-empty .card{margin-top:var(--s4);text-align:left}.ide-output{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:var(--s2) 0 var(--s4);background:var(--well);font-family:var(--font-mono);font-size:.72rem;line-height:1.75}.ide-output-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--s5) var(--s4);text-align:center;font-family:var(--font-sans);font-size:var(--t-body-sm);color:var(--ink-ghost)}.ide-output-line{flex:0 0 auto;display:flex;align-items:baseline;gap:var(--s3);padding:1px var(--s4);color:var(--ink-dim);border-left:2px solid transparent}.ide-output-line:hover{background:var(--ground-deep)}.ide-output-time{flex:0 0 58px;color:var(--ink-ghost);font-variant-numeric:tabular-nums}.ide-output-kind{flex:0 0 52px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:currentColor;opacity:.85}.ide-output-msg{flex:1 1 auto;min-width:0;color:inherit;overflow-wrap:anywhere}.ide-output-line.info{color:var(--ink-dim)}.ide-output-line.run{color:var(--stamp);border-left-color:var(--stamp-edge)}.ide-output-line.success{color:var(--sev-ok);border-left-color:var(--sev-ok-edge)}.ide-output-line.error{color:var(--sev-error);border-left-color:var(--sev-error-edge);background:var(--sev-error-wash)}.ide-problems{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--s1) 0 var(--s4);background:var(--well)}.ide-problem-file{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:3px var(--s4);border:none;background:transparent;text-align:left;font:inherit;color:var(--ink-dim);cursor:pointer;white-space:nowrap}.ide-problem-file:hover{background:var(--ground-deep);color:var(--ink)}.ide-problem-caret{flex-shrink:0;width:12px;color:var(--ink-ghost);font-size:.68rem;text-align:center}.ide-problem-file-icon{flex-shrink:0;font-size:.7rem;line-height:1;filter:grayscale(.4);opacity:.9}.ide-problem-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--ink)}.ide-problem-file-dir{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-ghost)}.ide-problem-file-count{flex-shrink:0;padding:0 6px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--ground-deep);color:var(--ink-ghost);font-size:.6rem;font-variant-numeric:tabular-nums}.ide-problem{display:flex;align-items:baseline;gap:var(--s2);width:100%;min-width:0;padding:2px var(--s4) 2px calc(var(--s4) + 18px);border:none;background:transparent;text-align:left;font:inherit;color:var(--ink-dim);cursor:pointer;white-space:nowrap}.ide-problem:hover{background:var(--ground-deep);color:var(--ink)}.ide-problem-icon{flex:0 0 14px;text-align:center;font-size:.68rem;line-height:1}.ide-problem-icon.sev-error{color:var(--sev-error)}.ide-problem-icon.sev-warning{color:var(--sev-warn)}.ide-problem-icon.sev-info{color:var(--sev-info)}.ide-problem-msg{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink-dim)}.ide-problem:hover .ide-problem-msg{color:var(--ink)}.ide-problem-source{flex-shrink:0;margin-left:auto;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-faint)}.ide-problem-version-label{flex-shrink:0;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-faint)}.ide-problem-loc{flex-shrink:0;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.ide-problems-summary{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--hairline-soft, #1e293b);font-size:.72rem;font-family:var(--font-mono)}.ide-problem-count.sev-error{color:#f87171;font-weight:600}.ide-problem-count.sev-warning{color:#fbbf24;font-weight:600}.ide-problem-version{margin-left:auto;color:var(--ink-faint)}.ide-statusbar{flex:0 0 22px;height:22px;display:flex;align-items:center;gap:var(--s3);padding:0 var(--s3);background:var(--ground-deep);border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:.66rem;color:var(--ink-faint)}.ide-statusbar-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--ink-faint)}.ide-statusbar-file{min-width:0;overflow:hidden;text-overflow:ellipsis}.ide-statusbar-version{color:var(--ink-dim);font-weight:500}.ide-statusbar-spacer{flex:1 1 auto}.ide-statusbar-spyglass{padding:1px 6px;border-radius:999px;font-size:.62rem;font-weight:600;letter-spacing:.02em}.ide-statusbar-spyglass.ready{color:#2ea043;background:#2ea0431f}.ide-statusbar-spyglass.loading{color:var(--ink-dim);background:#80808024}.ide-statusbar-spyglass.failed{color:#f85149;background:#f8514924}.ide-panel-scroll .card{margin-bottom:var(--s3);padding:var(--s4)}.ide-panel-scroll>:first-child:not(.ide-runbar){margin-top:var(--s3)}.ide-panel-scroll .card:last-child{margin-bottom:0}.ide-panel-scroll>.error{margin-bottom:var(--s3)}.ide .animate-in,.ide .animate-in-d1,.ide .animate-in-d2,.ide .animate-in-d3{animation:none}.ide-panel-scroll .scl-list{max-height:132px}.ide-panel-scroll .issues-scroll,.ide-panel-scroll .knowledge-grid,.ide-panel-scroll .orphan-list,.ide-panel-scroll .fix-file-list{max-height:none;overflow:visible}.ide-panel-scroll .diff-view{max-height:220px}.ide-panel-scroll .stats{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--s2)}.ide-panel-scroll .stat{padding:var(--s3) var(--s3)}.ide-panel-scroll .stat .num{font-size:1.32rem}.ide-panel-scroll .result-header-row{gap:var(--s2)}.ide-panel-scroll .result-actions .btn{padding:3px 9px;font-size:.72rem}.ide-panel-scroll .vhead{flex-wrap:wrap;row-gap:var(--s1)}.ide-panel-scroll .cta-port{padding:3px 10px;font-size:.72rem}@media(max-width:1100px){.ide-explorer{flex-basis:220px;width:220px}}@media(max-width:860px){.ide-main{flex-direction:column}.ide-explorer{flex:0 0 34%;width:100%;border-right:0;border-bottom:1px solid var(--hairline)}.ide-bottom{flex-basis:40%;max-height:60%}.ide-crumb{display:none}.ide-status{max-width:60%}.ide-panel-scroll{padding-inline:var(--s3)}.ide-runbar{margin-inline:calc(var(--s3) * -1);padding-inline:var(--s3)}}.ide-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000059;pointer-events:none}.ide-drop-card{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s6) var(--s8);border:2px dashed var(--stamp);border-radius:var(--r-lg);background:var(--docket);color:var(--ink);font-family:var(--font-mono);font-size:var(--t-mono);pointer-events:none}.ide-drop-icon{font-size:2rem;color:var(--stamp);line-height:1}.ide-drop-hint{color:var(--ink-faint);font-size:var(--t-chip)}.mcmeta-form{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--well)}.mcmeta-form-head{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.mcmeta-form-title{display:inline-flex;align-items:center;gap:var(--s2);min-width:0}.mcmeta-form-name{font-family:var(--font-mono);font-size:.82rem;color:var(--ink);letter-spacing:.02em}.mcmeta-badge{padding:1px 7px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--docket);color:var(--ink-faint);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}.mcmeta-btn-ghost{margin-left:auto;padding:3px 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.mcmeta-btn-ghost:hover{color:var(--ink);background:var(--docket);border-color:var(--stamp-edge)}.mcmeta-form-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--s4) var(--s5) var(--s6)}.mcmeta-section{padding-bottom:var(--s4);margin-bottom:var(--s4);border-bottom:1px solid var(--hairline-soft)}.mcmeta-section:last-child{border-bottom:0;margin-bottom:0}.mcmeta-section-label{margin-bottom:var(--s2);font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.mcmeta-row{display:flex;align-items:center}.mcmeta-row-custom{margin-top:var(--s2);gap:var(--s2)}.mcmeta-inline-label{flex-shrink:0;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-ghost);-webkit-user-select:none;user-select:none}.mcmeta-select,.mcmeta-input{width:100%;height:30px;padding:0 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--docket);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color var(--dur-quick) var(--ease-quick),box-shadow var(--dur-quick) var(--ease-quick)}.mcmeta-input{font-family:var(--font-sans)}.mcmeta-input-custom{flex:1 1 auto;min-width:0;width:auto;max-width:160px}.mcmeta-select:focus,.mcmeta-input:focus{border-color:var(--stamp-edge);box-shadow:0 0 0 3px var(--stamp-wash)}.mcmeta-select:disabled,.mcmeta-input:disabled{opacity:.5;cursor:not-allowed;background:var(--ground-deep);color:var(--ink-ghost)}.mcmeta-hint{margin-top:var(--s2);font-family:var(--font-mono);font-size:.68rem;color:var(--ink-ghost);letter-spacing:.02em}.mcmeta-segmented{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--ground-deep)}.mcmeta-seg{padding:4px 12px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.03em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick)}.mcmeta-seg:hover:not(:disabled){color:var(--ink)}.mcmeta-seg.active{background:var(--stamp-wash);color:var(--stamp)}.mcmeta-seg:disabled{opacity:.5;cursor:not-allowed}.mcmeta-range{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3)}.mcmeta-range .mcmeta-select{flex:1 1 auto;min-width:0}.mcmeta-range-sep{flex-shrink:0;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-ghost)}.mcmeta-error{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3);margin-bottom:var(--s4);border:1px solid var(--sev-error-edge);border-radius:var(--r-sm);background:var(--sev-error-wash)}.mcmeta-error-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-pill);background:var(--sev-error);color:var(--well);font-size:.7rem;font-weight:700;line-height:1}.mcmeta-error-body{flex:1 1 auto;min-width:0}.mcmeta-error-title{font-size:.82rem;font-weight:600;color:var(--sev-error)}.mcmeta-error-detail{margin-top:2px;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-dim);overflow-wrap:anywhere}.mcmeta-error .mcmeta-btn-ghost{margin-left:0;flex-shrink:0;border-color:var(--sev-error-edge);color:var(--sev-error)}.mcmeta-error .mcmeta-btn-ghost:hover{background:var(--sev-error-wash);border-color:var(--sev-error)}.ide-form-toggle{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:4px var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.ide-form-toggle-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.ide-form-toggle-btn{margin-left:auto;padding:3px 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.ide-form-toggle-btn:hover{color:var(--ink);background:var(--docket);border-color:var(--stamp-edge)}.ide-recipe-bar{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:4px var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.ide-recipe-bar-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.ide-recipe-select{height:22px;padding:0 18px 0 6px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.72rem;outline:none;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color var(--dur-quick) var(--ease-quick)}.ide-recipe-select:focus{border-color:var(--stamp-edge)}.ide-recipe-select:disabled{opacity:.45;cursor:not-allowed}.ide-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:var(--warn-bg,#3a3120);border-bottom:1px solid var(--warn-border,#5b4c26);color:var(--text,#e8e8e8);font-size:13px}.ide-draft-banner-text{line-height:1.4}.ide-draft-banner-actions{display:flex;gap:8px;flex-shrink:0}.ide-draft-banner-actions button{padding:4px 12px;border-radius:4px;border:1px solid var(--accent,#4a90d9);background:var(--accent,#4a90d9);color:#fff;cursor:pointer;font-size:13px}.ide-draft-banner-actions button.secondary{background:transparent;border-color:var(--border,#3a3a3a);color:var(--text,#e8e8e8)}.ide-stale{padding:8px 14px;margin:8px 12px;border:1px solid var(--warn-border,#8a6d1f);border-left:3px solid var(--warn-border,#8a6d1f);border-radius:4px;background:var(--warn-bg,#2c2a1e);color:var(--warn-text,#e0c14f);font-size:13px}.mcdoc-form{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--well)}.mcdoc-form-head{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.mcdoc-form-title{display:inline-flex;align-items:center;gap:var(--s2);min-width:0}.mcdoc-form-name{font-family:var(--font-mono);font-size:.82rem;color:var(--ink);letter-spacing:.02em}.mcdoc-btn-ghost{margin-left:auto;padding:3px 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.mcdoc-btn-ghost:hover{color:var(--ink);background:var(--docket);border-color:var(--stamp-edge)}.mcdoc-form-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--s4) var(--s5) var(--s6)}.mcdoc-resolving{display:flex;align-items:center;gap:var(--s2);padding:var(--s5) 0;font-family:var(--font-mono);font-size:.76rem;color:var(--ink-ghost)}.mcdoc-resolving-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--ink-ghost);animation:mcdoc-pulse 1.4s ease-in-out infinite}@keyframes mcdoc-pulse{0%,to{opacity:.25}50%{opacity:1}}.mcdoc-error{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3);margin-bottom:var(--s4);border:1px solid var(--sev-error-edge);border-radius:var(--r-sm);background:var(--sev-error-wash)}.mcdoc-error-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-pill);background:var(--sev-error);color:var(--well);font-size:.7rem;font-weight:700;line-height:1}.mcdoc-error-body{flex:1 1 auto;min-width:0}.mcdoc-error-title{font-size:.82rem;font-weight:600;color:var(--sev-error)}.mcdoc-error-detail{margin-top:2px;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-dim);overflow-wrap:anywhere}.mcdoc-error .mcdoc-btn-ghost{margin-left:0;flex-shrink:0;border-color:var(--sev-error-edge);color:var(--sev-error)}.mcdoc-error .mcdoc-btn-ghost:hover{background:var(--sev-error-wash);border-color:var(--sev-error)}.mcdoc-struct{display:flex;flex-direction:column;gap:var(--s4)}.mcdoc-group{padding-bottom:var(--s4);border-bottom:1px solid var(--hairline-soft)}.mcdoc-group:last-child{padding-bottom:0;border-bottom:0}.mcdoc-group-label{margin-bottom:var(--s3);font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-faint)}.mcdoc-field{margin-bottom:var(--s3)}.mcdoc-field:last-child{margin-bottom:0}.mcdoc-field-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s1)}.mcdoc-field-label{font-family:var(--font-mono);font-size:.78rem;color:var(--ink)}.mcdoc-field-actions{margin-left:auto;display:inline-flex;gap:4px}.mcdoc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--docket);color:var(--ink-dim);font-size:.72rem;line-height:1;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.mcdoc-icon-btn:hover:not(:disabled){color:var(--ink);background:var(--docket-raised, var(--docket));border-color:var(--stamp-edge)}.mcdoc-icon-btn:disabled{opacity:.35;cursor:not-allowed}.mcdoc-badges{display:inline-flex;gap:4px}.mcdoc-badge{padding:1px 6px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--docket);color:var(--ink-ghost);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.mcdoc-badge-since{color:var(--sev-ok, #3fb950);border-color:var(--sev-ok-edge, rgba(63, 185, 80, .4))}.mcdoc-badge-until{color:var(--sev-warn, #dbba38);border-color:var(--sev-warn-edge, rgba(219, 186, 56, .4))}.mcdoc-badge-schema{color:var(--ink-faint)}.mcdoc-muted{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-ghost);font-style:italic}.mcdoc-select,.mcdoc-input{width:100%;height:30px;padding:0 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--docket);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:border-color var(--dur-quick) var(--ease-quick),box-shadow var(--dur-quick) var(--ease-quick)}.mcdoc-input{font-family:var(--font-sans)}.mcdoc-input:focus,.mcdoc-select:focus{border-color:var(--stamp-edge);box-shadow:0 0 0 3px var(--stamp-wash)}.mcdoc-check{width:16px;height:16px;accent-color:var(--stamp, #4a90d9);cursor:pointer}.mcdoc-literal-chip{display:inline-block;padding:2px 8px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--ground-deep);color:var(--ink-dim);font-family:var(--font-mono);font-size:.72rem}.mcdoc-union{display:flex;flex-direction:column;gap:var(--s2)}.mcdoc-union .mcdoc-select{max-width:320px}.mcdoc-list{display:flex;flex-direction:column;gap:var(--s2)}.mcdoc-list-row{display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s2);border:1px solid var(--hairline-soft);border-radius:var(--r-sm);background:var(--ground-deep)}.mcdoc-list-controls{display:inline-flex;flex-direction:column;gap:2px;flex-shrink:0}.mcdoc-list-row>:last-child{flex:1 1 auto;min-width:0}.mcdoc-add{align-self:flex-start;padding:3px 10px;border:1px dashed var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick)}.mcdoc-add:hover{color:var(--ink);border-color:var(--stamp-edge);background:var(--docket)}.mcdoc-tuple{display:flex;flex-direction:column;gap:var(--s2)}.mcdoc-tuple-row{display:flex;align-items:center;gap:var(--s2)}.mcdoc-tuple-idx{flex-shrink:0;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-ghost)}.mcdoc-map{display:flex;flex-direction:column;gap:var(--s2)}.mcdoc-map-row{display:flex;align-items:center;gap:var(--s2)}.mcdoc-map-key{flex:0 0 160px;max-width:160px;font-family:var(--font-mono)}.mcdoc-map-row>:last-child{flex:1 1 auto;min-width:0}.ide-explorer.collapsed{width:0!important;min-width:0!important;padding:0!important;overflow:hidden!important;border-right:none!important}.ide-explorer.collapsed .ide-explorer-head,.ide-explorer.collapsed .ide-tree,.ide-explorer.collapsed .ide-packmeta{display:none!important}.breadcrumbs{flex:0 0 30px;height:30px;display:flex;align-items:center;gap:2px;padding:0 8px;font-size:12px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.breadcrumbs-home{display:flex;align-items:center;gap:4px;color:var(--text-secondary, #969696);cursor:default}.breadcrumbs-item{display:flex;align-items:center;gap:4px;padding:2px 6px;background:transparent;border:none;border-radius:3px;color:var(--text-secondary, #969696);cursor:pointer;font-size:12px;font-family:inherit;transition:background .1s,color .1s}.breadcrumbs-item:hover:not(:disabled){background:var(--bg-hover, #2a2d2e);color:var(--text-primary, #cccccc)}.breadcrumbs-item.active{color:var(--text-primary, #cccccc);cursor:default}.breadcrumbs-separator-icon{color:var(--text-muted, #858585);font-size:11px;-webkit-user-select:none;user-select:none}.ide-editor-toolbar{display:flex;gap:8px;padding:6px 12px;border-bottom:1px solid var(--hairline, #252e3c);background:var(--docket, #161d27)}.ide-tool-btn{padding:4px 12px;background:var(--docket-raised, #1d2532);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:12px;font-family:var(--font-sans, inherit);cursor:pointer}.ide-tool-btn:hover:not(:disabled){border-color:var(--stamp, #f07a35);color:var(--stamp, #f07a35)}.ide-tool-btn:disabled{opacity:.4;cursor:not-allowed}.ide-split{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column}.ide-split-bar{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:4px var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.ide-split-modes{display:flex;gap:var(--s2, 4px)}.ide-split-modes button{margin:0;padding:3px 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:transparent;color:var(--ink-dim);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:color var(--dur-quick) var(--ease-quick),background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick)}.ide-split-modes button:hover{color:var(--ink);border-color:var(--accent)}.ide-split-modes button.active{background:var(--accent);border-color:var(--accent);color:#fff}.ide-split-parse-error{font-family:var(--font-mono);font-size:.7rem;color:var(--sev-warn)}.ide-split-body{flex:1 1 auto;min-height:0;display:flex}.ide-split-left,.ide-split-right{min-width:0;min-height:0;position:relative}.ide-split-left>*{height:100%}.ide-split-split .ide-split-left{flex:1 1 50%}.ide-split-split .ide-split-right{flex:1 1 50%;overflow-y:auto}.ide-split-source .ide-split-left{flex:1 1 100%}.ide-split-source .ide-split-right,.ide-split-gui .ide-split-left{display:none}.ide-split-gui .ide-split-right{flex:1 1 100%;overflow-y:auto}.ide-split-right .mcmeta-btn-ghost,.ide-split-right .mcdoc-btn-ghost{display:none}.ide-split-divider{flex:0 0 9px;width:9px;position:relative;z-index:3;cursor:col-resize;background:transparent;touch-action:none}.ide-split-divider:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:var(--hairline);transition:background var(--dur-quick) var(--ease-quick)}.ide-split-divider:hover:after,.ide-split-divider:active:after{background:var(--stamp)}.ide-explorer-head{gap:var(--s2)}.ide-explorer-title{letter-spacing:.08em;text-transform:uppercase}.ide-explorer-head-actions{margin-left:auto;display:inline-flex;align-items:center;gap:2px}.ide-explorer-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-ghost);font-size:.8rem;line-height:1;cursor:pointer;transition:background var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick)}.ide-explorer-btn:hover{background:var(--stamp-wash);color:var(--ink)}.ide-explorer-btn:active{background:var(--stamp);color:var(--paper, #fff)}.ide-tree-newfile-row{display:flex;gap:4px;padding:2px var(--s3)}.ide-tree-newfile-row .ide-tree-newfile-btn{flex:1 1 0;width:auto;border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink-dim)}.ide-tree-newfile-row .ide-tree-newfile-btn:hover{background:var(--stamp-wash);color:var(--ink)}.ide-file-badge{flex-shrink:0;min-width:30px;padding:0 4px;border:1px solid var(--hairline);border-radius:var(--r-sm);text-align:center;font-family:var(--font-mono);font-size:.52rem;font-weight:600;letter-spacing:.03em;line-height:14px;text-transform:uppercase;color:var(--ink-ghost);background:var(--well)}.ide-file-ext-json{color:#e8c84a;border-color:#e8c84a55}.ide-file-ext-mcmeta{color:#c792ea;border-color:#c792ea55}.ide-file-ext-mcfunction{color:#7fd88a;border-color:#7fd88a55}.ide-file-ext-nbt{color:#e0936b;border-color:#e0936b55}.ide-file-ext-txt{color:#9aa7b4}.ide-file-ext-lang{color:#6fb3e0;border-color:#6fb3e055}.ide-file-ext-png,.ide-file-ext-jpg,.ide-file-ext-jpeg,.ide-file-ext-gif{color:#e08ab0;border-color:#e08ab055}.ide-file-ext-yml,.ide-file-ext-yaml,.ide-file-ext-json5{color:#6fb3e0;border-color:#6fb3e055}.ide-file-edited{flex-shrink:0;color:var(--stamp);font-size:.55rem}.dz-new-pack{margin-top:var(--s4);padding-top:var(--s3);border-top:1px dashed var(--hairline-soft)}.dz-new-pack-title{margin-bottom:var(--s2);font-size:var(--t-body-sm);color:var(--ink-ghost)}.dz-new-pack-row{display:flex;gap:var(--s2)}.dz-new-pack-input{flex:1 1 auto;min-width:0;height:30px;padding:0 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;outline:none;transition:border-color var(--dur-quick) var(--ease-quick)}.dz-new-pack-input:focus{border-color:var(--stamp)}.dz-new-pack-range{align-items:center}.dz-new-pack-label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}.dz-new-pack-num{flex:0 0 64px;width:64px;text-align:center;font-family:var(--font-mono)}.dz-new-pack-dash{color:var(--ink-dim);-webkit-user-select:none;user-select:none}.visual-editor{display:flex;flex-direction:column;height:100%;min-height:0}.visual-editor-bar{flex:0 0 40px;height:40px;display:flex;align-items:center;gap:var(--s2);padding:0 var(--s2);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.visual-mode-toggle{display:flex;gap:2px}.visual-mode-toggle button{height:26px;padding:0 12px;border:1px solid var(--hairline);background:var(--well);color:var(--ink-dim);font-size:.78rem;cursor:pointer}.visual-mode-toggle button.active{color:var(--ink);border-color:var(--stamp);background:var(--docket)}.visual-compile{height:26px;padding:0 14px;border:1px solid var(--stamp);background:var(--stamp);color:#fff;border-radius:var(--r-sm);font-size:.78rem;cursor:pointer}.visual-hint{color:var(--ink-dim);font-size:.72rem}.visual-body{flex:1 1 auto;min-height:0;display:flex}.visual-palette{flex:0 0 200px;width:200px;overflow-y:auto;border-right:1px solid var(--hairline);background:var(--ground-deep);padding:var(--s2)}.visual-palette-title{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:var(--s1)}.visual-palette-group{margin-bottom:var(--s2)}.visual-palette-cat{font-size:.72rem;color:var(--ink-dim);margin-bottom:4px}.visual-palette-item{display:block;width:100%;text-align:left;margin-bottom:3px;padding:4px 8px;font-size:.76rem;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);cursor:pointer}.visual-palette-item:hover{border-color:var(--stamp)}.visual-canvas{flex:1 1 auto;min-width:0}.visual-diag{flex:0 0 280px;width:280px;overflow-y:auto;border-left:1px solid var(--hairline);background:var(--ground-deep);padding:var(--s2)}.visual-diag-title{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:var(--s2) 0 var(--s1)}.visual-compiled{white-space:pre-wrap;font-family:var(--font-mono);font-size:.74rem;background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:var(--s1);max-height:220px;overflow:auto;color:var(--ink)}.visual-diag-list{list-style:none;padding:0;margin:0}.vdiag{font-size:.74rem;padding:3px 6px;border-left:2px solid var(--hairline);margin-bottom:3px}.vdiag-error{border-left-color:var(--sev-warn);color:var(--ink)}.vdiag-warning{border-left-color:var(--warn, #b8860b)}.vdiag-code{font-family:var(--font-mono);color:var(--ink-dim)}.vnode{min-width:170px;background:var(--docket);border:1px solid var(--hairline);border-radius:var(--r-sm);font-size:.76rem;color:var(--ink);box-shadow:0 1px 2px #00000040}.vnode.selected{border-color:var(--stamp)}.vnode-head{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--hairline);background:var(--well)}.vnode-cat{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.vnode-label{font-weight:600}.vnode-fields{padding:6px 8px;display:flex;flex-direction:column;gap:5px}.vnode-field{display:flex;flex-direction:column;gap:2px}.vnode-field-label{font-size:.66rem;color:var(--ink-dim)}.vnode-input{height:24px;padding:0 6px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink);font-size:.74rem;font-family:var(--font-mono)}.vnode-cat-flow .vnode-head{border-left:3px solid var(--stamp)}.vnode-unknown{padding:8px;color:var(--ink-dim)}.vf-handle{width:11px;height:11px;border:2px solid var(--ground-deep)}.vf-handle-flow{background:var(--stamp)}.vf-handle-data{background:var(--warn, #c08a2d);border-radius:2px}.react-flow__handle.vf-handle-flow{box-shadow:0 0 0 2px #78a0ff40}.vf-ctx-menu{position:fixed;z-index:50;min-width:150px;list-style:none;margin:0;padding:4px;background:var(--docket);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:0 6px 20px #0006;font-size:.78rem;color:var(--ink)}.vf-ctx-menu li{padding:5px 10px;border-radius:var(--r-sm);cursor:pointer}.vf-ctx-menu li:hover{background:var(--well)}.react-flow__minimap{background:var(--ground-deep);border:1px solid var(--hairline);border-radius:var(--r-sm, 4px)}.react-flow__minimap-mask{fill:#00000073}.react-flow__minimap-node{fill:#6b7a99}.react-flow__controls{box-shadow:0 0 0 1px var(--hairline),0 4px 14px #00000059;border-radius:var(--r-sm, 4px);overflow:hidden}.react-flow__controls-button{background:var(--docket);border-bottom:1px solid var(--hairline);color:var(--ink);fill:var(--ink);width:26px;height:26px}.react-flow__controls-button:hover{background:var(--well)}.react-flow__controls-button svg{fill:var(--ink);max-width:14px;max-height:14px}.mcdoc-registry{position:relative;width:100%}.mcdoc-registry-input{width:100%;font-family:var(--font-mono)}.mcdoc-registry-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--docket);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--lift)}.mcdoc-registry-option{padding:4px 8px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcdoc-registry-option:hover,.mcdoc-registry-option.is-selected{background:var(--stamp-wash);color:var(--stamp)}.mcdoc-registry-option-clear{color:var(--ink-faint);font-style:italic}.mcdoc-registry-empty{padding:4px 8px;color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--t-mono)}.mcdoc-field-help{margin:2px 0 6px;font-family:var(--font-sans);font-size:var(--t-body-sm);line-height:var(--lh-body);color:var(--ink-faint)}.ide-recipe-search{position:relative;flex:1 1 auto;min-width:180px}.ide-recipe-input{width:100%;padding:5px 8px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--docket);color:var(--ink);font-family:var(--font-mono);font-size:var(--t-mono)}.ide-recipe-input:focus{outline:none;border-color:var(--stamp);box-shadow:0 0 0 2px var(--stamp-wash)}.ide-recipe-input:disabled{opacity:.6;cursor:not-allowed}.ide-recipe-results{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--docket);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--lift)}.ide-recipe-option{padding:4px 8px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-recipe-option:hover{background:var(--stamp-wash);color:var(--stamp)}.ide-generator-bar{flex:0 0 auto;display:flex;align-items:center;gap:var(--s3);padding:4px var(--s4);background:var(--ground-deep);border-bottom:1px solid var(--hairline)}.ide-generator-wiki{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 10px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--well);color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;text-decoration:none;cursor:pointer;transition:border-color var(--dur-quick) var(--ease),color var(--dur-quick) var(--ease),background var(--dur-quick) var(--ease)}.ide-generator-wiki:hover{border-color:var(--stamp);color:var(--stamp);background:var(--stamp-wash)}.mcdoc-card{margin-bottom:var(--s3);border:1px solid var(--hairline-soft);border-radius:var(--r-sm);background:var(--ground)}.mcdoc-card-absent{border-style:dashed;border-color:var(--hairline);background:transparent}.mcdoc-card-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid transparent}.mcdoc-card-head.is-clickable{cursor:pointer}.mcdoc-card-head.is-clickable:hover{background:var(--docket)}.mcdoc-card.is-clickable>.mcdoc-card-head.is-clickable{border-bottom-color:var(--hairline-soft)}.mcdoc-chevron{flex:0 0 auto;width:14px;text-align:center;color:var(--ink-faint);font-size:.62rem;transition:transform var(--dur-quick) var(--ease-quick);-webkit-user-select:none;user-select:none}.mcdoc-card-body{padding:var(--s3) var(--s3) var(--s2) calc(var(--s3) + 14px);border-top:1px solid var(--hairline-soft)}.mcdoc-card-hint{padding:2px var(--s3) var(--s2);font-size:.72rem}.mcdoc-chip{display:inline-flex;align-items:center;padding:1px 7px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--docket);color:var(--ink);font-family:var(--font-mono);font-size:.74rem;line-height:1.5}.mcdoc-row{margin-bottom:var(--s3)}.mcdoc-row-hint{margin-top:2px;font-size:.72rem}.mcdoc-field-help{margin-top:3px;font-size:.72rem;color:var(--ink-faint);line-height:1.4}.mcdoc-add-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--stamp-edge);border-radius:var(--r-sm);background:var(--stamp-wash);color:var(--stamp-bright);font-size:.82rem;font-weight:700;line-height:1;cursor:pointer;transition:background var(--dur-quick) var(--ease-quick),border-color var(--dur-quick) var(--ease-quick),color var(--dur-quick) var(--ease-quick)}.mcdoc-add-btn:hover{background:var(--stamp);border-color:var(--stamp);color:var(--stamp-ink)}.mcdoc-card-head .mcdoc-badges{display:inline-flex;gap:4px}.mcdoc-json-area{width:100%;min-height:84px;resize:vertical;font-family:var(--font-mono);font-size:.8rem;line-height:1.45;color:var(--ink);background:var(--well);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:var(--s2) var(--s3);outline:none}.mcdoc-json-area:focus{border-color:var(--stamp);box-shadow:var(--ring)}.advancement-editor,.recipe-editor,.loot-table-editor,.predicate-editor,.tag-editor{flex:1 1 auto;min-height:0;padding:16px;max-width:820px;max-height:100%;overflow-y:auto;color:var(--ink, #e6ebf2)}.advancement-editor-header,.recipe-editor-header,.loot-table-editor-header,.predicate-editor-header,.tag-editor-header{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--hairline, #252e3c)}.advancement-editor-header h3,.recipe-editor-header h3,.loot-table-editor-header h3,.predicate-editor-header h3,.tag-editor-header h3{margin:0;font-size:16px;font-weight:600;color:var(--ink, #e6ebf2)}.advancement-editor-section,.recipe-editor-section,.loot-table-editor-section,.predicate-editor-section,.tag-editor-section{margin-bottom:16px;padding:12px;background:var(--docket, #161d27);border:1px solid var(--hairline-soft, #1b222e);border-radius:var(--r-md, 4px)}.advancement-editor-section h4,.recipe-editor-section h4,.loot-table-editor-section h4,.predicate-editor-section h4,.tag-editor-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--ink-dim, #9aa7ba);text-transform:uppercase;letter-spacing:var(--tr-head, .18em)}.advancement-empty,.recipe-empty,.loot-table-empty,.predicate-empty,.tag-empty{color:var(--ink-faint, #8692a5);font-style:italic;padding:8px}.advancement-field,.recipe-field,.tag-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.advancement-field label,.recipe-field label,.tag-field label{font-size:12px;color:var(--ink-dim, #9aa7ba);display:flex;align-items:center;gap:8px}.advancement-field input,.recipe-field input,.tag-field input,.advancement-field select,.recipe-field select,.tag-field select{padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-sans, inherit)}.advancement-field input:focus,.recipe-field input:focus,.tag-field input:focus,.advancement-field select:focus,.recipe-field select:focus,.tag-field select:focus{outline:none;border-color:var(--stamp, #f07a35)}.advancement-display{display:flex;flex-direction:column;gap:8px}.advancement-criteria{display:flex;flex-direction:column;gap:4px}.advancement-criterion{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px)}.advancement-criterion-name{font-weight:500;color:var(--ink, #e6ebf2)}.advancement-criterion-trigger{font-size:12px;color:var(--ink-faint, #8692a5)}.advancement-json{background:var(--well, #0a0f16);padding:8px;border-radius:var(--r-sm, 3px);font-size:12px;overflow-x:auto;color:var(--ink, #e6ebf2)}.recipe-pattern{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.recipe-pattern-row{display:flex;gap:2px}.recipe-pattern-cell{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-xs, 2px);font-size:10px;color:var(--ink, #e6ebf2)}.recipe-ingredient{display:inline-flex;padding:4px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px);margin:2px;font-size:13px;color:var(--ink, #e6ebf2)}.loot-pools{display:flex;flex-direction:column;gap:8px}.loot-pool{border:1px solid var(--hairline, #252e3c);border-radius:var(--r-md, 4px);padding:8px}.loot-pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.loot-pool-name{font-weight:600;color:var(--ink, #e6ebf2)}.loot-pool-rolls{font-size:12px;color:var(--ink-faint, #8692a5)}.loot-pool-items{display:flex;flex-direction:column;gap:4px}.loot-entry{display:flex;gap:8px;align-items:center;padding:4px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px);font-size:13px}.loot-entry-type{color:var(--stamp, #f07a35);font-weight:500}.loot-entry-name{color:var(--ink, #e6ebf2)}.loot-entry-weight{margin-left:auto;font-size:12px;color:var(--ink-faint, #8692a5)}.predicate-conditions{display:flex;flex-direction:column;gap:4px}.predicate-condition{display:flex;gap:8px;align-items:center;padding:6px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px)}.predicate-condition-key{font-weight:500;color:var(--ink, #e6ebf2)}.predicate-condition-type{font-size:12px;color:var(--ink-faint, #8692a5)}.tag-values{display:flex;flex-wrap:wrap;gap:4px}.tag-value{padding:4px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px);font-size:13px}.tag-value-item{color:var(--ink, #e6ebf2)}.recipe-pattern-add,.recipe-pattern-del,.recipe-key-add button,.recipe-ingredients button,.loot-table-editor-header button,.loot-pool-header button,.loot-pool-items button,.advancement-criteria button,.tag-values button,.recipe-key-row button,.recipe-ingredient-row button,.loot-entry-row button{padding:4px 8px;background:var(--docket-raised, #1d2532);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:12px;cursor:pointer}.recipe-pattern-add:hover,.recipe-ingredients button:hover,.loot-table-editor-header button:hover,.loot-pool-header button:hover,.loot-pool-items button:hover,.advancement-criteria button:hover,.tag-values button:hover,.recipe-key-row button:hover,.recipe-ingredient-row button:hover,.loot-entry-row button:hover{border-color:var(--stamp, #f07a35);color:var(--stamp, #f07a35)}.recipe-itemref{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.recipe-itemref label{font-size:12px;color:var(--ink-dim, #9aa7ba)}.recipe-itemref-row{display:flex;gap:6px;align-items:center}.recipe-itemref-row select,.recipe-itemref-row input{padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-sans, inherit)}.recipe-itemref-row input{flex:1;min-width:0}.recipe-itemref-row select:focus,.recipe-itemref-row input:focus{outline:none;border-color:var(--stamp, #f07a35)}.recipe-pattern-row input{flex:1;padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-family:var(--font-mono, monospace);letter-spacing:.15em;font-size:13px}.recipe-pattern-row input:focus{outline:none;border-color:var(--stamp, #f07a35)}.recipe-key{display:flex;flex-direction:column;gap:6px}.recipe-key-row{display:flex;align-items:center;gap:8px}.recipe-key-sym{width:28px;text-align:center;font-family:var(--font-mono, monospace);font-weight:600;color:var(--stamp, #f07a35);background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);padding:4px 0}.recipe-key-row .recipe-itemref{flex:1;margin-bottom:0}.recipe-key-add{display:flex;align-items:center;gap:8px;margin-top:4px}.recipe-key-add input{padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;width:140px}.recipe-key-hint{font-size:11px;color:var(--ink-faint, #8692a5)}.recipe-ingredients{display:flex;flex-direction:column;gap:6px}.recipe-ingredient-row{display:flex;align-items:center;gap:8px}.recipe-ingredient-row .recipe-itemref{flex:1;margin-bottom:0}.recipe-checkbox label{flex-direction:row;gap:8px;cursor:pointer}.recipe-checkbox input{width:auto}.loot-pool-fields{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.loot-pool-fields .recipe-field{margin-bottom:0}.loot-entry-row{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--well, #0a0f16);border-radius:var(--r-sm, 3px)}.loot-entry-row select,.loot-entry-row input{padding:5px 7px;background:var(--ground, #0e131b);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-sans, inherit)}.loot-entry-row input{flex:1;min-width:0}.loot-entry-weight{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-faint, #8692a5)}.loot-entry-weight input{width:64px;flex:none}.loot-entry-row select:focus,.loot-entry-row input:focus{outline:none;border-color:var(--stamp, #f07a35)}.advancement-criterion select{padding:5px 7px;background:var(--ground, #0e131b);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px}.advancement-criterion select:focus{outline:none;border-color:var(--stamp, #f07a35)}.tag-values{display:flex;flex-direction:column;gap:6px}.tag-value{display:flex;align-items:center;gap:8px;padding:0;background:transparent}.tag-value input{flex:1;padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-mono, monospace)}.tag-value input:focus{outline:none;border-color:var(--stamp, #f07a35)}.predicate-condition-card{border:1px solid var(--hairline, #252e3c);border-radius:var(--r-md, 4px);padding:10px;margin-bottom:8px;background:var(--docket, #161d27)}.predicate-condition-head select{padding:6px 8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-mono, monospace)}.predicate-condition-head select:focus{outline:none;border-color:var(--stamp, #f07a35)}.predicate-terms{display:flex;flex-direction:column;gap:8px;margin-top:8px;border-left:2px solid var(--hairline, #252e3c);padding-left:10px}.predicate-term{position:relative;display:flex;flex-direction:column;gap:4px}.predicate-term-del{align-self:flex-end;padding:2px 8px;background:transparent;border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink-faint, #8692a5);font-size:11px;cursor:pointer}.predicate-term-del:hover{border-color:var(--sev-error, #e5534b);color:var(--sev-error, #e5534b)}.predicate-checks{display:flex;gap:16px;margin-top:8px}.predicate-checks label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-dim, #9aa7ba);cursor:pointer}.predicate-extra{display:flex;flex-direction:column;gap:4px;margin-top:8px}.predicate-extra label{font-size:12px;color:var(--ink-dim, #9aa7ba)}.predicate-extra-text{width:100%;min-height:120px;padding:8px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-family:var(--font-mono, monospace);font-size:12px;line-height:1.5;resize:vertical}.predicate-extra-text:focus{outline:none;border-color:var(--stamp, #f07a35)}.predicate-extra-error{color:var(--sev-error, #e5534b);font-size:12px}.predicate-scores{display:flex;flex-direction:column;gap:6px;margin-top:8px}.predicate-score-row{display:flex;gap:6px;align-items:center}.predicate-score-row input{padding:5px 7px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:13px;font-family:var(--font-mono, monospace)}.predicate-score-row input:focus{outline:none;border-color:var(--stamp, #f07a35)}.recipe-fields-row{display:flex;gap:16px;flex-wrap:wrap}.recipe-fields-row .recipe-field{margin-bottom:0}.predicate-extra-text.invalid{border-color:#e55!important;background:#2a1010!important}.field-error{color:#e55;font-size:.75rem;margin-top:.25rem;font-family:var(--font-mono, monospace)}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:10000}.command-palette{width:600px;max-width:90vw;max-height:60vh;background:var(--docket, #161d27);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-lg, 6px);box-shadow:var(--lift, 0 8px 22px -8px rgba(0, 0, 0, .7));display:flex;flex-direction:column;overflow:hidden}.command-palette-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline, #252e3c)}.command-palette-icon{color:var(--ink-faint, #8692a5);font-size:16px;font-weight:700}.command-palette-input{flex:1;background:transparent;border:none;outline:none;color:var(--ink, #e6ebf2);font-size:14px;font-family:var(--font-sans, inherit)}.command-palette-input::placeholder{color:var(--ink-faint, #8692a5)}.command-palette-list{overflow-y:auto;max-height:400px;padding:8px 0}.command-palette-section{padding:0}.command-palette-section-label{padding:8px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint, #8692a5)}.command-palette-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;color:var(--ink, #e6ebf2);font-size:13px;transition:background var(--dur-quick, .15s)}.command-palette-item:hover,.command-palette-item.selected{background:var(--docket-raised, #1d2532)}.command-palette-item-label{color:var(--ink, #e6ebf2)}.command-palette-item-shortcut{color:var(--ink-faint, #8692a5);font-size:12px;font-family:var(--font-mono, monospace)}.command-palette-empty{padding:16px;text-align:center;color:var(--ink-faint, #8692a5);font-style:italic}.quickopen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:10000}.quickopen{width:600px;max-width:90vw;max-height:60vh;background:var(--docket, #161d27);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-lg, 6px);box-shadow:var(--lift, 0 8px 22px -8px rgba(0, 0, 0, .7));display:flex;flex-direction:column;overflow:hidden}.quickopen-header{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline, #252e3c)}.quickopen-icon{position:absolute;color:var(--ink-faint, #8692a5);font-size:14px}.quickopen-input{width:100%;padding:8px 12px;background:var(--well, #0a0f16);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);color:var(--ink, #e6ebf2);font-size:14px;font-family:var(--font-sans, inherit);outline:none;box-sizing:border-box}.quickopen-input:focus{border-color:var(--stamp, #f07a35)}.quickopen-input::placeholder{color:var(--ink-faint, #8692a5)}.quickopen-tabs{display:flex;gap:4px}.quickopen-tab{padding:4px 12px;background:transparent;border:none;border-radius:var(--r-sm, 3px);color:var(--ink-dim, #9aa7ba);cursor:pointer;font-size:12px;font-family:var(--font-sans, inherit);transition:background var(--dur-quick, .15s),color var(--dur-quick, .15s)}.quickopen-tab:hover{background:var(--docket-raised, #1d2532);color:var(--ink, #e6ebf2)}.quickopen-tab.active{background:var(--stamp-wash, rgba(240, 122, 53, .12));color:var(--stamp-bright, #ff8f4d)}.quickopen-list{overflow-y:auto;max-height:400px;padding:8px 0}.quickopen-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;color:var(--ink, #e6ebf2);font-size:13px;transition:background var(--dur-quick, .15s)}.quickopen-item:hover,.quickopen-item.selected{background:var(--docket-raised, #1d2532)}.quickopen-item-icon{font-size:14px;opacity:.8}.quickopen-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quickopen-empty{padding:16px;text-align:center;color:var(--ink-faint, #8692a5);font-style:italic}.terminal-panel{display:flex;flex-direction:column;height:100%;background:var(--well, #0a0f16);border-top:1px solid var(--hairline, #252e3c)}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--docket, #161d27);border-bottom:1px solid var(--hairline, #252e3c)}.terminal-title{font-size:12px;font-weight:600;color:var(--ink, #e6ebf2);text-transform:uppercase;letter-spacing:var(--tr-head, .18em)}.terminal-close{background:transparent;border:none;color:var(--ink-faint, #8692a5);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:var(--r-sm, 3px)}.terminal-close:hover{background:var(--docket-raised, #1d2532);color:var(--ink, #e6ebf2)}.terminal-output{flex:1;overflow-y:auto;padding:8px 12px;font-family:var(--font-mono, "JetBrains Mono", Consolas, monospace);font-size:13px;line-height:1.5}.terminal-empty{color:var(--ink-faint, #8692a5);font-style:italic}.terminal-line{display:flex;gap:8px;padding:2px 0}.terminal-time{color:var(--ink-faint, #8692a5);font-size:11px;flex-shrink:0}.terminal-msg{color:var(--ink, #e6ebf2)}.terminal-info .terminal-msg{color:var(--sev-info, #78a9d8)}.terminal-success .terminal-msg{color:var(--sev-ok, #5fc48a)}.terminal-error .terminal-msg{color:var(--sev-error, #f2726d)}.terminal-warning .terminal-msg{color:var(--sev-warn, #e0a233)}.terminal-command .terminal-msg{color:var(--stamp-bright, #ff8f4d)}.terminal-input-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--hairline, #252e3c);background:var(--well, #0a0f16)}.terminal-prompt{color:var(--stamp, #f07a35);font-family:var(--font-mono, monospace);font-weight:600}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:var(--ink, #e6ebf2);font-family:var(--font-mono, monospace);font-size:13px}.breadcrumbs{display:flex;align-items:center;gap:2px;padding:0 10px;height:30px;font-size:var(--fs-xs, .8125rem);overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex:0 0 30px;border-bottom:1px solid var(--hairline, #252e3c);background:var(--ground, #0e131b)}.breadcrumbs-home{display:flex;align-items:center;gap:4px;color:var(--ink-dim, #9aa7ba);cursor:default}.breadcrumbs-item{display:flex;align-items:center;gap:4px;padding:2px 6px;background:transparent;border:none;border-radius:var(--r-sm, 3px);color:var(--ink-dim, #9aa7ba);cursor:pointer;font-size:var(--fs-xs, .8125rem);font-family:var(--font-sans, inherit);transition:background var(--dur-quick, .15s),color var(--dur-quick, .15s)}.breadcrumbs-item:hover:not(:disabled){background:var(--bg-hover, #222b39);color:var(--ink, #e6ebf2)}.breadcrumbs-item.active{color:var(--ink, #e6ebf2);cursor:default}.breadcrumbs-item:disabled{cursor:default}.breadcrumbs-separator{display:flex;align-items:center;gap:2px}.breadcrumbs-separator-icon{color:var(--ink-faint, #8692a5);font-size:11px;-webkit-user-select:none;user-select:none}.breadcrumbs-icon{font-size:12px}.context-menu{position:fixed;background:var(--docket, #161d27);border:1px solid var(--hairline, #252e3c);border-radius:var(--r-sm, 3px);box-shadow:var(--lift-sm, 0 3px 10px -3px rgba(0, 0, 0, .62));padding:4px 0;min-width:180px;z-index:10001}.context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;cursor:pointer;font-size:13px;color:var(--ink, #e6ebf2);transition:background var(--dur-quick, .15s)}.context-menu-item:hover{background:var(--docket-raised, #1d2532)}.context-menu-item.disabled{color:var(--ink-faint, #8692a5);cursor:default}.context-menu-item.disabled:hover{background:transparent}.context-menu-separator{height:1px;background:var(--hairline, #252e3c);margin:4px 0}.context-menu-shortcut{color:var(--ink-faint, #8692a5);font-size:12px;font-family:var(--font-mono, monospace)}
