/* Isolated copies of the production editor's visual specifications. */
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:#242424;background:#f2f2f2;--green:#2f6d32;--line:#dedede;--muted:#686868}
header{height:auto}header .brand span{font-size:15px;letter-spacing:.13em}header .brand .brand-mark{width:52px;height:52px}main{max-width:1560px;padding:32px 40px 24px;margin:auto}.studio{grid-template-columns:minmax(0,1fr) 380px;gap:36px}.preview{position:relative;min-width:0}.preview-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.preview-heading h1{font-size:24px;font-weight:650;letter-spacing:.04em;line-height:1.5;margin:10px 0 0}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--muted);margin:0}.seg{padding:4px;border:1px solid var(--line);border-radius:10px;flex-shrink:0}.seg button{padding:10px 20px;min-height:0;font-size:14px;border-radius:7px}.seg button[aria-pressed=true]{background:var(--green)}.preview-toolbar{justify-content:flex-end;margin-bottom:12px}.canvases{gap:12px}.canvases figure{position:relative;background:white;border:1px solid #dfdfdf;border-radius:18px;overflow:hidden;min-width:0;margin:0;padding:0}.canvases canvas{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain}.canvases figcaption{position:absolute;z-index:2;left:22px;top:20px;padding:8px 12px;border-radius:30px;font-size:12px;background:rgba(255,255,255,.94);border:1px solid #dedede}.canvases figcaption small,.canvases figure>p{display:none}.canvases .dot{background:var(--green);width:6px;height:6px}.canvases.guides figure:after{content:"";position:absolute;inset:16%;border:1px dashed #628d5880;pointer-events:none}.sample-button{position:absolute;z-index:3;bottom:24px;left:50%;transform:translateX(-50%);border:1px solid #d3d3d3;padding:12px 21px;background:#fafafa;border-radius:30px;color:var(--green);white-space:nowrap;font-size:14px;box-shadow:0 3px 14px #0000000a}.preview-bottom{display:flex;align-items:center;gap:18px;margin:16px 0;color:var(--muted);font-size:12px}.toggle{display:flex;align-items:center;gap:7px;font-size:14px}.toggle input{accent-color:var(--green);width:16px;height:16px}.history{margin-left:auto;display:flex;gap:6px}.history button{width:36px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--green);font-size:22px}.preview-note{padding:12px 15px;background:#eee;border-radius:10px;color:#606060;font-size:12px;line-height:1.8}.controls{border:1px solid #ddd;border-radius:16px}.product-heading{background:#f7f7f7}.subject-editor{border:1px solid #ddd;border-radius:16px}.readout{margin:12px 0;font-size:12px}.field-grid{grid-template-columns:1fr}.photo-upload{padding:17px 8px;border-color:#aaa;border-radius:10px}.primary{background:var(--green)}[hidden]{display:none!important}
.studio{display:flex;flex-direction:column;max-width:1000px;margin:auto}.studio>section,.studio>aside{width:100%;order:initial}.upload-first .sample-button{position:static;transform:none;margin:8px 0}.preview{scroll-margin-top:20px}.controls #generateShape{margin-top:24px;width:100%}.preview-top .seg{white-space:nowrap}.preview-note{width:100%}
@media(max-width:760px){header .brand span{font-size:12px;letter-spacing:.1em}header .brand .brand-mark{width:44px;height:44px}main{padding:22px 16px}.studio{gap:24px}.studio>section,.studio>aside{order:initial}.preview-top{gap:10px;align-items:flex-start}.preview-heading h1{font-size:20px;margin:10px 0 0}.preview-top .seg{margin-top:25px}.seg button{padding:8px 12px;font-size:13px}.canvases figcaption{left:14px;top:14px;padding:7px 10px}.canvases{grid-template-columns:1fr}.preview-toolbar{margin-bottom:12px}.subject-editor{padding:16px}.readout{grid-template-columns:1fr 1fr}.preview-bottom{gap:8px}.controls{width:100%}.sample-button{bottom:18px}.photo-toolbar{grid-template-columns:1fr 1fr}.editor-body,.cutout-panel{min-width:0}}
/* Compact mobile flow; isolated from production editor styles. */
header{min-height:58px;padding:8px 16px;height:58px}header .brand .brand-mark{width:34px;height:34px}header .brand span{font-size:11px;padding-left:10px}header .editor-overview-link{font-size:11px}main{padding:14px 16px}.studio{gap:12px;max-width:900px}.compact-upload h1{font-size:20px;margin:0 0 6px}.compact-note{font-size:12px;color:#686868;line-height:1.6;margin:6px 0 10px}.upload-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upload-row .photo-upload{width:auto;flex:1;padding:11px 16px;margin:0;background:#2f6d32;color:white;border:0;font-weight:600}.upload-row .photo-upload:before{display:none}.upload-row .sample-button{position:static;transform:none;padding:9px 10px;margin:0;font-size:12px}.upload-row .text-button{font-size:12px}.subject-editor{padding:12px!important}.primary-actions{display:flex;gap:6px;margin-bottom:8px}.primary-actions button{border:1px solid #ddd;background:white;color:#2f6d32;border-radius:8px;padding:8px 12px;min-height:38px}.primary-actions button:first-child{margin-right:auto}.subject-editor #editorViewport{max-height:45vh;margin:0}.subject-editor #photoCanvas{max-width:none}.subject-editor #maskStatus{font-size:13px;margin:8px 0}.subject-editor #modelStatus{font-size:11px;margin:5px 0;color:#777}.compact-details{border:1px solid #ddd;border-radius:8px;padding:10px;margin:8px 0;background:white}.compact-details summary{cursor:pointer;font-size:13px;color:#365b36}.compact-details .controls{border:0;padding:12px 0}.compact-details .product-heading,.compact-details .section-title{display:none}.compact-details .field-grid{margin-top:10px}.compact-details .helper{font-size:11px}.subject-editor #generateShape{width:100%;margin-top:8px;min-height:44px}.preview-heading h1{font-size:20px;margin:4px 0}.preview-heading .eyebrow{display:none}.preview-toolbar{margin:6px 0 8px}.canvases{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.canvases figure{border-radius:12px}.canvases figcaption{top:8px;left:8px;padding:4px 8px;font-size:12px}.canvases canvas{width:100%;height:auto}.readout{padding:8px;margin:8px 0;grid-template-columns:1fr 1fr}.readout>div:last-child{display:none}.preview-bottom{margin:8px 0}.preview-note{padding:8px;font-size:11px}.compact-details .photo-toolbar{margin-top:10px}.edit-tools{margin-top:10px}#componentWarning{font-size:12px}#componentWarning p{margin:6px 0}#componentWarning button{min-height:38px}footer{padding:12px 0;font-size:10px}
#editorViewport{display:flex;justify-content:center;align-items:flex-start}#photoCanvas{flex-shrink:0}

.upload-row{margin-top:12px}.physical-readout{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;padding:8px;background:white;border-radius:8px}.shape-order button{width:100%;padding:12px;border-radius:8px;border:0;background:#e3e8e0;color:#52614b}.shape-order p{font-size:12px;color:#666}.compact-details .field-grid{display:none}
.studio{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);max-width:1200px;align-items:start}.studio>.preview{grid-column:1;grid-row:1}.studio>.subject-editor{grid-column:2;grid-row:1}.shape-details{grid-column:1/-1}.subject-editor #editorViewport{height:270px;max-height:270px;align-items:center}.subject-editor #photoCanvas{max-width:100%;max-height:270px;width:auto!important;height:auto!important;object-fit:contain}.preview-heading h1{font-size:19px}.canvases canvas{max-height:330px}.subject-editor #modelStatus{margin:3px 0}.subject-editor #maskStatus{margin:4px 0}.subject-editor .compact-details{margin:4px 0}.upload-row{margin-top:6px}
@media(max-width:760px){.studio{display:flex;gap:8px}.preview-heading h1{font-size:18px}.preview-toolbar{margin:0 0 5px}.canvases canvas{height:150px;object-fit:contain}.subject-editor #editorViewport{height:180px;max-height:180px}.subject-editor #photoCanvas{max-height:180px}.primary-actions{margin-bottom:4px}.primary-actions button{min-height:32px;padding:5px 10px}.subject-editor{padding:8px!important}.upload-row .photo-upload{padding:9px}.preview-note{margin:4px 0}.shape-details{width:100%}}

/* Display-only pillow prominence: full outline/shadow, unchanged physical geometry. */
.studio{max-width:1440px;grid-template-columns:minmax(0,1.8fr) minmax(300px,.85fr);gap:20px}
.canvases canvas{max-height:none;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:760px){.studio{display:flex;gap:8px}.canvases{gap:6px}.canvases canvas{height:auto;max-height:none;aspect-ratio:1}.canvases figcaption{top:6px;left:6px;padding:3px 6px}}

/* Shape-only single full-face preview; physical geometry and print rendering unchanged. */
.canvases.single{grid-template-columns:minmax(0,1fr)!important}.canvases.guides figure:after{content:none}.canvases.single canvas{max-width:760px;width:100%;max-height:72vh;object-fit:contain}.canvases.single figure{background:transparent;border:0;overflow:visible}.preview-toolbar{justify-content:space-between}
