.base-builder-tool [hidden],.prefabs-catalog-tool [hidden],.vehicle-cargo-tool [hidden],[hidden]{display:none!important}.planner-page-container button{font-family:var(--font-heading);border-style:solid;border-color:var(--line);background-color:var(--surface-2);color:var(--text)}.planner-page-container{box-sizing:border-box;width:100%;max-width:1440px;margin:0 auto;padding:.5rem 1rem 3rem}.doc-attribution{color:var(--text-muted);border-top:1px solid var(--line);text-align:center;margin-top:2rem;padding-top:1rem;font-size:.8rem}.reference-drawer{background:var(--surface);border:1px solid var(--line);border-radius:2px;margin:1.5rem 0;overflow:hidden}.reference-summary{font-family:var(--font-heading);letter-spacing:.05em;color:var(--text);cursor:pointer;user-select:none;background:var(--surface-2);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-size:.9rem;font-weight:700;display:flex}.reference-summary:hover{color:var(--accent)}.reference-summary::-webkit-details-marker{display:none}.reference-content{color:var(--text-muted);flex-direction:column;gap:1.25rem;padding:1.25rem;font-size:.875rem;line-height:1.6;display:flex}.reference-title{color:var(--text);font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:1.1rem}.reference-block h3{color:var(--accent);font-family:var(--font-heading);letter-spacing:.04em;margin:0 0 .4rem;font-size:.95rem}.reference-block p{margin:0}.base-builder-tool{width:100%;color:var(--text);font-family:var(--font-body);flex-direction:column;gap:.75rem;display:flex;position:relative}.base-statbar{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:.75rem;padding:.5rem .85rem;display:flex}.base-stat-col{flex-direction:column;justify-content:center;display:flex}.base-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-family:var(--font-heading)}.base-stat-val{color:var(--text);font-size:1.25rem;font-weight:700;font-family:var(--font-heading);line-height:1.1}.base-stat-val.accent{color:var(--accent)}.base-stat-val.warning{color:var(--danger)}.base-stat-val.ok{color:var(--ok)}.base-stat-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.base-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--line);font-size:.8rem;font-family:var(--font-heading);letter-spacing:.05em;cursor:pointer;border-radius:2px;align-items:center;gap:.4rem;padding:.45rem .85rem;text-decoration:none;transition:all .15s;display:inline-flex}.base-btn:hover{background:var(--line);color:var(--accent);border-color:var(--accent-2)}.base-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.base-btn.danger:hover{background:var(--danger);color:var(--bg);border-color:var(--danger)}.base-workspace{grid-template-columns:280px 1fr 300px;gap:.75rem;min-height:680px;display:grid;position:relative}.base-palette-pane{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;overflow:hidden}.palette-category-tabs{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.palette-tab-btn{background:var(--surface);color:var(--text-muted);font-size:.72rem;font-family:var(--font-heading);cursor:pointer;text-align:center;letter-spacing:.04em;border:none;padding:.5rem .25rem;transition:all .15s}.palette-tab-btn:hover{color:var(--text);background:var(--surface-2)}.palette-tab-btn.active{background:var(--surface-2);color:var(--accent);border-bottom:2px solid var(--accent);font-weight:700}.palette-items-list{flex-direction:column;gap:.4rem;max-height:620px;padding:.5rem;display:flex;overflow-y:auto}.palette-item-card{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;text-align:left;box-sizing:border-box;border-radius:2px;align-items:center;gap:.6rem;width:100%;padding:.45rem .6rem;transition:all .15s;display:flex}.palette-item-card:hover{border-color:var(--accent-2);background:var(--line)}.palette-item-card.selected{border-color:var(--accent);background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.palette-item-icon{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:2px;flex-shrink:0;width:36px;height:36px}.palette-item-info{flex:1;min-width:0}.palette-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.palette-item-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.15rem;font-size:.72rem;display:flex}.palette-cost-badge{color:var(--accent);font-weight:700}.palette-hp-badge{color:var(--ok)}.base-canvas-pane{background:var(--bg);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;position:relative;overflow:hidden}.canvas-toolbar{z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.canvas-toolbar-group{backdrop-filter:blur(4px);border:1px solid var(--line);pointer-events:auto;background:#272119d9;border-radius:2px;gap:.35rem;padding:.35rem;display:flex}.canvas-tool-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--line);font-size:.75rem;font-family:var(--font-heading);cursor:pointer;border-radius:2px;padding:.35rem .6rem;transition:all .15s}.canvas-tool-btn:hover{background:var(--surface-2);color:var(--accent);border-color:var(--line)}.canvas-tool-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.canvas-viewport-container{flex:1;width:100%;height:100%;min-height:580px;position:relative}#base-three-canvas{width:100%;height:100%;display:block}.base-2d-viewport{background:var(--bg);background-image:linear-gradient(90deg,#563f2e40 1px,#0000 1px),linear-gradient(#563f2e40 1px,#0000 1px);background-size:20px 20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.base-2d-svg{cursor:crosshair;width:100%;height:100%}.canvas-bottom-hud{pointer-events:none;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.canvas-hud-badge{backdrop-filter:blur(4px);border:1px solid var(--line);pointer-events:auto;background:#272119d9;border-radius:2px;padding:.35rem .65rem}.base-manifest-pane{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;overflow:hidden}.manifest-header{background:var(--surface-2);border-bottom:1px solid var(--line);padding:.75rem}.manifest-title{font-size:.9rem;font-family:var(--font-heading);color:var(--text);letter-spacing:.05em;justify-content:space-between;align-items:center;margin:0;display:flex}.manifest-list{flex-direction:column;flex:1;gap:.35rem;max-height:480px;padding:.5rem;display:flex;overflow-y:auto}.manifest-item-row{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.78rem;display:flex}.manifest-item-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.manifest-item-count{color:var(--text-muted);margin-left:.3rem;font-size:.72rem}.manifest-item-cost{color:var(--accent);font-weight:700}.manifest-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.82rem}.manifest-footer{background:var(--surface-2);border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.manifest-total-row{font-family:var(--font-heading);justify-content:space-between;align-items:center;font-size:.95rem;font-weight:700;display:flex}.manifest-total-val{color:var(--accent);font-size:1.15rem}.base-toast{background:var(--surface-2);border:1px solid var(--accent);color:var(--accent);font-size:.85rem;font-family:var(--font-heading);letter-spacing:.05em;z-index:1000;border-radius:2px;padding:.65rem 1.25rem;transition:opacity .2s,transform .2s;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 12px #00000080}.prefabs-catalog-tool{flex-direction:column;gap:1.25rem;width:100%;display:flex}.prefabs-server-notice{background:var(--surface);border:1px solid var(--accent-2);border-left:4px solid var(--accent-2);color:var(--text);border-radius:2px;align-items:center;gap:.85rem;padding:.85rem 1.25rem;font-size:.85rem;display:flex}.prefabs-server-notice strong{color:var(--accent)}.prefabs-filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.prefabs-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.prefabs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.prefab-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.prefab-card:hover{border-color:var(--accent-2);transform:translateY(-2px)}.prefab-card-media{background:var(--bg);border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.prefab-preview-img{object-fit:cover;width:100%;height:100%}.prefab-category-tag{backdrop-filter:blur(4px);color:var(--accent);border:1px solid var(--line);font-size:.7rem;font-family:var(--font-heading);letter-spacing:.05em;background:#17140fd9;border-radius:2px;padding:.2rem .5rem;position:absolute;top:.6rem;left:.6rem}.prefab-card-body{flex-direction:column;flex:1;padding:1rem;display:flex}.prefab-card-title{font-size:1.05rem;font-family:var(--font-heading);color:var(--text);letter-spacing:.04em;margin:0 0 .5rem}.prefab-card-desc{color:var(--text-muted);flex:1;margin:0 0 1rem;font-size:.82rem;line-height:1.5}.prefab-stats-grid{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;padding:.6rem;display:grid}.prefab-stat-box{text-align:center;flex-direction:column;align-items:center;display:flex}.prefab-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-family:var(--font-heading)}.prefab-stat-val{color:var(--text);font-size:.95rem;font-weight:700;font-family:var(--font-heading);margin-top:.15rem}.prefab-stat-val.accent{color:var(--accent)}.prefab-card-actions{gap:.5rem;display:flex}.prefab-card-actions .base-btn{flex:1;justify-content:center}.vehicle-cargo-tool{flex-direction:column;gap:.75rem;width:100%;display:flex}.vehicle-cargo-statbar{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:.75rem;padding:.5rem .85rem;display:flex}.vehicle-cargo-workspace{grid-template-columns:280px 1fr 320px;gap:.75rem;min-height:640px;display:grid}.vehicle-selector-pane{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;overflow:hidden}.vehicle-list-scroll{flex-direction:column;gap:.4rem;max-height:640px;padding:.5rem;display:flex;overflow-y:auto}.vehicle-card-item{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;text-align:left;box-sizing:border-box;border-radius:2px;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;transition:all .15s;display:flex}.vehicle-card-item:hover{border-color:var(--accent-2);background:var(--line)}.vehicle-card-item.selected{border-color:var(--accent);background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.vehicle-item-img{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:2px;flex-shrink:0;width:44px;height:44px}.vehicle-item-chassis-icon{background:var(--bg);border:1px solid var(--line);width:44px;height:44px;color:var(--accent);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.vehicle-item-info{flex:1;min-width:0}.vehicle-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.vehicle-item-meta{color:var(--text-muted);gap:.5rem;margin-top:.15rem;font-size:.72rem;display:flex}.vehicle-bed-pane{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;gap:1.25rem;padding:1rem;display:flex}.vehicle-hero-banner{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.vehicle-hero-img{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:2px;width:80px;height:60px}.vehicle-hero-details h2{font-family:var(--font-heading);color:var(--text);margin:0 0 .25rem;font-size:1.15rem}.vehicle-hero-details p{color:var(--text-muted);margin:0;font-size:.8rem}.cargo-section-title{font-family:var(--font-heading);color:var(--accent);letter-spacing:.05em;justify-content:space-between;align-items:center;margin:0 0 .5rem;font-size:.85rem;display:flex}.cargo-bed-frame{background:var(--bg);border:2px dashed var(--line);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.cargo-bed-grid{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;gap:6px;padding:8px;display:grid}.cargo-bed-slot{background:var(--surface);border:1px solid var(--line);width:48px;height:48px;color:var(--text-muted);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;font-size:.75rem;transition:all .15s;display:flex;position:relative}.slot-badge{font-family:var(--font-heading);color:var(--accent);text-align:center;pointer-events:none;text-transform:uppercase;font-size:.65rem;font-weight:700;line-height:1.1}.cargo-bed-slot:hover{border-color:var(--accent-2);background:var(--surface-2)}.cargo-bed-slot.occupied{background:var(--surface-2);border-color:var(--accent)}.cargo-bed-slot img{object-fit:contain;width:32px;height:32px}.trunk-slots-grid{background:var(--surface-2);border:1px solid var(--line);border-radius:2px;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;padding:8px;display:grid}.trunk-slot{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;transition:all .15s;display:flex}.trunk-slot:hover{border-color:var(--accent)}.trunk-slot img{object-fit:contain;width:32px;height:32px}.cargo-palette-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.cargo-palette-item{text-align:center;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:2px;flex-direction:column;align-items:center;padding:.5rem;transition:all .15s;display:flex}.cargo-palette-item:hover{border-color:var(--accent-2);background:var(--line)}.cargo-palette-item.active{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.cargo-palette-item img{object-fit:contain;width:36px;height:36px;margin-bottom:.3rem}.cargo-palette-name{color:var(--text);font-size:.72rem;font-weight:600;line-height:1.2}.cargo-palette-cost{color:var(--accent);margin-top:.15rem;font-size:.7rem;font-weight:700}.cargo-manifest-pane{background:var(--surface);border:1px solid var(--line);border-radius:2px;flex-direction:column;display:flex;overflow:hidden}@media (width<=1100px){.base-workspace,.vehicle-cargo-workspace{grid-template-columns:240px 1fr}.base-manifest-pane,.cargo-manifest-pane{grid-column:1/-1}}@media (width<=768px){.planner-page-container{padding:.5rem .5rem 2rem}.base-workspace,.vehicle-cargo-workspace{grid-template-columns:1fr}.base-statbar,.vehicle-cargo-statbar{flex-direction:column;gap:.5rem}.base-stat-actions{justify-content:flex-start}.canvas-viewport-container{min-height:420px}.cargo-bed-slot{width:36px;height:36px}}
