.base-workbench { margin: 0 auto; max-width: 1100px; padding: clamp(18px, 4vw, 48px) 0 56px; }
.base-intro { align-items: end; border-bottom: 1px solid var(--border-main); display: grid; gap: 12px 28px; grid-template-columns: 1fr auto; padding: 0 0 26px; }
.base-intro p, .section-kicker { color: var(--accent-primary); font-family: var(--font-tech); font-size: .7rem; font-weight: 700; grid-column: 1 / -1; letter-spacing: .15em; }
.base-intro h1, .calculator h2, .reference-heading h2 { color: #f1eee7; font-family: var(--font-header); font-weight: 400; }
.base-intro h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); letter-spacing: -.025em; line-height: .95; }
.base-intro h1 em { color: var(--accent-secondary); font-style: normal; }
.base-intro > span { color: var(--text-secondary); font-family: var(--font-ui); font-size: .9rem; max-width: 270px; }
.calculator { background: #181916; border: 1px solid #4c4b41; box-shadow: 12px 12px 0 rgba(230, 184, 0, .08); display: grid; grid-template-columns: minmax(290px, .85fr) minmax(0, 1.15fr); margin-top: 28px; }
.calculator-controls, .shopping-panel { padding: clamp(20px, 3vw, 34px); }
.calculator-controls { border-right: 1px solid #4c4b41; }
.calculator h2 { font-size: clamp(1.45rem, 3vw, 2.1rem); line-height: 1.05; margin: 8px 0 24px; }
.calculator label { color: var(--text-secondary); display: block; font-size: .7rem; letter-spacing: .07em; margin: 16px 0 6px; text-transform: uppercase; }
.calculator select, .quantity-control input, .quantity-control button { background: #0e0f0d; border: 1px solid #55554b; color: var(--text-primary); min-height: 44px; }
.calculator select { cursor: pointer; padding: 0 12px; width: 100%; }
.structure-options { border-top: 1px solid var(--border-dim); margin-top: 18px; padding-top: 2px; }
.structure-options > label { margin-top: 14px; }
.attachment-options { display: grid; gap: 7px; grid-template-columns: 1fr 1fr; margin-top: 14px; }
.attachment-options label { align-items: center; background: rgba(0, 0, 0, .22); border: 1px solid var(--border-dim); color: var(--text-secondary); cursor: pointer; display: flex; font-family: var(--font-ui); font-size: .74rem; gap: 7px; margin: 0; min-height: 38px; padding: 7px; text-transform: none; }
.attachment-options label[hidden] { display: none; }
.attachment-options > span { display: grid; gap: 7px; grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
.attachment-options > span[hidden] { display: none; }
.attachment-options input { accent-color: var(--accent-secondary); }
.tower-stack { display: grid; gap: 3px; margin-top: 10px; }
.tower-stack button { background: rgba(0, 0, 0, .24); border: 1px solid var(--border-dim); color: var(--text-muted); cursor: pointer; font-family: var(--font-tech); font-size: .62rem; letter-spacing: .08em; padding: 5px 7px; text-align: center; }
.tower-stack button:hover, .tower-stack button.is-selected { background: rgba(230, 184, 0, .12); border-color: var(--accent-secondary); color: var(--accent-secondary); }
.quantity-control > div { display: grid; grid-template-columns: 44px 1fr 44px; }
.quantity-control button { color: var(--accent-secondary); cursor: pointer; font-size: 1.2rem; }
.quantity-control input { border-left: 0; border-right: 0; font-family: var(--font-tech); text-align: center; width: 100%; }
.part-description { color: var(--text-secondary); font-family: var(--font-ui); font-size: .82rem; line-height: 1.55; margin-top: 20px; }
.calculator-warning { background: rgba(212, 77, 77, .09); border-left: 2px solid var(--accent-primary); color: #d8c7c7; font-family: var(--font-ui); font-size: .76rem; line-height: 1.45; margin-top: 16px; padding: 10px; }
.shopping-heading { align-items: start; border-bottom: 1px solid var(--border-dim); display: flex; gap: 14px; justify-content: space-between; padding-bottom: 16px; }
.shopping-heading h2 { margin: 6px 0 0; }
.shopping-heading > span { border: 1px solid var(--border-dim); color: var(--accent-secondary); font-family: var(--font-tech); font-size: .68rem; padding: 5px 7px; white-space: nowrap; }
.shopping-list { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.shopping-item { align-items: center; background: rgba(0, 0, 0, .25); border: 1px solid #30312c; display: grid; gap: 9px; grid-template-columns: 32px 1fr auto; min-height: 58px; padding: 8px; }
.shopping-item img { height: 30px; object-fit: contain; width: 30px; }
.shopping-item > i { color: #bcbcb4; font-size: 1rem; text-align: center; }
.shopping-item span { color: var(--text-primary); font-family: var(--font-ui); font-size: .78rem; }
.shopping-item small { color: var(--text-muted); display: block; font-family: var(--font-tech); font-size: .62rem; margin-top: 2px; }
.shopping-item b { color: var(--accent-secondary); font-family: var(--font-tech); font-size: 1.05rem; }
.tool-panel { border-top: 1px solid var(--border-dim); margin-top: 16px; padding-top: 14px; }
.tool-panel p { color: var(--accent-primary); font-size: .67rem; letter-spacing: .07em; }
.tool-panel strong { color: var(--text-secondary); display: block; font-family: var(--font-ui); font-size: .78rem; font-weight: 400; line-height: 1.5; margin-top: 5px; }
.tool-icons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.tool-icons span { align-items: center; background: rgba(0, 0, 0, .22); border: 1px solid var(--border-dim); display: flex; gap: 5px; min-height: 34px; padding: 4px 6px; }
.tool-icons img { height: 24px; object-fit: contain; width: 20px; }
.tool-icons small { color: var(--text-muted); font-family: var(--font-tech); font-size: .6rem; }
.build-order { border-top: 1px solid var(--border-dim); margin-top: 16px; padding-top: 14px; }
.build-order > p { color: var(--accent-primary); font-size: .67rem; letter-spacing: .07em; }
.build-order ol { counter-reset: step; display: grid; gap: 6px; margin-top: 8px; }
.build-order li { color: var(--text-secondary); counter-increment: step; font-family: var(--font-ui); font-size: .74rem; line-height: 1.45; padding-left: 22px; position: relative; }
.build-order li::before { color: var(--accent-secondary); content: counter(step, decimal-leading-zero); font-family: var(--font-tech); font-size: .62rem; left: 0; position: absolute; top: 2px; }
.build-notes { margin-top: 58px; }
.reference-heading { align-items: end; border-bottom: 1px solid var(--border-main); display: grid; gap: 7px 18px; grid-template-columns: 1fr auto; padding-bottom: 12px; }
.reference-heading .section-kicker { grid-column: 1 / -1; }
.reference-heading h2 { font-size: clamp(1.35rem, 3vw, 1.9rem); }
.reference-heading > span { color: var(--text-muted); font-family: var(--font-ui); font-size: .75rem; text-align: right; }
.shelter-brief { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; }
.shelter-brief article { background: #171815; border: 1px solid #40413b; display: flex; gap: 12px; padding: 16px; }
.shelter-brief article > i { color: var(--accent-secondary); font-size: 1rem; margin-top: 3px; }
.shelter-brief h2 { color: var(--text-primary); font-family: var(--font-header); font-size: 1rem; font-weight: 400; margin: 6px 0; }
.shelter-brief p:not(.section-kicker) { color: var(--text-secondary); font-family: var(--font-ui); font-size: .75rem; line-height: 1.55; }
.shelter-brief b { color: var(--text-primary); }
.notes-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.notes-grid p { background: rgba(212, 77, 77, .06); border-left: 2px solid rgba(212, 77, 77, .75); color: var(--text-secondary); font-family: var(--font-ui); font-size: .77rem; line-height: 1.5; padding: 12px; }
.notes-grid i { color: var(--accent-primary); margin-right: 5px; }.notes-grid b { color: var(--text-primary); }
@media (max-width: 800px) { .calculator { grid-template-columns: 1fr; } .calculator-controls { border-bottom: 1px solid #4c4b41; border-right: 0; } .shelter-brief { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .base-intro, .reference-heading { grid-template-columns: 1fr; } .base-intro > span, .reference-heading > span { text-align: left; } .shopping-list, .notes-grid, .attachment-options { grid-template-columns: 1fr; } .build-notes { margin-top: 40px; } .calculator { box-shadow: 7px 7px 0 rgba(230, 184, 0, .08); } }
