:root{--bg: #f7f2ea;--surface: #fffdf9;--surface-2: #efe7da;--ink: #2b2a33;--ink-soft: #5b5866;--line: #d9cfbf;--accent: #2f6a8f;--accent-ink: #ffffff;--accent-soft: #dbe8f0;--warn-bg: #fff4dc;--warn-ink: #6a4a00;--danger: #a8352a;--artboard: #ffffff;--garment: #e8dcc4;--garment-line: #b9a98d;--focus: #b03a63;--radius: 12px;--tap: 44px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.45;color:var(--ink);background:var(--bg);color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1d1c22;--surface: #26252c;--surface-2: #302e37;--ink: #f2eee7;--ink-soft: #c2bdb4;--line: #45424d;--accent: #86bedf;--accent-ink: #13202a;--accent-soft: #2c3e4b;--warn-bg: #3a3020;--warn-ink: #f4d58a;--danger: #ef8f84;--artboard: #f6f2ea;--garment: #5b5446;--garment-line: #8e8471;--focus: #f39ab8;color-scheme:dark}}:root[data-theme=dark]{--bg: #1d1c22;--surface: #26252c;--surface-2: #302e37;--ink: #f2eee7;--ink-soft: #c2bdb4;--line: #45424d;--accent: #86bedf;--accent-ink: #13202a;--accent-soft: #2c3e4b;--warn-bg: #3a3020;--warn-ink: #f4d58a;--danger: #ef8f84;--artboard: #f6f2ea;--garment: #5b5446;--garment-line: #8e8471;--focus: #f39ab8;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink)}button,input{font:inherit;color:inherit}button{min-height:var(--tap);min-width:var(--tap);padding:.4rem .9rem;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.danger{color:var(--danger)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{display:flex;flex-direction:column;min-height:100vh;max-width:1400px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 24px}.confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0 6px}.brand{display:flex;align-items:baseline;gap:8px;margin-right:auto}.logo{font-size:1.4rem;color:var(--accent)}.brand-name{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.5rem;letter-spacing:.08em;font-weight:700}.tagline{color:var(--ink-soft);font-size:.9rem}.title-field input{min-height:var(--tap);border:1.5px solid var(--line);border-radius:10px;background:var(--surface);padding:0 12px;width:12rem}.save-state{font-size:.9rem;color:var(--ink-soft);min-width:6rem}.save-saved:before{content:"✓ ";color:#3f7d3a}.lang{display:flex;gap:6px}.prototype-note{margin:4px 0 10px;padding:8px 12px;border-radius:10px;background:var(--accent-soft);font-size:.9rem}.tabs,.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.studio-layout,.garment-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}@media(max-width:860px){.studio-layout,.garment-layout{grid-template-columns:1fr}.tagline{display:none}.title-field input{width:9rem}}.stage,.garment-stage{position:relative}.canvas{display:block;width:100%;height:min(70vh,720px);min-height:320px;background:var(--surface-2);border-radius:var(--radius);border:1.5px solid var(--line);touch-action:none;user-select:none;-webkit-user-select:none}@media(max-width:860px){.canvas{height:62vh}}.artboard{fill:var(--artboard);stroke:var(--line);stroke-width:.5}.node{cursor:pointer;outline:none}.node:focus-visible path{stroke:var(--focus)}.selection-outline{stroke:var(--accent);stroke-dasharray:6 4}.spine-line{stroke:var(--accent);stroke-dasharray:2 4;opacity:.8}.handle{cursor:grab}.handle-dot{fill:var(--surface);stroke:var(--accent)}.handle-bend .handle-dot{fill:var(--accent)}.handle-glyph{stroke:var(--accent)}.handle-bend .handle-glyph{stroke:var(--accent-ink)}.panel{display:flex;flex-direction:column;gap:12px}.panel-section{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px}.panel-title{font-size:1.05rem;margin:0 0 10px;font-weight:650}summary.panel-title{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;margin:0}.hint{color:var(--ink-soft);margin:0}.hint.small{font-size:.85rem;margin-top:8px}fieldset{border:0;margin:0 0 4px;padding:0}legend{font-weight:600;margin-bottom:6px;padding:0}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:var(--tap);height:var(--tap);padding:0;border-radius:50%;border:2px solid var(--line)}.swatch[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px;background-clip:padding-box}.illustrative-tag{font-size:.8rem;color:var(--ink-soft);margin:4px 0 10px}.field{display:flex;flex-direction:column;gap:4px;margin:10px 0}.field span{display:flex;justify-content:space-between;font-weight:600}.field output{font-weight:400;color:var(--ink-soft);font-variant-numeric:tabular-nums}input[type=range]{width:100%;min-height:var(--tap);accent-color:var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.segmented{display:flex;flex-wrap:wrap;gap:8px}.layers,.versions{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow:auto}.layers li,.versions li{display:flex;align-items:center;gap:6px;padding:2px 0}.layer-name{flex:1;text-align:left;border-radius:10px}.layers li.is-selected .layer-name{border-color:var(--accent)}.icon-btn{padding:0;border-radius:10px}.versions li span{flex:1;font-size:.9rem}.garment-body{fill:var(--garment);stroke:var(--garment-line);stroke-width:3}.garment-detail{stroke:var(--garment-line);stroke-width:2}.garment-seam{stroke:var(--garment-line);stroke-width:2;stroke-dasharray:8 6}.garment-zone{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:10 8;opacity:.7}.placed{cursor:grab}.thread{filter:saturate(.92)}.illustrative-badge{position:absolute;left:12px;bottom:12px;margin:0;padding:6px 10px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line);font-size:.85rem;max-width:calc(100% - 24px)}.warnings{margin:0;padding-left:1.1rem;color:var(--warn-ink);background:var(--warn-bg);border-radius:10px;padding:10px 10px 10px 28px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.account{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.account-email{font-size:.9rem;color:var(--ink-soft);overflow-wrap:anywhere}.sign-in-panel{position:relative;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:12px;max-width:26rem}.sign-in-panel input[type=email]{width:100%;min-height:var(--tap);border:1.5px solid var(--line);border-radius:10px;background:var(--bg);padding:0 12px}.form-error{color:var(--danger);margin:6px 0 0}.notice{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1.5px solid var(--line)}.save-savedLocal{color:var(--warn-ink)}
