.loft-mfg{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface-card);margin:0 0 12px;padding:10px}.loft-mfg__head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.loft-mfg__title{font:600 .72rem var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.loft-mfg__dismiss{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.loft-mfg__dismiss:hover{background:var(--color-surface-card-hover);color:var(--color-text-body)}.loft-mfg__dismiss:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-mfg__pull{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.loft-mfg__pull-label{font:600 .7rem var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.loft-mfg__pull-select{font:500 .74rem var(--font-ui);color:var(--color-text-body);background:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:3px 8px}.loft-mfg__pull-select:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-mfg__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.loft-mfg__info-group{flex-direction:column;gap:6px;margin-top:6px;display:flex}.loft-mfg__info-toggle{cursor:pointer;font:600 .68rem var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:2px 4px;display:flex}.loft-mfg__info-toggle:hover{color:var(--color-text-body)}.loft-mfg__info-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px;border-radius:var(--radius-sm)}.loft-mfg__item{border-radius:var(--radius-sm);background:var(--color-surface-card-hover);align-items:flex-start;gap:8px;padding:7px 8px;display:flex}.loft-mfg__item--warn{background:var(--color-warning-bg-soft)}.loft-mfg__item--clickable{width:100%;font:inherit;text-align:left;cursor:pointer;border:1px solid #0000}.loft-mfg__item--clickable:hover{border-color:var(--color-border-default)}.loft-mfg__item.is-active{border-color:var(--color-accent-primary)}.loft-mfg__item--clickable:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-mfg__locate{color:var(--color-text-muted);flex:none;margin-left:auto}.loft-mfg__item.is-active .loft-mfg__locate{color:var(--color-accent-primary)}.loft-mfg__icon{color:var(--color-accent-primary);flex:none;margin-top:1px}.loft-mfg__item--warn .loft-mfg__icon{color:var(--color-warning)}.loft-mfg__text{flex-direction:column;gap:2px;min-width:0;display:flex}.loft-mfg__item-title{font:600 .76rem var(--font-ui);color:var(--color-text-heading)}.loft-mfg__detail{color:var(--color-text-body);word-break:break-word;font-size:.74rem}.loft-mfg__compute{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface-card-hover);color:var(--color-text-body);font:600 .74rem var(--font-ui);cursor:pointer;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;display:inline-flex}.loft-mfg__compute:hover{background:var(--color-surface-primary);border-color:var(--color-accent-primary)}.loft-mfg__compute:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-mfg__cost{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.loft-mfg__cost-controls{gap:6px;display:flex}.loft-mfg__cost-select{min-width:0;font:500 .72rem var(--font-ui);color:var(--color-text-body);background:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;flex:1 1 0;padding:4px 6px}.loft-mfg__cost-select:focus-visible,.loft-mfg__cost-rate input:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-mfg__cost-default-note{font:400 .68rem var(--font-ui);color:var(--color-text-muted);margin:-2px 0 0;line-height:1.35}.loft-mfg__cost-difficulty{align-items:center;gap:8px;display:flex}.loft-mfg__cost-difficulty-label{font:600 .66rem var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);flex:none}.loft-mfg__cost-difficulty-bar{border-radius:var(--radius-pill);background:var(--color-surface-input);flex:auto;height:6px;position:relative;overflow:hidden}.loft-mfg__cost-difficulty-fill{background:linear-gradient(90deg, var(--color-accent-primary), var(--color-warning));border-radius:var(--radius-pill);position:absolute;inset:0 auto 0 0}.loft-mfg__cost-difficulty-num{font:600 .78rem var(--font-mono);color:var(--color-text-body);text-align:right;flex:none;min-width:1.6em}.loft-mfg__cost-drivers{grid-template-columns:1fr;gap:2px;margin:0;display:grid}.loft-mfg__cost-driver{font:400 .72rem var(--font-ui);justify-content:space-between;gap:8px;display:flex}.loft-mfg__cost-driver dt{color:var(--color-text-muted)}.loft-mfg__cost-driver dd{color:var(--color-text-body);font-family:var(--font-mono);text-align:right;margin:0}.loft-mfg__cost-rates{gap:6px;display:flex}.loft-mfg__cost-rate{font:500 .7rem var(--font-ui);color:var(--color-text-muted);flex:1 1 0;align-items:center;gap:6px;display:flex}.loft-mfg__cost-rate input{width:100%;min-width:0;font:500 .72rem var(--font-mono);color:var(--color-text-body);background:var(--color-surface-input);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:3px 6px}.loft-mfg__cost-total{flex-direction:column;gap:2px;display:flex}.loft-mfg__cost-line{font:400 .74rem var(--font-ui);color:var(--color-text-body);justify-content:space-between;gap:8px;display:flex}.loft-mfg__cost-line--total{border-top:1px solid var(--color-border-subtle);color:var(--color-accent-primary);margin-top:2px;padding-top:4px;font-weight:700}.loft-mfg__cost-hint,.loft-mfg__cost-caveat{font:400 .68rem var(--font-ui);color:var(--color-text-muted);margin:0}.loft-mfg__cost-notes{font:400 .7rem var(--font-ui);color:var(--color-text-muted);flex-direction:column;gap:2px;margin:0;padding-left:16px;display:flex}.loft-section-bar{z-index:8;background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-3);-webkit-backdrop-filter:blur(8px);pointer-events:auto;flex-direction:column;align-items:stretch;gap:4px;max-width:calc(100% - 24px);padding:6px;display:inline-flex;position:absolute;bottom:148px;left:50%;transform:translate(-50%)}.loft-section-bar__row{align-items:center;gap:4px;display:inline-flex}.loft-section-bar__row--bounds{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;gap:4px 8px;padding-top:4px}.loft-section-bar__divider{background:var(--color-border-subtle);flex-shrink:0;align-self:stretch;width:1px;margin:3px 2px}.loft-section-bar__axis-group{gap:2px;display:inline-flex}.loft-section-bar__btn{border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--color-text-body);font-family:var(--font-sans);cursor:pointer;transition:background var(--duration-quick,.15s) var(--easing-out,ease-out), color var(--duration-quick,.15s) var(--easing-out,ease-out), border-color var(--duration-quick,.15s) var(--easing-out,ease-out);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex}.loft-section-bar__btn i{font-size:1.1rem}.loft-section-bar__btn:hover:not(:disabled){background:var(--color-surface-card-hover);color:var(--color-text-heading)}.loft-section-bar__btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.loft-section-bar__btn.is-active{background:var(--color-cyan-bg-medium);border-color:var(--color-cyan-bg-border);color:var(--color-accent-primary);font-weight:600}.loft-section-bar__btn:disabled{opacity:.4;cursor:default}.loft-section-bar__btn--axis{min-width:40px;padding:6px 10px;font-size:.8rem;font-weight:600}.loft-section-bar__btn--close{min-width:36px;padding:6px}.loft-section-bar__btn-label{white-space:nowrap;font-size:.68rem}.loft-section-bar__pos-label{align-items:center;gap:6px;padding:0 4px;display:inline-flex}.loft-section-bar__pos-title{color:var(--color-text-muted);white-space:nowrap;font-size:.72rem}.loft-section-bar__pos-slider{width:120px;accent-color:var(--color-accent-primary);cursor:pointer}.loft-section-bar__pos-num{text-align:right;min-width:3em;font-family:var(--font-mono);color:var(--color-text-heading);white-space:nowrap;font-size:.72rem}.loft-section-bar__row--axes{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;gap:4px 8px;padding-top:4px}.loft-section-bar__axis-pos-item{align-items:center;gap:4px;display:inline-flex}.loft-section-bar__axis-pos-label{font-size:.68rem;font-family:var(--font-mono);color:var(--color-accent-primary);white-space:nowrap;text-transform:uppercase;min-width:1.2em;font-weight:600}.loft-section-bar__axis-pos-slider{width:100px;accent-color:var(--color-accent-primary);cursor:pointer}.loft-section-bar__axis-pos-num{text-align:right;min-width:3em;font-family:var(--font-mono);color:var(--color-text-heading);white-space:nowrap;font-size:.68rem}.loft-section-bar__bound-item{align-items:center;gap:4px;display:inline-flex}.loft-section-bar__bound-label{color:var(--color-text-muted);font-size:.68rem;font-family:var(--font-mono);white-space:nowrap;min-width:3.2em}.loft-section-bar__bound-slider{width:72px;accent-color:var(--color-accent-primary);cursor:pointer}.loft-section-bar__bound-num{text-align:right;min-width:2.6em;font-family:var(--font-mono);color:var(--color-text-heading);white-space:nowrap;font-size:.68rem}@media (width<=900px){.loft-section-bar{gap:2px;padding:5px;bottom:136px}.loft-section-bar__pos-slider{width:88px}.loft-section-bar__bound-slider{width:56px}.loft-section-bar__btn{min-width:38px;padding:5px 7px}}@media (width<=480px){.loft-section-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 132px);max-width:none;position:absolute;left:8px;right:8px;transform:none}.loft-section-bar__row--primary{flex-wrap:wrap;gap:4px}.loft-section-bar__btn-label,.loft-section-bar__pos-title{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loft-section-bar__btn--axis{font-size:.88rem}.loft-section-bar__btn i{font-size:1.3rem}.loft-section-bar__pos-label{width:100%;padding:0 2px}.loft-section-bar__pos-slider{flex:1;width:auto}.loft-section-bar__row--bounds{grid-template-columns:1fr 1fr;gap:4px;display:grid}.loft-section-bar__bound-item{width:100%}.loft-section-bar__bound-slider{flex:1;width:auto;min-width:0}}@media (pointer:coarse){.loft-section-bar__btn{min-width:44px;min-height:44px}}.loft-shortcut-sheet-overlay{z-index:var(--z-modal,500);-webkit-backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.loft-shortcut-sheet-dialog{scrollbar-width:thin;background:var(--color-surface-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:calc(100dvh - 40px);box-shadow:var(--elev-4);outline:none;flex-direction:column;display:flex;overflow-y:auto}.loft-shortcut-sheet-dialog__header{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:16px 20px 14px;display:flex}.loft-shortcut-sheet-dialog__icon{color:var(--color-accent-primary);flex-shrink:0;font-size:1.15rem}.loft-shortcut-sheet-dialog__title{color:var(--color-text-heading);flex:1;margin:0;font-size:.95rem;font-weight:600}.loft-shortcut-sheet-dialog__close{border:1px solid var(--color-border-subtle);border-radius:var(--radius-xs);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-quick,.15s) ease, color var(--duration-quick,.15s) ease;background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.loft-shortcut-sheet-dialog__close:hover{background:var(--color-surface-card-hover);color:var(--color-text-heading)}.loft-shortcut-sheet-dialog__close:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.loft-shortcut-sheet-dialog__body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 20px 20px;display:flex}.loft-shortcut-sheet-legend{color:var(--color-text-muted);background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin:0;padding:10px 12px;font-size:.8rem;line-height:1.5}.loft-shortcut-sheet-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.loft-shortcut-sheet-grid{grid-template-columns:1fr 1fr}}.loft-shortcut-sheet-section{flex-direction:column;gap:6px;display:flex}.loft-shortcut-sheet-section__heading{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px;font-size:.68rem;font-weight:700}.loft-shortcut-sheet-table{border-collapse:collapse;width:100%}.loft-shortcut-sheet-row{vertical-align:top}.loft-shortcut-sheet-row+.loft-shortcut-sheet-row .loft-shortcut-sheet-row__keys,.loft-shortcut-sheet-row+.loft-shortcut-sheet-row .loft-shortcut-sheet-row__action{padding-top:6px}.loft-shortcut-sheet-row__keys{white-space:nowrap;padding-right:10px}.loft-shortcut-sheet-row__key-wrap{align-items:center;gap:3px;display:inline-flex}.loft-shortcut-sheet-kbd{font-size:.72rem;font-family:var(--font-mono);color:var(--color-text-heading);background:var(--color-surface-card);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--color-border-default);white-space:nowrap;padding:2px 6px;font-weight:500;line-height:1.4;display:inline-block}.loft-shortcut-sheet-row__action{padding-bottom:0}.loft-shortcut-sheet-row__action-text{color:var(--color-text-body);font-size:.82rem;line-height:1.4;display:block}.loft-shortcut-sheet-row__note{color:var(--color-text-muted);margin-top:1px;font-size:.72rem;line-height:1.3;display:block}.loft-shortcut-sheet-row__key-sep{width:2px;display:inline-block}
