:root{--color-bg: #0b0f12;--color-bg-canvas: #10161a;--color-panel: #171d22;--color-panel-raised: #202831;--color-panel-soft: #12181d;--color-border: #2f3a42;--color-border-strong: #46545f;--color-text: #f1f5f8;--color-text-muted: #a8b4bc;--color-text-subtle: #75838d;--color-accent: #f2a51a;--color-accent-strong: #ffc44d;--color-accent-soft: #4b3514;--color-belt: #f7c948;--color-resource: #51c8c6;--color-machine: #5aa7dc;--color-output: #83cd70;--color-warning: #e05845;--color-power: #b18ae6;--color-pipe: #ff8234;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--radius-sm: 4px;--radius-md: 8px;--shadow-sm: 0 8px 18px rgba(0, 0, 0, .24);--shadow-md: 0 18px 40px rgba(0, 0, 0, .34);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .46);--font-ui: Inter, Atkinson Hyperlegible, Segoe UI, ui-sans-serif, system-ui, sans-serif}.planner-shell :is(bw-planner-targets-section,bw-planner-objectives-section,bw-planner-recipes-section,bw-planner-inputs-section,bw-planner-resources-section,bw-planner-machines-section,bw-planner-display-section,bw-planner-defaults-panel,bw-planner-inspector,bw-selected-node-inspector,bw-target-item-picker){display:block;min-height:0}.planner-shell :is(.section-actions,.row-tools){display:flex;align-items:center;gap:var(--space-2);min-width:0}.planner-shell .work-section{display:grid;align-content:start;gap:14px;box-sizing:border-box;height:100%;min-height:0;padding:var(--space-4);background:radial-gradient(circle at 8% 0%,rgba(242,165,26,.045),transparent 28%),transparent;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.planner-shell :is(.section-heading,.panel-heading){display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.planner-shell :is(.panel-heading span,.section-heading span){color:var(--color-text-muted);font-size:12px}.planner-shell :is(h2,h3,h4){margin:0;letter-spacing:0}.planner-shell h2{font-size:18px}.planner-shell h3{color:var(--color-text);font-size:15px;line-height:1.18}.planner-shell h4{color:var(--color-text);font-size:14px}.planner-shell .game-icon{--game-icon-size: 24px;display:inline-grid;flex:0 0 var(--game-icon-size);place-items:center;width:var(--game-icon-size);min-width:var(--game-icon-size);height:var(--game-icon-size);min-height:var(--game-icon-size);overflow:hidden;border:1px solid color-mix(in srgb,var(--color-border) 52%,transparent);border-radius:4px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.1),transparent 54%),color-mix(in srgb,var(--color-panel-raised) 72%,transparent)}.planner-shell .game-icon--xs{--game-icon-size: 18px}.planner-shell .game-icon--sm{--game-icon-size: 20px}.planner-shell .game-icon--md{--game-icon-size: 24px}.planner-shell .game-icon--lg{--game-icon-size: 32px}.planner-shell .game-icon img{display:block;width:100%;height:100%;object-fit:contain}.planner-shell .game-icon--machine{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel-raised))}.planner-shell .game-icon--unavailable{border:1px dashed color-mix(in srgb,var(--color-text-muted) 42%,transparent);background:color-mix(in srgb,var(--color-panel-raised) 48%,transparent);opacity:.5}.planner-shell .primary-action{border-color:color-mix(in srgb,var(--color-accent) 65%,var(--color-border));background:linear-gradient(180deg,#ffc44d2e,#f2a51a14),color-mix(in srgb,var(--color-accent) 15%,var(--color-panel-raised));color:var(--color-accent-strong);font-weight:750;box-shadow:inset 0 1px #ffffff14,0 8px 18px #00000038}.planner-shell :is(.target-table,.input-table){display:grid;gap:7px}.planner-shell :is(.target-row,.input-row){display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(116px,.65fr) minmax(112px,.5fr) auto;gap:8px;align-items:center;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--color-border) 84%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.026),transparent 38%),color-mix(in srgb,var(--color-panel-raised) 90%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell .input-row{grid-template-columns:minmax(220px,1fr) minmax(140px,180px) auto}.planner-shell :is(.target-row--head,.input-row--head){min-height:0;padding:0 8px;border:0;background:transparent;color:var(--color-text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.planner-shell :is(.target-row select,.target-row input,.input-row select,.input-row input){min-width:0}.planner-shell :is(.target-row--needs-item,.input-row--needs-item){border-color:color-mix(in srgb,var(--color-accent) 38%,var(--color-border));background:linear-gradient(90deg,rgba(242,165,26,.11),transparent 54%),color-mix(in srgb,var(--color-accent) 6%,var(--color-panel-raised))}.planner-shell .target-item-picker,.planner-shell .target-item-combobox{min-width:0;position:relative}.planner-shell .target-item-combobox__trigger{gap:7px;justify-content:flex-start;width:100%;min-width:0}.planner-shell .target-item-combobox__value{flex:1 1 auto;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.planner-shell .target-item-combobox__value--placeholder,.planner-shell .target-item-combobox__chevron{color:var(--color-text-muted)}.planner-shell .target-item-combobox__chevron{flex:0 0 auto;margin-left:auto}.planner-shell .target-item-combobox__panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;min-width:0;max-height:min(320px,58vh);border:1px solid color-mix(in srgb,var(--color-accent) 38%,var(--color-border));border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 22%),var(--color-panel);box-shadow:var(--shadow-md);overflow:hidden}.planner-shell .target-item-combobox__search{width:100%;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:color-mix(in srgb,var(--color-panel-raised) 80%,black)}.planner-shell .target-item-combobox__list{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;height:min(220px,34vh);max-height:260px;padding:4px;background:var(--color-panel);overflow:auto}.planner-shell .target-item-combobox__option{display:flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;min-height:30px;padding:0 8px;border-color:transparent;background:transparent;color:var(--color-text);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .target-item-combobox__option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell :is(.target-item-combobox__option:hover,.target-item-combobox__option--active){border-color:color-mix(in srgb,var(--color-accent) 32%,transparent);background:color-mix(in srgb,var(--color-accent) 13%,var(--color-panel-raised))}.planner-shell .target-item-combobox__option--selected{color:var(--color-accent-strong);font-weight:750}.planner-shell .target-item-combobox__empty{display:grid;place-items:center;min-height:42px;color:var(--color-text-muted);font-size:12px}.planner-shell .row-tools{justify-content:flex-end;flex-wrap:nowrap}.planner-shell .row-tools button{white-space:nowrap}.planner-shell .plan-notes{display:grid;gap:var(--space-2);min-width:0;padding-top:var(--space-2);border-top:1px solid color-mix(in srgb,var(--color-border) 74%,black)}.planner-shell .plan-notes__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.planner-shell .plan-notes__heading label{min-width:0;color:var(--color-text);font-size:12px;font-weight:750;text-transform:uppercase}.planner-shell .plan-notes textarea{width:100%;min-width:0;min-height:118px;resize:vertical}.planner-shell .recipe-toolbar{display:grid;grid-template-columns:minmax(260px,460px);gap:var(--space-2);align-items:center}.planner-shell .search-field input{width:100%}.planner-shell :is(.check-row,.compact-row){display:flex;align-items:center;gap:var(--space-2)}.planner-shell .recipe-columns{container:recipe-columns / inline-size;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));gap:var(--space-3);align-items:start}.planner-shell .recipe-group{display:grid;gap:var(--space-2);min-width:0;padding-bottom:10px;border:1px solid color-mix(in srgb,var(--color-border) 78%,black);border-radius:var(--radius-md);background:linear-gradient(180deg,rgba(255,255,255,.026),transparent 26%),color-mix(in srgb,var(--color-panel-raised) 56%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell .recipe-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0;padding:10px 10px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 78%,black)}.planner-shell .recipe-group-header span{display:block;margin-top:3px;color:var(--color-text-muted);font-size:11px}.planner-shell .recipe-group-actions{justify-content:flex-end;flex-wrap:wrap}.planner-shell .recipe-group-actions button{white-space:nowrap}.planner-shell .recipe-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;padding:0 10px 2px}.planner-shell .recipe-subtab{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:30px;padding:4px 8px;border-color:color-mix(in srgb,var(--color-border) 76%,black);background:color-mix(in srgb,var(--color-panel-raised) 54%,black);color:var(--color-text-muted);font-size:12px}.planner-shell .recipe-subtab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .recipe-subtab span:last-child{flex:0 0 auto;color:var(--color-text-muted);font-size:11px;font-weight:750}.planner-shell .recipe-subtab--active{border-color:color-mix(in srgb,var(--color-accent) 56%,var(--color-border));background:linear-gradient(180deg,rgba(255,196,77,.12),transparent),color-mix(in srgb,var(--color-accent) 13%,var(--color-panel-raised));color:var(--color-text)}.planner-shell .recipe-group-align-spacer{display:none;min-height:32px}@container recipe-columns (min-width: 1052px){.planner-shell .recipe-group-align-spacer{display:block}}.planner-shell :is(.recipe-list,.config-toggle-list,.compact-list,.inspector-list,.resource-grid,.machine-usage-list,.warning-list){display:grid;gap:7px}.planner-shell .config-toggle-row{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;min-height:52px;padding:9px 10px 9px 12px;border:1px solid color-mix(in srgb,var(--color-border) 80%,black);border-radius:var(--radius-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--color-panel-raised) 72%,black),color-mix(in srgb,var(--color-panel-raised) 94%,black));cursor:pointer;overflow:hidden;box-shadow:inset 0 1px #ffffff06;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease}.planner-shell .recipe-row{grid-template-columns:18px minmax(0,1fr) auto auto;min-height:60px;overflow:visible}.planner-shell .recipe-row:hover,.planner-shell .recipe-row:focus-within{z-index:20}.planner-shell .config-toggle-row:before{position:absolute;top:0;bottom:0;left:0;width:3px;background:transparent;content:"";transition:background .14s ease,box-shadow .14s ease}.planner-shell .config-toggle-row:not(.config-toggle-row--locked):hover{border-color:color-mix(in srgb,var(--color-accent) 46%,var(--color-border));background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 11%,var(--color-panel-raised)),color-mix(in srgb,var(--color-panel-raised) 94%,black));box-shadow:inset 0 1px #ffffff09,0 8px 18px #0000002e}.planner-shell .config-toggle-row:focus-within{outline:2px solid var(--color-accent-strong);outline-offset:2px}.planner-shell .config-toggle-row--enabled{border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-border));background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 17%,var(--color-panel-raised)),color-mix(in srgb,var(--color-accent) 7%,var(--color-panel-raised)) 48%,color-mix(in srgb,var(--color-panel-raised) 94%,black));box-shadow:inset 0 0 18px color-mix(in srgb,var(--color-accent) 8%,transparent)}.planner-shell .config-toggle-row--enabled:before{background:var(--color-accent);box-shadow:0 0 16px color-mix(in srgb,var(--color-accent) 70%,transparent)}.planner-shell .config-toggle-row--disabled{border-color:color-mix(in srgb,var(--color-border) 78%,black);background:color-mix(in srgb,var(--color-panel-raised) 62%,black);color:var(--color-text-muted)}.planner-shell .config-toggle-row--locked{cursor:not-allowed}.planner-shell .config-toggle-row__control{position:absolute;width:1px;min-height:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);opacity:0}.planner-shell .config-toggle-row__indicator{position:relative;display:inline-grid;place-items:center;width:14px;height:14px;border:1px solid color-mix(in srgb,var(--color-text-muted) 58%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-panel) 82%,black);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-panel-raised) 80%,black)}.planner-shell .config-toggle-row__indicator:after{width:6px;height:6px;border-radius:999px;background:transparent;content:""}.planner-shell .config-toggle-row--enabled .config-toggle-row__indicator{border-color:var(--color-accent-strong);background:color-mix(in srgb,var(--color-accent) 26%,var(--color-panel));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-panel-raised) 80%,black),0 0 12px color-mix(in srgb,var(--color-accent) 42%,transparent)}.planner-shell .config-toggle-row--enabled .config-toggle-row__indicator:after{background:var(--color-accent-strong)}.planner-shell .config-toggle-row__copy{display:grid;gap:4px;align-self:center;min-width:0}.planner-shell :is(.machine-title-line,.recipe-meta-line){display:flex;align-items:center;gap:8px;min-width:0}.planner-shell .recipe-meta-line{gap:6px}.planner-shell .recipe-product-icons{display:flex;align-items:center;justify-self:end;gap:4px;min-width:0}.planner-shell .recipe-row .recipe-product-icons{align-self:center;min-width:40px}.planner-shell .recipe-row .recipe-product-icons .game-icon--lg{--game-icon-size: 36px}.planner-shell .recipe-row .recipe-product-icons .game-icon:not(.game-icon--unavailable){background:transparent}.planner-shell .config-toggle-row__title{display:block;color:var(--color-text);font-weight:750}.planner-shell .config-toggle-row--disabled .config-toggle-row__title{color:color-mix(in srgb,var(--color-text) 78%,var(--color-text-muted))}.planner-shell .config-toggle-row__meta{display:block;color:var(--color-text-muted);font-size:12px}.planner-shell :is(.config-toggle-row__title,.config-toggle-row__meta,.compact-row span,.usage-row span){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .config-toggle-row__badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.planner-shell .config-toggle-row__state{flex:0 0 auto;min-width:54px;padding:2px 7px;border:1px solid color-mix(in srgb,var(--color-accent) 54%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent-strong);font-size:10px;font-weight:800;line-height:1.45;text-align:center;text-transform:uppercase;white-space:nowrap}.planner-shell .config-toggle-row__state--off{border-color:color-mix(in srgb,var(--color-text-muted) 42%,var(--color-border));background:color-mix(in srgb,var(--color-panel) 62%,black);color:var(--color-text-muted)}.planner-shell .recipe-icon-more{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 4px;border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel) 55%,transparent);color:var(--color-text-muted);font-size:11px;font-weight:750;line-height:1}.planner-shell .recipe-chip{flex:0 0 auto;padding:2px 7px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:11px;line-height:1.35;white-space:nowrap}.planner-shell .recipe-chip--alt{border-color:color-mix(in srgb,var(--color-power) 55%,var(--color-border));color:var(--color-power)}.planner-shell .recipe-detail-tooltip{position:absolute;top:calc(100% + 7px);right:10px;left:48px;z-index:30;display:block;min-width:230px;max-width:420px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-accent) 34%,var(--color-border));border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%),#11171bf7;box-shadow:var(--shadow-md);color:var(--color-text);font-size:12px;line-height:1.28;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden}.planner-shell .recipe-row:hover .recipe-detail-tooltip,.planner-shell .recipe-row:focus-within .recipe-detail-tooltip{opacity:1;transform:translateY(0);visibility:visible}.planner-shell .recipe-detail-tooltip__title{display:block;min-width:0;overflow:hidden;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.planner-shell .recipe-detail-tooltip__stat{display:block;margin-top:4px;color:var(--color-text-muted)}.planner-shell .recipe-detail-tooltip__section{display:block;margin-top:10px;color:var(--color-text-muted);font-size:10px;font-weight:750;line-height:1.1;text-transform:uppercase}.planner-shell .recipe-detail-tooltip__flow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:5px}.planner-shell .recipe-detail-tooltip__flow span:not(.game-icon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .recipe-detail-tooltip__flow strong{flex:0 0 auto;font-weight:750}.planner-shell .machine-row{grid-template-columns:18px 42px minmax(0,1fr) minmax(116px,auto);min-height:66px;gap:10px}.planner-shell .machine-icon-slot{display:inline-grid;align-self:center;justify-self:center;place-items:center;width:42px;min-width:42px}.planner-shell .machine-icon-slot .game-icon--lg{--game-icon-size: 38px}.planner-shell .machine-row .game-icon--machine:not(.game-icon--unavailable){background:transparent}.planner-shell .machine-meta{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.planner-shell .machine-meta__chip{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.planner-shell .machine-meta__chip--power{color:color-mix(in srgb,var(--color-power) 78%,var(--color-text))}.planner-shell .machine-plan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);min-width:0}.planner-shell .machine-plan-summary>div{min-width:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 42%),color-mix(in srgb,var(--color-panel-raised) 70%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell .machine-plan-summary span,.planner-shell .machine-usage-summary span:first-child{display:block;color:var(--color-text-muted);font-size:10px;font-weight:750;text-transform:uppercase}.planner-shell .machine-plan-summary strong{display:block;margin-top:5px;color:var(--color-accent-strong);font-size:16px;line-height:1.15;overflow-wrap:anywhere}.planner-shell .machine-usage-summary{display:grid;justify-self:end;gap:2px;min-width:112px;max-width:150px;text-align:right}.planner-shell .machine-usage-summary strong{color:var(--color-accent-strong);font-size:14px;line-height:1.15}.planner-shell .machine-usage-summary span:last-child{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.planner-shell .recipe-empty{min-height:64px;padding:var(--space-3);border:1px dashed color-mix(in srgb,var(--color-border) 86%,black);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel-raised) 42%,black);color:var(--color-text-muted);display:grid;place-items:center;text-align:center}.planner-shell .resource-actions{justify-content:flex-end;flex-wrap:wrap}.planner-shell .resource-actions button{white-space:nowrap}.planner-shell .resource-grid{grid-template-columns:minmax(0,1fr)}.planner-shell .resource-row{display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(118px,150px) auto;gap:var(--space-2);align-items:center;min-width:0;min-height:58px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.026),transparent 44%),color-mix(in srgb,var(--color-panel-raised) 88%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell .resource-row--custom{border-color:color-mix(in srgb,var(--color-accent) 38%,var(--color-border));background:linear-gradient(90deg,rgba(242,165,26,.1),transparent 52%),color-mix(in srgb,var(--color-panel-raised) 88%,black)}.planner-shell .resource-row--disabled{background:color-mix(in srgb,var(--color-panel-raised) 68%,black);opacity:.78}.planner-shell .resource-toggle{display:grid;place-items:center}.planner-shell .resource-copy{display:grid;gap:4px;min-width:0}.planner-shell .resource-title-line{display:flex;align-items:center;gap:6px;min-width:0}.planner-shell .resource-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.planner-shell .resource-marker{flex:0 0 auto;padding:1px 6px;border:1px solid color-mix(in srgb,var(--color-accent) 52%,var(--color-border));border-radius:var(--radius-sm);color:var(--color-accent-strong);font-size:10px;font-weight:750;line-height:1.5;text-transform:uppercase}.planner-shell .resource-marker--off{border-color:color-mix(in srgb,var(--color-warning) 55%,var(--color-border));color:var(--color-warning)}.planner-shell .resource-meta{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.planner-shell .resource-cap{display:flex;align-items:center;justify-self:end;gap:6px;width:100%;max-width:150px;min-width:0}.planner-shell .resource-row button{justify-self:end}.planner-shell .resource-cap input{width:100%;min-width:0;text-align:right}.planner-shell .resource-cap span:not(.sr-only){flex:0 0 auto;color:var(--color-text-muted);font-size:12px;white-space:nowrap}.planner-shell :is(.compact-list--wide,.config-toggle-list--wide){grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.planner-shell .config-toggle-list--machines{grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr))}.planner-shell .display-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.planner-shell .objective-summary{display:grid;gap:4px;min-width:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--color-accent) 36%,var(--color-border));border-radius:var(--radius-sm);background:linear-gradient(90deg,rgba(242,165,26,.16),transparent 58%),color-mix(in srgb,var(--color-accent) 9%,var(--color-panel-raised));box-shadow:inset 0 1px #ffffff09}.planner-shell .objective-summary strong{color:var(--color-accent-strong);font-size:14px}.planner-shell .objective-summary span,.planner-shell .objective-summary em{min-width:0;color:var(--color-text-muted);font-size:12px;font-style:normal;line-height:1.35;overflow-wrap:anywhere}.planner-shell .objective-preset-grid,.planner-shell .objective-weight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.planner-shell .objective-preset-card{display:grid;align-content:start;justify-items:start;gap:5px;min-width:0;min-height:94px;padding:11px 12px;border-color:color-mix(in srgb,var(--color-border) 82%,black);background:linear-gradient(180deg,rgba(255,255,255,.028),transparent 42%),color-mix(in srgb,var(--color-panel-raised) 88%,black);color:var(--color-text);text-align:left}.planner-shell .objective-preset-card:hover:not(:disabled),.planner-shell .objective-preset-card--active{border-color:color-mix(in srgb,var(--color-accent) 66%,var(--color-border));background:linear-gradient(180deg,rgba(255,196,77,.14),transparent 70%),color-mix(in srgb,var(--color-accent) 12%,var(--color-panel-raised))}.planner-shell .objective-preset-card--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 48%,transparent)}.planner-shell .objective-preset-card strong,.planner-shell .objective-preset-card span{min-width:0;overflow-wrap:anywhere}.planner-shell .objective-preset-card strong{color:var(--color-text);font-size:13px}.planner-shell .objective-preset-card span{color:var(--color-text-muted);font-size:11px;line-height:1.32}.planner-shell .objective-custom-panel{display:grid;gap:var(--space-2);min-width:0}.planner-shell .objective-weight-card input{width:100%;min-width:0}.planner-shell .objective-resource-panel{display:grid;gap:5px;min-width:0;padding-top:4px}.planner-shell .objective-resource-note{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.planner-shell .objective-resource-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0}.planner-shell .objective-resource-row{display:grid;grid-template-columns:minmax(158px,1fr) minmax(286px,1.45fr) auto;gap:7px;align-items:center;min-width:0;min-height:36px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel-raised) 88%,black)}.planner-shell .objective-resource-row--head{min-height:0;padding:0 7px;border:0;background:transparent;color:var(--color-text-muted);font-size:10px;font-weight:750;text-transform:uppercase}.planner-shell .objective-resource-row--custom{border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,var(--color-panel-raised))}.planner-shell .objective-resource-copy{display:grid;min-width:0}.planner-shell .objective-resource-title{display:flex;align-items:center;gap:5px;min-width:0}.planner-shell .objective-resource-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;line-height:1.25}.planner-shell .objective-resource-state{flex:0 0 auto;padding:0 5px;border:1px solid color-mix(in srgb,var(--color-accent) 56%,var(--color-border));border-radius:var(--radius-sm);color:var(--color-accent-strong);font-size:10px;font-weight:750;line-height:1.5;text-transform:uppercase}.planner-shell .objective-resource-state--neutral{border-color:color-mix(in srgb,var(--color-border) 82%,black);color:var(--color-text-muted)}.planner-shell .objective-resource-formula{display:grid;grid-template-columns:minmax(54px,.6fr) auto minmax(86px,1fr) auto minmax(70px,.75fr);gap:5px;align-items:center;min-width:0}.planner-shell .objective-resource-formula--head{align-items:end}.planner-shell .objective-resource-formula--head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .objective-resource-factor,.planner-shell .objective-resource-multiplier{display:flex;align-items:center;min-width:0}.planner-shell .objective-resource-factor strong{min-width:0;color:var(--color-text);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .objective-resource-factor--effective strong{color:var(--color-accent-strong)}.planner-shell .objective-resource-operator{color:var(--color-text-muted);font-size:11px;line-height:1}.planner-shell .objective-resource-multiplier input{width:100%;min-width:0;min-height:26px;height:26px;padding-block:2px;text-align:right}.planner-shell .objective-resource-row button{justify-self:end;min-height:26px;padding-inline:7px}.planner-shell .display-setting-card{display:grid;gap:var(--space-2);min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.028),transparent 42%),color-mix(in srgb,var(--color-panel-raised) 88%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell :is(.display-setting-card__label,.display-setting-card em){color:var(--color-text-muted);font-size:11px}.planner-shell .display-setting-card__label{font-weight:750;text-transform:uppercase}.planner-shell .display-setting-card select{width:100%;min-width:0}.planner-shell .display-setting-card--check{grid-template-columns:minmax(0,1fr) auto;align-items:center}.planner-shell .display-setting-card--check span{display:grid;gap:3px;min-width:0}.planner-shell :is(.display-setting-card strong,.display-setting-card em){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .display-setting-card strong{font-size:13px}.planner-shell .display-setting-card em{font-style:normal}.planner-shell .empty-state{display:grid;place-items:center;gap:var(--space-2);min-height:140px;padding:var(--space-4);border:1px dashed color-mix(in srgb,var(--color-border) 86%,black);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 22%,rgba(242,165,26,.09),transparent 35%),color-mix(in srgb,var(--color-panel-raised) 58%,transparent);color:var(--color-text-muted);text-align:center}.planner-shell .empty-state--action button{min-width:132px}.planner-shell :is(.compact-row,.usage-row,.metric-grid>div,.inspector-row,.inspector-fact-list>div){min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(255,255,255,.026),transparent 42%),color-mix(in srgb,var(--color-panel-raised) 86%,black);box-shadow:inset 0 1px #ffffff06}.planner-shell .compact-row{justify-content:space-between}.planner-shell .compact-row input[type=number]{width:112px}.planner-shell .compact-row--check input{width:auto}.planner-shell .metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.planner-shell .inspector-metric-grid{margin-top:var(--space-3)}.planner-shell .inspector-shell{display:grid;align-content:start;gap:var(--space-3);min-width:0}.planner-shell .inspector-summary{position:sticky;z-index:2;top:0;display:grid;gap:var(--space-3);margin:0 calc(var(--space-4) * -1);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--color-border) 78%,black);background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel-raised) 44%,var(--color-panel)),color-mix(in srgb,var(--color-panel) 88%,black));box-shadow:0 12px 24px #0000002e}.planner-shell .inspector-summary .inspector-metric-grid{margin-top:0}.planner-shell .inspector-metric-grid--overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.planner-shell .inspector-metric-grid--overview>div{min-height:50px;padding:7px 8px}.planner-shell .metric-grid.inspector-metric-grid--overview span{font-size:10px;line-height:1.1}.planner-shell .metric-grid.inspector-metric-grid--overview strong{margin-top:3px;font-size:13px;line-height:1.15;overflow-wrap:anywhere}.planner-shell .metric-grid.inspector-metric-grid--overview em{display:none}.planner-shell .inspector-content{display:grid;gap:var(--space-3);min-width:0;padding-top:var(--space-2);padding-bottom:var(--space-4)}.planner-shell .selected-node-panel{display:grid;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-accent) 36%,var(--color-border));border-radius:var(--radius-md);background:linear-gradient(180deg,rgba(255,196,77,.08),transparent 42%),color-mix(in srgb,var(--color-panel-raised) 82%,black);box-shadow:var(--shadow-sm)}.planner-shell .selected-node-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-width:0}.planner-shell .selected-node-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.planner-shell .selected-node-title>div{display:grid;gap:2px;min-width:0}.planner-shell :is(.selected-node-heading span,.selected-node-note label){display:block;color:var(--color-text-muted);font-size:10px;font-weight:750;text-transform:uppercase}.planner-shell .selected-node-heading h3{margin-top:3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .selected-node-heading p{min-width:0;margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.planner-shell .selected-node-done{justify-content:flex-start}.planner-shell .selected-node-note{display:grid;gap:5px}.planner-shell .selected-node-note__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.planner-shell .selected-node-note textarea{width:100%;min-width:0;resize:vertical}.planner-shell .metric-grid span{display:block;color:var(--color-text-subtle);font-size:11px;text-transform:uppercase}.planner-shell .metric-grid strong{display:block;margin-top:4px;color:var(--color-accent-strong)}.planner-shell .metric-grid em{display:block;margin-top:3px;color:var(--color-text-muted);font-size:11px;font-style:normal;line-height:1.25}.planner-shell .inspector-section{display:grid;gap:var(--space-2);min-width:0;padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--color-border) 74%,black)}.planner-shell .inspector-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.planner-shell .inspector-section-heading__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.planner-shell .inspector-section-heading span,.planner-shell .inspector-section-heading__actions span{flex:0 0 auto;color:var(--color-text-muted);font-size:11px;font-weight:750}.planner-shell .inspector-section-toggle{flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;color:var(--color-text-muted);font-size:15px;font-weight:850;line-height:1;background:color-mix(in srgb,var(--color-panel-raised) 62%,black)}.planner-shell .inspector-section-toggle:hover{color:var(--color-accent-strong)}.planner-shell .inspector-section-body{display:grid;gap:var(--space-2);min-width:0}.planner-shell .inspector-section-body[hidden]{display:none}.planner-shell .inspector-subsection{display:grid;gap:var(--space-2);min-width:0;padding-top:2px}.planner-shell .inspector-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(72px,auto);gap:8px;align-items:center}.planner-shell .inspector-note-preview{margin:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--color-border) 82%,black);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-panel-raised) 66%,black);color:var(--color-text);font-size:12px;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.planner-shell .inspector-note-row{grid-template-columns:minmax(0,1fr);width:100%;text-align:left}.planner-shell button.inspector-note-row{color:inherit}.planner-shell .inspector-note-row--action:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent) 46%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,var(--color-panel-raised))}.planner-shell .inspector-note-row--stale{border-style:dashed}.planner-shell .inspector-row__copy .inspector-note-row__note{margin-top:3px;color:var(--color-text);overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:pre-wrap}.planner-shell .inspector-row__copy{display:grid;gap:2px;min-width:0}.planner-shell .inspector-row__copy strong,.planner-shell .inspector-row__copy span{min-width:0;overflow:hidden;text-overflow:ellipsis}.planner-shell .inspector-row__copy strong{color:var(--color-text);font-size:12px;line-height:1.25;white-space:nowrap}.planner-shell .inspector-row__copy span{color:var(--color-text-muted);font-size:11px;line-height:1.25;overflow-wrap:anywhere}.planner-shell .inspector-row__value{justify-self:end;max-width:122px;min-width:0;color:color-mix(in srgb,var(--color-accent-strong) 88%,white);font-size:12px;font-weight:750;line-height:1.2;text-align:right;overflow-wrap:anywhere}.planner-shell .inspector-fact-list{display:grid;grid-template-columns:1fr;gap:7px;min-width:0}.planner-shell .inspector-fact-list>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;align-items:center}.planner-shell .inspector-fact-list span{color:var(--color-text-muted);font-size:11px;font-weight:750;text-transform:uppercase}.planner-shell .inspector-fact-list strong{min-width:0;color:var(--color-text);font-size:12px;text-align:right;overflow-wrap:anywhere}.planner-shell .inspector-empty{margin:0;padding:var(--space-2) 0;color:var(--color-text-muted);font-size:12px;line-height:1.35}.planner-shell .inspector-list-note{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.3}.planner-shell .usage-row{display:grid;gap:4px}.planner-shell .machine-usage-list--compact{gap:5px}.planner-shell .inspector-usage-row{gap:7px}.planner-shell .machine-usage-list--compact .inspector-usage-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:44px;padding-block:7px}.planner-shell .usage-machine-copy{display:grid;gap:3px;min-width:0}.planner-shell .inspector-usage-row__meta{min-width:0;overflow:hidden;color:var(--color-text-muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.planner-shell .inspector-usage-row__stats{display:grid;gap:2px;min-width:0;padding-left:26px}.planner-shell .usage-machine-line{display:flex;align-items:center;gap:6px;min-width:0}.planner-shell .usage-row strong{color:var(--color-text);font-size:12px}.planner-shell .machine-usage-list--compact .usage-row strong{justify-self:end;min-width:0;max-width:92px;color:var(--color-accent-strong);text-align:right;overflow-wrap:anywhere}.planner-shell .inspector-usage-row__stats span{color:var(--color-text-muted);font-size:11px}.planner-shell .usage-machine-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-shell .warning-block{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-warning) 65%,var(--color-border));border-radius:var(--radius-md);background:linear-gradient(90deg,rgba(224,88,69,.14),transparent 64%),color-mix(in srgb,var(--color-warning) 10%,var(--color-panel-raised));color:var(--color-text)}.planner-shell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1040px){.planner-shell .recipe-columns{grid-template-columns:1fr}}@media(max-width:820px){.planner-shell .work-section{height:auto;overflow:visible}.planner-shell :is(.target-row,.input-row){grid-template-columns:1fr}.planner-shell :is(.target-row--head,.input-row--head,.recipe-row--head){display:none}.planner-shell :is(.row-tools,.section-heading,.recipe-toolbar,.recipe-group-header){align-items:stretch;grid-template-columns:1fr;flex-direction:column}.planner-shell .config-toggle-row{grid-template-columns:18px minmax(0,1fr)}.planner-shell .machine-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-shell .machine-usage-summary{grid-column:2}.planner-shell .recipe-row{grid-template-columns:18px minmax(0,1fr) auto}.planner-shell .recipe-row .recipe-product-icons{grid-column:3;grid-row:1}.planner-shell .config-toggle-row__badges{grid-column:2;justify-content:flex-start}.planner-shell .recipe-row .config-toggle-row__badges{grid-column:2 / -1}.planner-shell .resource-row{grid-template-columns:auto minmax(0,1fr)}.planner-shell .objective-resource-row{grid-template-columns:minmax(0,1fr)}.planner-shell .objective-resource-row--head{display:none}.planner-shell .objective-resource-formula{grid-template-columns:minmax(58px,.7fr) auto minmax(84px,1fr) auto minmax(72px,.8fr)}.planner-shell :is(.resource-cap,.resource-row button){grid-column:2;justify-self:start}.planner-shell .resource-cap{max-width:180px}.planner-shell :is(.objective-resource-formula,.objective-resource-row button){justify-self:start}.planner-shell .objective-resource-formula{width:min(100%,360px)}}*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0;background:radial-gradient(circle at 20% -20%,rgba(242,165,26,.08),transparent 28%),linear-gradient(180deg,#11171b 0%,var(--color-bg) 52%);color:var(--color-text);font-family:var(--font-ui)}body{overflow:hidden}::selection{background:color-mix(in srgb,var(--color-accent) 38%,transparent);color:var(--color-text)}button,input,select,textarea{min-height:34px;border:1px solid color-mix(in srgb,var(--color-border) 86%,black);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel-raised) 96%,white),color-mix(in srgb,var(--color-panel-raised) 90%,black));color:var(--color-text);font:inherit;letter-spacing:0;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease,opacity .14s ease}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;color:var(--color-text);cursor:pointer;font-weight:650;box-shadow:inset 0 1px #ffffff0a}button:hover{border-color:color-mix(in srgb,var(--color-accent) 72%,var(--color-border));background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 16%,var(--color-panel-raised)),color-mix(in srgb,var(--color-panel-raised) 90%,black));color:var(--color-accent-strong);box-shadow:inset 0 1px #ffffff0d,0 0 0 1px color-mix(in srgb,var(--color-accent) 12%,transparent)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}button:disabled:hover{border-color:color-mix(in srgb,var(--color-border) 86%,black);background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel-raised) 96%,white),color-mix(in srgb,var(--color-panel-raised) 90%,black));color:var(--color-text);box-shadow:inset 0 1px #ffffff0a}input,select,textarea{width:100%;padding:0 8px;background:color-mix(in srgb,var(--color-panel-raised) 72%,black);box-shadow:inset 0 1px 3px #0000003d}textarea{min-width:0;padding-top:7px;padding-bottom:7px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--color-border-strong) 82%,var(--color-accent))}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--color-accent);box-shadow:none}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:color-mix(in srgb,var(--color-bg) 72%,black)}::-webkit-scrollbar-thumb{border:3px solid color-mix(in srgb,var(--color-bg) 72%,black);border-radius:999px;background:color-mix(in srgb,var(--color-border-strong) 76%,var(--color-bg))}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-accent) 42%,var(--color-border-strong))}bw-root{display:block;min-height:100vh}@media(max-width:820px){body{overflow:auto}}.f-flow{color:var(--color-text)}.f-connection .f-connection-path{stroke:color-mix(in srgb,var(--color-belt) 82%,white);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.9;filter:drop-shadow(0 0 3px rgba(247,201,72,.13));transition:stroke .12s ease,stroke-opacity .12s ease,stroke-width .12s ease}.f-connection.graph-edge--pipe .f-connection-path{stroke:color-mix(in srgb,var(--color-pipe) 90%,white);filter:drop-shadow(0 0 3px rgba(255,130,52,.13))}.f-connection.graph-edge--focused .f-connection-path{stroke:color-mix(in srgb,var(--color-belt) 92%,white);stroke-width:3;stroke-opacity:1}.f-connection.graph-edge--pipe.graph-edge--focused .f-connection-path{stroke:color-mix(in srgb,var(--color-pipe) 96%,white)}.f-connection.graph-edge--animated:not(.graph-edge--dimmed):not(.graph-edge--done) .f-connection-path{animation:beltwise-flow-dash 2.8s linear infinite;stroke-dasharray:14 18;stroke-dashoffset:0}.f-connection.graph-edge--dimmed .f-connection-path{stroke-opacity:.2}.f-connection.graph-edge--done .f-connection-path{stroke:color-mix(in srgb,var(--color-text-muted) 64%,var(--color-bg-canvas));stroke-opacity:.32;filter:none}.f-connection .f-marker path{fill:color-mix(in srgb,var(--color-belt) 86%,white);stroke:none}.f-connection.graph-edge--pipe .f-marker path{fill:color-mix(in srgb,var(--color-pipe) 92%,white)}.f-connection.graph-edge--focused .f-marker path{fill:color-mix(in srgb,var(--color-belt) 94%,white)}.f-connection.graph-edge--pipe.graph-edge--focused .f-marker path{fill:color-mix(in srgb,var(--color-pipe) 98%,white)}.f-connection.graph-edge--dimmed .f-marker path,.f-connection.graph-edge--done .f-marker path{fill:color-mix(in srgb,var(--color-text-muted) 64%,var(--color-bg-canvas))}.f-connection .f-connection-drag-handle{display:none}.f-connection .f-connection-selection{stroke:transparent;stroke-width:10}.f-node-input,.f-node-output{width:10px;height:10px;border:2px solid color-mix(in srgb,var(--color-accent-strong) 84%,white);background:color-mix(in srgb,var(--color-bg) 86%,black);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 14%,transparent)}@keyframes beltwise-flow-dash{to{stroke-dashoffset:-32}}@media(prefers-reduced-motion:reduce){.f-connection.graph-edge--animated .f-connection-path{animation:none;stroke-dasharray:none}}
