.bomPanel{--bomPanel-bg: #fbfcff;--bomPanel-surface: #ffffff;--bomPanel-line: var(--line, #cfd8e5);--bomPanel-softLine: #e7edf5;--bomPanel-text: var(--text, #1a2433);--bomPanel-muted: var(--muted, #607085);--bomPanel-accent: #166c58;--bomPanel-warn: #9a4d16;--bomPanel-warnBg: #fff7ed;min-width:0;height:100dvh;overflow:auto;padding:12px;border-left:1px solid var(--bomPanel-line);background:var(--bomPanel-bg);color:var(--bomPanel-text)}.bomPanel *{box-sizing:border-box}.bomPanel__header{display:grid;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--bomPanel-line)}.bomPanel__eyebrow{margin:0 0 3px;color:var(--bomPanel-accent);font-size:.74rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.bomPanel h2,.bomPanel h3,.bomPanel p{margin:0}.bomPanel h2{font-size:1.02rem;line-height:1.2}.bomPanel h3{font-size:.92rem;line-height:1.25}.bomPanel__premise{color:var(--bomPanel-muted);font-size:.82rem;line-height:1.35}.bomPanel__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.bomPanel__stats div{min-width:0;padding:8px;border:1px solid var(--bomPanel-softLine);border-radius:8px;background:var(--bomPanel-surface)}.bomPanel__stats dt{color:var(--bomPanel-muted);font-size:.72rem;line-height:1.2}.bomPanel__stats dd{margin:2px 0 0;font-size:1rem;font-weight:700;line-height:1.1}.bomPanel__section{display:grid;gap:8px;margin-top:14px}.bomPanel__sectionHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.bomPanel__sectionHeader span{flex:0 0 auto;color:var(--bomPanel-muted);font-size:.78rem}.bomPanel__tableWrap{overflow-x:auto;border:1px solid var(--bomPanel-softLine);border-radius:8px;background:var(--bomPanel-surface)}.bomPanel__table{width:100%;border-collapse:collapse;font-size:.84rem;line-height:1.25}.bomPanel__table--wide{min-width:460px}.bomPanel__table th,.bomPanel__table td{padding:7px 8px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}.bomPanel__table th{color:#334155;font-size:.72rem;font-weight:700;text-transform:uppercase}.bomPanel__table td{color:var(--bomPanel-text)}.bomPanel__table tr:last-child th,.bomPanel__table tr:last-child td{border-bottom:0}.bomPanel__number{text-align:right;white-space:nowrap}.bomPanel__buyRow td,.bomPanel__needsBuy td{background:var(--bomPanel-warnBg)}.bomPanel__buyRow td:first-child,.bomPanel__needsBuy td:first-child{color:var(--bomPanel-warn);font-weight:700}.bomPanel__empty{color:var(--bomPanel-muted);font-style:italic;text-align:center}.bomPanel__physicalList{display:grid;gap:0;margin:0;overflow:hidden;border:1px solid var(--bomPanel-softLine);border-radius:8px;background:var(--bomPanel-surface)}.bomPanel__physicalList div{display:grid;grid-template-columns:minmax(112px,.9fr) minmax(0,1.1fr);gap:10px;padding:8px;border-bottom:1px solid #edf2f7}.bomPanel__physicalList div:last-child{border-bottom:0}.bomPanel__physicalList dt{color:var(--bomPanel-muted);font-size:.78rem}.bomPanel__physicalList dd{margin:0;font-size:.82rem;font-weight:700;text-align:right}.bomPanel__validationStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.bomPanel__validationStats div{min-width:0;padding:8px;border:1px solid var(--bomPanel-softLine);border-radius:8px;background:var(--bomPanel-surface)}.bomPanel__validationStats dt{color:var(--bomPanel-muted);font-size:.72rem;line-height:1.2}.bomPanel__validationStats dd{margin:2px 0 0;font-size:.96rem;font-weight:700;line-height:1.1}.bomPanel__validationStatus--ok dd{color:#166c58}.bomPanel__validationStatus--warning dd{color:var(--bomPanel-warn)}.bomPanel__validationStatus--error dd{color:#b42318}.bomPanel__validationList{display:grid;gap:8px}.bomPanel__validationIssue{display:grid;gap:4px;padding:9px;border:1px solid var(--bomPanel-softLine);border-left-width:4px;border-radius:8px;background:var(--bomPanel-surface)}.bomPanel__validationIssue--error{border-left-color:#dc2626;background:#fff7f7}.bomPanel__validationIssue--warning{border-left-color:#d97706;background:#fffaf2}.bomPanel__validationIssueHeader{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bomPanel__validationIssueHeader strong{min-width:0;font-size:.84rem;line-height:1.25}.bomPanel__validationIssueHeader span{flex:0 0 auto;color:var(--bomPanel-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.bomPanel__validationIssue p{margin:0;color:var(--bomPanel-muted);font-size:.78rem;line-height:1.32}.bomPanel__validationIssue .bomPanel__validationPiece{color:var(--bomPanel-text);font-weight:700}.bomPanel__validationMore{margin:0;color:var(--bomPanel-muted);font-size:.78rem;text-align:center}@media (max-width: 860px){.bomPanel{height:auto;max-height:34vh;border-top:1px solid var(--bomPanel-line);border-left:0}}.threeLayoutView{position:relative;width:100%;height:var(--three-layout-view-height, min(72vh, 760px));min-height:380px;overflow:hidden;border:1px solid #cfd8e5;border-radius:8px;background:#eef3fa}.threeLayoutView__canvas{display:block;width:100%;height:100%}.threeLayoutView__fallback{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:2;max-width:calc(100% - 32px);border:1px solid rgba(96,112,133,.28);border-radius:8px;background:#ffffffdb;color:#2d3f58;padding:8px 12px;font-size:.88rem;line-height:1.3;pointer-events:none;box-shadow:0 8px 24px #1018281a}.threeLayoutView__sceneMessage{min-width:190px;border:1px solid rgba(96,112,133,.28);border-radius:8px;background:#ffffffeb;color:#2d3f58;padding:10px 12px;font:600 14px/1.25 Segoe UI,Noto Sans,sans-serif;text-align:center;white-space:nowrap;box-shadow:0 10px 30px #10182821}.threeLayoutView--empty{background:linear-gradient(180deg,#ffffff7a,#eef3fae0),#eef3fa}@media (max-width: 720px){.threeLayoutView{height:var(--three-layout-view-height, 58vh);min-height:320px}.threeLayoutView__fallback{bottom:12px;font-size:.82rem}}.viewerToolbar{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border-bottom:1px solid var(--line, #cfd8e5);background:var(--panel, #ffffff);color:var(--text, #1a2433)}.viewerToolbar__section{display:flex;align-items:center;gap:8px}.viewerToolbar__modes{flex:1 1 auto;justify-content:center;min-width:220px}.viewerToolbar__viewControls{flex:0 0 auto;justify-content:flex-end}.viewerToolbar__modeButton,.viewerToolbar__button,.viewerToolbar__toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid var(--line, #cfd8e5);border-radius:8px;background:#fff;color:var(--text, #1a2433);font:inherit;font-size:.9rem;letter-spacing:0;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.viewerToolbar__modeButton{padding:0 12px}.viewerToolbar__button,.viewerToolbar__toggle{padding:0 10px}.viewerToolbar__modeButton:hover,.viewerToolbar__button:hover,.viewerToolbar__toggle:hover{border-color:#91a4bd;background:#f7faff}.viewerToolbar__modeButton:focus-visible,.viewerToolbar__button:focus-visible,.viewerToolbar__toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.viewerToolbar__modeButton.is-active{border-color:#2563eb;background:#eaf1ff;color:#173b8f;box-shadow:inset 0 0 0 1px #2563eb24}.viewerToolbar__toggle.is-active{border-color:#1f7a4d;background:#eaf8f0;color:#17613d;box-shadow:inset 0 0 0 1px #1f7a4d24}.viewerToolbar__scale{min-width:52px;color:var(--muted, #607085);font-size:.9rem;line-height:1;text-align:right;white-space:nowrap}.pucciBrandLogo{display:inline-flex;align-items:center;flex:0 0 auto;gap:9px;min-width:max-content;color:var(--text, #1a2433)}.pucciBrandLogo__railMark{position:relative;display:inline-block;width:34px;height:30px;flex:0 0 34px;transform:skew(-10deg)}.pucciBrandLogo__railMark:before,.pucciBrandLogo__railMark:after{content:"";position:absolute;top:2px;bottom:2px;width:4px;border-radius:999px;background:#223044}.pucciBrandLogo__railMark:before{left:8px}.pucciBrandLogo__railMark:after{right:8px}.pucciBrandLogo__tie{position:absolute;left:3px;right:3px;height:4px;border-radius:999px;background:#b57938;transform:rotate(-9deg)}.pucciBrandLogo__tie--top{top:5px}.pucciBrandLogo__tie--middle{top:13px}.pucciBrandLogo__tie--bottom{top:21px}.pucciBrandLogo__wordmark{display:inline-flex;align-items:baseline;gap:4px;font-size:1.05rem;font-weight:700;letter-spacing:0;line-height:1;white-space:nowrap}.pucciBrandLogo__suffix{color:#1f7a4d;font-weight:650}@media (max-width: 760px){.viewerToolbar{align-items:stretch;flex-wrap:wrap}.viewerToolbar__modes{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}.viewerToolbar__viewControls{margin-left:auto}}@media (max-width: 520px){.viewerToolbar__viewControls{flex-basis:100%;justify-content:flex-start;margin-left:0}.viewerToolbar__scale{text-align:left}}:root{--bg: #eef3fa;--panel: #ffffff;--line: #cfd8e5;--text: #1a2433;--muted: #607085}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,Noto Sans,Arial,sans-serif}button{font-family:inherit}.boardTwoCols{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) 380px;overflow:hidden;background:var(--bg)}.mainArea{min-width:0;height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.infoBar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;min-height:38px;padding:8px 14px;border-bottom:1px solid var(--line);background:#f8fbff;color:var(--muted);font-size:.84rem;line-height:1.25}.infoBar__warning{color:#9a4d16;font-weight:700}.interiorBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--line);background:#fff}.interiorBar__label{font-size:.8rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.03em}.interiorBar__select{font-family:inherit;font-size:.9rem;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbff;color:var(--text);cursor:pointer}.interiorBar__hint{font-size:.82rem;color:var(--muted)}.infoBar__validation{font-weight:700}.infoBar__validation--ok{color:#166c58}.infoBar__validation--warning{color:#9a4d16}.infoBar__validation--error{color:#b42318}.viewport{min-width:0;min-height:0;overflow:auto;padding:12px 18px 18px;background:linear-gradient(180deg,#ffffff8f,#eef3fa4d),#eef3fa;overscroll-behavior:contain;touch-action:pan-x pan-y}.sheet{display:block;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#fbfdff;box-shadow:0 8px 24px #10182814}.sheet--realistic{background:#f4eadc}.realisticPiece path{vector-effect:non-scaling-stroke}.piece--approximate path,.realisticPiece--approximate path,.piece--error path,.realisticPiece--error path,.piece--warning path,.realisticPiece--warning path{cursor:help}.threeDViewport{min-width:0;min-height:0;padding:12px 18px 18px;overflow:hidden;background:linear-gradient(180deg,#ffffffa3,#eef3fa57),#eef3fa}.threeDViewport .threeLayoutView{height:100%;min-height:0}.tooltip{position:fixed;z-index:1000;pointer-events:none;max-width:min(360px,calc(100vw - 28px));padding:8px 10px;border-radius:8px;background:#0f1724f2;color:#fff;font-size:.82rem;line-height:1.3;box-shadow:0 10px 30px #1018283d}.state{min-height:100dvh;display:grid;place-items:center;padding:24px;color:var(--muted);font-size:1rem}@media (max-width: 980px){.boardTwoCols{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.mainArea{height:auto;min-height:0}.infoBar{align-items:flex-start;flex-direction:column}}@media (max-width: 620px){.viewport,.threeDViewport{padding:10px}}
