.crafting-page #panel-recipes,.crafting-page #panel-craft-queue,.crafting-page #panel-facilities{scroll-margin-top:calc(var(--hud-h) + var(--space-5))}.crafting-page .forge-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}@media(min-width:980px){.crafting-page .forge-cols{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.crafting-page .forge-col{min-width:0}.crafting-page .forge-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.crafting-page .craft-filter{display:flex;gap:var(--space-1);flex-wrap:wrap}.crafting-page .craft-filter .btn.is-active{background:var(--accent-wash);border:1px solid var(--accent-line-strong);color:var(--on-iron);font-weight:700}.crafting-page .forge-search{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);color:var(--on-iron-muted)}.crafting-page .forge-search svg{width:var(--space-4);height:var(--space-4);flex:none}.crafting-page .forge-search__input{min-width:12rem;min-height:calc(var(--tap-min) - var(--space-2))}.crafting-page .recipe-group{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--border-subtle)}.crafting-page .recipe-group:first-child,.crafting-page .ts-banner+.recipe-group,.crafting-page .ts-empty+.recipe-group{margin-top:0;padding-top:0;border-top:0}.crafting-page .recipe-group__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.crafting-page .recipe-group__icon{color:var(--accent-on-iron);line-height:1}.crafting-page .recipe-group__icon svg{width:var(--fs-body-lg);height:var(--fs-body-lg)}.crafting-page .recipe-group__name{margin:0;font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:700;color:var(--on-iron);letter-spacing:.04em;text-transform:uppercase}.crafting-page .recipe-group__name a{color:inherit;text-decoration:none}.crafting-page .recipe-group__name a:hover,.crafting-page .recipe-group__name a:focus-visible{text-decoration:underline}.crafting-page .recipe-group__state{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.crafting-page .recipe-group__chip{font-size:var(--fs-caption);font-weight:700;color:var(--accent-on-iron);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--accent-line);background:var(--accent-wash);font-variant-numeric:var(--num);white-space:nowrap}.crafting-page .recipe-group__chip.is-locked{color:var(--on-iron-faint);border-color:var(--border-subtle);border-style:dashed;background:var(--surface-sunken)}.crafting-page .recipe-group__chip.is-full{color:var(--on-warning);border-color:var(--warning-line);background:var(--warning-wash)}.crafting-page .recipe-group__count{margin-left:auto;font-size:var(--fs-caption);color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .recipe-group__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:var(--space-3)}.crafting-page .recipe-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-mid);border-radius:var(--radius-lg);background:var(--surface-raised);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.crafting-page .recipe-card.is-craftable{cursor:pointer}.crafting-page .recipe-card.is-craftable:focus-visible{box-shadow:var(--focus)}@media(hover:hover)and (pointer:fine){.crafting-page .recipe-card.is-craftable:hover{border-color:var(--accent-line-strong);background:var(--surface-hover)}}.crafting-page .recipe-card.is-locked{border-style:dashed;background:var(--surface-sunken)}.crafting-page .recipe-card.is-selected{border-color:var(--accent-line-strong);background:var(--accent-wash);grid-column:1 / -1}.crafting-page .recipe-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.crafting-page .recipe-card__title{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex-wrap:wrap}.crafting-page .recipe-card__name{font-family:var(--font-display);font-size:var(--fs-body);color:var(--on-iron);letter-spacing:.02em;line-height:var(--lh-tight);overflow-wrap:anywhere;min-width:0}.crafting-page .recipe-card__tier{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-8);padding:0 var(--space-2);font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;border-radius:var(--radius-pill);border:1px solid var(--border-mid);background:var(--surface-sunken);color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .recipe-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-caption);font-weight:700;white-space:nowrap}.crafting-page .recipe-badge svg{width:var(--fs-caption);height:var(--fs-caption);flex:none}.crafting-page .recipe-badge--craftable{border:1px solid var(--success-line);background:var(--success-wash);color:var(--on-success)}.crafting-page .recipe-badge--locked{border:1px dashed var(--border-strong);background:var(--surface-sunken);color:var(--on-iron-muted)}.crafting-page .recipe-badge--unknown{border:1px dashed var(--border-mid);color:var(--on-iron-muted);font-style:italic;font-weight:500}.crafting-page .recipe-card__io{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.crafting-page .recipe-card__arrow{color:var(--on-iron-faint)}.crafting-page .recipe-card__io-unit{flex:0 0 auto;font-size:var(--fs-caption);letter-spacing:.04em;font-weight:700;text-transform:uppercase;color:var(--on-iron-faint)}.crafting-page .recipe-card__output{display:inline-flex;align-items:center;gap:var(--space-1);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--accent-line);background:var(--accent-wash);font-size:var(--fs-caption);color:var(--on-iron);font-variant-numeric:var(--num)}.crafting-page .recipe-card__meta{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.crafting-page .meta-pill svg{width:var(--fs-caption);height:var(--fs-caption);flex:none}.crafting-page .meta-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--border-mid);background:var(--surface-sunken);font-size:var(--fs-caption);font-weight:600;color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .meta-pill--good{border-color:var(--success-line);background:var(--success-wash);color:var(--on-success)}.crafting-page .meta-pill--bad{border-color:var(--danger-line);background:var(--danger-wash);color:var(--on-danger)}.crafting-page .meta-pill--neutral{font-style:italic;font-weight:500}.crafting-page .recipe-card__needs{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.crafting-page .recipe-need-list{list-style:none;margin:var(--space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.crafting-page .recipe-need{font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--on-iron)}.crafting-page .recipe-need:before{content:"›";color:var(--accent-on-iron);margin-right:var(--space-1)}.crafting-page .recipe-card__order{margin-top:var(--space-2);padding-top:var(--space-3);border-top:2px solid var(--accent-line-strong)}.crafting-page .craft-order{display:flex;flex-direction:column;gap:var(--space-3)}.crafting-page .craft-order__desc{margin:0;font-size:var(--fs-caption);color:var(--on-iron-muted);line-height:var(--lh-snug)}.crafting-page .craft-order__name{font-family:var(--font-display);font-size:var(--fs-body-lg);color:var(--on-iron)}.crafting-page .craft-order__name[data-empty=true]{color:var(--on-iron-faint);font-style:italic;font-family:var(--font-body);font-size:var(--fs-body-sm)}.crafting-page .craft-order__qty{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.crafting-page .craft-order__crew{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.crafting-page .craft-crew__slider{flex:1 1 12rem;min-width:8rem;max-width:100%;accent-color:var(--gold)}.crafting-page .craft-crew__readout{flex:1 0 100%;color:var(--text-muted);font-size:var(--fs-body-sm);line-height:var(--lh-snug)}.crafting-page .craft-order__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.crafting-page .craft-order__receipt{margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--success-line);border-radius:var(--radius-sm);background:var(--success-wash);color:var(--on-success);font-size:var(--fs-body-sm);line-height:var(--lh-snug);font-variant-numeric:var(--num)}.crafting-page .craft-order__error,.crafting-page .craft-inline-error{padding:var(--space-2) var(--space-3);border:1px solid var(--danger-line);border-radius:var(--radius-sm);background:var(--danger-wash);font-size:var(--fs-body-sm);line-height:var(--lh-snug)}.crafting-page .craft-inline-error{margin-bottom:var(--space-3)}.crafting-page .craft-preview{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-sunken)}.crafting-page .preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:var(--space-3);align-items:start}.crafting-page .preview-block{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.crafting-page .preview-block--wide{grid-column:1 / -1}.crafting-page .preview-output{display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap}.crafting-page .preview-output__qty{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:700;color:var(--accent-on-iron);font-variant-numeric:var(--num)}.crafting-page .preview-output__name{color:var(--on-iron);font-size:var(--fs-body-sm)}.crafting-page .preview-output__warn{margin-top:var(--space-1);font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--on-danger)}.crafting-page .preview-output__warn svg{width:var(--fs-caption);height:var(--fs-caption)}.crafting-page .preview-output__stock{margin-top:var(--space-1);font-size:var(--fs-caption);color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .preview-duration .ts-timer{font-family:var(--font-display);font-size:var(--fs-body-lg);font-weight:700;font-variant-numeric:var(--num)}.crafting-page .preview-workforce{font-size:var(--fs-body-sm);color:var(--on-iron);font-variant-numeric:var(--num)}.crafting-page .preview-status{display:flex;flex-wrap:wrap;gap:var(--space-1)}.crafting-page .preview-slots-hint{font-size:var(--fs-caption);color:var(--on-iron-muted)}.crafting-page .preview-slots-hint.is-full{color:var(--on-warning)}.crafting-page .craft-preview .error-inline{color:var(--on-danger);font-size:var(--fs-body-sm)}.crafting-page .preview-profit{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.crafting-page .preview-profit__total{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:700;font-variant-numeric:var(--num)}.crafting-page .preview-profit__rate{font-size:var(--fs-caption);font-weight:700;color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .preview-profit--good .preview-profit__total{color:var(--on-success)}.crafting-page .preview-profit--bad .preview-profit__total{color:var(--on-danger)}.crafting-page .preview-profit--neutral .preview-profit__total{color:var(--on-iron)}.crafting-page .preview-profit--unknown .note{margin:0}.crafting-page .preview-profit__detail{font-size:var(--fs-caption);color:var(--on-iron-muted);font-variant-numeric:var(--num)}.crafting-page .ts-cost__have{font-size:var(--fs-caption);white-space:nowrap}.crafting-page .ts-cost__have--ok{color:var(--on-iron-faint)}.crafting-page #panel-craft-queue .datatable--stack{min-width:0;width:100%;display:block}.crafting-page #panel-craft-queue .datatable--stack thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.crafting-page #panel-craft-queue .datatable--stack tbody{display:block}.crafting-page #panel-craft-queue .datatable--stack tbody tr{display:block;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.crafting-page #panel-craft-queue .datatable--stack tbody tr:last-child{margin-bottom:0}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-1) 0;border:none;text-align:right;white-space:normal;min-width:0}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--on-iron-muted)}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td:not([data-label]){justify-content:flex-end}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td:not([data-label]):before{display:none}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td[colspan]{display:block;text-align:center}.crafting-page #panel-craft-queue .datatable--stack tbody tr>td[colspan]:before{display:none}.crafting-page .note{display:block}.crafting-page #craft-queue-rows .queue-recipe-name{font-weight:700;color:var(--on-iron)}.crafting-page #craft-queue-rows .ts-progress{margin-top:var(--space-1)}.crafting-page #craft-queue-rows .queue-qty-out{margin-top:var(--space-1);font-size:var(--fs-caption);color:var(--text-muted);line-height:var(--lh-snug)}.crafting-page #craft-queue-rows .queue-blocker-hint{margin-top:var(--space-1);font-size:var(--fs-caption);color:var(--on-danger);line-height:var(--lh-snug)}.crafting-page table .num{font-variant-numeric:var(--num);text-align:right}.crafting-page .queue-actions{display:flex;gap:var(--space-1);flex-wrap:wrap}@media(max-width:768px){.crafting-page .recipe-group__cards{grid-template-columns:1fr}}@media(max-width:480px){.crafting-page .preview-grid{grid-template-columns:1fr}.crafting-page .craft-filter{width:100%}.crafting-page .craft-filter .btn{flex:1 1 auto;min-width:0}.crafting-page .forge-search{width:100%}.crafting-page .forge-search__input{flex:1 1 auto;min-width:0}}.crafting-page .cft-focus-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-mid);border-radius:var(--radius-md);background:var(--surface-sunken)}.crafting-page .cft-focus-status__k{font-weight:600;font-size:.85em;opacity:.85}.crafting-page .cft-focus-status__chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.crafting-page .cft-focus-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:999px;font-size:.82em;font-weight:600;border:1px solid var(--border-mid)}.crafting-page .cft-focus-chip svg{width:.9em;height:.9em}.crafting-page .cft-focus-chip.is-unknown{color:var(--on-iron-muted);opacity:.9;border-style:dashed}.crafting-page .cft-focus-chip.is-focused{color:var(--accent-on-iron);border-color:var(--accent-line, var(--border-mid));background:var(--accent-wash, transparent)}
