:root{color:#302923;background:#fff7ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(255,216,137,.22),transparent 24rem),linear-gradient(180deg,#fff8ef,#fff1e4)}button,input,select{font:inherit}.app-shell{width:min(100%,1120px);margin:0 auto;padding:18px 14px 44px}.hero-card,.card{border:1px solid rgba(126,91,54,.14);background:#fffdf7e6;border-radius:20px;box-shadow:0 18px 46px #704e2b21}.hero-card{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:28px 18px}.shop-mark{width:fit-content;padding:8px 12px;border-radius:999px;background:#ffe1bb;color:#754524;font-weight:700}h1{margin:22px 0 10px;font-size:clamp(34px,9vw,62px);line-height:1.04;letter-spacing:0}.subtitle{margin:0 0 24px;color:#6d5a4a;font-size:20px;font-weight:700}.hint{color:#715d4b;line-height:1.7;margin:20px 0 0}.hero-actions,.control-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.primary-button,.secondary-button,.pill{min-height:48px;border:0;border-radius:14px;cursor:pointer;font-weight:800}.primary-button{padding:0 22px;background:#e8553f;color:#fff;box-shadow:0 12px 26px #e8553f40}.primary-button:disabled,.secondary-button:disabled,.pill:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.secondary-button{padding:0 22px;background:#2f2922;color:#fff}.full{width:100%;margin-top:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chips span,.pill{padding:10px 13px;background:#fff0d7;color:#704a2b}.pill.active{background:#e8553f;color:#fff}.size-mode-row{margin-bottom:10px}.step-card,.result-card{margin-top:18px;padding:18px}.mode-card{margin-bottom:18px;padding:18px}.section-title span{color:#b65b2b;font-weight:800}.section-title h2{margin:4px 0 16px;font-size:24px;letter-spacing:0}.crop-frame{position:relative;height:min(72vw,430px);min-height:310px;overflow:hidden;border-radius:18px;background:#2f2922;touch-action:none}.crop-image{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;transform-origin:center;-webkit-user-select:none;user-select:none}.crop-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047}.crop-box{position:absolute;inset:50% auto auto 50%;width:min(74vw,340px);max-width:82%;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:14px;box-shadow:0 0 0 999px #00000052}.field{display:grid;gap:8px;margin-top:14px;color:#5d4d40;font-weight:800}input[type=range]{width:100%;accent-color:#e8553f}select{width:100%;height:48px;border:1px solid #ead2b3;border-radius:12px;background:#fffaf2;color:#302923;padding:0 12px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.size-preview{display:grid;gap:6px;align-content:center;min-height:76px;padding:14px;border-radius:14px;background:#fff0d7}.size-preview strong{font-size:18px}.size-preview span{color:#715d4b;line-height:1.5}.dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.geometry-params{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.adjust-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;padding:12px;border-radius:14px;background:#fff8ee}.number-input{width:100%;height:48px;border:1px solid #ead2b3;border-radius:12px;background:#fffaf2;color:#302923;padding:0 12px;font-weight:800}.toggle-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.toggle-list label{display:flex;align-items:center;gap:8px;min-height:46px;border-radius:13px;background:#fff3df;padding:0 12px;font-weight:800}.palette-panel{margin-top:14px;padding:12px;border-radius:14px;background:#fff8ee}.palette-toggle{display:flex;align-items:center;gap:8px;font-weight:900}.palette-tools{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px;margin-top:10px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:180px;overflow:auto;margin-top:10px}.palette-chip{display:flex;align-items:center;gap:6px;min-height:38px;padding:6px;border-radius:10px;background:#fffaf2;font-weight:800}.swatch.mini{width:20px;height:20px;border-radius:6px}.privacy-note{margin:14px 0 0;color:#715d4b}.results{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.compare{display:grid;grid-template-columns:.45fr 1fr;gap:12px}.compare p{margin:0 0 8px;font-weight:800}.pattern-meta{margin:-2px 0 8px;color:#755f4e;font-size:14px;font-weight:800}.compare img{width:100%;border-radius:14px;border:1px solid #ecd8bb}.source-placeholder{display:grid;min-height:160px;place-items:center;padding:16px;border:1px solid #ecd8bb;border-radius:14px;background:#fff8ee;color:#715d4b;font-weight:800;line-height:1.6;text-align:center}.canvas-viewport{height:min(72vw,520px);min-height:330px;overflow:hidden;border:1px solid #ecd8bb;border-radius:14px;background:#fffaf2;touch-action:none}.canvas-viewport[data-brush=true]{cursor:crosshair}.canvas-viewport canvas{transform-origin:top left;image-rendering:pixelated}.edit-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto auto;gap:8px;align-items:end;margin-top:12px}.field.compact{min-width:0}.zoom-label{min-width:62px;text-align:center;font-weight:800}.summary-strip{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:baseline;margin-bottom:14px;padding:12px;border-radius:14px;background:#fff0d7}.summary-strip strong{font-size:28px;color:#d64d35}.materials-list{display:grid;gap:8px;max-height:540px;overflow:auto;padding-right:4px}.material-row{display:grid;grid-template-columns:34px minmax(110px,1fr) minmax(120px,.9fr) auto auto;gap:10px;align-items:center;min-height:52px;padding:8px;border-radius:12px;background:#fff8ee}.lock-toggle{display:flex;gap:5px;align-items:center;font-weight:800;white-space:nowrap}.swatch{width:30px;height:30px;border-radius:8px;border:1px solid rgba(0,0,0,.16)}.material-row small{display:block;color:#88715e}@media (max-width: 760px){.app-shell{padding:10px 10px 34px}.hero-card{min-height:86vh;border-radius:18px}.primary-button,.secondary-button{width:100%}.settings-grid,.dimension-fields,.geometry-params,.adjust-panel,.toggle-list,.results,.compare,.palette-tools,.edit-toolbar{grid-template-columns:1fr}.summary-strip{grid-template-columns:auto 1fr}.material-row{grid-template-columns:34px 1fr}.material-row select,.material-row .lock-toggle,.material-row b{grid-column:2}.section-title h2{font-size:22px}}
