.tryon-pill{border:1px solid var(--line-strong);background:var(--paper);height:34px;color:var(--ink);letter-spacing:.005em;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 11px;font-size:13px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.tryon-pill:hover:not(:disabled){border-color:var(--accent-line);background:#fff;transform:translateY(-1px);box-shadow:0 4px 14px -8px #221d1973}.tryon-pill:active:not(:disabled){box-shadow:none;transform:translateY(0)}.tryon-pill:focus-visible{box-shadow:var(--focus);outline:none}.tryon-pill:disabled{color:var(--ink-3,#9a9085);cursor:not-allowed;border-style:dashed}.tryon-pill__icon{color:var(--accent);flex:none;transition:color .16s}.tryon-pill:disabled .tryon-pill__icon{color:currentColor}.tryon-pill__dot{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;width:7px;height:7px;margin-left:1px;transition:background-color .16s,border-color .16s,box-shadow .16s}.tryon-pill[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.tryon-pill[aria-pressed=true]:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.tryon-pill[aria-pressed=true] .tryon-pill__icon{color:#fff}.tryon-pill[aria-pressed=true] .tryon-pill__dot{background:#fff;border-color:#fff;box-shadow:0 0 0 3px #ffffff40}.flat-inline #mannequin{pointer-events:none}.tryon{align-items:center;gap:6px;display:inline-flex;position:relative}.tryon-gear{border:1px solid var(--line-strong);background:var(--paper);width:34px;height:34px;color:var(--ink-2);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background-color .16s,border-color .16s,color .16s;display:inline-grid}.tryon-gear:hover{border-color:var(--accent-line);color:var(--accent);background:#fff}.tryon-gear:focus-visible{box-shadow:var(--focus);outline:none}.tryon-gear[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.tryon-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:296px;max-height:min(72vh,620px);box-shadow:var(--shadow-sheet);text-align:left;padding:14px 16px 16px;animation:.14s tryon-panel-in;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}@keyframes tryon-panel-in{0%{opacity:0;transform:translateY(-4px)}}.tryon-panel__head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.tryon-panel__title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-weight:500}.tryon-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600}.tryon-link:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.tryon-link:disabled{color:var(--ink-3);cursor:default}.tryon-group{flex-direction:column;gap:9px;padding-top:12px;display:flex}.tryon-group+.tryon-group{border-top:1px dashed var(--line);margin-top:12px}.tryon-group__title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:700}.tryon-chips{flex-wrap:wrap;gap:5px;display:flex}.tryon-chip{border:1px solid var(--line-strong);background:var(--paper);min-height:28px;color:var(--ink);cursor:pointer;border-radius:999px;padding:0 11px;font-size:12.5px;font-weight:550;transition:background-color .14s,border-color .14s,color .14s}.tryon-chip:hover:not([aria-pressed=true]){border-color:var(--ink-2);background:#fff}.tryon-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff}.tryon-chip:focus-visible,.tryon-swatch:focus-visible{box-shadow:var(--focus);outline:none}.tryon-slider{flex-direction:column;gap:2px;display:flex}.tryon-slider__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tryon-slider__label{color:var(--ink-2);font-size:13px;font-weight:600}.tryon-slider__value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:12.5px;font-weight:600}.tryon-range{width:100%;accent-color:var(--accent);cursor:pointer;margin:0}.tryon-note{color:var(--ink-3);margin:2px 0 0;font-size:12px;line-height:1.45}.tryon-swatches{flex-wrap:wrap;gap:8px;display:flex}.tryon-swatch{cursor:pointer;border:1px solid #221d192e;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .14s,box-shadow .14s}.tryon-swatch:hover{transform:scale(1.1)}.tryon-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.flat-inline #mannequin_over{pointer-events:none}.tpl-button{border:1px solid var(--line-strong);background:var(--paper);height:34px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 13px 0 11px;font-size:13px;font-weight:600;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.tpl-button svg{color:var(--accent)}.tpl-button:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px);box-shadow:0 4px 14px -8px #221d1973}.tpl-button:focus-visible,.tpl-card:focus-visible,.tpl-close:focus-visible{box-shadow:var(--focus);outline:none}.tpl-backdrop{z-index:60;background:#221d1961;place-items:center;padding:24px;animation:.14s tpl-fade;display:grid;position:fixed;inset:0}.tpl-dialog{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;width:min(940px,100%);max-height:min(86vh,860px);animation:.18s tpl-rise;display:flex;box-shadow:0 24px 70px -20px #221d1980}@keyframes tpl-fade{0%{opacity:0}}@keyframes tpl-rise{0%{opacity:0;transform:translateY(8px)}}.tpl-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 14px;display:flex}.tpl-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:24px;font-weight:500}.tpl-sub{color:var(--ink-3);margin:4px 0 0;font-size:13.5px}.tpl-close{border:1px solid var(--line-strong);background:var(--paper);width:34px;height:34px;color:var(--ink-2);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:inline-grid}.tpl-close:hover{border-color:var(--ink-2);background:#fff}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;margin:0;padding:20px 24px 24px;list-style:none;display:grid;overflow-y:auto}.tpl-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-align:left;cursor:pointer;flex-direction:column;width:100%;padding:8px 8px 12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.tpl-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:0 10px 26px -16px #221d1980}.tpl-thumb{aspect-ratio:2/3;border-radius:var(--radius-sm);background:#fff;display:block;overflow:hidden}.tpl-thumb img{object-fit:contain;width:100%;height:100%;display:block}.tpl-name{color:var(--ink);margin-top:10px;padding:0 4px;font-size:14px;font-weight:650}.tpl-note{color:var(--ink-3);margin-top:2px;padding:0 4px;font-size:12px;line-height:1.4}.tpl-tabs{gap:6px;padding:12px 24px 0;display:flex}.tpl-tab{border:1px solid var(--line-strong);background:var(--paper);height:36px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.tpl-tab:hover:not([aria-selected=true]){border-color:var(--ink-2);background:#fff}.tpl-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent);color:#fff}.tpl-tab:focus-visible{box-shadow:var(--focus);outline:none}.tpl-count{font-variant-numeric:tabular-nums;background:#221d1914;border-radius:999px;padding:1px 7px;font-size:12px}.tpl-tab[aria-selected=true] .tpl-count{background:#ffffff38}.tpl-grid{animation:.16s tpl-fade}:root{--bg:#f3eee6;--surface:#fbf8f3;--surface-sunk:#f0eae0;--paper:#fffcf6;--mat:#e9e2d6;--line:#e0d8cb;--line-strong:#cbc0ae;--ink:#221d19;--ink-2:#544b42;--ink-3:#6e6459;--accent:#9c4127;--accent-hover:#82341f;--accent-soft:#f4e4da;--accent-line:#e2bfae;--danger:#a3302a;--danger-soft:#f8e6e2;--radius:12px;--radius-sm:8px;--shadow-panel:0 1px 0 #ffffffb3 inset, 0 1px 2px #221d190a, 0 8px 24px -12px #221d191f;--shadow-sheet:0 1px 2px #221d190f, 0 12px 32px -14px #221d1938;--focus:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif;--font-sans:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--gap:20px;--gutter:24px;--rail:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}p{margin:0}h1,h2,h3{margin:0;font-weight:600}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}.muted{color:var(--ink-3);font-size:13.5px;line-height:1.55}.display-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:26px;font-weight:500;line-height:1.15}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:650}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:10;background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);padding:8px 14px;text-decoration:none;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}:focus-visible{box-shadow:var(--focus);outline:none}[tabindex="-1"]:focus{box-shadow:none;outline:none}.app{grid-template-columns:var(--rail) minmax(0, 1fr);height:100%;min-height:620px;display:grid}.shell{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.workspace{gap:var(--gap);padding:4px var(--gutter) var(--gap);grid-template-columns:296px minmax(0,1fr) 280px;min-height:0;display:grid}.rail{background:var(--ink);color:#d9cfc2;flex-direction:column;align-items:center;gap:20px;padding:16px 0;display:flex}.rail__mark{background:var(--paper);width:38px;height:38px;color:var(--ink);border-radius:10px;place-items:center;display:grid}.rail__list{flex-direction:column;gap:6px;display:flex}.rail__item{width:54px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;text-decoration:none;transition:background-color .15s,color .15s;display:flex;position:relative}.rail__item:hover:not(:disabled){color:#fff;background:#ffffff12}.rail__item.is-active{color:#fff;background:#ffffff1a}.rail__item.is-active:before{content:"";background:var(--accent-line);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-7px}.rail__item:focus-visible{box-shadow:0 0 0 2px var(--accent-line)}.rail__label{letter-spacing:.02em;font-size:10.5px;font-weight:550}.topbar{padding:18px var(--gutter) 16px;justify-content:space-between;align-items:center;gap:20px;display:flex}.topbar__titles{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar__crumb{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:650}.topbar__crumb span{color:var(--line-strong);margin:0 4px}.topbar__title-row{align-items:center;gap:12px;min-width:0;display:flex}.topbar__project{font-family:var(--font-display);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:30px;font-weight:500;line-height:1.15;overflow:hidden}.topbar__actions{flex:none;align-items:center;gap:10px;display:flex}.status{color:var(--ink-3);align-items:center;gap:8px;margin-right:6px;font-size:12.5px;display:inline-flex}.status__dot{width:7px;height:7px;box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0;border-radius:50%}.chip{border:1px solid var(--line-strong);background:var(--paper);letter-spacing:.02em;height:22px;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.chip--sample{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-hover)}.chip--error{background:var(--danger-soft);color:var(--danger);border-color:#e6b9b2}.chip--live{border-color:var(--ink-2);color:var(--ink)}.btn{letter-spacing:.005em;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px #82341f40}.btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px -4px #82341f73}.btn--primary:disabled{color:var(--ink-3);border-color:var(--line-strong);box-shadow:none;background:0 0;border-style:dashed}.btn--ghost{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.btn--ghost:hover:not(:disabled){border-color:var(--ink-2);background:#fff}.btn--quiet{color:var(--ink-2);background:0 0}.btn--quiet:hover{background:var(--surface-sunk);color:var(--ink)}.btn--sm{min-height:32px;padding:0 12px;font-size:13px}.btn--block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.icon-btn:disabled{color:var(--line-strong);cursor:not-allowed}.panel,.stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow-panel);flex-direction:column;display:flex}.panel__header,.stage__toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 12px 8px 18px;display:flex}.panel__heading{align-items:center;gap:10px;min-width:0;display:flex}.panel__index{font-family:var(--font-display);color:var(--accent);font-size:13px;font-style:italic}.panel__title{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:12px;font-weight:650}.panel__body{scrollbar-width:thin;flex-direction:column;gap:22px;padding:18px;display:flex;position:relative;overflow-y:auto}.panel__footnote{border-top:1px solid var(--line);color:var(--ink-3);margin-top:auto;padding-top:14px;font-size:12.5px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper);transition:border-color .15s,background-color .15s,box-shadow .15s}.dropzone:hover{border-color:var(--ink-3)}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft);border-style:solid;box-shadow:0 0 0 4px #9c412714}.dropzone.is-error{border-color:var(--danger)}.dropzone__content{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:30px 18px 26px;display:flex}.dropzone__content .btn{margin-top:14px}.dropzone__icon{border:1px solid var(--line);background:var(--surface);width:50px;height:50px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.dropzone__title{font-family:var(--font-display);font-size:18px;font-weight:500}.dropzone__file{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sketch-preview{flex-direction:column;gap:12px;margin:0;display:flex}.sketch-preview__frame{aspect-ratio:4/5;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sheet);place-items:center;padding:14px;display:grid;overflow:hidden}.sketch-preview__frame img{object-fit:contain;max-height:100%}.sketch-preview figcaption{flex-direction:column;gap:2px;min-width:0;display:flex}.sketch-preview__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tips .eyebrow{margin-bottom:10px}.tips ul{flex-direction:column;gap:8px;display:flex}.tips li{color:var(--ink-2);align-items:flex-start;gap:9px;font-size:13.5px;display:flex}.tips li svg{color:var(--accent);flex:none;margin-top:2px}.notice{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.notice svg{flex:none;margin-top:1px}.notice--error{background:var(--danger-soft);color:var(--danger);border:1px solid #edc9c2}.notice--error p{color:var(--ink)}.notice--center{text-align:left;max-width:420px;padding:18px 20px}.notice__title{margin-bottom:2px;font-weight:650}.spinner{border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin-bottom:8px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{aspect-ratio:1;border-radius:var(--radius);background:linear-gradient(100deg, var(--surface-sunk) 30%, var(--paper) 50%, var(--surface-sunk) 70%);background-size:300% 100%;width:min(260px,60%);animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.stage__toolbar{flex-wrap:wrap;row-gap:8px}.stage__toolbar .panel__heading{flex:auto;min-width:0}.stage__toolbar .chip{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.stage__tools{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.stage__hide{flex:none}.stage__toolrow{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px 6px 14px;display:flex}.stage__canvas{border-radius:0 0 var(--radius) var(--radius);background-color:var(--mat);background-image:linear-gradient(#221d190f 1px,#0000 1px),linear-gradient(90deg,#221d190f 1px,#0000 1px),linear-gradient(#221d1908 1px,#0000 1px),linear-gradient(90deg,#221d1908 1px,#0000 1px);background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px;flex:1;grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:0;padding:28px;display:grid;overflow:hidden;container-type:size}.stage__canvas.is-zoomed{overflow:auto}.sheet{width:calc(100% * var(--zoom,1));height:calc(100% * var(--zoom,1));background:radial-gradient(120% 90% at 50% 0%, #fffefb 0%, var(--paper) 60%, #fbf6ec 100%);box-shadow:var(--shadow-sheet);border-radius:4px;place-self:start;margin:auto;position:relative}.sheet:before{content:"";pointer-events:none;--m:var(--line-strong);background:linear-gradient(var(--m), var(--m)) top left / 14px 1px, linear-gradient(var(--m), var(--m)) top left / 1px 14px, linear-gradient(var(--m), var(--m)) top right / 14px 1px, linear-gradient(var(--m), var(--m)) top right / 1px 14px, linear-gradient(var(--m), var(--m)) bottom left / 14px 1px, linear-gradient(var(--m), var(--m)) bottom left / 1px 14px, linear-gradient(var(--m), var(--m)) bottom right / 14px 1px, linear-gradient(var(--m), var(--m)) bottom right / 1px 14px;background-repeat:no-repeat;position:absolute;inset:12px}.sheet--art{aspect-ratio:4/5;height:calc(min(100cqh, 125cqw) * var(--zoom,1));grid-template:minmax(0,1fr)/minmax(0,1fr);width:auto;padding:11% 8% 7%;display:grid}.flat-inline{width:100%;min-width:0;height:100%;min-height:0}.flat-inline>svg{width:100%;height:100%;display:block;overflow:visible}.flat-inline [data-part]{cursor:pointer;outline:none}.flat-inline [data-part]:hover{filter:drop-shadow(0 0 1.5px #9c4127cc)drop-shadow(0 0 5px #9c412759)}.flat-inline [data-part][data-selected],.flat-inline [data-part]:focus-visible{filter:drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 6px #9c412780)}.sheet__selected{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;max-width:calc(100% - 48px);color:var(--accent-hover);pointer-events:none;font-size:12px;font-weight:600;position:absolute;bottom:14px;left:50%;overflow:hidden;transform:translate(-50%)}.sheet--art>img,.sheet--art>svg{object-fit:contain;object-position:center;width:100%;min-width:0;max-width:none;height:100%;min-height:0}.sheet__tag{z-index:1;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100% - 48px);padding:4px 12px;font-size:12px;font-weight:600;position:absolute;top:18px;left:50%;overflow:hidden;transform:translate(-50%)}.sheet__tag--sample{background:var(--accent-soft);color:var(--accent-hover);border:1px solid var(--accent-line)}.sheet--empty{scrollbar-width:thin;display:grid;overflow:auto}.empty-canvas{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;padding:36px 28px;display:flex}.empty-canvas__figure{flex:0 auto;place-items:center;width:min(240px,50%);min-height:0;display:grid}.empty-canvas__copy{flex-direction:column;gap:8px;max-width:420px;display:flex}.empty-canvas__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.placeholder-flat{width:100%;height:auto;max-height:34vh;color:var(--line-strong)}.steps{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:6px;padding-top:16px;font-size:12.5px;display:flex}.steps li{align-items:center;gap:8px;display:inline-flex}.steps em{color:var(--ink-3);opacity:.85;font-style:normal}.steps__num{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:650;display:inline-grid}.steps .is-current{color:var(--ink);font-weight:600}.steps .is-current .steps__num{border-color:var(--accent);color:var(--accent)}.steps .is-done .steps__num{border-color:var(--accent);background:var(--accent);color:#fff}.zoom{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:2px;padding:2px;display:flex}.zoom__value{text-align:center;font-variant-numeric:tabular-nums;min-width:46px;color:var(--ink-3);font-size:12.5px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px 6px 8px;display:flex}.empty__art{width:112px;height:112px;margin-bottom:8px}.empty__art-body{fill:var(--paper);stroke:var(--line-strong)}.empty__art-part{fill:var(--accent-soft);stroke:var(--accent)}.empty__art-line{stroke:var(--line-strong)}.empty__title{font-family:var(--font-display);font-size:19px;font-weight:500}.prop-section{flex-direction:column;gap:10px;scroll-margin-top:6px;display:flex}.prop-section,.part,.acc{border-radius:var(--radius-sm);transition:background-color .7s ease-out,box-shadow .7s ease-out}.prop-section.is-flash,.part.is-flash,.acc.is-flash{background-color:var(--accent-soft);box-shadow:0 0 0 8px var(--accent-soft);transition-duration:.1s}.prop-section+.prop-section{border-top:1px solid var(--line);padding-top:18px}.prop-section__body{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field__label{color:var(--ink-2);font-size:13px;font-weight:600}.field__value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:13px;font-weight:600}.field__hint{color:var(--ink-3);font-size:12.5px}.field--compact .field__label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip-btn{border:1px solid var(--line-strong);background:var(--paper);min-height:28px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 10px;font-size:12.5px;font-weight:550;transition:background-color .15s,border-color .15s,color .15s}.chip-btn:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--ink-2);background:#fff}.chip-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chip-btn:disabled{color:var(--ink-3);cursor:not-allowed;border-style:dashed}.chips--small{gap:4px}.chips--small .chip-btn{min-height:26px;padding:0 9px;font-size:12px}.range{width:100%;min-width:0;accent-color:var(--accent);cursor:pointer;flex:1;margin:0}.range__line{align-items:center;gap:8px;display:flex}.range__end{color:var(--ink-3);flex:none;font-size:11px}.range:disabled{cursor:not-allowed;opacity:.45}.parts{flex-direction:column;gap:14px;display:flex}.part{flex-direction:column;gap:8px;display:flex}.part+.part{border-top:1px dashed var(--line);padding-top:14px}.swatch{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:6px;width:36px;height:24px;padding:0}.swatch::-webkit-color-swatch-wrapper{padding:2px}.swatch::-webkit-color-swatch{border:0;border-radius:4px}.field__inline{align-items:center;gap:10px;display:flex}.field__inline .field__label{min-width:44px}.field__code{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--ink-3);font-size:12px}.panel__body--props{gap:14px}.props-context{color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;display:flex}.accordion{border-top:1px solid var(--line);flex-direction:column;display:flex}.acc{border-bottom:1px solid var(--line)}.acc__heading{margin:0}.acc__head{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:0 6px;transition:background-color .15s;display:grid}.acc__head:hover{background:var(--surface-sunk)}.acc__head:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.acc__title{color:var(--ink);font-size:13px;font-weight:650;transition:color .15s}.acc__summary{min-width:0;color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:flex}.acc__summary:before{content:"·";color:var(--line-strong)}.acc__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acc__dot{border:1px solid var(--line-strong);border-radius:50%;flex:none;width:12px;height:12px}.acc__chev{color:var(--ink-3);transition:transform .18s;transform:rotate(-90deg)}.acc.is-open .acc__chev{transform:none}.acc.is-open .acc__title{color:var(--accent-hover)}.acc__body{flex-direction:column;gap:12px;padding:4px 6px 16px;animation:.18s acc-in;display:flex}@keyframes acc-in{0%{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.acc__body{animation:none}}.textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:10px 12px;font-size:13.5px;line-height:1.5}.textarea::placeholder{color:var(--ink-3)}@media (width<=1240px){:root{--gap:16px;--gutter:20px}.workspace{grid-template-columns:260px minmax(0,1fr) 236px}.status{display:none}}@media (width<=960px){.app{grid-template-columns:1fr;height:auto;min-height:100%}.rail{display:none}.workspace{grid-template-columns:1fr}.stage__canvas{min-height:68vh;padding:18px}.placeholder-flat{max-height:26vh}.topbar__project{font-size:26px}}@media (width<=560px){:root{--gap:16px;--gutter:16px}.topbar{padding-top:14px}.topbar__crumb{display:none}.topbar__project{font-size:22px}.topbar__actions .btn{padding:0 12px}.topbar__actions .btn--ghost span{display:none}.stage__toolbar .chip{max-width:180px}.stage__tools{justify-content:space-between;width:100%;margin-left:0}.stage__canvas{padding:12px}.display-title{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.notice__action{margin-top:10px}.export{position:relative}.export .btn svg:last-child{opacity:.85;margin-right:-4px}.export__menu{z-index:30;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:240px;box-shadow:var(--shadow-sheet);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.export__item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:9px 12px;transition:background-color .15s;display:flex}.export__item:hover,.export__item:focus-visible{background:var(--accent-soft)}.export__item-label{color:var(--ink);font-size:14px;font-weight:650}.export__item-detail{color:var(--ink-3);font-size:12.5px}.export__message-slot{z-index:20;pointer-events:none;position:absolute;top:calc(100% + 8px);right:0}.export__message{background:var(--ink);color:var(--paper);white-space:nowrap;box-shadow:var(--shadow-sheet);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-block}.export__message--error{background:var(--danger)}.history{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:2px;padding:2px;display:flex}.panel__header--tabs{align-items:stretch;padding-top:0;padding-bottom:0}.panel__header--tabs .panel__heading{align-items:stretch;gap:12px}.panel__header--tabs .panel__index{align-self:center}.tabs{align-items:stretch;gap:2px;display:flex}.tab{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 10px;font-size:12px;font-weight:650;transition:color .15s,border-color .15s;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:4px}.tab__count{background:var(--surface-sunk);letter-spacing:0;text-align:center;min-width:18px;color:var(--ink-2);border-radius:999px;padding:1px 5px;font-size:11px}.sketch-preview__frame{position:relative}.sketch-preview__remove{background:var(--paper);border:1px solid var(--line);position:absolute;top:6px;right:6px}.library-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 8px;display:flex}.library-state__title{font-family:var(--font-display);font-size:18px;font-weight:500;line-height:1.25}.library-head{flex-direction:column;gap:10px;display:flex}.library-toast{pointer-events:none;justify-content:center;margin-top:-8px;display:flex;position:sticky;bottom:0}.library-toast span{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-sheet);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.cards{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pcard{background:var(--paper);border:1px solid var(--line);border-radius:3px;transition:border-color .15s;position:relative}.pcard:hover,.pcard:focus-within{border-color:var(--ink-3)}.pcard__main{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 12px;display:flex}.pcard__main:disabled{cursor:not-allowed;opacity:.55}.pcard__main:not(:disabled):hover .pcard__name{color:var(--accent-hover)}.pcard__preview{aspect-ratio:4/5;border:1px solid var(--line);background:#fff;place-items:center;width:100%;margin-bottom:10px;padding:6px;display:grid}.pcard__preview img{object-fit:contain;width:100%;height:100%}.pcard__nopreview{color:var(--ink-3);font-size:11.5px}.pcard__name{font-family:var(--font-display);color:var(--ink);overflow-wrap:anywhere;font-size:15px;line-height:1.2;transition:color .15s}.pcard__type{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:650}.pcard__meta{color:var(--ink-3);font-size:12px}.pcard__fabric{color:var(--ink-2);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:inline-flex}.pcard__dot{border:1px solid var(--line-strong);border-radius:50%;width:12px;height:12px;display:inline-block}.pcard__delete{background:var(--paper);border:1px solid var(--line);width:28px;height:28px;position:absolute;top:6px;right:6px}.pcard__delete:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.pcard__confirm{border-top:1px solid var(--line);background:var(--danger-soft);flex-direction:column;gap:8px;padding:10px 12px 12px;font-size:13px;display:flex}.pcard__confirm-actions{flex-direction:column;gap:6px;display:flex}.pcard__confirm-actions .btn{width:100%}.pcard__error{color:var(--danger);padding:8px 12px 10px;font-size:12.5px}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:#8a2620}.savebar{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);margin:-18px -18px 4px;padding:12px 18px;position:sticky;top:-18px}.savebar__row{justify-content:space-between;align-items:center;gap:10px;display:flex}.savebar__title{flex-direction:column;gap:0;min-width:0;display:flex}.savebar__part{font-family:var(--font-display);font-size:17px;line-height:1.2}.savebar__form{flex-direction:column;gap:8px;margin-top:10px;display:flex}.savebar__actions{gap:6px;display:flex}.savebar__message{min-height:0}.savebar__ok,.savebar__error{margin-top:8px;font-size:12.5px;font-weight:600}.savebar__ok{color:var(--accent-hover)}.savebar__error{color:var(--danger)}.link-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.link-btn:hover{color:var(--accent-hover)}.prop-section{scroll-margin-top:78px}.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);width:100%;min-height:36px;color:var(--ink);font:inherit;padding:0 12px;font-size:13.5px}.input::placeholder{color:var(--ink-3)}.match-btn{align-self:flex-start}.loading-note{min-height:22px;color:var(--ink-3);font-size:13.5px}.loading-note__text{transition:opacity .4s;animation:.7s backwards note-in;display:inline-block}.loading-note__text.is-out{opacity:0}@keyframes note-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.progress-line{background:var(--line);border-radius:2px;width:min(180px,50%);height:2px;position:relative;overflow:hidden}.progress-line__bar{background:var(--accent);border-radius:2px;width:40%;animation:1.6s ease-in-out infinite progress-slide;position:absolute;inset:0 auto 0 0}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.progress-line__bar{opacity:.45;width:100%;animation:none}}.flat-wrap{width:100%;min-width:0;height:100%;min-height:0;position:relative}.draw-layer{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.flat-inline #manual_drawing{pointer-events:none}.tools{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:2px;padding:2px;display:flex}.tool-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-hover)}.flat-inline [data-element]{cursor:pointer;outline:none}.flat-inline [data-element][data-selected]{cursor:move}.flat-inline [data-element]:hover{filter:drop-shadow(0 0 1.5px #9c4127cc)drop-shadow(0 0 5px #9c412759)}.flat-inline [data-element][data-selected],.flat-inline [data-element]:focus-visible{filter:drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 1.5px var(--accent)) drop-shadow(0 0 6px #9c412780)}.selection-box{z-index:40;border:1px solid var(--accent);pointer-events:none;background:#9c412714;position:fixed}.button-row{flex-wrap:wrap;gap:8px;display:flex}.xform-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.xform__box{fill:none;stroke:var(--accent);stroke-width:1px}.xform__stem{stroke:var(--accent);stroke-width:1px}.xform__handle{fill:#fff;stroke:var(--accent);stroke-width:1.5px;pointer-events:all;touch-action:none}.xform__handle--rotate{cursor:grab;fill:var(--accent-soft)}.xform__handle:hover{fill:var(--accent-soft)}.flat-inline [data-part][data-hidden]{display:none}.layers__heading{margin:0}.layers__toggle{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;display:flex}.layers__toggle:focus-visible{box-shadow:var(--focus);border-radius:4px;outline:none}.layers__toggle svg,.layer__fold svg{transition:transform .15s}.layers__toggle svg.is-closed,.layer__fold svg.is-closed{transform:rotate(-90deg)}.layers__count{letter-spacing:0;color:var(--ink-3);margin-left:auto;font-weight:500}.layers__body{flex-direction:column;gap:10px;display:flex}.layers__list,.layers__children{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.layers__children{margin-left:16px}.layers__sub{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 0;font-size:11px}.layer{border-radius:var(--radius-sm);align-items:center;gap:2px;min-height:30px;padding:0 2px;display:flex}.layer:hover{background:#00000008}.layer.is-selected{background:var(--accent-soft)}.layer.is-hidden .layer__name{color:var(--ink-3);text-decoration:line-through}.layer .icon-btn{flex:none;width:26px;height:26px}.layer__fold{flex:none;justify-content:center;align-items:center;width:22px;height:26px;display:inline-flex}.layer__name{min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:4px 6px;font-size:13px;overflow:hidden}.layer__name:focus-visible{box-shadow:var(--focus);border-radius:4px;outline:none}.layer__edit{flex:1;min-width:0;min-height:26px;padding:0 6px;font-size:13px}.field--pair{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.field--pair .input{padding:0 8px}.topbar__project--edit{overflow:visible}.topbar__name{font:inherit;letter-spacing:inherit;color:inherit;border-radius:var(--radius-sm);text-overflow:ellipsis;background:0 0;border:1px solid #0000;max-width:100%;margin:0 -6px;padding:0 6px}.topbar__name:hover{border-color:var(--line)}.topbar__name:focus{border-color:var(--accent);background:var(--paper);box-shadow:var(--focus);outline:none}.unsaved{color:var(--accent-hover);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.unsaved__dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.save-flash{text-align:right;min-width:44px;color:var(--accent-hover);font-size:13px}.save-note{color:var(--ink-2,var(--ink));flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.save-note--error{color:var(--danger,#9b2c1c)}.modal-backdrop{z-index:60;padding:10vh var(--gutter) var(--gutter);background:#1c1b1a59;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface,#fff);flex-direction:column;gap:14px;width:min(520px,100%);max-height:76vh;padding:20px;display:flex;overflow:auto;box-shadow:0 24px 60px -20px #00000073}.modal:focus{outline:none}.modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal__title{font-family:var(--font-display);margin:0;font-size:22px;font-weight:500}.modal__problem{color:var(--danger,#9b2c1c);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.dlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dlist__row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.dlist__row:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.dlist__row:focus-visible{box-shadow:var(--focus);outline:none}.dlist__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.dlist__time{color:var(--ink-3);font-size:12px}.dlist__confirm{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:6px;padding:10px 12px;font-size:13px}.dlist__confirm p{margin:0 0 8px}.modal--small{width:min(440px,100%)}.topbar__titles{flex:1 1 0}.topbar__title-row>*{flex:none}.topbar__title-row>.topbar__project{flex:0 auto;min-width:0}.topbar__project--edit .topbar__name{min-width:6ch}.chip,.unsaved{white-space:nowrap}.shell{grid-template-columns:minmax(0,1fr)}.topbar{min-width:0}.samples__menu--left{left:0;right:auto}.samples__menu{min-width:280px}.samples-row{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.draw-tools{align-items:center;gap:6px;display:flex;position:relative}.tool-btn[aria-pressed=true],.tool-split.is-active{box-shadow:inset 0 0 0 1px #9c412759}.tool-split{border-radius:var(--radius-sm);align-items:center;display:inline-flex}.tool-split.is-active{background:var(--accent-soft)}.tool-split .tool-btn{width:28px}.tool-split .tool-btn[aria-pressed=true]{box-shadow:none;background:0 0}.tool-caret{width:16px;color:var(--ink-3)}.tool-split.is-active .tool-caret{color:var(--accent-hover)}.eraser-mode[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-hover);border-color:#9c412759}.draw-tools__menu{min-width:170px;left:0;right:auto}.draw-tools__item{color:var(--ink-2);flex-direction:row;align-items:center;gap:10px}.draw-tools__item[aria-checked=true] .export__item-label{color:var(--accent-hover)}.draw-tools__check{color:var(--accent);margin-left:auto}.draw-layer--eraser{cursor:none}.draw-layer__eraser{fill:#ffffff8c;stroke:var(--ink-2);stroke-width:.8px;pointer-events:none}.suggest{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.suggest__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.suggest__title{min-width:0;font-weight:inherit;flex-direction:column;display:flex}.suggest__name{font-family:var(--font-display);font-size:17px;line-height:1.2}.suggest__tools{align-items:center;gap:8px;display:flex}.suggest__wait{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13.5px;display:flex}.suggest__wait .progress-line{width:100%;margin-bottom:2px}.suggest__list{flex-direction:column;gap:8px;display:flex}.suggest-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:6px;padding:10px 12px;transition:background-color .15s,border-color .15s;display:flex}.suggest-card.is-applied{border-color:var(--accent-line);background:var(--accent-soft)}.suggest-card__change{color:var(--ink);font-size:13px;font-weight:650}.suggest-card__reason{color:var(--ink-2);font-size:13px;line-height:1.5}.suggest-card__foot{align-items:center;min-height:32px;display:flex}.suggest-card__done{color:var(--accent-hover);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}
