*{box-sizing:border-box}body{margin:0;background:#f5f4ef;color:#19362f;font:16px system-ui}header,main,footer{max-width:1120px;margin:auto;padding:28px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}header b{font-size:23px}header b span{color:#7f9b58}header small{padding:8px 14px;background:#e6eee3;border-radius:24px}h1{font-size:clamp(34px,5vw,59px);letter-spacing:-2px;line-height:1.08;margin:16px 0}p{line-height:1.6;color:#5b6862}.eyebrow{letter-spacing:2px;font-size:12px;margin-bottom:14px}.intro{max-width:680px}.layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.card{padding:28px;background:white;border:1px solid #dedfd8;border-radius:20px;margin:20px 0}h2{font-size:20px;margin:0 0 22px}h2 span{color:#7d976d;margin-right:10px;font-size:15px}label{display:block;font-size:14px;margin:18px 0 8px}input,select,textarea,button{font:inherit;padding:12px;border:1px solid #bdc8c0;border-radius:9px;width:100%;background:white;color:inherit}input[type=file]{font-size:13px;margin-top:14px}textarea{resize:vertical}button{background:#1f5142;color:white;cursor:pointer;margin-top:14px}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:white;color:#1f5142}.upload{border:2px dashed #9caf9e;padding:22px;border-radius:14px;background:#f7faf6}.upload strong,.upload small{display:block}.upload small{margin-top:7px}small,.muted{color:#67766c}.notice{background:#fff2d9;padding:15px;border-radius:10px;color:#71551b;font-size:14px}.price{font-size:46px;letter-spacing:-2px;margin:20px 0 0}dl{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:14px}dd{margin:0;text-align:right}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sticky{position:sticky;top:20px}.fine{font-size:12px;line-height:1.6;margin-top:20px}canvas{width:100%;height:260px;background:#edf2eb;border-radius:12px;touch-action:none}progress{width:100%;accent-color:#1f5142}footer{font-size:13px;border-top:1px solid #ddd;margin-top:20px}#info,#dims{font-size:13px}#previewHint{font-size:12px;line-height:1.5}.muted{font-size:13px}@media(max-width:760px){.layout{display:block}header,main,footer{padding:20px}.card{padding:22px}.sticky{position:static}header small{font-size:10px}.price{font-size:40px}}@media print{header small,.upload,input,select,textarea,button,#availability,canvas,#previewHint{display:none!important}.layout{display:block}.card{break-inside:avoid;border:0;padding:10px}.sticky{position:static}body{background:white}h1{font-size:28px}header,main,footer{padding:10px}.fine{font-size:11px}}
