*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f2f1eb;color:#202b27;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.masthead{background:#1e2c26;color:#f5f5ed;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,calc((100vw - 1440px)/2));min-height:70px}.brand{font-size:16px;letter-spacing:1.4px;font-weight:850;text-decoration:none;white-space:nowrap}.brand span{font-weight:450;color:#b9d1bb;font-size:11px;letter-spacing:2px;margin-left:9px}.masthead nav{display:flex;gap:8px;flex-wrap:wrap}.masthead nav a{text-decoration:none;color:#bdc9be;font-size:12px;padding:8px 11px;border-radius:99px}.masthead nav a.current,.masthead nav a:hover{background:#43584b;color:white}main{max-width:1440px;margin:auto;padding:44px 24px 0}.intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#698171;margin:0 0 12px}h1{font-size:clamp(32px,4vw,57px);line-height:1.04;letter-spacing:-2.6px;margin:0 0 14px;font-weight:750}h1 em{font-family:Georgia,serif;font-weight:400;color:#6d8d72}h2{font-size:22px;letter-spacing:-.7px;line-height:1.2;margin:0 0 12px}p{margin:0 0 12px;color:#5b6861}.intro p:not(.eyebrow){max-width:640px;font-size:16px}.scale-card{padding:14px 20px;border-left:1px solid #cfd7cd;display:grid;min-width:170px}.scale-card span,.scale-card small{font-size:10px;letter-spacing:1px;color:#718076}.scale-card strong{font-size:26px}.scale-card small{letter-spacing:0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.scene-card,.parts-card,.below section,.checks{background:#fff;border:1px solid #dce1d9;border-radius:18px;overflow:hidden;box-shadow:0 7px 22px #344c3910}.scene-top{height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1.2px;color:#42674e}.status-dot{display:inline-block;width:8px;height:8px;border-radius:100%;background:#88b990;margin-right:5px}.prototype{font-size:9px;color:#a26d35;background:#fff2df;padding:5px 8px;margin-left:5px;border-radius:99px}.view-buttons{display:flex;gap:5px}.view-buttons button,.layer-controls button,#import-controls button{border:1px solid #d7e0d6;background:white;border-radius:8px;color:#365443;font-size:11px;font-weight:700;padding:7px 10px}.view-buttons button:hover,.layer-controls button:hover,#import-controls button:hover{background:#e9f0e8}.stage{position:relative;height:510px;background:radial-gradient(circle at 50% 28%,#f8faf4,#e8eee5)}canvas{width:100%;height:100%;display:block;touch-action:none}.stage-hint{position:absolute;bottom:14px;left:18px;font-size:11px;color:#6e7e72;pointer-events:none}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;color:#576e5c}.scene-controls{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.scene-controls label{font-size:12px;font-weight:700}.scene-controls output{float:right;color:#4d8460}.scene-controls input{display:block;width:100%;margin:12px 0 0;accent-color:#527f5c}.layer-controls{border-top:1px solid #edf0eb;padding:14px 18px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:12px;color:#526458}.layer-controls input{accent-color:#527f5c}.layer-controls button{margin-left:auto}.parts-card{padding:22px;display:flex;flex-direction:column}.parts-card>p:not(.eyebrow){font-size:12px}.parts-list{display:grid;gap:6px;margin:8px 0 14px;max-height:330px;overflow:auto}.parts-list button{text-align:left;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #e6ebe5;border-radius:9px;background:#fbfcfa;color:#35453a;font-size:12px}.parts-list button.active{border-color:#76a181;background:#ecf5eb}.swatch{width:12px;height:12px;border-radius:4px;flex:none;border:1px solid #0002}.part-info{background:#f1f5ef;border-radius:10px;padding:12px;font-size:12px;margin-top:auto}.part-info p{font-size:11px;margin:6px 0}.part-info a{color:#356846;font-weight:700}.download,.upload{display:flex;justify-content:space-between;align-items:center;background:#2f6041;color:white;border-radius:10px;padding:13px 14px;text-decoration:none;font-weight:750;font-size:12px;margin:14px 0 8px}.parts-card>small{font-size:10px;color:#78877c;line-height:1.5}.below{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.below section{padding:26px}.below p:not(.eyebrow){font-size:13px}.upload{display:inline-flex;cursor:pointer}.upload input{position:absolute;width:1px;height:1px;opacity:0}.import-result{font-size:12px;color:#728078;margin:8px 0}#import-controls button{margin:3px}.checks{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:24px 26px;background:#e4ede2}.checks p:not(.eyebrow){font-size:13px}footer{font-size:11px;color:#7e8d80;padding:32px 0}@media(max-width:880px){.masthead{align-items:flex-start;flex-direction:column;padding:16px 18px;gap:8px}.masthead nav{gap:1px}.masthead nav a{font-size:11px;padding:7px 8px}main{padding:26px 14px 0}.intro{align-items:start}.scale-card{min-width:112px;padding:8px 10px}.scale-card strong{font-size:21px}.workspace{grid-template-columns:1fr}.stage{height:430px}.parts-card{padding:18px}.parts-list{grid-template-columns:1fr 1fr;max-height:none}.below{grid-template-columns:1fr}.checks{grid-template-columns:1fr;gap:0}.scene-top{padding:0 10px}.scene-controls{gap:14px}.layer-controls{gap:12px}h1{letter-spacing:-1.5px}}@media(max-width:480px){.stage{height:350px}.scale-card small{display:none}.prototype{display:none}.scene-top strong{font-size:9px}.view-buttons button{padding:7px}.layer-controls button{margin-left:0}.intro p:not(.eyebrow){font-size:14px}}
.print-plan{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:16px 0;background:#fff;border:1px solid #dce1d9;border-radius:18px;padding:26px}.print-plan p:not(.eyebrow){font-size:13px}.print-links{display:grid;align-content:start;gap:8px}.print-links a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;border:1px solid #dce5dc;border-radius:10px;padding:12px;color:#315c3d;font-size:12px;font-weight:700}.print-links a:hover{background:#edf4ed}.print-links span{font-size:11px;color:#718377;font-weight:500;white-space:nowrap}@media(max-width:880px){.print-plan{grid-template-columns:1fr;gap:10px}}

.preview-note{padding:12px 15px;background:#e5eee5;border-radius:10px;font-size:12px;color:#42594a;margin:0 0 18px}
