@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--loading-bg:#ecebe7;--loading-ink:#1c1b19;--loading-muted:#7b766e;--loading-line:#e3e0da;--loading-accent:#b4532c}:root[data-theme=dark]{--loading-bg:#151513;--loading-ink:#eeebe5;--loading-muted:#8f897f;--loading-line:#302e2a;--loading-accent:#d97a50}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}html{background:var(--loading-bg)}body{overflow:hidden}.app-loading{background:var(--loading-bg);min-height:100%;color:var(--loading-ink);place-items:center;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;display:grid}.app-loading-card{justify-items:center;gap:12px;display:grid}.app-loading-mark{border-radius:9px;width:40px;height:40px}.app-loading h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.app-loading-progress{background:var(--loading-line);border-radius:2px;width:132px;height:2px;position:relative;overflow:hidden}.app-loading-progress span{background:var(--loading-accent);width:40%;animation:1.1s ease-in-out infinite app-loading-sweep;position:absolute;inset:0 auto 0 0}.app-loading-status{color:var(--loading-muted);font-size:.78rem}@keyframes app-loading-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.app-loading-progress span{width:100%;animation:none}}.preview-action-tools button.photo-mode-entry{gap:7px}.photo-mode-entry-error{background:var(--fc-card);color:#ad4233;border-radius:10px;width:250px;padding:12px;font-size:.8rem;position:absolute;top:100%;right:0}.playful-studio[data-photo-mode=true]>.playful-panel{opacity:.42}.playful-studio[data-photo-mode=true]>.mobile-studio-navigation{visibility:hidden}.playful-studio[data-photo-mode=true] .playful-stage.is-photo-mode{background:#dedbd5}.playful-stage.is-photo-mode:before,.playful-stage.is-photo-mode:after{display:none}.playful-stage.is-photo-mode>:not(.preview-canvas):not(.preview-tools-dock),.playful-stage.is-photo-mode .preview-canvas>:not(canvas){pointer-events:none;visibility:hidden!important}.playful-stage.is-photo-mode .preview-canvas canvas{pointer-events:none;cursor:default;border-radius:2px;box-shadow:0 0 0 1px #3731281f,0 12px 35px #37312814}.playful-stage.is-photo-mode .preview-tools-dock{z-index:10;pointer-events:none;width:auto;max-width:none;position:absolute;inset:0;transform:none}.playful-stage.is-photo-mode .preview-action-tools{display:contents}.playful-stage.is-photo-mode .preview-action-tools>button{display:none}.photo-mode-controls{color:#383b36;font-family:inherit;position:absolute;inset:0}.photo-mode-heading{justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:22px;right:22px}.photo-mode-heading>div{gap:3px;display:grid}.photo-mode-heading strong{font-size:.98rem;font-weight:650}.photo-mode-heading>div>span{color:#6d7069;font-size:.73rem}.photo-mode-footer{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.photo-mode-footer p{color:#65685f;text-align:center;max-width:420px;min-height:1.4em;margin:0;font-size:.77rem;line-height:1.4}.photo-mode-footer p.is-error{color:#9c3029}.playful-stage.is-photo-mode .photo-mode-controls button{pointer-events:auto;min-height:44px;box-shadow:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:.84rem;font-weight:600;display:inline-flex}.playful-stage.is-photo-mode .photo-mode-controls button span{display:inline}.playful-studio[data-photo-mode=true] .photo-mode-controls .photo-mode-back{color:#3b4038;background:0 0;border:1px solid #aaa99f;padding:10px 13px}.playful-stage.is-photo-mode .photo-mode-controls .photo-mode-back:hover{background:#eeece6}.playful-studio[data-photo-mode=true] .playful-stage.is-photo-mode .photo-mode-controls .photo-mode-download{color:#fffefa;background:#353f33;border:1px solid #353f33;padding:12px 25px}.playful-studio[data-photo-mode=true] .playful-stage.is-photo-mode .photo-mode-controls .photo-mode-download:hover{color:#fffefa;background:#253124}.playful-stage.is-photo-mode .photo-mode-controls button:disabled{opacity:.55;cursor:wait}.photo-mode-controls button:focus-visible{outline-offset:3px;outline:3px solid #9d653f}.photo-mode-spinner{animation:.8s linear infinite photo-spin}@keyframes photo-spin{to{transform:rotate(360deg)}}@media (width<=920px){.playful-studio[data-photo-mode=true] .playful-stage.is-photo-mode{z-index:110;border-radius:0;margin:0;position:fixed;inset:0}.playful-studio[data-photo-mode=true] .playful-stage.is-photo-mode .preview-canvas{width:100%;height:100%;inset:0}.photo-mode-heading{top:max(14px, env(safe-area-inset-top));left:16px;right:16px}.photo-mode-footer{bottom:max(16px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.photo-mode-spinner{animation:none}}.bambu-printer-picker{--picker-height:36px;min-width:0;height:var(--picker-height);border:1px solid var(--rf-line-strong);border-radius:var(--rf-radius);background:var(--rf-surface);cursor:pointer;align-items:center;gap:6px;padding-left:10px;transition:border-color .12s;display:flex}.bambu-printer-picker:hover{border-color:color-mix(in srgb, var(--rf-ink) 32%, var(--rf-line-strong))}.bambu-printer-picker:focus-within{border-color:var(--rf-accent)}.bambu-printer-picker small{color:var(--rf-muted);flex-shrink:0;font-size:.75rem;font-weight:400}.bambu-printer-picker select{min-width:0;height:100%;color:var(--rf-ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:auto;padding:0 6px 0 0;font-size:.8125rem;font-weight:560}.bambu-printer-picker select:focus-visible{outline:none}.bambu-printer-picker select option{background:var(--rf-panel);color:var(--rf-ink)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Nunito Sans", "Segoe UI", system-ui, sans-serif;--font-display:"Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--focus-ring:#ffd36e;font-family:var(--font-ui);color:#edf1e8;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--panel:#161b17f0;--panel-strong:#1f2620f5;--line:#e0e9da24;--muted:#9ea89a;--text:#edf1e8;--accent:#df8a57;--accent-green:#91c49c;--shadow:0 18px 60px #00000057;background:#111410}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;overflow:hidden}.app-error{color:#edf1e8;text-align:center;background:#111410;place-content:center;gap:10px;width:100%;min-height:100%;padding:32px;display:grid}.app-error strong{font-size:1.15rem}.app-error span{color:#aeb8aa;font-size:.84rem}.app-error button{color:#fff3e8;cursor:pointer;background:#df8a5729;border:1px solid #df8a578c;border-radius:8px;justify-self:center;min-width:120px;height:38px;margin-top:4px;padding:0 14px;font-weight:800}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.custom-file-button:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.studio{background:radial-gradient(circle at 74% 16%,#88bc962e,#0000 28%),radial-gradient(circle at 84% 78%,#da774924,#0000 30%),linear-gradient(140deg,#111410 0%,#171d18 44%,#101412 100%);grid-template-columns:minmax(330px,390px) minmax(0,1fr);width:100%;height:100%;display:grid}.side-panel{z-index:2;border-right:1px solid var(--line);background:var(--panel);min-height:0;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:18px;display:flex;position:relative;overflow-y:auto}.brand-row,.section-heading,.range-label,.stage-toolbar,.metric-strip,.preset-row,.shape-button,.texture-button{align-items:center;display:flex}.brand-row{justify-content:space-between;gap:16px;min-height:50px}.workflow-switch{border:1px solid var(--line);background:#070a084d;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:5px;display:grid}.workflow-button{color:#aab5a5;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:9px;transition:border-color .14s,background-color .14s,color .14s,transform .14s;display:flex}.workflow-button>span{border:1px solid;border-radius:999px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:.72rem;font-weight:900;display:inline-grid}.workflow-button div{min-width:0;display:grid}.workflow-button strong{color:inherit;font-size:.82rem}.workflow-button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:700;overflow:hidden}.workflow-button:hover,.workflow-button.is-active{color:#fbfff6;background:#91c49c26;border-color:#91c49c6b}.workflow-button.is-active>span{border-color:var(--accent-green);color:#c9f0d0;background:#91c49c33}.eyebrow{color:var(--accent-green);letter-spacing:0;text-transform:uppercase;margin:0 0 3px;font-size:.75rem;font-weight:700}h1{color:#fbfff6;letter-spacing:0;margin:0;font-size:1.95rem;line-height:1}.icon-button,.tool-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:8px;flex:0 0 40px;place-items:center;width:40px;height:40px;transition:border-color .14s,background-color .14s,transform .14s;display:inline-grid}.icon-button:hover,.tool-button:hover,.tool-button.is-active{background:#df8a5729;border-color:#df8a579e}.icon-button:active,.tool-button:active,.mode-button:active,.preset:active,.material-dot:active,.shape-button:active,.texture-button:active,.effect-button:active,.quality-button:active,.step-button:active{transform:translateY(1px)}.tool-section{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;gap:14px;padding:14px;display:grid}.shape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shape-button{border:1px solid var(--line);color:#dce4d6;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0b;border-radius:8px;justify-content:flex-start;gap:8px;min-width:0;height:42px;padding:0 10px;font-size:.82rem;font-weight:750;overflow:hidden}.shape-button svg{flex:none}.shape-button:hover,.shape-button.is-active{color:#fbfff6;background:#91c49c29;border-color:#91c49c99}.shape-controls{gap:12px;display:grid}.texture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.texture-library-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:-5px;display:flex}.texture-library-heading span{color:#eef4e8;letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:850}.texture-library-heading small{color:var(--muted);font-size:.66rem;font-weight:700}.texture-library-empty{color:var(--muted);text-align:center;border:1px dashed #e0e9da24;border-radius:8px;margin:0;padding:10px;font-size:.72rem}.texture-button{border:1px solid var(--line);color:#dce4d6;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0b;border-radius:8px;justify-content:flex-start;gap:8px;min-width:0;height:46px;padding:0 9px;font-size:.81rem;font-weight:750;overflow:hidden}.texture-button:hover,.texture-button.is-active{color:#fbfff6;background:#df8a5724;border-color:#df8a57a3}.texture-button:disabled{cursor:progress;opacity:.58}.imported-texture-card{min-width:0;position:relative}.imported-texture-card .texture-button{width:100%;padding-right:32px}.imported-texture-remove{color:#aeb8aa;cursor:pointer;background:#070a0880;border:1px solid #0000;border-radius:6px;place-items:center;width:23px;height:23px;padding:0;display:inline-grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.imported-texture-remove:hover:not(:disabled){color:#ffc0aa;background:#90362742;border-color:#f3a08266}.imported-texture-remove:disabled{cursor:progress;opacity:.5}.texture-swatch{background-color:#d8d2c2;background-position:50%;background-size:cover;border:1px solid #ffffff42;border-radius:6px;flex:0 0 24px;width:24px;height:24px;box-shadow:inset 0 0 0 1px #00000029}.texture-swatch-smooth{background:radial-gradient(circle at 34% 28%,#ffffff80,#0000 28%),linear-gradient(145deg,#ded8c8,#aaa596)}.texture-swatch-imported{background-color:#d8d2c2;background-image:linear-gradient(45deg,#41464129 25%,#0000 25%),linear-gradient(-45deg,#41464129 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#41464129 75%),linear-gradient(-45deg,#0000 75%,#41464129 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px}.texture-controls{gap:12px;display:grid}.custom-texture-panel{background:#090c0a3d;border:1px solid #e0e9da1a;border-radius:8px;gap:9px;padding:10px;display:grid}.custom-texture-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.custom-texture-hint{color:#c2ccbd;margin:0;font-size:.73rem;line-height:1.4}.custom-file-button,.custom-apply-button{border:1px solid var(--line);color:#dce4d6;cursor:pointer;background:#ffffff0e;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:0;height:36px;padding:0 10px;font-size:.8rem;font-weight:800;display:inline-flex}.custom-file-button:hover,.custom-apply-button:hover:not(:disabled){color:#fbfff6;background:#df8a5724;border-color:#df8a5794}.custom-file-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.custom-apply-button:disabled{cursor:not-allowed;opacity:.5}.custom-texture-panel textarea{resize:vertical;border:1px solid var(--line);color:#eef4e8;background:#00000038;border-radius:8px;width:100%;min-height:92px;padding:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;line-height:1.35}.custom-texture-panel textarea:focus{border-color:#df8a579e;outline:none}.custom-texture-status{color:var(--accent-green);margin:0;font-size:.75rem;font-weight:750}.custom-texture-status.is-error{color:#f3a082}.surface-control-hint{color:#bfcabc;background:#91c49c12;border-left:2px solid #91c49c6b;border-radius:0 6px 6px 0;margin:-4px 0 0;padding:7px 8px;font-size:.68rem;line-height:1.35}.support-option{color:#dbe4d7;cursor:pointer;width:100%;font:inherit;background:#ffffff09;border:1px solid #e0e9da1f;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.support-option>span:first-child{text-align:left;gap:2px;min-width:0;display:grid}.support-option strong{font-size:.75rem;font-weight:800}.support-option small{color:#aebcac;font-size:.66rem;line-height:1.35}.support-option-state{color:#aebcac;text-align:center;background:#ffffff0f;border-radius:999px;flex:none;min-width:34px;padding:3px 6px;font-size:.66rem;font-weight:850}.support-option:hover,.support-option.is-active{background:#df8a5714;border-color:#df8a578c}.support-option.is-active .support-option-state{background:var(--accent);color:#15120f}.rim-mode-grid .effect-button small{font-size:.64rem}.effect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rib-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rib-profile-grid .effect-button{padding-inline:7px}.effect-button{border:1px solid var(--line);color:#dce4d6;cursor:pointer;text-align:left;background:#ffffff0b;border-radius:8px;gap:3px;min-width:0;min-height:54px;padding:9px 10px;transition:border-color .14s,background-color .14s,transform .14s;display:grid}.effect-button span{text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;font-weight:800;overflow:hidden}.effect-button small{overflow-wrap:anywhere;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25}.effect-button:hover,.effect-button.is-active{color:#fbfff6;background:#df8a5724;border-color:#df8a579e}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quality-button{border:1px solid var(--line);color:#dce4d6;cursor:pointer;text-align:left;background:#ffffff0b;border-radius:8px;gap:3px;min-width:0;min-height:58px;padding:10px;transition:border-color .14s,background-color .14s,transform .14s;display:grid}.quality-button span{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;overflow:hidden}.quality-button small{overflow-wrap:anywhere;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25}.quality-button:hover,.quality-button.is-active{color:#fbfff6;background:#91c49c24;border-color:#91c49c9e}.quality-warning{color:#f3c39d;background:#df8a571c;border:1px solid #df8a575c;border-radius:8px;margin:0;padding:10px 11px;font-size:.78rem;font-weight:750;line-height:1.35}.section-heading{color:#f6fbef;justify-content:space-between;gap:12px;font-size:.93rem;font-weight:750}.section-heading span:first-child{align-items:center;gap:8px;min-width:0;display:inline-flex}.section-value{color:var(--muted);font-size:.78rem;font-weight:700}.profile-editor{aspect-ratio:.93;width:100%;min-height:285px}.profile-editor svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.profile-plot{fill:#090c0a8c;stroke:#e8f1e11a;stroke-width:1px}.profile-grid{stroke:#e8f1e11c;stroke-width:1px}.profile-fill{fill:url(#profile-fill)}.profile-curve-shadow{fill:none;stroke:#0000008c;stroke-linecap:round;stroke-linejoin:round;stroke-width:13px}.profile-curve{fill:none;stroke:#f0c08f;stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.profile-curve-hit-target{fill:none;stroke:#0000;stroke-width:24px;pointer-events:stroke;cursor:crosshair}.profile-handle-line{stroke:#91c49c38;stroke-dasharray:3 7;stroke-width:2px}.profile-handle{fill:#f6f1df;stroke:#171d18;stroke-width:4px;cursor:grab;filter:drop-shadow(0 5px 12px #00000061)}.profile-handle.is-active{fill:#df8a57;cursor:grabbing}.preset-row{gap:8px;width:100%}.preset{border:1px solid var(--line);color:#dce4d6;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0e;border-radius:8px;flex:1 1 0;min-width:0;height:36px;padding:0 8px;font-size:.82rem;font-weight:750;overflow:hidden}.preset:hover,.preset.is-active{color:#fbfff6;background:#91c49c29;border-color:#91c49c99}.range-control{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;display:grid}.range-label{color:#dfe8da;gap:8px;min-width:0;font-size:.86rem;font-weight:700}.range-control output{color:#fbfff6;font-variant-numeric:tabular-nums;font-size:.84rem;font-weight:800}.range-value{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:inline-flex}.step-button{border:1px solid var(--line);color:#dfe8da;cursor:pointer;background:#ffffff0e;border-radius:6px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.step-button:hover{color:#fbfff6;background:#df8a5724;border-color:#df8a5794}.range-control input{width:100%;accent-color:var(--accent);grid-column:1/-1}.stage{min-width:0;min-height:0;position:relative;overflow:hidden}.stage:before{z-index:0;content:"";background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 54% 48%,#000 0%,#0000 74%);mask-image:radial-gradient(circle at 54% 48%,#000 0%,#0000 74%)}.preview-canvas{z-index:1;position:absolute;inset:0}.preview-canvas canvas{z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.preview-loading{z-index:2;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(circle at 50% 44%,#11141033,#0000 28%),#0b0e0c61;place-items:center;padding:24px;transition:opacity .16s;display:grid;position:absolute;inset:0}.preview-error{z-index:4;color:#f1f5ed;text-align:center;background:#0d100ee0;place-content:center;gap:8px;padding:32px;display:grid;position:absolute;inset:0}.preview-error strong{font-size:1rem}.preview-error span{color:#bdc8b9;max-width:420px;font-size:.82rem;line-height:1.45}.preview-warning{z-index:4;color:#fff1cf;text-align:center;pointer-events:none;background:#1f1a12d6;border:1px solid #eec5704d;border-radius:999px;max-width:min(420px,100% - 32px);padding:9px 12px;font-size:.74rem;font-weight:700;position:absolute;top:88px;left:50%;transform:translate(-50%)}.preview-density-hint{z-index:3;color:#e7eee2;pointer-events:none;background:#111410c7;border:1px solid #e8f1e129;border-radius:999px;max-width:min(320px,100% - 32px);padding:8px 11px;font-size:.74rem;font-weight:700;position:absolute;bottom:16px;right:16px;box-shadow:0 8px 28px #0000003d}.preview-triangle-spend{z-index:5;color:#e7eee2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111410d1;border:1px solid #e8f1e129;border-radius:12px;width:min(292px,100% - 36px);font-size:.68rem;position:absolute;top:18px;right:18px;overflow:hidden;box-shadow:0 12px 34px #0000003d}.preview-triangle-spend summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-weight:760;list-style:none;display:flex}.preview-triangle-spend summary::-webkit-details-marker{display:none}.preview-triangle-spend summary span{color:#aab7af;letter-spacing:.045em;text-transform:uppercase}.preview-triangle-spend summary strong,.preview-triangle-spend-row strong,.preview-triangle-spend-total strong{font-variant-numeric:tabular-nums}.preview-triangle-spend-body{border-top:1px solid #e8f1e11a;max-height:min(62vh,520px);padding:0 11px 11px;overflow:auto}.preview-triangle-spend-total,.preview-triangle-spend-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.preview-triangle-spend-total{color:#f3f6f1;padding:10px 0 8px;font-weight:760}.preview-triangle-spend section+section{margin-top:9px}.preview-triangle-spend h4{color:#87968d;letter-spacing:.085em;text-transform:uppercase;margin:0 0 4px;font-size:.56rem;font-weight:800}.preview-triangle-spend-row{color:#cbd4ce;padding:3px 0}.preview-triangle-spend-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preview-triangle-spend-row strong{color:#f0f4ef;white-space:nowrap;font-weight:720}:root[data-theme=light] .preview-triangle-spend{color:#26352b;background:#fffffce6;border-color:#28483224;box-shadow:0 10px 28px #2c373021}:root[data-theme=light] .preview-triangle-spend summary span,:root[data-theme=light] .preview-triangle-spend h4{color:#6b786f}:root[data-theme=light] .preview-triangle-spend-body{border-top-color:#2848321a}:root[data-theme=light] .preview-triangle-spend-total,:root[data-theme=light] .preview-triangle-spend-row,:root[data-theme=light] .preview-triangle-spend-row strong{color:#314238}.preview-loading.is-active{opacity:1}.preview-loading-panel{background:#111410c7;border:1px solid #e8f1e12e;border-radius:8px;align-items:center;gap:12px;max-width:min(320px,100%);padding:12px 14px;display:inline-flex;box-shadow:0 18px 48px #00000052}.preview-loading-spinner{border:2px solid #e8f1e138;border-top-color:#f0c08f;border-radius:50%;flex:0 0 24px;width:24px;height:24px;animation:.78s linear infinite preview-loading-spin}.preview-loading-text{color:#fbfff6;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.84rem;font-weight:800;overflow:hidden}@keyframes preview-loading-spin{to{transform:rotate(360deg)}}.stage-toolbar{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111410b3;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 36px);padding:6px;position:absolute;top:18px;right:18px}.export-button{color:#fff3e8;background:#df8a572b;border-color:#df8a5785;gap:7px;width:auto;min-width:118px;padding:0 12px;font-size:.78rem;font-weight:850;display:inline-flex}.tool-button:disabled{cursor:progress;opacity:.62}.export-status{z-index:3;color:#c9f0d0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111410c7;border:1px solid #91c49c57;border-radius:8px;max-width:min(420px,100% - 36px);margin:0;padding:8px 10px;font-size:.72rem;font-weight:750;position:absolute;top:76px;right:18px}.export-status.is-error{color:#ffc0aa;border-color:#f3a08266}.mode-switch{background:#ffffff0a;border:1px solid #e0e9da1a;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.mode-button{color:#bac5b5;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-width:78px;height:32px;padding:0 9px;font-size:.78rem;font-weight:800;transition:background-color .14s,color .14s,transform .14s;display:inline-flex}.mode-button svg{flex:none}.mode-button:hover,.mode-button.is-active{color:#fbfff6;background:#91c49c2e}.material-dots{align-items:center;gap:7px;display:inline-flex}.material-dot{cursor:pointer;border:1px solid #ffffff47;border-radius:999px;flex:0 0 28px;width:28px;height:28px;transition:border-color .14s,box-shadow .14s,transform .14s;box-shadow:inset 0 0 0 1px #00000038,0 0 #df8a5700}.material-dot:hover,.material-dot.is-active{border-color:#fff4e0db;box-shadow:inset 0 0 0 1px #00000040,0 0 0 2px #df8a577a}.stage-toolbar-divider{background:var(--line);flex:0 0 1px;width:1px;height:28px}.metric-strip{z-index:3;pointer-events:none;justify-content:flex-end;gap:8px;position:absolute;bottom:18px;left:18px;right:18px}.metric-strip div{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#111410b8;border-radius:8px;gap:3px;min-width:116px;padding:10px 12px;display:grid}.metric-strip span{color:var(--muted);font-size:.74rem;font-weight:750}.metric-strip strong{color:#fbfff6;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:1rem}.metric-strip small{color:#d7c1a4;overflow-wrap:anywhere;max-width:150px;font-size:.64rem;font-weight:750;line-height:1.15}@media (width<=920px){body{overflow:auto}.studio{grid-template-rows:minmax(52vh,58vh) auto;grid-template-columns:1fr;height:auto;min-height:100%;display:grid}.stage{grid-row:1;min-height:52vh}.side-panel{border-top:1px solid var(--line);border-right:0;grid-row:2;box-shadow:0 -18px 60px #00000042}.profile-editor{min-height:250px}.metric-strip{justify-content:stretch}.metric-strip div{flex:1 1 0;min-width:0}}@media (width<=520px){.studio{grid-template-rows:minmax(48vh,54vh) auto}.side-panel,.tool-section{padding:12px}.preset-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stage-toolbar{top:12px;right:12px}.export-status{max-width:calc(100% - 24px);top:70px;right:12px}.metric-strip{gap:6px;bottom:12px;left:12px;right:12px}.metric-strip div{padding:8px}.metric-strip strong{font-size:.9rem}}:root{--studio-bg:#101411;--studio-stage:radial-gradient(circle at 72% 18%, #91c49c1f, transparent 30%), linear-gradient(145deg, #111612 0%, #171d18 48%, #0e120f 100%);--control-bg:#ffffff09;--control-hover:#91c49c1f;--floating-bg:#111410c7;--profile-bg:#090c0a8c;--profile-grid-line:#e8f1e11c}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202821;--panel:#faf9f5f7;--panel-strong:#fff;--line:#24332824;--muted:#687269;--text:#202821;--accent:#c75e38;--accent-green:#52795a;--shadow:0 14px 40px #2a332c1f;--studio-bg:#e9e8e2;--studio-stage:radial-gradient(circle at 72% 18%, #61856721, transparent 32%), linear-gradient(145deg, #f4f3ee 0%, #e8ebe5 52%, #dedfd9 100%);--control-bg:#22322609;--control-hover:#52795a1c;--floating-bg:#fcfbf7d6;--profile-bg:#eeefe9f2;--profile-grid-line:#2c3e3021;background:#e9e8e2}html,body{background:var(--studio-bg);color:var(--text)}.studio{background:var(--studio-stage);grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.side-panel{background:var(--panel);box-shadow:var(--shadow);gap:10px;padding:14px}.brand-row{min-height:38px}.studio-brand-lockup{align-items:baseline;gap:7px;display:inline-flex}.studio-brand-lockup h1{color:var(--text);letter-spacing:-.035em;font-size:1.1rem}.studio-brand-lockup>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.brand-actions{gap:5px;display:flex}.icon-button,.tool-button{background:var(--control-bg);flex-basis:34px;width:34px;height:34px}.workflow-switch{background:var(--control-bg);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}.workflow-button{min-height:34px;color:var(--muted);text-align:center;justify-content:center;padding:6px 8px;font-size:.76rem;font-weight:800}.workflow-button:hover,.workflow-button.is-active{color:var(--text)}.workflow-button:disabled{cursor:not-allowed;opacity:.38}.tool-section{background:0 0;border-radius:9px;gap:10px;padding:11px}.section-heading{color:var(--text);font-size:.84rem}.section-heading svg{opacity:.72}.compact-select{border:1px solid var(--line);background:var(--panel-strong);width:100%;min-height:38px;color:var(--text);cursor:pointer;border-radius:7px;padding:0 34px 0 10px;font-size:.78rem;font-weight:750}.compact-description{color:var(--muted);margin:0;font-size:.67rem;line-height:1.4}.shape-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.shape-button{gap:6px;height:36px;padding:0 8px}.profile-editor{min-height:238px}.preset-row{gap:5px}.preset{height:32px}.texture-grid{gap:6px}.texture-button{height:40px}.texture-controls{gap:12px;padding-top:10px}.compact-details{border:1px solid var(--line);background:0 0;border-radius:9px}.compact-details>summary{min-height:38px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:0 2px;font-size:.76rem;font-weight:800;list-style:none;display:flex}.compact-details>summary::-webkit-details-marker{display:none}.compact-details>summary:after{content:"+";color:var(--muted);margin-left:auto;font-size:1rem;font-weight:500}.compact-details[open]>summary:after{content:"−"}.compact-details>summary small{color:var(--muted);margin-left:auto;font-size:.64rem;font-weight:700}.compact-details[open]>summary{margin-bottom:10px}.texture-import-details{border:0;border-top:1px solid var(--line);border-radius:0;padding:0 1px}.texture-import-details>summary{min-height:40px}.quality-grid{gap:6px}.quality-button{min-height:48px;padding:8px}.shape-button,.texture-button,.effect-button,.quality-button,.preset,.step-button,.support-option,.custom-file-button,.custom-apply-button,.custom-texture-panel textarea{border-color:var(--line);background-color:var(--control-bg);color:var(--text)}.shape-button:hover,.shape-button.is-active,.texture-button:hover,.texture-button.is-active,.effect-button:hover,.effect-button.is-active,.quality-button:hover,.quality-button.is-active,.preset:hover,.preset.is-active,.range-label,.range-control output,.texture-library-heading span{color:var(--text)}.profile-plot{fill:var(--profile-bg);stroke:var(--line)}.profile-grid{stroke:var(--profile-grid-line)}.stage-toolbar{background:var(--floating-bg);gap:5px;max-width:calc(100% - 28px);padding:4px;top:14px;right:14px}.export-button{min-width:108px;color:var(--text)}.metric-strip{gap:6px;bottom:14px;left:14px;right:14px}.metric-strip div{background:var(--floating-bg);min-width:104px;padding:8px 10px}.metric-strip strong,.preview-loading-text{color:var(--text)}.preview-loading{background:#0e120f2e}.preview-loading-panel,.export-status{background:var(--floating-bg);color:var(--text);border-color:var(--line);box-shadow:var(--shadow)}:root[data-theme=light] .stage:before{background-color:#0000;background-image:linear-gradient(#27362b0e 1px,#0000 1px),linear-gradient(90deg,#27362b0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}:root[data-theme=light] .profile-curve-shadow{stroke:#fffc}:root[data-theme=light] .profile-handle{fill:#fff;stroke:#344239}:root[data-theme=light] .surface-control-hint{color:#5f6b61}:root[data-theme=light] .metric-strip small,:root[data-theme=light] .quality-warning{color:#8b4b30}:root[data-theme=light] .material-dot{border-color:#232c2547}@media (width<=920px){.studio{grid-template-columns:1fr}.side-panel{padding:12px}}@media (width<=520px){.stage-toolbar{top:10px;right:10px}.shape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-editor{aspect-ratio:auto;gap:8px;min-height:0;display:grid}.profile-editor>svg{aspect-ratio:.93;width:100%;height:auto}.profile-zone-toolbar,.profile-zone-toolbar>div,.surface-zone-heading,.zone-texture-select{align-items:center;display:flex}.profile-zone-toolbar{justify-content:space-between;gap:8px}.profile-zone-toolbar>span{color:var(--muted);font-size:.64rem;font-weight:700}.profile-zone-toolbar>div{gap:5px}.profile-zone-toolbar button{border:1px solid var(--line);background:var(--control-bg);min-height:28px;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:0 7px;font-size:.64rem;font-weight:800;display:inline-flex}.profile-zone-toolbar button:disabled{cursor:not-allowed;opacity:.35}.profile-zone{fill:#91c49c09;stroke:#0000;cursor:pointer;transition:fill .12s,stroke .12s}.profile-zone:nth-of-type(2n){fill:#df8a5709}.profile-zone:hover{fill:#91c49c1a}.profile-zone.is-overridden{fill:#df8a571f}.profile-zone.is-selected{fill:#91c49c2b;stroke:var(--accent-green);stroke-width:1.5px}.profile-zone-label{fill:var(--muted);letter-spacing:.02em;font-size:10px;font-weight:800}.surface-zone-editor{background:#91c49c0e;border:1px solid #91c49c4d;border-radius:8px;gap:11px;padding:10px;display:grid}.playful-studio{--joy-panel:#14201b;--joy-card:#ffffff0e;--joy-card-strong:#1d2b25;--joy-ink:#f8f7ed;--joy-muted:#9eada4;--joy-mint:#9be0aa;--joy-mint-strong:#55b975;--joy-peach:#ff9b65;--joy-yellow:#f7ce68;--joy-line:#e2f2e821;--joy-shadow:0 24px 80px #050c084d;background:#0f1915;grid-template-columns:minmax(400px,440px) minmax(0,1fr)}:root[data-theme=light] .playful-studio{--joy-panel:#fbfaf3;--joy-card:#2c49380b;--joy-card-strong:#fff;--joy-ink:#1c2a22;--joy-muted:#68776e;--joy-mint:#5fae72;--joy-mint-strong:#438e58;--joy-peach:#e87643;--joy-yellow:#e8b63f;--joy-line:#26443124;--joy-shadow:0 24px 70px #2b433324;background:#eaf1e9}.playful-panel{border-right:1px solid var(--joy-line);background:var(--joy-panel);color:var(--joy-ink);box-shadow:var(--joy-shadow);gap:0;padding:0;overflow:hidden}.playful-brand-row{justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:12px 20px 8px;display:flex}.playful-logo{min-width:0;color:var(--joy-ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:inline-flex}.playful-logo-mark{background:linear-gradient(145deg, var(--joy-mint), var(--joy-mint-strong));color:#102217;border-radius:13px 13px 16px 8px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:1.35rem;font-weight:900;display:grid;transform:rotate(-3deg);box-shadow:inset 0 1px #fff6,0 8px 22px #45a16047}.playful-logo>span:last-child{gap:1px;display:grid}.playful-logo strong{color:var(--joy-ink);letter-spacing:-.03em;font-size:1.08rem}.playful-logo small{color:var(--joy-muted);letter-spacing:.01em;font-size:.65rem;font-weight:720}.soft-icon-button{border:1px solid var(--joy-line);background:var(--joy-card);width:38px;height:38px;color:var(--joy-muted);cursor:pointer;border-radius:13px;flex:0 0 38px;place-items:center;display:grid}.soft-icon-button:hover{color:var(--joy-ink);border-color:#ff9b6580;transform:rotate(5deg)}.friendly-steps{border:1px solid var(--joy-line);background:#040a0726;border-radius:18px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:center;gap:5px;margin:4px 18px 12px;padding:6px;display:grid}.friendly-step{min-width:0;min-height:52px;color:var(--joy-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:9px;padding:7px 9px;transition:transform .16s,background .16s,color .16s;display:flex}.friendly-step>span{border:1.5px solid;border-radius:50%;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:.75rem;font-weight:900;display:grid}.friendly-step>div{gap:1px;min-width:0;display:grid}.friendly-step strong{font-size:.78rem}.friendly-step small{text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;font-weight:700;overflow:hidden}.friendly-step.is-active{background:var(--joy-card-strong);color:var(--joy-ink);box-shadow:0 6px 20px #050c0826}.friendly-step.is-active>span{border-color:var(--joy-peach);color:var(--joy-peach);background:#ff9b6524}.playful-scroll-area{overscroll-behavior:contain;scrollbar-color:#9be0aa59 transparent;scrollbar-width:thin;flex:1;min-height:0;padding:3px 18px 24px;overflow-y:auto}.friendly-flow{gap:13px;display:grid}.friendly-kicker{color:var(--joy-mint);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900;display:inline-flex}.friendly-intro h2{color:var(--joy-ink);letter-spacing:-.045em;margin:0;font-size:1.72rem;line-height:1.04}.friendly-intro p{color:var(--joy-muted);margin:7px 0 0;font-size:.76rem;font-weight:650;line-height:1.45}.friendly-card{border:1px solid var(--joy-line);background:var(--joy-card);border-radius:20px;gap:13px;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff06}.friendly-card-heading{align-items:center;gap:10px;display:flex}.question-number{width:28px;height:28px;color:var(--joy-yellow);background:#f7ce6824;border-radius:10px;flex:0 0 28px;place-items:center;font-size:.72rem;font-weight:950;display:grid}.friendly-card-heading>div{gap:2px;display:grid}.friendly-card-heading h3{color:var(--joy-ink);letter-spacing:-.01em;margin:0;font-size:.84rem}.friendly-card-heading p{color:var(--joy-muted);margin:0;font-size:.65rem;font-weight:650;line-height:1.3}.purpose-bubbles{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.purpose-bubble{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;min-height:54px;color:var(--joy-muted);cursor:pointer;border-radius:13px;place-items:center;gap:3px;padding:6px 2px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.purpose-bubble>span{filter:saturate(.92);font-size:1.05rem;line-height:1;transition:transform .18s cubic-bezier(.2,.8,.2,1.25)}.purpose-bubble strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.55rem;overflow:hidden}.purpose-bubble:hover,.purpose-bubble.is-active{color:var(--joy-ink);border-color:#9be0aa8c;transform:translateY(-2px);box-shadow:0 8px 20px #35874e1f}.purpose-bubble:hover>span,.purpose-bubble.is-active>span{transform:scale(1.12)rotate(-4deg)}.purpose-bubble.is-active{background:#9be0aa1c}.outline-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.top-shape-card.is-hero{border-color:color-mix(in srgb, var(--joy-lavender) 45%, transparent);background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--joy-lavender) 13%, transparent), transparent 32%), var(--joy-card);box-shadow:inset 0 1px #ffffff0d,0 16px 42px #11081821}:root[data-theme=light] .top-shape-card.is-hero{background:radial-gradient(circle at 88% 8%,#7653c31c,#0000 32%),#fffefa}.rectangle-dimension-controls{border-top:1px solid var(--joy-line);margin-top:16px;padding-top:18px}.outline-choice{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;min-height:61px;color:var(--joy-muted);cursor:pointer;border-radius:14px;place-items:center;gap:5px;padding:8px 3px;display:grid}.outline-choice small{font-size:.58rem;font-weight:800}.outline-choice:hover,.outline-choice.is-active{color:var(--joy-peach);background:#ff9b651a;border-color:#ff9b6599;transform:translateY(-2px)rotate(-1deg)}.silhouette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.silhouette-choice{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-height:66px;color:var(--joy-muted);cursor:pointer;text-align:left;border-radius:15px;align-items:center;gap:10px;padding:8px 10px;display:flex}.mini-pot{clip-path:polygon(4% 0,96% 0,82% 100%,18% 100%);background:#ff9b6514;border:2px solid;border-top-width:4px;border-radius:5px 5px 12px 12px;flex:0 0 38px;width:38px;height:42px;position:relative}.mini-pot-bowl{clip-path:polygon(2% 0,98% 0,88% 60%,67% 96%,33% 96%,12% 60%);border-radius:4px 4px 20px 20px}.mini-pot-waist{clip-path:polygon(4% 0,96% 0,76% 48%,89% 100%,11% 100%,24% 48%);border-radius:5px 5px 17px 17px}.mini-pot-column{clip-path:polygon(8% 0,92% 0,88% 100%,12% 100%);border-radius:5px 5px 9px 9px}.silhouette-choice>span:last-child{gap:2px;display:grid}.silhouette-choice strong{color:var(--joy-ink);font-size:.72rem}.silhouette-choice small{font-size:.59rem;font-weight:700}.silhouette-choice:hover,.silhouette-choice.is-active{color:var(--joy-peach);background:#ff9b6517;border-color:#ff9b658c;transform:translateY(-2px)}.size-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:7px;display:grid}.size-choice{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-height:79px;color:var(--joy-muted);cursor:pointer;border-radius:15px;place-items:end center;gap:6px;padding:8px;display:grid}.size-pot{width:38px;height:38px;color:var(--joy-peach);clip-path:polygon(4% 0,96% 0,82% 100%,18% 100%);border:2px solid;border-radius:5px 5px 13px 13px;place-items:center;font-size:.62rem;font-weight:900;display:grid}.size-pot-small{width:30px;height:29px}.size-pot-large{width:45px;height:46px}.size-choice strong{font-size:.64rem}.size-choice:hover,.size-choice.is-active{color:var(--joy-ink);background:#f7ce6817;border-color:#f7ce688f;transform:translateY(-2px)}.friendly-details{border:1px solid var(--joy-line);background:#ffffff05;border-radius:17px}.friendly-details>summary{min-height:52px;color:var(--joy-muted);cursor:pointer;align-items:center;gap:9px;padding:10px 14px;list-style:none;display:flex}.friendly-details>summary::-webkit-details-marker{display:none}.friendly-details>summary span{color:var(--joy-ink);font-size:.75rem;font-weight:800}.friendly-details>summary small{background:var(--joy-card);color:var(--joy-muted);border-radius:99px;margin-left:auto;padding:4px 7px;font-size:.56rem;font-weight:800}.friendly-details>summary:after{content:"+";color:var(--joy-muted);font-weight:800}.friendly-details[open]>summary:after{content:"−"}.friendly-details-body{gap:15px;padding:2px 14px 15px;display:grid}.region-size-controls{border-top:1px solid var(--joy-line);gap:9px;padding-top:11px;display:grid}.surface-tuning-card{gap:13px}.whole-edge-rims{background:#ff9b650e;border:1px solid #ff9b6540;border-radius:14px;gap:9px;padding:11px;display:grid}.whole-edge-rims-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.whole-edge-rims-heading>span{gap:2px;display:grid}.whole-edge-rims-heading strong{color:var(--joy-ink);font-size:.68rem}.whole-edge-rims-heading small{color:var(--joy-muted);font-size:.54rem;font-weight:700}.whole-edge-rims-heading>small{background:var(--joy-card);white-space:nowrap;border-radius:99px;padding:3px 6px}.whole-edge-rim-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.whole-edge-rim-grid.is-placement{grid-template-columns:repeat(3,minmax(0,1fr))}.whole-edge-rim-grid.is-placement .whole-edge-rim-toggle{justify-content:center}.whole-edge-rim-toggle{border:1px solid var(--joy-line);background:var(--joy-card-strong);color:var(--joy-muted);cursor:pointer;font:inherit;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:.6rem;font-weight:850;display:flex}.whole-edge-rim-toggle small{background:var(--joy-line);border-radius:99px;padding:2px 6px;font-size:.48rem}.whole-edge-rim-toggle.is-on{color:var(--joy-ink);background:#ff9b651a;border-color:#ff9b659e}.whole-edge-rim-toggle.is-on small{background:var(--joy-peach);color:#fff}.all-region-controls{background:#9be0aa0e;border:1px solid #9be0aa33;border-radius:14px;gap:12px;padding:11px;display:grid}.all-region-heading,.all-region-raise{justify-content:space-between;align-items:center;gap:10px;display:flex}.all-region-heading strong,.all-region-raise>span{color:var(--joy-ink);font-size:.68rem;font-weight:850}.all-region-heading small{color:var(--joy-muted);font-size:.56rem;font-weight:700}.all-region-raise{align-items:start}.all-region-raise>span{padding-top:9px}.all-region-raise .depth-slider{flex:1;min-width:0;padding-top:0}.pattern-placement-controls{border-top:1px solid var(--joy-line);gap:11px;padding-top:11px;display:grid}.pattern-placement-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pattern-placement-heading>span{gap:2px;min-width:0;display:grid}.pattern-placement-heading strong{color:var(--joy-ink);font-size:.7rem}.pattern-placement-heading small{color:var(--joy-muted);white-space:normal;font-size:.58rem;font-weight:650;line-height:1.35}.pattern-placement-reset{border:1px solid color-mix(in srgb, var(--joy-lavender) 34%, var(--joy-line));background:color-mix(in srgb, var(--joy-lavender) 8%, var(--joy-card));color:var(--joy-lavender);cursor:pointer;font:inherit;border-radius:9px;flex:none;padding:5px 8px;font-size:.58rem;font-weight:850}.pattern-placement-reset:hover:not(:disabled){border-color:color-mix(in srgb, var(--joy-lavender) 68%, transparent);transform:translateY(-1px)}.pattern-placement-reset:disabled{cursor:default;opacity:.42}.pattern-placement-grid{border:1px solid var(--joy-line);background:var(--joy-card-strong);border-radius:14px;gap:12px;padding:11px;display:grid}.pattern-placement-grid .range-control+.range-control{border-top:1px solid var(--joy-line);padding-top:11px}.pattern-placement-grid .range-value output{text-align:center;min-width:62px}.region-size-row .pattern-placement-grid{background:0 0;border:0;padding:0}.region-size-heading{gap:2px;display:grid}.region-size-heading strong{color:var(--joy-ink);font-size:.72rem}.region-size-heading small{color:var(--joy-muted);font-size:.6rem;font-weight:650}.region-size-list{gap:7px;display:grid}.region-size-row{border:1px solid var(--joy-line);background:var(--joy-card-strong);border-radius:13px;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;transition:border-color .15s,background .15s;display:grid}.region-size-row:hover,.region-size-row:focus-within,.region-size-row.is-selected{background:#ff9b6514;border-color:#ff9b6594}.region-size-row>span{gap:1px;min-width:0;display:grid}.region-size-row strong{color:var(--joy-ink);font-size:.66rem}.region-size-row small{color:var(--joy-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:650;overflow:hidden}.region-size-stepper{align-items:center;gap:4px;display:flex}.region-size-stepper button{border:1px solid var(--joy-line);background:var(--joy-card);width:22px;height:22px;color:var(--joy-ink);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:inline-grid}.region-size-stepper button:hover:not(:disabled){color:var(--joy-peach);border-color:#ff9b6594}.region-size-stepper button:disabled{cursor:not-allowed}.region-size-stepper output{min-width:34px;color:var(--joy-peach);text-align:right;font-size:.65rem;font-weight:850}.region-setting{gap:5px;display:grid}.region-setting+.region-setting{border-top:1px solid var(--joy-line);padding-top:8px}.region-setting-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.region-setting-heading>span:first-child{color:var(--joy-muted);font-size:.58rem;font-weight:800}.region-setting input{width:100%;accent-color:var(--joy-peach);cursor:pointer}.region-setting input:disabled{cursor:not-allowed;opacity:.46}.shared-boundary-rims{border-top:1px solid var(--joy-line);gap:9px;padding-top:11px;display:grid}.shared-boundary-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.shared-boundary-heading>span{gap:2px;display:grid}.shared-boundary-heading strong{color:var(--joy-ink);font-size:.72rem}.shared-boundary-heading small{color:var(--joy-muted);font-size:.55rem;font-weight:700}.shared-boundary-heading>small{background:var(--joy-card);white-space:nowrap;border-radius:99px;padding:3px 7px}.shared-boundary-list{gap:6px;display:grid}.shared-boundary-row{border:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-card) 88%, transparent);border-radius:11px;grid-template-columns:minmax(0,1.2fr) minmax(94px,1fr);align-items:center;gap:9px;padding:8px;transition:border-color .15s,background .15s,transform .15s;display:grid}.shared-boundary-row.is-on{background:#ff9b651a;border-color:#ff9b659e;transform:translateY(-1px)}.shared-boundary-toggle{width:100%;color:var(--joy-ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:7px;padding:0;display:flex}.shared-boundary-toggle>span{gap:1px;min-width:0;display:grid}.shared-boundary-toggle strong{color:var(--joy-ink);font-size:.58rem}.shared-boundary-toggle>span small{color:var(--joy-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.49rem;font-weight:650;overflow:hidden}.shared-boundary-toggle>small{background:var(--joy-line);color:var(--joy-muted);border-radius:99px;padding:2px 6px;font-size:.48rem;font-weight:850}.shared-boundary-row.is-on .shared-boundary-toggle>small{background:var(--joy-peach);color:#fff}.shared-boundary-scale{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.shared-boundary-scale input{width:100%;min-width:0;accent-color:var(--joy-peach)}.shared-boundary-scale input:disabled{opacity:.34}.shared-boundary-scale output{min-width:24px;color:var(--joy-peach);text-align:right;font-size:.55rem;font-weight:850}.playful-panel .range-label,.playful-panel .range-control output{color:var(--joy-ink)}.playful-panel .range-control input{accent-color:var(--joy-peach)}.friendly-nested-details{border-top:1px solid var(--joy-line);padding-top:10px}.friendly-nested-details>summary{color:var(--joy-muted);cursor:pointer;font-size:.68rem;font-weight:800}.friendly-nested-details .profile-editor{margin-top:10px}.silhouette-editor-shell{border:1px solid var(--joy-line);background:#040a0729;border-radius:16px;padding:8px}.silhouette-presets{align-items:center;gap:9px;display:flex}.silhouette-presets>small{color:var(--joy-muted);flex:none;font-size:.58rem;font-weight:800}.silhouette-presets>div{flex:1;gap:5px;min-width:0;display:flex}.silhouette-presets button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;min-height:30px;color:var(--joy-muted);cursor:pointer;border-radius:9px;flex:1 1 0;padding:0 6px;font-size:.57rem;font-weight:820}.silhouette-presets button:hover,.silhouette-presets button.is-active{color:var(--joy-ink);background:#ff9b6517;border-color:#ff9b658a}.size-sliders{gap:17px;padding:3px 2px 1px;display:grid}.surface-scope-switch{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.surface-artwork-card strong em{background:color-mix(in srgb, var(--joy-coral) 18%, transparent);color:var(--joy-coral);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:5px;padding:2px 5px;font-size:.55rem;font-style:normal}.generated-support-toggle strong em.coming-soon-badge{background:color-mix(in srgb, var(--joy-line) 70%, transparent);color:inherit;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;margin-left:5px;padding:2px 6px;font-size:.55rem;font-style:normal}.surface-artwork-card.is-selected{border-color:color-mix(in srgb, var(--joy-peach) 72%, var(--joy-line));box-shadow:0 0 0 2px color-mix(in srgb, var(--joy-peach) 16%, transparent), 0 12px 28px #2317111f}.saucer-controls{border-top:1px solid var(--joy-line);margin-top:8px;padding-top:10px}.surface-scope-switch button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;color:var(--joy-muted);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:9px;padding:10px;display:flex}.surface-scope-switch button>span{gap:1px;min-width:0;display:grid}.surface-scope-switch strong{color:var(--joy-ink);font-size:.66rem}.surface-scope-switch small{text-overflow:ellipsis;white-space:nowrap;font-size:.53rem;font-weight:700;overflow:hidden}.surface-scope-switch button:hover,.surface-scope-switch button.is-active{color:var(--joy-mint);background:#9be0aa1a;border-color:#9be0aa9e;transform:translateY(-1px)}.drag-coach{background:#9be0aa12;border:1px dashed #9be0aa61;border-radius:17px;align-items:center;gap:10px;padding:11px 13px;display:flex}.coach-hand{background:#9be0aa21;border-radius:12px;flex:0 0 35px;place-items:center;width:35px;height:35px;font-size:1.2rem;animation:1.8s ease-in-out infinite coach-point;display:grid}.drag-coach>span:last-child{gap:2px;display:grid}.drag-coach strong{color:var(--joy-ink);font-size:.72rem}.drag-coach small{color:var(--joy-muted);font-size:.6rem;font-weight:650}.pattern-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pattern-bookmarks{border-bottom:1px solid var(--joy-line);align-items:flex-end;gap:4px;margin:0 0 -1px;padding-left:5px;display:flex}.pattern-bookmarks button{min-height:34px;color:var(--joy-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:11px 11px 0 0;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:.64rem;font-weight:850;display:inline-flex}.pattern-bookmarks button span{background:#9be0aa1f;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.51rem;display:grid}.pattern-bookmarks button:hover,.pattern-bookmarks button.is-active{border-color:var(--joy-line);background:var(--joy-card-strong);color:var(--joy-ink);transform:translateY(1px)}.own-pattern-empty{border:1px dashed var(--joy-line);min-height:112px;color:var(--joy-muted);text-align:center;border-radius:14px;place-items:center;gap:4px;padding:14px;display:grid}.own-pattern-empty>span{color:var(--joy-yellow);font-size:1.1rem}.own-pattern-empty strong{color:var(--joy-ink);font-size:.69rem}.own-pattern-empty small{max-width:220px;font-size:.58rem;font-weight:650;line-height:1.4}.pattern-upload{width:100%}.pattern-tile-shell{gap:5px;min-width:0;display:grid}.pattern-tile-shell>.pattern-tile{width:100%}.pattern-tile-library-actions{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:5px;display:grid}.pattern-tile-library-action{border:1px solid color-mix(in srgb, var(--joy-mint) 34%, var(--joy-line));background:color-mix(in srgb, var(--joy-mint) 8%, var(--joy-card-strong));min-height:28px;color:var(--joy-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:5px;font-size:.62rem;font-weight:800;display:inline-flex}.pattern-tile-library-action:hover:not(:disabled),.pattern-tile-library-action.is-saved{border-color:color-mix(in srgb, var(--joy-mint) 58%, transparent);background:color-mix(in srgb, var(--joy-mint) 15%, var(--joy-card-strong));color:var(--joy-ink)}.pattern-tile-library-action:disabled{cursor:progress;opacity:.5}.pattern-tile-remove{border:1px solid color-mix(in srgb, #ff806b 24%, var(--joy-line));background:color-mix(in srgb, #ff806b 6%, var(--joy-card-strong));min-height:28px;color:var(--joy-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:5px;font-size:.62rem;font-weight:800;display:inline-flex}.pattern-tile-remove:hover:not(:disabled){background:color-mix(in srgb, #ff806b 12%, var(--joy-card-strong));color:#ff9e8d;border-color:#ff806b8c}.pattern-tile-remove:disabled{cursor:progress;opacity:.5}.pattern-tile{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;color:var(--joy-muted);cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;text-align:left;border-radius:15px;gap:8px;padding:6px 6px 8px;transition:border-color .15s,transform .18s cubic-bezier(.2,.8,.2,1.2),box-shadow .15s;display:grid;position:relative;overflow:visible}.pattern-preview{aspect-ratio:1.6;background-color:#c9c3b7;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-radius:12px;width:100%;transition:transform .18s,box-shadow .18s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2e1f1a29,inset 0 -14px 24px #46261b1a,0 5px 12px #38231b14}.pattern-preview:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #2e2a241f}.pattern-preview img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.pattern-tile.is-custom-choice .pattern-preview img{object-fit:contain}.pattern-tile.is-custom-choice .pattern-preview{background-color:color-mix(in srgb, var(--joy-card-strong) 88%, #d8b58f);background-size:contain}.pattern-name{color:var(--joy-ink);white-space:normal;font-size:.64rem;font-weight:800;line-height:1.2}.pattern-copy{gap:2px;min-width:0;padding:0 3px 2px;display:grid}.pattern-copy small{color:var(--joy-muted);white-space:normal;font-size:.64rem;font-weight:700;line-height:1.25}.pattern-tile.is-smooth-choice{grid-column:1/-1;grid-template-columns:82px minmax(0,1fr);align-items:center}.pattern-tile.is-smooth-choice .pattern-preview{aspect-ratio:1.45}.pattern-tile.is-draggable{cursor:grab}.pattern-tile:focus-visible{outline:3px solid color-mix(in srgb, var(--joy-yellow) 78%, transparent);outline-offset:3px}.pattern-tile:hover,.pattern-tile.is-applied{border-color:#ff9b658c;transform:translateY(-2px);box-shadow:0 10px 24px #4f2c231a}.pattern-tile:hover .pattern-preview,.pattern-tile.is-applied .pattern-preview{transform:scale(1.012);box-shadow:inset 0 0 0 1px #ff9b6557,inset 0 -14px 24px #46261b1a,0 7px 16px #38231b1f}.pattern-tile.is-applied:after{content:"✓" / "";background:var(--joy-mint);color:#14241a;border-radius:50%;place-items:center;width:19px;height:19px;font-size:.67rem;font-weight:950;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 3px 10px #1d462a47}.pattern-tile.is-held{z-index:2;border-color:var(--joy-yellow);cursor:grabbing;animation:1.1s ease-in-out infinite held-wiggle;transform:translateY(-7px)rotate(2deg)scale(1.035);box-shadow:0 12px 30px #f7ce6838}.held-label{background:var(--joy-yellow);color:#382a08;border-radius:99px;padding:4px 6px;font-size:.52rem;font-weight:950;position:absolute;top:-8px;right:-6px;transform:rotate(5deg);box-shadow:0 5px 12px #20180840}.cover-all-button{min-height:42px;color:var(--joy-ink);cursor:pointer;background:#f7ce681a;border:1px solid #f7ce6873;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:.66rem;font-weight:850;display:flex}.cover-all-button:hover{background:#f7ce682e;transform:translateY(-1px)}.friendly-colors{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.friendly-color{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;min-height:46px;color:var(--joy-muted);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:6px 9px;display:flex}.friendly-color>span{border:2px solid #ffffff59;border-radius:50%;flex:0 0 28px;width:28px;height:28px;box-shadow:inset 0 0 0 1px #0a140e2e}.friendly-color strong{text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.friendly-color:hover,.friendly-color.is-active{color:var(--joy-ink);border-color:#9be0aa80;transform:translateY(-1px)}.friendly-color.is-active>span{box-shadow:inset 0 0 0 1px #0a140e29,0 0 0 3px #9be0aa42}.depth-slider{gap:8px;padding:7px 3px 2px;display:grid}.depth-slider input{width:100%;height:22px;accent-color:var(--joy-peach);cursor:ew-resize;margin:0}.depth-labels{color:var(--joy-muted);grid-template-columns:repeat(3,1fr);font-size:.59rem;font-weight:820;display:grid}.depth-labels span:nth-child(2){text-align:center}.depth-labels span:last-child{text-align:right}.pop-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.pop-choice{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-height:59px;color:var(--joy-muted);cursor:pointer;border-radius:14px;place-items:center;gap:4px;padding:7px;display:grid}.pop-choice>span{color:var(--joy-peach);letter-spacing:.12em;text-shadow:1px 1px #ffffff1f,2px 2px #0000001f;font-size:1rem;line-height:.8}.pop-choice strong{font-size:.62rem}.pop-choice:hover,.pop-choice.is-active{color:var(--joy-ink);background:#ff9b6517;border-color:#ff9b658c;transform:translateY(-2px)}.friendly-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.friendly-toggle-row button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-height:48px;color:var(--joy-muted);cursor:pointer;text-align:left;border-radius:13px;gap:2px;padding:8px;display:grid}.friendly-toggle-row button.is-active{color:var(--joy-ink);background:#9be0aa17;border-color:#9be0aa80}.friendly-toggle-row strong{font-size:.67rem}.friendly-toggle-row small{font-size:.57rem;font-weight:650}.friendly-upload{min-height:44px;color:var(--joy-ink);border-style:dashed;border-radius:13px}.saved-patterns{gap:7px;display:grid}.saved-patterns>small{color:var(--joy-muted);font-size:.61rem;font-weight:800}.saved-patterns>div{gap:6px;display:flex;overflow-x:auto}.saved-patterns button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:82px;color:var(--joy-ink);cursor:pointer;border-radius:11px;gap:4px;padding:6px;font-size:.58rem;font-weight:750;display:grid}.saved-patterns button>span{background-position:50%;background-size:cover;border-radius:7px;height:38px}.friendly-status{color:var(--joy-mint);margin:0;font-size:.63rem;font-weight:700}.friendly-status.is-error{color:#ff9c85}.playful-stage{isolation:isolate;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 51% 42%,#ffb87029,#0000 24%),radial-gradient(circle at 82% 15%,#8be0aa2b,#0000 28%),radial-gradient(circle at 18% 82%,#64a99521,#0000 32%),linear-gradient(145deg,#14231d 0%,#0f1a16 55%,#101713 100%)}.playful-stage:before{opacity:.42;background:radial-gradient(circle,#ffffff21 1px,#0000 1.5px) 0 0/28px 28px;inset:0;-webkit-mask-image:radial-gradient(circle at 52% 48%,#000,#0000 76%);mask-image:radial-gradient(circle at 52% 48%,#000,#0000 76%)}.playful-stage:after{z-index:0;content:"";filter:blur(10px);pointer-events:none;background:radial-gradient(#02080540,#0000 65%);border-radius:50%;height:20%;position:absolute;bottom:8%;left:15%;right:15%}.playful-stage .preview-canvas{z-index:1;touch-action:none}.playful-stage .preview-canvas canvas{touch-action:none}.preview-title-card{z-index:3;color:#f8faf1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e19148c;border:1px solid #ebf7ee24;border-radius:16px;align-items:center;gap:10px;padding:9px 12px 9px 9px;display:flex;position:absolute;top:22px;left:22px}.preview-spark{color:#2a1e0e;background:linear-gradient(145deg,#f7ce68,#ff9b65);border-radius:12px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 7px 18px #f58c493d}.preview-title-card>span:last-child{gap:1px;display:grid}.preview-title-card strong{font-size:.75rem}.preview-title-card small{color:#aebcb3;font-size:.58rem;font-weight:700}:root[data-theme=light] .preview-title-card small{color:#6b786f}.holding-bubble{z-index:6;color:#faf9ef;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1b1f12c2;border:1px solid #f7ce6873;border-radius:16px;align-items:center;gap:9px;min-width:190px;padding:8px 11px 8px 8px;animation:1.4s ease-in-out infinite holding-float;display:flex;position:absolute;top:84px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #03080547}.holding-swatch{background:linear-gradient(145deg,#eee9dc,#aaa99f) 50%/cover;border:2px solid #ffffff80;border-radius:12px;flex:0 0 38px;width:38px;height:38px}.holding-swatch.is-smooth{background:radial-gradient(circle at 33% 24%,#ffffffe6,#0000 25%),linear-gradient(145deg,#ede7d8,#aaa99f)}.cursor-follow-pattern{z-index:100;color:#fbfaef;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a2118e0;border:1px solid #f7ce689e;border-radius:14px;align-items:center;gap:8px;min-width:132px;padding:7px 10px 7px 7px;animation:.85s ease-in-out infinite cursor-card-float;display:flex;position:fixed;translate:16px 16px;rotate:2deg;box-shadow:0 18px 42px #03080557}:root[data-theme=light] .cursor-follow-pattern{color:#1c2a22;background:#fffef6eb;border-color:#c7853080}.cursor-follow-pattern .holding-swatch{flex-basis:42px;width:42px;height:42px}.cursor-follow-pattern strong{text-overflow:ellipsis;white-space:nowrap;max-width:126px;font-size:.67rem;overflow:hidden}.holding-bubble>span:last-child{gap:2px;display:grid}.holding-bubble strong{font-size:.69rem}.holding-bubble small{color:#c7c8aa;font-size:.57rem;font-weight:700}.surface-drop-map{z-index:5;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.surface-drop-map.is-armed{opacity:1;pointer-events:auto;cursor:copy}.surface-toast{z-index:5;color:#eaf7eb;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1f16b8;border:1px solid #9be0aa5c;border-radius:99px;padding:9px 13px;font-size:.64rem;font-weight:820;animation:.42s cubic-bezier(.16,1,.3,1) toast-pop;position:absolute;bottom:106px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #03080533}.happy-metrics{z-index:3;pointer-events:none;align-items:stretch;gap:7px;display:flex;position:absolute;bottom:20px;left:20px}.happy-metrics>div{color:#f7f8f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e19148c;border:1px solid #ebf7ee21;border-radius:15px;align-items:center;gap:8px;min-width:112px;padding:9px 11px;display:flex}.happy-metrics>div>span:first-child{font-size:1.05rem}.happy-metrics>div>span:last-child{gap:1px;display:grid}.happy-metrics small{color:#9daca3;font-size:.54rem;font-weight:720}.happy-metrics strong{white-space:nowrap;font-size:.7rem}.happy-metrics .ready-pill{color:#cff4d5;border-color:#9be0aa40}:root[data-theme=light] .happy-metrics small{color:#6d7b72}:root[data-theme=light] .happy-metrics .ready-pill{color:#3e7a4e}.friendly-export{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0e191494;border:1px solid #ebf7ee21;border-radius:17px;align-items:center;gap:7px;padding:5px;display:flex;position:absolute;bottom:20px;right:20px}.tiny-format-switch{gap:2px;display:grid}.tiny-format-switch button{color:#8fa097;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:42px;height:25px;padding:0 6px;font-size:.52rem;font-weight:900}.tiny-format-switch button.is-active{color:#d9f7df;background:#9be0aa21}.make-it-button{color:#28150d;cursor:pointer;text-align:left;background:linear-gradient(135deg,#ff9b65,#ed7042);border:0;border-radius:13px;align-items:center;gap:9px;min-height:50px;padding:7px 13px;display:flex;box-shadow:0 9px 24px #e05e2e40}.make-it-button:hover{transform:translateY(-2px);box-shadow:0 13px 30px #e05e2e57}.make-it-button:disabled{cursor:progress;opacity:.66}.make-it-button>span{gap:1px;display:grid}.make-it-button strong{font-size:.7rem}.make-it-button small{font-size:.53rem;font-weight:750}.playful-export-status{z-index:4;color:#d9f7df;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e1914b8;border:1px solid #9be0aa59;border-radius:12px;max-width:300px;margin:0;padding:8px 11px;font-size:.61rem;font-weight:750;position:absolute;bottom:89px;right:20px}.playful-export-status.is-error{color:#ffc0af;border-color:#ff8f736b}.playful-stage.is-holding .preview-canvas canvas{filter:saturate(1.06)brightness(1.04)}@keyframes coach-point{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-4px)rotate(2deg)}}@keyframes held-wiggle{0%,to{rotate:0deg}50%{rotate:-2deg}}@keyframes holding-float{0%,to{translate:-50%}50%{translate:-50% -5px}}@keyframes cursor-card-float{0%,to{translate:16px 16px}50%{translate:16px 12px}}@keyframes drop-zone-breathe{0%,to{opacity:.42}50%{opacity:.72}}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@media (width<=1120px){.playful-studio{grid-template-columns:minmax(360px,400px) minmax(0,1fr)}.happy-metrics>div:nth-child(2){display:none}}@media (width<=920px){.playful-studio{grid-template-rows:minmax(54vh,600px) auto;grid-template-columns:1fr;height:auto;min-height:100%}.playful-panel{border-top:1px solid var(--joy-line);overflow:visible}.playful-scroll-area{overflow:visible}}.pattern-edge-controls{border:1px solid color-mix(in srgb, var(--joy-lavender) 22%, var(--joy-line));background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--joy-lavender) 10%, transparent), transparent 50%), var(--joy-card-strong);border-radius:16px;gap:12px;padding:13px;display:grid}.pattern-edge-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pattern-edge-heading>span{gap:3px;display:grid}.pattern-edge-heading strong{color:var(--joy-ink);font-family:var(--font-display);letter-spacing:-.01em;font-size:.82rem}.pattern-edge-heading small{color:var(--joy-muted);font-size:.68rem;font-weight:650;line-height:1.4}.pattern-edge-heading>small{background:color-mix(in srgb, var(--joy-lavender) 11%, transparent);color:var(--joy-lavender);text-transform:uppercase;border-radius:999px;flex:none;padding:4px 7px;font-size:.6rem;font-weight:850}.pattern-edge-list{gap:10px;display:grid}.pattern-edge-row{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.pattern-edge-row legend{color:var(--joy-ink);padding:0;font-size:.72rem;font-weight:850}.pattern-edge-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.pattern-edge-option{border:1px solid var(--joy-line);background:var(--joy-card);min-height:54px;color:var(--joy-muted);cursor:pointer;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.pattern-edge-option:before{border:2px solid color-mix(in srgb, var(--joy-muted) 45%, transparent);content:"";background:var(--joy-card-strong);border-radius:50%;width:15px;height:15px;transition:border-color .15s,box-shadow .15s}.pattern-edge-option:hover{border-color:color-mix(in srgb, var(--joy-lavender) 54%, transparent);background:color-mix(in srgb, var(--joy-lavender) 7%, var(--joy-card));transform:translateY(-1px)}.pattern-edge-option:focus-within{outline:3px solid color-mix(in srgb, var(--joy-yellow) 72%, transparent);outline-offset:2px}.pattern-edge-option.is-selected{border-color:color-mix(in srgb, var(--joy-mint) 70%, transparent);background:color-mix(in srgb, var(--joy-mint) 12%, var(--joy-card));box-shadow:0 7px 18px color-mix(in srgb, var(--joy-mint) 9%, transparent)}.pattern-edge-option.is-selected:before{border-color:var(--joy-mint-strong);box-shadow:inset 0 0 0 3px var(--joy-card-strong);background:var(--joy-mint-strong)}.pattern-edge-option input{opacity:0;width:1px;height:1px;position:absolute}.pattern-edge-option>span{gap:2px;min-width:0;display:grid}.pattern-edge-option strong{color:var(--joy-ink);font-size:.7rem;line-height:1.2}.pattern-edge-option small{font-size:.61rem;font-weight:650;line-height:1.25}.pattern-edge-auto-note{color:var(--joy-muted);align-items:center;gap:6px;margin:0;font-size:.65rem;font-weight:700;display:flex}.pattern-edge-auto-note:before{content:"✓";background:color-mix(in srgb, var(--joy-mint) 16%, transparent);width:17px;height:17px;color:var(--joy-mint-strong);border-radius:50%;place-items:center;font-size:.62rem;font-weight:950;display:grid}@media (width<=620px){.playful-studio{grid-template-rows:54vh auto}.playful-brand-row{min-height:64px;padding-inline:14px}.friendly-steps{margin-inline:12px}.playful-scroll-area{padding-inline:12px}.preview-title-card{top:12px;left:12px}.preview-title-card small{display:none}.holding-bubble{top:68px}.happy-metrics{bottom:12px;left:12px}.happy-metrics>div:not(.ready-pill){display:none}.friendly-export{bottom:12px;right:12px}.make-it-button{min-height:46px;padding-inline:10px}.make-it-button small{display:none}.surface-toast{text-align:center;max-width:calc(100% - 24px);bottom:78px}}@media (prefers-reduced-motion:reduce){.coach-hand,.pattern-tile.is-held,.holding-bubble,.cursor-follow-pattern{animation:none}}.surface-zone-heading{justify-content:space-between;gap:10px}.surface-zone-heading span{color:var(--text);font-size:.72rem;font-weight:850}.surface-zone-heading small{color:var(--muted);font-size:.62rem;font-weight:700}.zone-texture-select{color:var(--muted);justify-content:space-between;gap:10px;font-size:.68rem;font-weight:750}.zone-texture-select select{border:1px solid var(--line);background:var(--panel-strong);min-width:0;max-width:68%;min-height:32px;color:var(--text);border-radius:6px;padding:0 8px;font-size:.68rem;font-weight:750}.zone-setting-stack{gap:12px;padding-top:2px;display:grid}:root[data-theme=light]{--focus-ring:#6846b8}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.playful-studio{--joy-panel:#241b2c;--joy-card:#fff9f412;--joy-card-strong:#30243a;--joy-ink:#fff9ef;--joy-muted:#c5b8c8;--joy-mint:#9fe0c3;--joy-mint-strong:#57b88f;--joy-peach:#ff8d70;--joy-yellow:#ffd36e;--joy-lavender:#c7b5ff;--joy-lavender-strong:#9a78ee;--joy-line:#fff1fa24;--joy-shadow:0 24px 80px #0e071457;--ease-ui:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.2, 1.35, .35, 1);height:100dvh;font-family:var(--font-ui);background:#18121e;grid-template-columns:minmax(420px,460px) minmax(0,1fr)}:root[data-theme=light] .playful-studio{--joy-panel:#fff9f0;--joy-card:#5238620e;--joy-card-strong:#fffefa;--joy-ink:#35283d;--joy-muted:#746879;--joy-mint:#3c916f;--joy-mint-strong:#2f7c5c;--joy-peach:#d95f43;--joy-yellow:#ad7610;--joy-lavender:#7653c3;--joy-lavender-strong:#6240b0;--joy-line:#432e4f26;--joy-shadow:0 24px 70px #442d4d29;background:#f4ecdf}.playful-studio button,.playful-studio summary,.playful-studio label{transition:border-color .16s var(--ease-ui), background-color .16s var(--ease-ui), color .16s var(--ease-ui), box-shadow .18s var(--ease-ui), transform .18s var(--ease-pop)}.playful-panel{border-color:var(--joy-line);background:radial-gradient(circle at 10% 3%, #c7b5ff1c, transparent 25%), var(--joy-panel)}:root[data-theme=light] .playful-panel{background:radial-gradient(circle at 10% 3%, #7653c317, transparent 26%), var(--joy-panel)}.playful-brand-row{min-height:78px;padding:14px 20px 9px}.playful-logo-mark{width:43px;height:43px;box-shadow:none;background:0 0;border:0;border-radius:0;flex-basis:43px;display:block;position:relative;overflow:visible;transform:none}.playful-logo-mark img{filter:drop-shadow(0 7px 11px #492d8033);width:100%;height:100%;display:block}.playful-logo strong,.friendly-intro h2,.friendly-card-heading h3,.make-it-button strong{font-family:var(--font-display)}.playful-logo strong{letter-spacing:-.025em;font-size:1.2rem;font-weight:700}.playful-logo small{font-size:.68rem;font-weight:750}.soft-icon-button{border-radius:14px;flex-basis:42px;width:42px;height:42px}.soft-icon-button:hover{border-color:color-mix(in srgb, var(--joy-lavender) 65%, transparent);color:var(--joy-lavender)}.friendly-steps{background:#07030a29;border-radius:20px;margin:4px 18px 14px;padding:7px}:root[data-theme=light] .friendly-steps{background:#5535650b}.friendly-step{border-radius:15px;min-height:58px;padding:8px 10px}.friendly-step>span{flex-basis:31px;width:31px;height:31px;font-size:.8rem}.friendly-step strong{font-family:var(--font-display);font-size:.88rem;font-weight:650}.friendly-step small{font-size:.7rem;font-weight:700}.friendly-step.is-active{box-shadow:0 8px 24px #0c061129}.friendly-step.is-active>span{border-color:var(--joy-lavender);background:color-mix(in srgb, var(--joy-lavender) 15%, transparent);color:var(--joy-lavender)}.friendly-flow{gap:15px}.friendly-flow>*{animation:ui-rise .28s var(--ease-ui) both}.friendly-flow>:nth-child(2){animation-delay:40ms}.friendly-flow>:nth-child(3){animation-delay:75ms}.friendly-flow>:nth-child(4){animation-delay:.105s}.friendly-kicker{color:var(--joy-lavender);letter-spacing:.075em;margin-bottom:7px;font-size:.72rem}.friendly-intro h2{letter-spacing:-.035em;max-width:390px;font-size:clamp(1.82rem,2.8vw,2.15rem);font-weight:650;line-height:1.02}.friendly-intro h2:focus{outline:none}.friendly-intro p{max-width:390px;margin-top:9px;font-size:.84rem;font-weight:650;line-height:1.48}.friendly-card{background:var(--joy-card);border-radius:22px;gap:15px;padding:16px;box-shadow:inset 0 1px #ffffff0a,0 8px 24px #0d07110f}:root[data-theme=light] .friendly-card{background:#fffefad1;box-shadow:inset 0 1px #fffc,0 10px 30px #472f5212}.friendly-card-heading.no-number{align-items:start}.friendly-card-tag{background:color-mix(in srgb, var(--joy-lavender) 14%, transparent);width:max-content;color:var(--joy-lavender);letter-spacing:.045em;text-transform:uppercase;border-radius:999px;margin-bottom:1px;padding:3px 8px;font-size:.66rem;font-weight:900;display:inline-flex}.friendly-card-heading h3{letter-spacing:-.015em;font-size:1rem;font-weight:650}.friendly-card-heading p{max-width:360px;font-size:.75rem;font-weight:650;line-height:1.4}.silhouette-card.is-hero{border-color:color-mix(in srgb, var(--joy-lavender) 45%, transparent);background:radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--joy-lavender) 13%, transparent), transparent 32%), var(--joy-card);box-shadow:inset 0 1px #ffffff0d,0 16px 42px #11081821}:root[data-theme=light] .silhouette-card.is-hero{background:radial-gradient(circle at 88% 8%,#7653c31c,#0000 32%),#fffefa}.silhouette-editor-shell{border-color:color-mix(in srgb, var(--joy-lavender) 30%, transparent);background:#09040d38;border-radius:18px;padding:10px}:root[data-theme=light] .silhouette-editor-shell{background:#6b4c890e}.profile-zone-toolbar>span{font-size:.73rem;font-weight:750}.profile-zone-toolbar button{white-space:nowrap;border-radius:10px;min-height:36px;padding:0 10px;font-size:.72rem}.profile-zone-toolbar button svg{flex:0 0 14px;width:14px;height:14px}.profile-handle.is-active,.profile-editor g[role=slider]:focus-visible .profile-handle{fill:var(--joy-yellow);stroke:var(--joy-lavender-strong);stroke-width:5px}.silhouette-presets button{border-radius:11px;min-height:38px;font-size:.7rem}.top-edge-card{border-color:color-mix(in srgb, var(--joy-lavender) 34%, transparent);background:radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--joy-lavender) 10%, transparent), transparent 34%), var(--joy-card)}.top-profile-toggle{width:100%}.top-profile-settings{gap:18px;padding-top:4px;display:grid}.top-edge-editor>svg{aspect-ratio:1.45;touch-action:none}.top-edge-fill{fill:url(#top-edge-fill);pointer-events:none}.top-edge-seam-label{fill:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.top-edge-depth-note{color:var(--muted);margin:0;font-size:.7rem;font-weight:650;line-height:1.45}.step-button,.region-size-stepper button{border-radius:10px;flex-basis:34px;width:34px;height:34px}.playful-panel input[type=range]{appearance:none;cursor:ew-resize;background:0 0;height:22px;margin:0}.playful-panel input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--joy-lavender) 24%, var(--joy-line));border-radius:999px;height:6px}.playful-panel input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--joy-card-strong);background:var(--joy-peach);border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 3px 10px #2a14233d}.playful-panel input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--joy-lavender) 24%, var(--joy-line));border-radius:999px;height:6px}.playful-panel input[type=range]::-moz-range-thumb{border:3px solid var(--joy-card-strong);background:var(--joy-peach);border-radius:50%;width:17px;height:17px;box-shadow:0 3px 10px #2a14233d}.drag-coach{border-color:color-mix(in srgb, var(--joy-mint) 42%, transparent);background:color-mix(in srgb, var(--joy-mint) 8%, transparent);border-radius:19px;padding:12px 14px}.drag-coach strong{font-size:.79rem}.drag-coach small{font-size:.7rem;line-height:1.35}.region-selection-guide{isolation:isolate;border:1px solid color-mix(in srgb, var(--joy-yellow) 52%, transparent);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--joy-yellow) 18%, transparent), transparent 48%), color-mix(in srgb, var(--joy-lavender) 8%, var(--joy-card));color:var(--joy-ink);border-radius:19px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.region-selection-guide:after{z-index:-1;border:1px solid color-mix(in srgb, var(--joy-yellow) 24%, transparent);content:"";border-radius:42% 58% 64% 36%;width:86px;height:86px;position:absolute;top:-28px;right:-22px;rotate:18deg}.region-selection-guide>svg,.region-selection-guide>[aria-hidden=true]:first-child{background:linear-gradient(145deg, var(--joy-yellow), var(--joy-peach));width:42px;height:42px;box-shadow:0 8px 20px color-mix(in srgb, var(--joy-peach) 22%, transparent);color:#352318;border-radius:14px;place-items:center;padding:10px;display:grid}.region-selection-guide.has-selection{border-color:color-mix(in srgb, var(--joy-mint) 60%, transparent);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--joy-mint) 17%, transparent), transparent 48%), color-mix(in srgb, var(--joy-mint) 7%, var(--joy-card));box-shadow:inset 0 1px #ffffff0d, 0 8px 24px color-mix(in srgb, var(--joy-mint) 8%, transparent)}.region-selection-guide.has-selection:after{border-color:color-mix(in srgb, var(--joy-mint) 28%, transparent)}.region-selection-guide.has-selection>svg,.region-selection-guide.has-selection>[aria-hidden=true]:first-child{background:linear-gradient(145deg, var(--joy-mint), var(--joy-mint-strong));box-shadow:0 8px 20px color-mix(in srgb, var(--joy-mint) 20%, transparent);color:#16271f}.region-selection-copy{z-index:1;gap:3px;min-width:0;display:grid;position:relative}.region-selection-copy strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:.84rem;font-weight:650}.region-selection-copy small{color:var(--joy-muted);font-size:.7rem;font-weight:650;line-height:1.4}.region-picker-row{flex-wrap:wrap;grid-column:1/-1;gap:7px;min-width:0;display:flex}.region-picker-button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:78px;min-height:44px;color:var(--joy-muted);cursor:pointer;font:inherit;text-align:center;border-radius:13px;flex:82px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.72rem;font-weight:850;line-height:1.15;transition:border-color .15s,background .15s,box-shadow .15s,color .15s,transform .15s;display:inline-flex}.region-picker-button:hover{border-color:color-mix(in srgb, var(--joy-lavender) 62%, transparent);background:color-mix(in srgb, var(--joy-lavender) 11%, var(--joy-card-strong));color:var(--joy-ink);transform:translateY(-1px)}.region-picker-button:focus-visible{outline:3px solid color-mix(in srgb, var(--joy-yellow) 75%, transparent);outline-offset:2px;border-color:var(--joy-yellow);color:var(--joy-ink)}.region-picker-button.is-selected,.region-picker-button[aria-pressed=true]{border-color:color-mix(in srgb, var(--joy-mint) 72%, transparent);background:color-mix(in srgb, var(--joy-mint) 14%, var(--joy-card-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--joy-mint) 16%, transparent), 0 7px 18px color-mix(in srgb, var(--joy-mint) 10%, transparent);color:var(--joy-ink)}.region-picker-button.is-selected:before,.region-picker-button[aria-pressed=true]:before{content:"";background:var(--joy-mint);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--joy-mint) 14%, transparent);border-radius:50%;flex:0 0 7px}.region-picker-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.region-click-hint{z-index:4;color:#fff8ed;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#251b2dc7;border:1px solid #ffd36e75;border-radius:999px;align-items:center;gap:8px;max-width:min(360px,100% - 32px);min-height:42px;padding:8px 13px;font-size:.72rem;font-weight:800;line-height:1.25;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:86px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #09040d33}.region-click-hint>svg{color:#ffd36e;flex:0 0 17px;width:17px;height:17px}:root[data-theme=light] .region-click-hint{border-color:color-mix(in srgb, var(--joy-yellow) 58%, transparent);color:#35283d;background:#fffdf8db;box-shadow:0 12px 30px #492f5521}.playful-stage.is-holding .region-click-hint{opacity:0;transform:translate(-50%,-6px)}.playful-stage.is-region-selecting .preview-canvas canvas{cursor:pointer}.pattern-bookmarks button{min-height:40px;padding:0 14px;font-size:.73rem}.pattern-shelf{gap:9px}.pattern-tile{touch-action:pan-y;border-radius:17px;padding:7px 7px 9px}.pattern-name{font-size:.73rem}.pattern-tile:hover,.pattern-tile.is-applied{border-color:color-mix(in srgb, var(--joy-peach) 60%, transparent)}.held-label{font-size:.62rem}.own-pattern-empty strong{font-size:.78rem}.own-pattern-empty small,.friendly-status{font-size:.69rem}.held-pattern-actions{border:1px solid color-mix(in srgb, var(--joy-yellow) 42%, transparent);background:color-mix(in srgb, var(--joy-yellow) 8%, transparent);border-radius:16px;gap:10px;padding:11px;display:grid}.region-target-picker{gap:8px;display:grid}.region-target-picker>span{color:var(--joy-muted);font-size:.7rem;font-weight:850}.region-target-picker>div{flex-wrap:wrap;gap:6px;display:flex}.region-target-picker button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-height:38px;color:var(--joy-ink);cursor:pointer;border-radius:11px;padding:0 11px;font-size:.69rem;font-weight:850}.region-target-picker button:hover,.region-target-picker button.is-selected,.region-target-picker button:focus-visible{border-color:var(--joy-yellow);background:color-mix(in srgb, var(--joy-yellow) 12%, transparent)}.held-pattern-buttons{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.cover-all-button,.cancel-held-button{border-radius:13px;min-height:44px;font-size:.72rem}.cancel-held-button{border:1px solid var(--joy-line);background:var(--joy-card-strong);color:var(--joy-muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:850;display:inline-flex}.surface-tuning-empty{border:1px dashed var(--joy-line);min-height:76px;color:var(--joy-muted);border-radius:15px;align-items:center;gap:11px;padding:13px;display:flex}.surface-tuning-empty>span:first-child,.surface-tuning-empty>svg:first-child{background:color-mix(in srgb, var(--joy-lavender) 13%, transparent);width:38px;height:38px;color:var(--joy-lavender);border-radius:13px;flex:0 0 38px;place-items:center;display:grid}.surface-tuning-empty>span:last-child{gap:2px;display:grid}.surface-tuning-empty strong{color:var(--joy-ink);font-size:.8rem}.surface-tuning-empty small{font-size:.7rem;line-height:1.35}.print-safety-notice{--print-safety-accent:var(--joy-green);--print-safety-wash:color-mix(in srgb, var(--joy-green) 10%, transparent);border:1px solid color-mix(in srgb, var(--print-safety-accent) 38%, var(--joy-line));background:var(--print-safety-wash);width:100%;min-width:0;color:var(--joy-ink);text-align:left;border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;display:grid}.print-safety-notice.is-adjusted{--print-safety-accent:var(--joy-lavender);--print-safety-wash:color-mix(in srgb, var(--joy-lavender) 10%, transparent)}.print-safety-notice.is-softened{--print-safety-accent:var(--joy-yellow);--print-safety-wash:color-mix(in srgb, var(--joy-yellow) 12%, transparent)}.print-safety-notice.is-blocked{--print-safety-accent:#ff806b;--print-safety-wash:#ff806b1a}.print-safety-notice.is-actionable{cursor:pointer;font:inherit;transition:border-color .15s,transform .15s,background-color .15s}.print-safety-notice.is-actionable:hover,.print-safety-notice.is-actionable:focus-visible{border-color:color-mix(in srgb, var(--print-safety-accent) 72%, transparent);transform:translateY(-1px)}.print-safety-notice-icon{background:color-mix(in srgb, var(--print-safety-accent) 17%, transparent);width:30px;height:30px;color:var(--print-safety-accent);border-radius:10px;place-items:center;display:grid}.print-safety-notice-copy{gap:2px;min-width:0;display:grid}.print-safety-notice strong{color:var(--joy-ink);font-size:.72rem;line-height:1.25}.print-safety-notice small{color:var(--joy-muted);text-overflow:ellipsis;font-size:.62rem;font-weight:680;line-height:1.35;overflow:hidden}.region-size-row .print-safety-notice{margin-top:1px}.print-safety-notice.is-compact{background:color-mix(in srgb, var(--print-safety-accent) 12%, #0e19149e);border-radius:12px;flex:0 auto;grid-template-columns:auto minmax(0,1fr);width:auto;max-width:220px;padding:7px 9px}.print-safety-notice.is-compact .print-safety-notice-icon{border-radius:9px;width:27px;height:27px}.print-safety-notice.is-compact strong{color:#f7f8f0;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.print-safety-notice.is-compact small{color:#aebbb3;white-space:nowrap;font-size:.55rem}:root[data-theme=light] .print-safety-notice.is-compact{background:color-mix(in srgb, var(--print-safety-accent) 9%, #fffdf8eb)}:root[data-theme=light] .print-safety-notice.is-compact strong{color:#35283d}:root[data-theme=light] .print-safety-notice.is-compact small{color:#6d7b72}.all-region-controls,.whole-edge-rims{border-radius:16px;padding:13px}.pattern-size-control{gap:7px;display:grid}.layered-step-controls{grid-column:1/-1;gap:12px;display:grid}.pattern-noise-controls{border:1px solid var(--line);border-radius:12px;gap:8px;padding:12px;display:grid}.pattern-noise-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.pattern-noise-row label{flex:1;gap:6px;min-width:110px;font-size:12px;font-weight:650;display:grid}.pattern-noise-row input{box-sizing:border-box;border:1px solid var(--line);background:var(--panel);width:100%;min-width:0;color:inherit;font:inherit;border-radius:8px;padding:9px 10px}.pattern-noise-row button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:650;display:inline-flex}.pattern-noise-row button:hover{background:var(--control-hover)}.pattern-noise-controls p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.pattern-noise-controls [role=alert]{color:#a33025}.surface-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.surface-axis-control{border:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-card-strong) 90%, transparent);border-radius:13px;gap:7px;min-width:0;padding:10px;display:grid}.surface-axis-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.surface-axis-title{align-items:center;gap:7px;min-width:0;display:flex}.surface-axis-title>span:last-child{gap:1px;min-width:0;display:grid}.surface-axis-title strong{color:var(--joy-ink);font-size:.7rem;line-height:1.2}.surface-axis-title small{color:var(--joy-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:650;line-height:1.25;overflow:hidden}.surface-axis-icon{background:color-mix(in srgb, var(--joy-peach) 13%, transparent);width:26px;height:26px;color:var(--joy-peach);border-radius:8px;flex:none;place-items:center;display:inline-grid}.surface-axis-heading output{color:var(--joy-peach);white-space:nowrap;flex:none;font-size:.7rem;font-weight:900}.surface-axis-control input{width:100%;accent-color:var(--joy-peach);cursor:pointer;margin:1px 0 0}.surface-axis-control input:disabled{cursor:not-allowed;opacity:.45}.surface-axis-labels{color:var(--joy-muted);justify-content:space-between;gap:5px;font-size:.54rem;font-weight:750;display:flex}.surface-axis-labels span:nth-child(2){text-align:center}.surface-axis-labels span:last-child{text-align:right}.generated-support-toggle{border:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-card-strong) 90%, transparent);cursor:pointer;border-radius:13px;align-items:center;gap:9px;min-width:0;padding:10px 11px;transition:border-color .15s,background .15s,transform .15s;display:flex}.generated-support-toggle:hover{border-color:color-mix(in srgb, var(--joy-green) 55%, var(--joy-line));transform:translateY(-1px)}.generated-support-toggle.is-checked{border-color:color-mix(in srgb, var(--joy-green) 48%, var(--joy-line));background:color-mix(in srgb, var(--joy-green) 9%, var(--joy-card-strong))}.generated-support-toggle.is-disabled,.generated-support-toggle.is-disabled:hover{border-color:var(--joy-line);background:color-mix(in srgb, var(--joy-card-strong) 90%, transparent);cursor:not-allowed;opacity:.68;transform:none}.generated-support-toggle input{width:17px;height:17px;accent-color:var(--joy-green);cursor:pointer;flex:none;margin:0}.generated-support-toggle.is-disabled input{cursor:not-allowed}.generated-support-toggle>span{gap:2px;min-width:0;display:grid}.generated-support-toggle strong{color:var(--joy-ink);font-size:.7rem;line-height:1.2}.generated-support-toggle small{color:var(--joy-muted);font-size:.56rem;font-weight:650;line-height:1.3}.surface-artwork-card{gap:12px;display:grid}.surface-artwork-card.is-enabled{border-color:color-mix(in srgb, var(--joy-purple) 34%, var(--joy-line))}.surface-artwork-controls{gap:11px;padding-top:2px;display:grid}.surface-artwork-mode-field{gap:7px;display:grid}.surface-artwork-mode-field>span{color:var(--joy-ink);font-size:.66rem;font-weight:800}.surface-artwork-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.surface-artwork-mode-buttons button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;color:var(--joy-muted);text-align:left;cursor:pointer;border-radius:11px;gap:3px;padding:9px;display:grid}.surface-artwork-mode-buttons button.is-active{border-color:color-mix(in srgb, var(--joy-purple) 62%, var(--joy-line));background:color-mix(in srgb, var(--joy-purple) 10%, var(--joy-card-strong));color:var(--joy-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--joy-purple) 18%, transparent)}.surface-artwork-mode-buttons strong{font-size:.62rem}.surface-artwork-mode-buttons small{color:var(--joy-muted);font-size:.51rem;line-height:1.25}.surface-artwork-text-field{gap:6px;display:grid}.surface-artwork-text-field>span{color:var(--joy-ink);align-items:center;gap:6px;font-size:.66rem;font-weight:800;display:flex}.surface-artwork-text-field input{border:1px solid var(--joy-line);background:var(--joy-card-strong);width:100%;min-width:0;color:var(--joy-ink);font:inherit;border-radius:11px;outline:none;padding:10px 11px;font-size:.72rem}.surface-artwork-text-field input:focus{border-color:color-mix(in srgb, var(--joy-purple) 62%, var(--joy-line));box-shadow:0 0 0 3px color-mix(in srgb, var(--joy-purple) 12%, transparent)}.surface-artwork-logo-row{align-items:stretch;gap:7px;display:flex}.surface-artwork-upload{border:1px dashed color-mix(in srgb, var(--joy-purple) 42%, var(--joy-line));background:color-mix(in srgb, var(--joy-purple) 6%, var(--joy-card-strong));min-width:0;color:var(--joy-ink);cursor:pointer;border-radius:11px;flex:1;align-items:center;gap:9px;padding:9px 10px;display:flex}.surface-artwork-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.surface-artwork-upload>span{gap:1px;min-width:0;display:grid}.surface-artwork-upload strong,.surface-artwork-upload small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.surface-artwork-upload strong{font-size:.65rem}.surface-artwork-upload small{color:var(--joy-muted);font-size:.54rem}.surface-artwork-layout-field{gap:7px;display:grid}.surface-artwork-layout-field>span{color:var(--joy-ink);font-size:.66rem;font-weight:800}.surface-artwork-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.surface-artwork-layout-grid button{border:1px solid var(--joy-line);background:var(--joy-card-strong);min-width:0;color:var(--joy-muted);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:7px 8px;display:flex}.surface-artwork-layout-grid button.is-active{border-color:color-mix(in srgb, var(--joy-purple) 62%, var(--joy-line));background:color-mix(in srgb, var(--joy-purple) 10%, var(--joy-card-strong));color:var(--joy-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--joy-purple) 18%, transparent)}.surface-artwork-layout-grid button small{text-overflow:ellipsis;white-space:nowrap;font-size:.53rem;font-weight:750;overflow:hidden}.surface-artwork-layout-icon{flex:0 0 29px;justify-content:center;align-items:center;gap:3px;width:29px;height:21px;display:flex}.surface-artwork-layout-icon.logo-right{flex-direction:row-reverse}.surface-artwork-layout-icon.logo-above{flex-direction:column}.surface-artwork-layout-icon.logo-below{flex-direction:column-reverse}.surface-artwork-layout-icon i{background:var(--joy-purple);border-radius:50%;width:8px;height:8px}.surface-artwork-layout-icon b{background:currentColor;border-radius:2px;width:15px;height:4px}.surface-artwork-placement-note{background:color-mix(in srgb, var(--joy-yellow) 11%, transparent);color:var(--joy-muted);border-radius:10px;align-items:center;gap:7px;padding:8px 10px;font-size:.59rem;font-weight:700;display:flex}.surface-artwork-status{color:var(--joy-green);margin:0;font-size:.58rem;font-weight:750;line-height:1.35}.surface-artwork-status.is-error{color:var(--joy-red)}.playful-stage.is-artwork-positioning .preview-canvas canvas{cursor:pointer}.surface-decoration-handle-line{z-index:7;pointer-events:none;transform-origin:0;visibility:hidden;background:#fff9ebe6;border-radius:999px;height:2px;position:absolute;box-shadow:0 0 0 1px #27150e33}.surface-decoration-handle{z-index:8;background:linear-gradient(145deg, var(--joy-peach), #ef7545);color:#2d180f;cursor:grab;touch-action:none;visibility:hidden;border:2px solid #fffaeff5;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 18px #24140e4d,0 0 0 3px #ff9a6533}.surface-decoration-handle:hover,.surface-decoration-handle:focus-visible{transform:translate(-50%,-50%)scale(1.06);box-shadow:0 9px 22px #24140e5c,0 0 0 5px #ff9a6547}.surface-decoration-handle:active{cursor:grabbing}.surface-decoration-handle.is-scale{background:var(--joy-card-strong);width:32px;height:32px;color:var(--joy-ink);cursor:nwse-resize;border-width:2px}.global-region-height .surface-axis-control{background:0 0;border:0;padding:0}.region-size-row>.surface-axis-control+.surface-axis-control{margin-top:-3px}.pattern-size-control .pattern-size-labels{padding:0 2px}.all-region-heading strong,.all-region-raise>span,.whole-edge-rims-heading strong{font-size:.78rem}.all-region-heading small,.whole-edge-rims-heading small{font-size:.67rem;line-height:1.35}.whole-edge-rim-toggle{border-radius:13px;min-height:46px;padding:10px 11px;font-size:.72rem}.whole-edge-rim-toggle small{font-size:.61rem}.region-size-heading strong,.shared-boundary-heading strong{font-size:.82rem}.region-size-heading small,.shared-boundary-heading small{font-size:.69rem;line-height:1.4}.region-size-row{border-radius:15px;gap:12px;padding:11px}.region-size-row:not(.is-selected) .region-setting{display:none}.region-size-title{width:100%;color:var(--joy-ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:0;display:grid}.region-size-title strong{grid-column:1;font-size:.77rem}.region-size-title small{grid-column:1;font-size:.67rem}.region-size-title>span:last-child{color:var(--joy-lavender);grid-area:1/2/span 2;align-self:center;font-size:1rem;font-weight:800}.region-setting-heading>span:first-child{font-size:.69rem}.region-setting .depth-labels{padding:0 1px;font-size:.6rem}.region-size-stepper output{min-width:42px;font-size:.72rem}@media (width<=1120px){.surface-axis-grid{grid-template-columns:1fr}}.shared-boundary-row{border-radius:13px;grid-template-columns:1fr;gap:10px;padding:11px}.shared-boundary-toggle strong{font-size:.74rem}.shared-boundary-toggle>span small,.shared-boundary-toggle>small,.shared-boundary-scale output{font-size:.64rem}.playful-stage{background:radial-gradient(circle at 52% 42%,#ff94702e,#0000 25%),radial-gradient(circle at 84% 12%,#a180ec38,#0000 31%),radial-gradient(circle at 16% 84%,#5bc59929,#0000 32%),linear-gradient(145deg,#211829 0%,#17131d 56%,#18151f 100%)}:root[data-theme=light] .playful-stage{background:radial-gradient(circle at 52% 42%,#ff8c6338,#0000 25%),radial-gradient(circle at 84% 12%,#8b69d330,#0000 31%),radial-gradient(circle at 16% 84%,#56b58e29,#0000 33%),linear-gradient(145deg,#fff9ef 0%,#f3e9df 56%,#eee3ed 100%)}.studio-processing-screen{z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:wait;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 42%,#ff8b6933,#0000 28%),radial-gradient(circle at 64% 30%,#9977e233,#0000 34%),#140e19f0;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.studio-processing-card{color:#fff9ef;text-align:center;background:#2a1e32eb;border:1px solid #fff4fb29;border-radius:28px;justify-items:center;width:min(390px,100% - 32px);padding:30px 28px 26px;display:grid;box-shadow:0 30px 90px #08030c70,inset 0 1px #ffffff0d}.surface-flow>.pattern-card,.surface-flow>.surface-tuning-card,.surface-flow>.pattern-edge-controls,.surface-flow.is-regional>.surface-tuning-card,.surface-flow.is-regional>.pattern-card{order:initial}.surface-flow .surface-tuning-card{gap:11px;padding:13px}.surface-flow .surface-tuning-card .friendly-card-heading p{display:block}.global-region-height{border:1px solid color-mix(in srgb, var(--joy-mint) 36%, var(--joy-line));background:color-mix(in srgb, var(--joy-mint) 7%, var(--joy-card-strong));border-radius:14px;gap:6px;padding:11px;display:grid}.global-region-height-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.global-region-height-heading>span{gap:2px;display:grid}.global-region-height-heading strong{color:var(--joy-ink);font-size:.75rem}.global-region-height-heading small{color:var(--joy-muted);font-size:.62rem;font-weight:650}.global-region-height-heading output{color:var(--joy-mint-strong);flex:none;font-size:.72rem;font-weight:900}.surface-advanced-controls{border:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-lavender) 5%, var(--joy-card));border-radius:13px;overflow:hidden}.surface-advanced-controls summary{color:var(--joy-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;font-size:.72rem;font-weight:850;list-style:none;display:flex}.surface-advanced-controls summary::-webkit-details-marker{display:none}.surface-advanced-controls summary:after{content:"+";color:var(--joy-lavender);font-size:1rem}.surface-advanced-controls[open] summary:after{content:"−"}.surface-advanced-controls summary small{color:var(--joy-muted);margin-left:auto;font-size:.61rem;font-weight:650}.surface-advanced-controls .pattern-placement-grid{margin:0 10px 10px;padding-top:10px}.surface-flow .region-size-controls{border-top:0;padding-top:0}.surface-flow .region-size-heading small{display:none}.surface-flow .pattern-edge-controls{gap:8px;padding:11px}.surface-flow .pattern-edge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.surface-flow .pattern-edge-row{gap:5px;display:grid}.surface-flow .pattern-edge-options{grid-template-columns:1fr;gap:5px}.surface-flow .pattern-edge-option small{display:none}.surface-flow .pattern-edge-auto-note{margin:0}.surface-flow .pattern-card{gap:10px;padding:13px}.surface-flow .drag-coach{display:none}.surface-flow .pattern-card .friendly-card-heading p{font-size:.66rem;line-height:1.4;display:block}.surface-flow .pattern-shelf{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:min(24vh,210px);padding:2px 5px 7px 2px;display:grid;overflow:hidden auto}.surface-flow .pattern-shelf>.pattern-tile,.surface-flow .pattern-shelf>.pattern-tile-shell{width:auto;min-width:0}.surface-flow .pattern-tile.is-smooth-choice{grid-column:auto;grid-template-columns:1fr}.surface-flow .pattern-copy{padding-bottom:0}.surface-flow .pattern-copy small,.surface-flow.is-regional .region-size-heading,.surface-flow.is-regional .region-size-title{display:none}.surface-flow.is-regional .region-size-row{background:0 0;border:0;gap:10px;padding:0}.region-height-scope{border:1px solid color-mix(in srgb, var(--joy-mint) 28%, var(--joy-line));background:color-mix(in srgb, var(--joy-mint) 5%, var(--joy-card-strong));border-radius:13px;gap:7px;padding:10px;display:grid}.region-height-scope>span{color:var(--joy-ink);font-size:.69rem;font-weight:850}.region-height-scope>div{background:color-mix(in srgb, var(--joy-panel) 54%, transparent);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:3px;display:grid}.region-height-scope button{min-height:34px;color:var(--joy-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:9px;padding:6px 8px;font-size:.66rem;font-weight:850}.region-height-scope button:hover,.region-height-scope button.is-active{border-color:color-mix(in srgb, var(--joy-mint) 48%, transparent);background:color-mix(in srgb, var(--joy-mint) 12%, var(--joy-card-strong));color:var(--joy-ink)}.region-height-scope>small{color:var(--joy-muted);font-size:.61rem;font-weight:650;line-height:1.35}.surface-flow.is-regional .region-selection-guide{gap:9px;padding:10px 11px}.surface-flow.is-regional .region-selection-guide>svg{border-radius:12px;width:36px;height:36px;padding:8px}.surface-flow.is-regional .region-selection-copy small{display:block}.studio-processing-context{color:#fff9efad;letter-spacing:.08em;text-transform:uppercase;border:1px solid #fff9ef26;border-radius:999px;padding:5px 9px;font-size:.61rem;font-weight:900}.studio-processing-context+.studio-processing-orbit{margin-top:18px}.studio-processing-card strong{margin-top:16px;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.2}.studio-processing-card small{color:#fff9efb8;max-width:360px;margin-top:10px;font-size:.78rem;line-height:1.5}.studio-processing-orbit{border:2px solid #fff9ef1f;border-top-color:#ff9173;border-radius:50%;width:76px;height:76px;animation:1.15s linear infinite studio-processing-spin;position:relative}.studio-processing-orbit:before,.studio-processing-orbit:after{content:"";border-radius:50%;position:absolute}.studio-processing-orbit:before{border:2px solid #af8eef29;border-right-color:#b79aed;animation:.8s linear infinite reverse studio-processing-spin;inset:11px}.studio-processing-orbit:after{background:linear-gradient(145deg,#ffd36e,#ff876a);inset:27px;box-shadow:0 0 24px #ff876a6b}.studio-processing-orbit>span{background:#fff9ef;border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 10px #fff9efb3}.studio-processing-orbit>span:first-child{top:4px;left:17px}.studio-processing-orbit>span:nth-child(2){bottom:18px;right:5px}.studio-processing-orbit>span:nth-child(3){bottom:5px;left:15px}.studio-processing-progress{background:#fff9ef1a;border-radius:999px;width:min(300px,100%);height:5px;margin-top:24px;position:relative;overflow:hidden}.studio-processing-progress>span{border-radius:inherit;background:linear-gradient(90deg,#ff8d70,#ffd36e,#ad8de8);width:42%;animation:1.35s ease-in-out infinite studio-processing-progress;position:absolute;inset-block:0}@keyframes studio-processing-spin{to{transform:rotate(360deg)}}@keyframes studio-processing-progress{0%{transform:translate(-120%)}to{transform:translate(340%)}}:root[data-theme=light] .studio-processing-screen{background:radial-gradient(circle at 50% 42%,#ff8b6933,#0000 28%),radial-gradient(circle at 64% 30%,#9977e22e,#0000 34%),#f9f1ecf0}:root[data-theme=light] .studio-processing-card{color:#35283d;background:#fffdf8f2;border-color:#4d335a29}:root[data-theme=light] .studio-processing-card small{color:#35283db3}:root[data-theme=light] .studio-processing-context{color:#35283da3;border-color:#35283d24}@media (prefers-reduced-motion:reduce){.studio-processing-orbit,.studio-processing-orbit:before,.studio-processing-progress>span{animation-duration:2.8s}}.preview-loading{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#140d1933}.preview-loading-panel{color:#fff9ef;background:#261b2ee0;border-color:#fff4fb29;border-radius:17px;padding:12px 16px}.preview-loading-text{color:#fff9ef;font-size:.78rem}.preview-loading-spinner{border-color:#ff8d70 #fff9ef3d #fff9ef3d}:root[data-theme=light] .preview-loading{background:#5840601a}:root[data-theme=light] .preview-loading-panel{color:#35283d;background:#fffdf8eb;border-color:#4d335a29}:root[data-theme=light] .preview-loading-text{color:#35283d}:root[data-theme=light] .playful-stage:before{background:radial-gradient(circle,#53376021 1px,#0000 1.5px) 0 0/30px 30px}.preview-title-card,.happy-metrics>div,.friendly-export{background:#1e15259e;border-color:#fff3fb26;box-shadow:0 12px 34px #09040d1f}:root[data-theme=light] .preview-title-card,:root[data-theme=light] .happy-metrics>div,:root[data-theme=light] .friendly-export,:root[data-theme=light] .holding-bubble,:root[data-theme=light] .surface-toast{color:#35283d;background:#fffdf8c7;border-color:#4d335a29}.preview-spark{background:linear-gradient(145deg,#ffd36e,#ff876a)}.preview-title-card strong{font-size:.84rem;font-weight:650}.preview-title-card small,.happy-metrics small,.make-it-button small{font-size:.65rem}.happy-metrics strong,.make-it-button strong{font-size:.78rem}.tiny-format-switch button{min-width:46px;height:30px;font-size:.62rem}.tiny-format-switch button.is-active{background:color-mix(in srgb, var(--joy-lavender) 17%, transparent);color:#efe8ff}:root[data-theme=light] .tiny-format-switch button.is-active{color:#5e3ca9}.make-it-button{background:linear-gradient(135deg,#ff9577,#f36e53);border-radius:14px;min-height:54px}.holding-bubble{pointer-events:auto;gap:10px;padding-right:8px}.holding-bubble small{max-width:220px;font-size:.66rem;line-height:1.3}.holding-cancel{width:34px;height:34px;color:inherit;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:11px;place-items:center;padding:0;display:grid}.cursor-follow-pattern{border-color:color-mix(in srgb, var(--joy-yellow) 66%, transparent);background:#23192ae6}.surface-toast{font-size:.72rem}.holding-cancel{width:38px;height:38px}.app-error{font-family:var(--font-ui);background:radial-gradient(circle at 28% 22%,#c7b5ff33,#0000 30%),radial-gradient(circle at 72% 70%,#ff8d702b,#0000 32%),#211829}.app-error strong{font-family:var(--font-display);font-size:1.55rem}.app-error button{color:#342029;background:linear-gradient(135deg,#ff987b,#ff765b);border:0;border-radius:15px;min-width:168px;min-height:46px}@keyframes ui-rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=1120px){.playful-studio{grid-template-columns:minmax(380px,420px) minmax(0,1fr)}}@media (width<=920px){html,body,#root{height:100%;overflow:hidden}.playful-studio{grid-template-rows:clamp(290px,42dvh,420px) minmax(0,1fr);grid-template-columns:1fr;width:100%;height:100dvh;min-height:0;overflow:hidden}.playful-stage{grid-row:1;min-height:0}.playful-panel{border-top:1px solid var(--joy-line);border-right:0;grid-row:2;min-height:0;overflow:hidden}.playful-scroll-area{min-height:0;overflow-y:auto}.silhouette-editor-shell .profile-editor{min-height:310px}}@media (width<=620px){.playful-studio{grid-template-rows:clamp(260px,39dvh,350px) minmax(0,1fr)}.region-selection-guide{border-radius:17px;gap:10px;padding:11px 12px}.region-selection-guide>svg,.region-selection-guide>[aria-hidden=true]:first-child{border-radius:13px;width:38px;height:38px;padding:9px}.region-picker-row{scroll-snap-type:x proximity;scrollbar-width:thin;flex-wrap:nowrap;padding:2px 2px 6px;scroll-padding-inline:2px;overflow-x:auto}.region-picker-button{scroll-snap-align:start;flex:none;min-width:92px}.region-click-hint{max-width:calc(100% - 24px);min-height:38px;padding:7px 11px;font-size:.67rem;top:70px}.pattern-edge-controls{padding:11px}.pattern-edge-option{min-height:50px;padding:8px}.playful-brand-row{min-height:66px}.playful-logo-mark{flex-basis:39px;width:39px;height:39px}.playful-logo small{display:none}.friendly-intro h2{font-size:1.75rem}.outline-row,.pattern-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.silhouette-editor-shell .profile-editor{min-height:285px}.happy-metrics{gap:4px;bottom:10px;right:12px}.happy-metrics>div,.happy-metrics>div:not(.ready-pill){min-width:0;padding:6px 8px;display:flex}.happy-metrics>div>span:first-child,.happy-metrics small{display:none}.happy-metrics strong{font-size:.64rem}.friendly-export{bottom:52px;right:12px}.print-safety-notice.is-compact{max-width:190px}.print-safety-notice.is-compact small{display:none}.make-it-button{min-height:46px}.shared-boundary-heading{align-items:start}}.preview-tools-dock{z-index:5;justify-items:end;gap:9px;max-width:min(560px,100% - 44px);display:grid;position:absolute;top:22px;right:22px}.preview-action-tools{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e15259e;border:1px solid #fff3fb26;border-radius:15px;flex-wrap:wrap;justify-content:flex-end;gap:5px;padding:5px;display:flex;box-shadow:0 12px 34px #09040d1f}.preview-action-tools button{color:#cfc3d2;cursor:pointer;min-height:38px;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.63rem;font-weight:780;display:inline-flex}.preview-action-tools button:hover,.preview-action-tools button.is-active{color:#fff9ef;background:#c7b5ff26;transform:translateY(-1px)}.preview-action-tools button.is-active{box-shadow:inset 0 0 0 1px #c7b5ff33}:root[data-theme=light] .preview-action-tools{color:#35283d;background:#fffdf8d1;border-color:#4d335a29}:root[data-theme=light] .preview-action-tools button{color:#746879}:root[data-theme=light] .preview-action-tools button:hover,:root[data-theme=light] .preview-action-tools button.is-active{color:#5e3ca9;background:#6747b21a}@media (width<=920px){.preview-tools-dock{max-width:calc(100% - 24px);top:12px;right:12px}.preview-action-tools{max-width:330px}}@media (width<=420px){.friendly-step small,.preview-title-card small,.make-it-button small{display:none}.friendly-step{min-height:48px}.preview-action-tools{grid-template-columns:repeat(2,minmax(0,1fr));width:min(290px,100vw - 24px);display:grid}.preview-action-tools button{min-width:0;padding-inline:8px}.friendly-steps{margin-bottom:9px}.happy-metrics>div:not(.ready-pill){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.friendly-export{grid-template-columns:auto minmax(0,1fr);display:grid;left:12px;right:12px}.print-safety-notice.is-compact{grid-column:1/-1;max-width:none}.make-it-button{justify-content:center}.playful-export-status{bottom:168px}.held-pattern-buttons{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.playful-studio *,.playful-studio :before,.playful-studio :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.playful-studio button:hover,.playful-studio button:active{transform:none!important}}.studio-header-actions{align-items:center;gap:8px;display:flex}.studio-library-button{border:1px solid color-mix(in srgb, var(--joy-lavender) 34%, var(--joy-line));background:color-mix(in srgb, var(--joy-lavender) 10%, var(--joy-card));min-height:42px;color:var(--joy-ink);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.72rem;font-weight:850;display:inline-flex;position:relative}.studio-library-button:hover{border-color:color-mix(in srgb, var(--joy-lavender) 70%, var(--joy-line));background:color-mix(in srgb, var(--joy-lavender) 16%, var(--joy-card));transform:translateY(-1px)}.design-library-backdrop{z-index:200;-webkit-backdrop-filter:blur(16px)saturate(.8);backdrop-filter:blur(16px)saturate(.8);background:#0e0912b8;place-items:center;padding:clamp(16px,4vw,48px);animation:.16s ease-out both library-backdrop-in;display:grid;position:fixed;inset:0}.design-library-dialog{border:1px solid color-mix(in srgb, var(--joy-lavender) 34%, var(--joy-line));background:radial-gradient(circle at 0 0, color-mix(in srgb, var(--joy-lavender) 13%, transparent), transparent 34%), var(--joy-panel);width:min(1040px,100%);max-height:min(850px,100dvh - 32px);color:var(--joy-ink);animation:library-dialog-in .2s var(--ease-ui) both;border-radius:28px;grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;overflow:hidden;box-shadow:0 32px 100px #07040a7a}.design-library-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 28px 18px;display:flex}.design-library-header>div{gap:4px;display:grid}.design-library-eyebrow{color:var(--joy-lavender);letter-spacing:.12em;text-transform:uppercase;font-size:.67rem;font-weight:900}.design-library-header h2,.design-library-section-heading h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0}.design-library-header h2{font-size:clamp(1.55rem,3vw,2.15rem)}.design-library-header p,.design-library-section-heading p,.library-design-copy p{color:var(--joy-muted);margin:0;line-height:1.45}.design-library-header p{font-size:.8rem}.design-library-close{border:1px solid var(--joy-line);background:var(--joy-card);width:42px;height:42px;color:var(--joy-ink);cursor:pointer;border-radius:14px;flex:0 0 42px;place-items:center;display:grid}.design-library-close:hover{border-color:color-mix(in srgb, var(--joy-peach) 55%, var(--joy-line));color:var(--joy-peach)}.design-profile-export{flex-shrink:0;display:flex}.design-profile-export>button{border:1px solid var(--joy-line);background:var(--joy-card);min-height:50px;color:var(--joy-ink);font:inherit;cursor:pointer;border-radius:13px;align-items:center;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:750;display:flex}.design-profile-export>button:hover{border-color:var(--joy-lavender)}.design-profile-export>button:disabled{opacity:.5;cursor:wait}.design-profile-export span{text-align:left;gap:2px;display:grid}.design-profile-export small{color:var(--joy-muted);font-size:.6rem;font-weight:500}.design-profile-export>p{border:1px solid var(--joy-line);background:var(--joy-card);max-width:min(370px,100vw - 40px);color:var(--joy-ink);border-radius:12px;margin:0;padding:12px 14px;font-size:.75rem;line-height:1.5;position:absolute;bottom:calc(100% + 10px);right:0}.design-profile-export>p.is-error{color:var(--joy-danger,#b83c35)}.design-library-tabs{border:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-card) 76%, transparent);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 28px;padding:6px;display:grid}.design-library-tabs button{min-height:52px;color:var(--joy-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;gap:10px;padding:8px 13px;display:flex}.design-library-tabs button>span{gap:1px;display:grid}.design-library-tabs strong{color:inherit;font-size:.78rem}.design-library-tabs small{font-size:.61rem;font-weight:700}.design-library-tabs button.is-active{border-color:color-mix(in srgb, var(--joy-lavender) 35%, var(--joy-line));background:var(--joy-card-strong);color:var(--joy-ink);box-shadow:0 8px 24px #08040b24}.design-library-tabs button.is-active svg{color:var(--joy-lavender)}.design-library-content{overscroll-behavior:contain;scrollbar-color:color-mix(in srgb, var(--joy-lavender) 42%, transparent) transparent;min-height:0;padding:24px 28px 28px;overflow-y:auto}.design-library-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px;display:flex}.design-library-section-heading h3{font-size:1.02rem}.design-library-section-heading p{margin-top:3px;font-size:.7rem}.design-library-section-heading>span{background:color-mix(in srgb, var(--joy-mint) 13%, var(--joy-card));color:var(--joy-mint);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.64rem;font-weight:850}.design-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.library-design-card{border:1px solid color-mix(in srgb, var(--joy-lavender) 24%, var(--joy-line));background:color-mix(in srgb, var(--joy-card-strong) 76%, transparent);border-radius:20px;grid-template-rows:minmax(66px,auto) auto;grid-template-columns:154px minmax(0,1fr);gap:12px 14px;min-width:0;padding:12px;display:grid;box-shadow:0 10px 34px #0a050e14}.library-design-card:hover{border-color:color-mix(in srgb, var(--joy-lavender) 45%, var(--joy-line))}.design-card-preview,.library-empty-preview{border:1px solid color-mix(in srgb, var(--joy-lavender) 22%, var(--joy-line));background:radial-gradient(circle at 50% 76%,#9fe0c32e,#0000 48%),linear-gradient(145deg,#21182b,#19131f);border-radius:15px;grid-row:1/3;place-items:center;width:154px;height:116px;display:grid;position:relative;overflow:hidden}.design-card-preview{background:#eeece7}.design-card-preview img{object-fit:contain;width:100%;height:100%;display:block}.design-card-preview-placeholder{color:#75746c;text-align:center;justify-items:center;gap:8px;padding:8px;display:grid}.design-card-preview-placeholder small{font-size:.62rem}.library-backup-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:-5px 0 20px;display:flex}.library-backup-actions button,.library-storage-error button{border:1px solid var(--joy-line);background:var(--joy-card);min-height:36px;color:var(--joy-ink);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:.72rem;display:inline-flex}.library-backup-actions button:disabled{opacity:.5;cursor:default}.library-backup-actions small{color:var(--joy-muted);flex-basis:100%;font-size:.67rem}.library-storage-error{border:1px solid #bc7766;border-radius:12px;align-items:center;gap:12px;margin-bottom:18px;padding:14px;font-size:.8rem;display:flex}.library-storage-error svg{flex-shrink:0}.library-unavailable-label{color:var(--joy-muted);font-size:.65rem}.library-empty-preview{background:color-mix(in srgb, var(--joy-card) 76%, transparent);color:color-mix(in srgb, var(--joy-muted) 74%, transparent);border-style:dashed}.library-design-copy{align-content:center;gap:4px;min-width:0;display:grid}.library-design-copy strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.library-design-copy p{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.65rem;font-weight:650;display:-webkit-box;overflow:hidden}.library-card-actions{align-items:center;gap:6px;min-width:0;display:flex}.library-primary-action,.library-card-actions>button{border:1px solid var(--joy-line);background:var(--joy-card);min-height:34px;color:var(--joy-ink);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.65rem;font-weight:850;display:inline-flex}.library-design-card>.library-primary-action{justify-self:start}.library-primary-action,.library-card-actions>.library-primary-action{border-color:color-mix(in srgb, var(--joy-mint) 44%, var(--joy-line));background:color-mix(in srgb, var(--joy-mint) 14%, var(--joy-card))}.library-primary-action:hover:not(:disabled),.library-card-actions>button:hover:not(:disabled){border-color:color-mix(in srgb, var(--joy-lavender) 60%, var(--joy-line));transform:translateY(-1px)}.library-card-actions .library-icon-action{flex:0 0 34px;width:34px;padding:7px}.library-card-actions .library-icon-action.is-danger:hover:not(:disabled){border-color:color-mix(in srgb, #ff7468 55%, var(--joy-line));color:#ff8c83}.library-primary-action:disabled,.library-card-actions>button:disabled{cursor:wait;opacity:.48}.design-library-status{border-top:1px solid var(--joy-line);background:color-mix(in srgb, var(--joy-mint) 10%, var(--joy-card));color:var(--joy-ink);margin:0;padding:10px 28px;font-size:.7rem;font-weight:750}.design-library-status.is-error{background:color-mix(in srgb, #ff7468 12%, var(--joy-card));color:#ff9a91}@keyframes library-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes library-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=780px){.design-library-backdrop{padding:0}.design-library-dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.design-library-header{padding:20px 18px 14px}.design-library-tabs{margin:0 18px}.design-library-content{padding:20px 18px}.design-library-grid{grid-template-columns:1fr}}@media (width<=920px){.friendly-export{grid-template-columns:auto minmax(0,1fr) auto}}@media (width<=480px){.design-profile-export>button{flex-direction:column;gap:2px;min-height:46px;padding:5px 7px;font-size:.6rem}.design-profile-export small{display:none}.studio-library-button span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.studio-library-button{width:42px;padding:0}.design-library-header p{display:none}.library-design-card{grid-template-columns:112px minmax(0,1fr);gap:10px}.design-card-preview,.library-empty-preview{width:112px;height:94px}.library-card-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.design-library-backdrop,.design-library-dialog{animation:none}}.material-color-picker{justify-content:space-between;align-items:center;gap:12px;display:flex}.material-color-picker>span{color:var(--muted-text,#667069);font-size:.76rem;font-weight:700}.material-color-picker>div{gap:7px;display:flex}.material-color-picker button{background:var(--material-choice-color);cursor:pointer;border:2px solid #ffffffc7;border-radius:50%;width:25px;height:25px;padding:0;transition:transform .14s,box-shadow .14s;box-shadow:0 0 0 1px #171f1b2e}.material-color-picker button:hover{transform:translateY(-1px)scale(1.06)}.material-color-picker button.is-active{box-shadow:0 0 0 2px var(--accent,#b96447), 0 3px 9px #0003}.material-color-picker.is-compact button{width:22px;height:22px}.pattern-size-readout{overflow-wrap:anywhere;gap:4px;margin-top:8px;font-size:12px;line-height:1.45;display:grid}.pattern-size-readout small{opacity:.8;font-size:11px}.library-protected{color:var(--joy-muted);align-items:center;gap:6px;padding:8px;font-size:.72rem;display:inline-flex}:root{--font-display:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--fc-ink:#1b2521;--fc-muted:#68736d;--fc-panel:#f4f1e9;--fc-card:#fbf9f4;--fc-card-strong:#fff;--fc-line:#1e2a2521;--fc-line-strong:#1e2a2538;--fc-sage:#637e70;--fc-sage-strong:#3f6755;--fc-copper:#a66543;--fc-copper-strong:#874b30;--fc-graphite:#18211d;--fc-shadow:#19221e21;--joy-ink:var(--fc-ink);--joy-muted:var(--fc-muted);--joy-panel:var(--fc-panel);--joy-card:var(--fc-card);--joy-card-strong:var(--fc-card-strong);--joy-line:var(--fc-line);--joy-mint:var(--fc-sage);--joy-mint-strong:var(--fc-sage-strong);--joy-peach:var(--fc-copper);--joy-lavender:var(--fc-sage);--joy-lavender-strong:var(--fc-sage-strong);--joy-yellow:#d6b56f}:root[data-theme=dark]{--fc-ink:#f0eee7;--fc-muted:#a5aea8;--fc-panel:#18211d;--fc-card:#202b26;--fc-card-strong:#26332d;--fc-line:#edebe21f;--fc-line-strong:#edebe238;--fc-sage:#8ca799;--fc-sage-strong:#b4c9be;--fc-copper:#d18c66;--fc-copper-strong:#eda77e;--fc-graphite:#101714;--fc-shadow:#00000057}.playful-studio{--joy-panel:var(--fc-panel);--joy-card:var(--fc-card);--joy-card-strong:var(--fc-card-strong);--joy-ink:var(--fc-ink);--joy-muted:var(--fc-muted);--joy-line:var(--fc-line);--joy-mint:var(--fc-sage);--joy-mint-strong:var(--fc-sage-strong);--joy-green:var(--fc-sage);--joy-peach:var(--fc-copper);--joy-coral:var(--fc-copper);--joy-lavender:var(--fc-sage);--joy-lavender-strong:var(--fc-sage-strong);--joy-purple:var(--fc-sage);--joy-yellow:#d6b56f;background:var(--fc-panel);color:var(--fc-ink);font-family:var(--font-body);grid-template-columns:minmax(356px,392px) minmax(0,1fr)}.playful-studio button,.playful-studio input,.playful-studio select,.playful-studio textarea{font-family:var(--font-body)}.playful-panel{border-right:1px solid var(--fc-line);background:linear-gradient(180deg, color-mix(in srgb, var(--fc-card) 84%, transparent), transparent 180px), var(--fc-panel);box-shadow:12px 0 42px #161f1b0f}.playful-brand-row{border-bottom:0;min-height:62px;padding:9px 14px 7px}.playful-logo{gap:10px}.playful-logo-mark{filter:none;border-radius:12px;flex-basis:40px;width:40px;height:40px}.playful-logo-mark img{width:100%;height:100%;display:block}.playful-logo strong{color:var(--fc-ink);font-family:var(--font-display);letter-spacing:-.035em;font-size:1.08rem;font-weight:750}.playful-logo small{color:var(--fc-muted);letter-spacing:.095em;text-transform:uppercase;font-size:.58rem;font-weight:650}.studio-header-actions{gap:6px}.studio-library-button,.soft-icon-button{border:1px solid var(--fc-line);background:color-mix(in srgb, var(--fc-card) 86%, transparent);min-height:36px;box-shadow:none;color:var(--fc-muted);border-radius:10px}.studio-library-button{gap:6px;padding:0 10px;font-size:.68rem;font-weight:650}.soft-icon-button{flex-basis:36px;width:36px;height:36px}.studio-library-button:hover,.soft-icon-button:hover{border-color:var(--fc-line-strong);background:var(--fc-card-strong);color:var(--fc-ink)}.friendly-steps{border:1px solid var(--fc-line);background:var(--fc-panel);border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;margin:4px 14px 12px;padding:3px;display:grid}.friendly-step{min-height:38px;color:var(--fc-muted);text-align:center;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 12px;font-size:.84rem;font-weight:650;display:block}.friendly-step.is-active{border-color:var(--fc-line);background:var(--fc-card-strong);color:var(--fc-ink);box-shadow:0 1px 3px var(--fc-shadow)}.friendly-step:hover{color:var(--fc-ink);transform:none}.friendly-step:focus-visible{outline:2px solid var(--fc-sage);outline-offset:1px}.playful-scroll-area{padding:1px 14px calc(18px + env(safe-area-inset-bottom));scrollbar-color:color-mix(in srgb, var(--fc-sage) 35%, transparent) transparent}.friendly-flow,.surface-flow{gap:10px}.friendly-flow>*{animation-name:formcraft-rise}.friendly-intro{padding:7px 3px 2px}.friendly-kicker{color:var(--fc-copper);letter-spacing:.12em;margin-bottom:3px;font-size:.6rem;font-weight:700}.friendly-intro h2{max-width:350px;font-family:var(--font-display);letter-spacing:-.035em;font-size:1.42rem;font-weight:720;line-height:1.08}.friendly-intro p{max-width:350px;color:var(--fc-muted);margin-top:4px;font-size:.72rem;font-weight:500;line-height:1.38}.friendly-card,:root[data-theme=light] .friendly-card{border:1px solid var(--fc-line);background:var(--fc-card);border-radius:14px;gap:10px;padding:12px;box-shadow:0 5px 18px #18221d0b}.friendly-card-heading.no-number>div{gap:2px}.friendly-card-tag{background:color-mix(in srgb, var(--fc-copper) 10%, transparent);color:var(--fc-copper);letter-spacing:.1em;border-radius:5px;margin-bottom:1px;padding:2px 6px;font-size:.54rem;font-weight:700}.friendly-card-heading h3{color:var(--fc-ink);font-family:var(--font-display);font-size:.84rem;font-weight:700}.friendly-card-heading p{max-width:340px;color:var(--fc-muted);font-size:.64rem;font-weight:500;line-height:1.35}.silhouette-card.is-hero,:root[data-theme=light] .silhouette-card.is-hero,.top-edge-card{border-color:var(--fc-line);background:var(--fc-card);box-shadow:0 6px 20px #18221d0d}.silhouette-editor-shell,:root[data-theme=light] .silhouette-editor-shell{border-color:var(--fc-line);background:color-mix(in srgb, var(--fc-sage) 5%, var(--fc-card-strong));border-radius:11px;padding:7px}.silhouette-editor-shell .profile-editor{min-height:270px}.top-edge-editor-shell .profile-editor{min-height:0}.profile-curve{stroke:var(--fc-sage-strong)}.profile-handle{fill:var(--fc-card-strong);stroke:var(--fc-graphite)}.profile-handle.is-active,.profile-editor g[role=slider]:focus-visible .profile-handle{fill:#d4b170;stroke:var(--fc-copper-strong)}.profile-tangent-guide{stroke:var(--fc-copper-strong);stroke-width:3px;stroke-linecap:round;stroke-dasharray:5 4}.profile-point-controls{border:1px solid var(--fc-line);background:color-mix(in srgb, var(--fc-sage) 5%, var(--fc-card-strong));border-radius:9px;gap:7px;padding:8px;display:grid}.profile-point-controls-heading,.profile-point-angle{align-items:center;gap:8px;display:flex}.profile-point-controls-heading{color:var(--fc-graphite);justify-content:space-between;font-size:.68rem;font-weight:800}.profile-point-controls-heading small,.profile-point-controls-empty,.profile-point-angle span{color:var(--muted);font-size:.62rem;font-weight:700}.profile-point-mode{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.profile-point-mode button{border:1px solid var(--fc-line);background:var(--fc-card);min-height:30px;color:var(--text);cursor:pointer;border-radius:7px;padding:0 7px;font-size:.63rem;font-weight:800}.profile-point-mode button.is-active{border-color:var(--fc-copper-strong);background:color-mix(in srgb, var(--fc-copper) 18%, var(--fc-card))}.profile-point-mode button:disabled{cursor:not-allowed;opacity:.35}.profile-point-angle input{flex:1;min-width:0}.profile-point-angle output{min-width:34px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;font-size:.65rem;font-weight:800}.profile-zone-toolbar button,.silhouette-presets button{border-radius:8px;min-height:32px;font-size:.63rem}.silhouette-presets{gap:6px}.silhouette-presets>small{font-size:.58rem}.silhouette-presets button:hover,.silhouette-presets button.is-active{border-color:var(--fc-sage);background:color-mix(in srgb, var(--fc-sage) 9%, transparent);color:var(--fc-ink)}.outline-row{gap:6px}.outline-choice{border-radius:10px;min-height:56px}.outline-choice small{font-size:.61rem}.start-proportions{border-top:1px solid var(--fc-line);gap:9px;margin-top:4px;padding-top:12px;display:grid}.outline-choice:hover,.outline-choice.is-active{border-color:var(--fc-copper);background:color-mix(in srgb, var(--fc-copper) 8%, transparent);color:var(--fc-copper-strong)}.size-sliders{gap:13px;padding:2px 1px}.playful-panel .range-label{font-size:.72rem;font-weight:650}.playful-panel .range-control output{font-size:.7rem}.playful-panel input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--fc-sage) 22%, var(--fc-line));height:4px}.playful-panel input[type=range]::-webkit-slider-thumb{border:3px solid var(--fc-card-strong);background:var(--fc-copper);width:18px;height:18px;margin-top:-7px;box-shadow:0 2px 7px #202a2533}.playful-panel input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--fc-sage) 22%, var(--fc-line));height:4px}.playful-panel input[type=range]::-moz-range-thumb{border-color:var(--fc-card-strong);background:var(--fc-copper);width:14px;height:14px}.friendly-details{border-radius:12px}.friendly-details>summary{min-height:46px;padding:8px 11px}.friendly-details>summary span{font-size:.72rem}.friendly-details>summary small{font-size:.57rem}.generated-support-toggle{border-radius:11px}.generated-support-toggle,.generated-support-toggle.is-checked{border-color:var(--fc-line);background:color-mix(in srgb, var(--fc-sage) 5%, var(--fc-card-strong))}.generated-support-toggle:hover,.generated-support-toggle.is-checked:hover{border-color:color-mix(in srgb, var(--fc-sage) 55%, var(--fc-line));background:color-mix(in srgb, var(--fc-sage) 9%, var(--fc-card-strong))}.surface-artwork-card.is-enabled,.surface-artwork-card.is-selected{border-color:color-mix(in srgb, var(--fc-sage) 52%, var(--fc-line));box-shadow:0 6px 20px #18221d12}.make-it-button{border-color:color-mix(in srgb, var(--fc-copper) 72%, #fff);color:#fffaf4;background:linear-gradient(135deg,#ad6b49,#8f5035);box-shadow:0 12px 28px #66372440}.make-it-button:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#b97854,#9a5a3d)}.surface-scope-switch{gap:6px}.surface-scope-switch button{border-radius:10px;min-height:50px;padding:8px 9px}.surface-scope-switch strong{font-size:.69rem}.surface-scope-switch small{font-size:.58rem}.surface-scope-switch button:hover,.surface-scope-switch button.is-active{border-color:var(--fc-sage);background:color-mix(in srgb, var(--fc-sage) 9%, transparent);color:var(--fc-sage-strong)}.region-selection-guide{border-radius:11px;gap:8px;padding:9px 10px}.region-selection-guide strong{font-size:.7rem}.region-selection-guide small{font-size:.59rem}.region-picker-button{border-radius:9px;min-height:38px}.surface-flow .pattern-card,.surface-flow .surface-tuning-card,.surface-flow .pattern-edge-controls{gap:8px;padding:11px}.surface-flow .pattern-card .friendly-card-heading p{font-size:.6rem}.surface-flow .pattern-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:min(40dvh,360px);padding:1px 4px 5px 1px}.surface-flow .pattern-tile{border-radius:9px;gap:4px;padding:4px}.surface-flow .pattern-preview{border-radius:6px}.surface-flow .pattern-copy strong{font-size:.61rem}.surface-flow .pattern-edge-list{gap:5px}.surface-flow .pattern-edge-option{min-height:36px;padding:5px 6px}.surface-advanced-controls{border-color:var(--fc-line);background:color-mix(in srgb, var(--fc-sage) 4%, var(--fc-card));border-radius:10px}.surface-advanced-controls summary{padding:8px 9px;font-size:.64rem}.surface-advanced-controls summary:after{color:var(--fc-sage)}.playful-stage,:root[data-theme=light] .playful-stage{background:radial-gradient(circle at 50% 42%,#b18d6a24,#0000 27%),radial-gradient(circle at 82% 10%,#627f701f,#0000 32%),linear-gradient(145deg,#ede9df 0%,#e7e3da 52%,#dde2dc 100%)}:root[data-theme=dark] .playful-stage{background:radial-gradient(circle at 50% 42%,#b77d581a,#0000 27%),radial-gradient(circle at 82% 10%,#7494831a,#0000 32%),linear-gradient(145deg,#141c18 0%,#101713 58%,#151b18 100%)}.playful-stage:before{background:radial-gradient(circle,#4c5b5321 1px,#0000 1.25px) 0 0/32px 32px}.preview-title-card{border-color:var(--fc-line);background:color-mix(in srgb, var(--fc-card) 82%, transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:11px;box-shadow:0 8px 24px #141d1914}.preview-title-card strong{font-family:var(--font-display)}.preview-triangle-spend{border-color:var(--fc-line);background:color-mix(in srgb, var(--fc-card) 86%, transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:11px;width:min(270px,100% - 44px);top:84px;left:22px;right:auto;box-shadow:0 8px 24px #141d1917}.preview-triangle-spend:not([open]){width:max-content;min-width:178px;max-width:calc(100% - 44px)}@media (width<=920px){.preview-triangle-spend{width:min(270px,100% - 24px);top:72px;left:12px}.preview-triangle-spend:not([open]){max-width:calc(100% - 24px)}}.studio-processing-screen{background:radial-gradient(circle at 50% 42%,#a9674521,#0000 28%),#0f1613f2}.studio-processing-card{color:#f2efe7;background:#1b2621f0;border-color:#f0ede421;border-radius:20px}.studio-processing-screen.is-preview-update{z-index:35;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;cursor:default;background:0 0;width:min(245px,100% - 44px);padding:0;display:block;inset:130px 22px auto auto}.is-preview-update .studio-processing-card{text-align:left;border-color:var(--fc-line);width:auto;color:var(--fc-ink);background:var(--fc-card);box-shadow:0 8px 24px var(--fc-shadow);border-radius:12px;align-items:center;gap:9px;padding:12px 15px;display:flex}.is-preview-update .studio-processing-card:before{content:"";background:var(--fc-copper);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.is-preview-update .studio-processing-card>span,.is-preview-update .studio-processing-card small{display:none}.is-preview-update .studio-processing-card strong{font-size:.77rem;line-height:1.4}.studio-processing-context{color:#d89a74}.region-quick-settings{z-index:42;border:1px solid var(--fc-line-strong);background:var(--fc-card);width:378px;max-width:calc(100% - 44px);max-height:calc(100% - 100px);color:var(--fc-ink);box-shadow:0 20px 60px var(--fc-shadow);pointer-events:auto;border-radius:18px;flex-direction:column;padding:0;animation:.16s both region-editor-arrive;display:flex;position:absolute;top:76px;left:30px;overflow:hidden}.region-quick-settings:focus{outline:none}.region-quick-settings-header{flex-shrink:0;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:15px;display:grid}.region-quick-settings-index{background:var(--fc-panel);width:36px;height:36px;color:var(--fc-sage-strong);border-radius:11px;place-items:center;font-weight:800;display:grid}.region-quick-settings-header>span:nth-child(2){gap:3px;min-width:0;display:grid}.region-quick-settings-header strong{font-family:var(--font-display);font-size:.95rem}.region-quick-settings-header small{text-overflow:ellipsis;white-space:nowrap;color:var(--fc-muted);font-size:.75rem;overflow:hidden}.region-quick-settings-header button,.region-editor-navigation button{border:1px solid var(--fc-line);background:var(--fc-card);width:36px;height:36px;color:var(--fc-ink);cursor:pointer;border-radius:10px;place-items:center;display:grid}.region-editor-tabs{background:var(--fc-panel);border-radius:12px;flex-shrink:0;gap:4px;margin:0 15px 12px;padding:4px;display:flex}.region-editor-tabs button{min-height:36px;color:var(--fc-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:.8rem;font-weight:700}.region-editor-tabs button.is-active{background:var(--fc-card-strong);color:var(--fc-ink);box-shadow:0 1px 4px var(--fc-shadow)}.region-editor-body{overscroll-behavior:contain;min-height:0;padding:0 15px 16px;overflow-y:auto}.region-editor-body p{color:var(--fc-muted);margin:0 0 12px;font-size:.76rem;line-height:1.5}.region-editor-adjust{gap:14px;display:grid}.region-editor-adjust>.material-color-picker{margin:0;padding:10px 0}.material-color-picker>span{color:var(--fc-muted)}.region-editor-body .range-control{border:1px solid var(--fc-line);background:var(--fc-panel);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;display:grid}.region-editor-body .range-label{color:var(--fc-ink);font-size:.78rem}.region-editor-body .range-value{color:var(--fc-copper-strong);font-size:.78rem}.region-editor-body input[type=range]{width:100%;min-height:28px;accent-color:var(--fc-copper);grid-column:1/-1;margin:0}.region-size-readout{margin-top:-9px}.region-editor-body .pattern-size-readout{color:var(--fc-muted);margin:0}.region-editor-body .layered-step-controls{grid-template-columns:1fr}.region-editor-body .surface-axis-title strong{color:var(--fc-ink);white-space:normal;font-size:.78rem}.region-editor-body .surface-axis-title small{color:var(--fc-muted)}.region-editor-disclosure{border-top:1px solid var(--fc-line);padding-top:12px}.region-editor-disclosure>summary{cursor:pointer;padding:6px 0;font-size:.82rem;font-weight:700}.region-editor-disclosure[open]>summary{margin-bottom:10px}.region-editor-section h4{margin:0 0 9px;font-size:.8rem}.region-editor-body .pattern-placement-controls{background:0 0;border:0;padding:12px 0 0}.region-editor-body .pattern-placement-grid{grid-template-columns:1fr}.region-choice-options{gap:8px;display:flex}.region-choice-options button{text-align:left;border:1px solid var(--fc-line);background:var(--fc-card);color:var(--fc-ink);cursor:pointer;border-radius:10px;flex:1;gap:5px;padding:12px 9px;font-size:.77rem;display:grid}.region-choice-options button[aria-pressed=true]{border-color:var(--fc-sage);background:var(--fc-panel);box-shadow:inset 0 0 0 1px var(--fc-sage)}.region-choice-options small{color:var(--fc-muted);font-size:.69rem;line-height:1.4}.region-editor-footer{border-top:1px solid var(--fc-line);background:var(--fc-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;display:flex}.region-editor-footer small{color:var(--fc-muted);font-size:.66rem;line-height:1.4}.region-editor-navigation{gap:5px;display:flex}.region-editor-navigation button:disabled{opacity:.3;cursor:default}.region-editor-done{color:var(--fc-card);background:var(--fc-sage-strong);cursor:pointer;border:0;border-radius:10px;padding:10px 16px;font-weight:750}.region-quick-settings button:focus-visible,.region-overview button:focus-visible{outline:2px solid var(--fc-copper);outline-offset:2px}.region-overview-list{gap:8px;display:grid}.region-overview-item{border:1px solid var(--fc-line);text-align:left;background:var(--fc-card);width:100%;color:var(--fc-ink);cursor:pointer;border-radius:13px;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:10px;display:grid}.region-overview-item:hover,.region-overview-item.is-selected{border-color:var(--fc-sage);background:var(--fc-panel)}.region-overview-item>span:nth-child(2){gap:5px;display:grid}.region-overview-item strong{font-size:.83rem}.region-overview-item small{color:var(--fc-muted);font-size:.74rem}.region-counter-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.region-triangle-count{color:var(--fc-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.68rem;font-weight:500}.region-overview-swatch{background:var(--fc-panel);border:1px solid var(--fc-line);border-radius:9px;width:48px;height:48px;overflow:hidden}.region-overview-swatch img{object-fit:cover;width:100%;height:100%}.region-shape-link{color:var(--fc-sage-strong);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin-top:13px;padding:5px 0;font-size:.75rem;display:flex}.pattern-search{border:1px solid var(--fc-line);background:var(--fc-card-strong);color:var(--fc-muted);border-radius:11px;align-items:center;gap:8px;padding:8px 11px;display:flex}.pattern-search input{width:100%;min-width:0;height:25px;color:var(--fc-ink);font:inherit;outline-offset:3px;background:0 0;border:0;padding:0;font-size:.8rem}.pattern-search input::-webkit-search-cancel-button{display:none}.pattern-search button{color:var(--fc-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:3px;display:grid}.surface-pattern-picker .pattern-bookmarks{margin:12px 0 8px}.pattern-category-description,.pattern-search-empty{color:var(--fc-muted);margin:8px 0 12px;font-size:.75rem;line-height:1.45}.region-editor-body .pattern-shelf{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;padding:0;overflow:visible}.region-editor-body .pattern-name{white-space:normal;font-size:.7rem;line-height:1.3}.region-editor-body .pattern-tile{min-width:0}.region-editor-body .pattern-preview{height:62px}.object-finish-card .whole-edge-rims{background:0 0;border:0;margin:0;padding:0}.app-error strong{font-family:var(--font-display)}.app-error button{color:#fff;background:linear-gradient(135deg,#647f70,#456451);border-radius:11px}@keyframes formcraft-rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes region-editor-arrive{0%{opacity:0;transform:translate(-5px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=1120px){.playful-studio{grid-template-columns:minmax(340px,370px) minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.region-quick-settings,.friendly-flow>*{animation:none}}.shape-flow .friendly-intro{padding:4px 2px 12px}.shape-flow .friendly-intro h2{letter-spacing:-.025em;font-size:1.25rem}.shape-flow .friendly-intro p{font-size:.76rem;font-weight:400}.playful-studio .shape-flow>.friendly-card,.playful-studio .shape-flow>.friendly-card.is-hero{border:0;border-top:1px solid var(--fc-line);box-shadow:none;background:0 0;border-radius:0;padding:14px 2px}.shape-flow .friendly-card-heading h3{font-size:.83rem;font-weight:650}.shape-flow .friendly-card-heading p{font-size:.72rem;font-weight:400}.shape-flow .outline-choice{box-shadow:none;border-radius:8px}.shape-flow .outline-row{grid-template-columns:repeat(5,minmax(0,1fr))}.shape-flow .outline-choice.is-active{transform:none}.shape-flow .start-proportions{margin-top:14px;padding-top:14px}.shape-flow .start-proportions .rectangle-dimension-controls{border-top:0;margin-top:0;padding-top:0}.shape-flow .range-label,.shape-flow .range-control output{font-size:.78rem}.shape-flow .silhouette-editor-shell{box-shadow:none;border-radius:8px;padding:6px}.shape-extras{border-top:1px solid var(--fc-line)}.shape-extras-heading{width:100%;min-height:62px;color:var(--fc-ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;display:flex}.shape-extras-heading>span{gap:4px;display:grid}.shape-extras-heading strong{font-size:.83rem;font-weight:650}.shape-extras-heading small{color:var(--fc-muted);font-size:.72rem;font-weight:400}.shape-extras-heading>svg{color:var(--fc-muted);transition:transform .12s}.shape-extras.is-expanded>.shape-extras-heading>svg{transform:rotate(180deg)}.shape-extras-heading:focus-visible{outline:2px solid var(--fc-sage);outline-offset:-2px;border-radius:6px}.shape-extras-content{display:none}.shape-extras.is-expanded>.shape-extras-content{display:grid}.playful-studio .shape-extras-content>.friendly-card{border:0;border-top:1px solid var(--fc-line);box-shadow:none;background:0 0;border-radius:0;gap:10px;padding:0}.shape-extras-content .friendly-card>:last-child:not(.generated-support-toggle){margin-bottom:14px}:root[data-theme] .playful-studio .shape-flow .generated-support-toggle,:root[data-theme] .playful-studio .shape-flow .generated-support-toggle.is-checked,:root[data-theme] .playful-studio .shape-flow .generated-support-toggle:hover{min-height:56px;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:14px;margin:0;padding:10px 2px;display:flex;transform:none}.shape-flow .generated-support-toggle strong{font-size:.8rem;font-weight:600}.shape-flow .generated-support-toggle small{margin-top:3px;font-size:.72rem;font-weight:400;line-height:1.4}.shape-flow .generated-support-toggle input[role=switch]{appearance:none;border:1px solid var(--fc-line-strong);background:color-mix(in srgb, var(--fc-muted) 18%, var(--fc-card));cursor:pointer;border-radius:12px;flex:0 0 36px;width:36px;height:21px;min-height:0;padding:0;position:relative}.shape-flow .generated-support-toggle input[role=switch]:before{content:"";background:var(--fc-card-strong);width:13px;height:13px;box-shadow:0 1px 3px var(--fc-shadow);border-radius:50%;transition:transform .12s;position:absolute;top:3px;left:3px}.shape-flow .generated-support-toggle input[role=switch]:checked{background:var(--fc-sage-strong);border-color:var(--fc-sage-strong)}.shape-flow .generated-support-toggle input[role=switch]:checked:before{transform:translate(15px)}.shape-flow .generated-support-toggle input[role=switch]:focus-visible{outline:2px solid var(--fc-copper);outline-offset:3px}.shape-flow .generated-support-toggle:has(input:disabled){opacity:.55;cursor:not-allowed}.shape-flow .generated-support-toggle input:disabled{cursor:not-allowed}.preview-title-card{gap:0}@media (width<=920px){.shape-extras{border:0}.shape-extras-heading{display:none}.shape-extras-content{display:grid}.playful-studio:not([data-mobile-shape-section=extras]) .shape-extras{display:none}:root[data-theme] .playful-studio .shape-extras-content>.friendly-card:first-child{border-top:0}.shape-flow .generated-support-toggle{min-height:62px}.shape-flow .generated-support-toggle strong{font-size:.84rem}}.mobile-studio-navigation,.mobile-studio-sections{display:none}@media (width<=920px){.playful-studio{--mobile-header:calc(52px + env(safe-area-inset-top));--mobile-navigation:calc(64px + env(safe-area-inset-bottom));height:100dvh;min-height:0;padding-top:var(--mobile-header);padding-bottom:var(--mobile-navigation);grid-template-rows:clamp(160px,27dvh,270px) minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}.playful-brand-row{z-index:20;height:var(--mobile-header);min-height:0;padding:env(safe-area-inset-top) 12px 0;background:var(--fc-card);border-bottom:1px solid var(--fc-line);position:fixed;inset:0 0 auto}.playful-logo{gap:8px}.playful-logo-mark{border-radius:8px;flex-basis:28px;width:28px;height:28px}.playful-logo strong{font-size:.96rem}.playful-logo small,.studio-library-button>span{display:none}.studio-header-actions button{background:0 0;border:0;min-width:44px;min-height:44px;padding:10px}.friendly-steps,.friendly-intro,.drag-coach,.preview-title-card,.happy-metrics,.preview-triangle-spend{display:none}.playful-stage{grid-row:1;min-height:0;padding:0;display:block}.playful-stage .preview-canvas{width:100%;height:100%;position:absolute;inset:0}.preview-tools-dock{max-width:none;position:absolute;inset:8px 10px auto auto}.preview-action-tools{width:auto;max-width:none;box-shadow:none;padding:0;display:flex}.preview-action-tools button{min-width:44px;min-height:44px;padding:10px}.preview-action-tools button span,.surface-toast,.region-click-hint,.preview-loading{display:none}.studio-processing-screen.is-preview-update{border-radius:12px;width:auto;max-width:calc(100% - 20px);inset:auto auto 8px 10px;overflow:hidden}.studio-processing-screen.is-preview-update .studio-processing-card{padding:8px 10px}.studio-processing-screen:not(.is-preview-update){inset:var(--mobile-header) 0 var(--mobile-navigation);padding:16px;position:fixed}.studio-processing-screen:not(.is-preview-update) .studio-processing-card{border-radius:18px;width:min(340px,100%);padding:20px}.studio-processing-screen:not(.is-preview-update) .studio-processing-context,.studio-processing-screen:not(.is-preview-update) .studio-processing-orbit{display:none}.playful-stage:has(.studio-processing-screen:not(.is-preview-update)){z-index:25}.playful-panel{border:1px solid var(--fc-line);min-height:0;box-shadow:0 -5px 22px var(--fc-shadow);background:var(--fc-card);border-bottom:0;border-radius:20px 20px 0 0;grid-row:2;overflow:hidden}.mobile-studio-sections{border-bottom:1px solid var(--fc-line);flex-shrink:0;gap:4px;padding:8px 12px;display:flex}.mobile-studio-sections button{min-height:44px;color:var(--fc-muted);background:0 0;border:0;border-radius:10px;flex:1;font-size:.84rem;font-weight:700}.mobile-studio-sections button[aria-pressed=true]{background:var(--fc-panel);color:var(--fc-ink);box-shadow:inset 0 0 0 1px var(--fc-line)}.playful-scroll-area{overscroll-behavior:contain;min-height:0;padding:14px 16px 24px;overflow-y:auto}.friendly-flow{gap:14px}.friendly-flow>*{animation:none}:root[data-theme] .playful-studio .playful-panel .friendly-flow>.friendly-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.friendly-card-heading{margin-bottom:12px}.friendly-card-heading h3{font-size:.94rem}.friendly-card-tag,.friendly-card-heading p,.all-region-heading,.top-shape-card>.friendly-card-heading,.start-proportions>.friendly-card-heading,.pattern-card>.friendly-card-heading,.surface-tuning-card>.friendly-card-heading{display:none}.start-proportions{margin-top:14px;padding-top:14px}.outline-choice{border-radius:12px;min-height:58px;padding:8px}.outline-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.outline-choice small{font-size:.75rem}.size-sliders{gap:12px}.playful-panel .range-label,.playful-panel .range-control output{font-size:.84rem}.playful-panel input[type=range],.region-editor-body input[type=range]{touch-action:pan-y;min-height:36px}.playful-panel input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px}.playful-panel input[type=range]::-moz-range-thumb{width:20px;height:20px}.step-button,.material-color-picker button{min-width:36px;min-height:36px}.material-color-picker>span{font-size:.8rem}.generated-support-toggle{min-height:56px;padding:12px}.generated-support-toggle strong{font-size:.84rem}.generated-support-toggle small{font-size:.74rem;line-height:1.45}:root[data-theme] .playful-studio .silhouette-editor-shell{background:0 0;border:0;padding:0}.silhouette-editor-shell .profile-editor{min-height:0}.silhouette-editor-shell .profile-editor>svg{aspect-ratio:auto;height:clamp(180px,28dvh,260px)}.silhouette-card>.friendly-card-heading{display:none}.silhouette-presets button,.profile-zone-toolbar button{min-height:40px}.profile-zone-toolbar button{padding:0 12px;font-size:.78rem}.playful-studio[data-mobile-shape-section=dimensions] .friendly-flow:not(.surface-flow)>.friendly-card:not(.top-shape-card),.playful-studio[data-mobile-shape-section=profile] .friendly-flow:not(.surface-flow)>.friendly-card:not(.silhouette-card):not(.top-edge-card),.playful-studio[data-mobile-shape-section=extras] .friendly-flow:not(.surface-flow)>:is(.top-shape-card,.silhouette-card,.top-edge-card),.playful-studio[data-mobile-surface-section=pattern] .surface-flow>:is(.surface-tuning-card,.object-finish-card),.playful-studio[data-mobile-surface-section=adjust] .surface-flow>:is(.pattern-card,.region-overview,.object-finish-card),.playful-studio[data-mobile-surface-section=finish] .surface-flow>:is(.pattern-card,.region-overview,.surface-tuning-card){display:none}.surface-scope-switch{gap:6px}.surface-scope-switch button{border-radius:10px;min-height:44px;padding:8px 10px}.surface-scope-switch button small,.surface-scope-switch button>svg{display:none}.surface-scope-switch strong{font-size:.8rem}.surface-pattern-picker .pattern-bookmarks{margin:8px 0}.pattern-bookmarks button{min-height:44px;font-size:.78rem}.pattern-bookmarks{grid-template-columns:repeat(3,minmax(0,1fr))}.pattern-search{padding:4px 10px}.pattern-search input{height:36px;font-size:16px}.pattern-search button{min-width:36px;min-height:36px}.pattern-category-description{font-size:.76rem}.region-editor-pattern .pattern-category-description{display:none}.region-editor-pattern:has(input:not(:placeholder-shown)) .pattern-category-description{margin:4px 0 10px;display:block}.surface-flow .pattern-shelf,.region-editor-body .pattern-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:none;padding:0;overflow:visible}.pattern-tile{border-radius:12px;min-width:0;padding:7px}.pattern-preview,.region-editor-body .pattern-preview{height:90px}.pattern-copy{padding:7px 2px 2px}.pattern-name,.region-editor-body .pattern-name{white-space:normal;font-size:.8rem;line-height:1.35}.pattern-copy small{display:none}.pattern-tile.is-smooth-choice,.surface-flow .pattern-shelf .pattern-tile.is-smooth-choice{grid-column:1/-1;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:flex}.pattern-tile.is-smooth-choice .pattern-preview{border-radius:7px;flex:0 0 24px;width:24px;height:24px}.pattern-tile.is-smooth-choice .pattern-copy{padding:0}.region-overview-list{gap:8px}.region-overview-item{grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;min-height:60px;padding:9px 10px}.region-overview-swatch{width:40px;height:40px}.region-overview-item>span:nth-child(2){align-items:baseline;gap:10px;display:flex}.region-overview-item small{font-size:.78rem}.region-shape-link{min-height:44px;margin-top:6px}.mobile-studio-navigation{z-index:30;height:var(--mobile-navigation);padding:4px 12px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--fc-line);background:var(--fc-card);gap:8px;display:flex;position:fixed;inset:auto 0 0}.mobile-studio-navigation button{min-height:52px;color:var(--fc-muted);background:0 0;border:0;border-radius:12px;flex:1;align-content:center;justify-items:center;gap:4px;padding:5px;font-size:.72rem;font-weight:700;display:grid}.mobile-studio-navigation button[aria-pressed=true]{background:var(--fc-panel);color:var(--fc-sage-strong)}.mobile-studio-navigation button:focus-visible,.mobile-studio-sections button:focus-visible{outline:2px solid var(--fc-copper);outline-offset:-2px}.friendly-export,.playful-export-status{display:none}.playful-studio[data-mobile-preview=true]{grid-template-rows:minmax(0,1fr)}.playful-studio[data-mobile-preview=true] .playful-panel{display:contents}.playful-studio[data-mobile-preview=true] :is(.playful-scroll-area,.mobile-studio-sections){display:none}.playful-studio[data-mobile-preview=true] .playful-stage{flex-direction:column;grid-row:1;display:flex}.playful-studio[data-mobile-preview=true] .playful-stage .preview-canvas{flex:auto;height:auto;min-height:0;position:relative;inset:auto}.playful-studio[data-mobile-preview=true] .friendly-export{border-width:1px 0 0;border-radius:16px 16px 0 0;flex-shrink:0;order:2;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:0;padding:14px 16px 12px;display:grid;position:relative;inset:auto}.friendly-export>.print-safety-notice{grid-column:1/-1;max-width:none}.friendly-export .tiny-format-switch{flex-direction:row;gap:2px;padding:2px;display:flex}.friendly-export .tiny-format-switch button{min-width:52px;min-height:40px;padding:0 10px;font-size:.8rem}.friendly-export .bambu-printer-picker{--picker-height:44px}.friendly-export .make-it-button{grid-column:1/-1;justify-content:center;min-width:0;min-height:52px;padding:8px 16px}.friendly-export .make-it-button strong{font-size:.9rem}.friendly-export .make-it-button small{font-size:.72rem;display:block}.design-profile-export{grid-column:1/-1;justify-content:center}.design-profile-export>button{background:0 0;border:0;flex-direction:row;gap:6px;min-height:36px;padding:4px 8px;font-size:.75rem;font-weight:500}.friendly-export .print-safety-notice{min-height:40px}.friendly-export .print-safety-notice strong{font-size:.8rem}.friendly-export .print-safety-notice small{font-size:.75rem}.design-profile-export>button small{display:none}.playful-studio[data-mobile-preview=true] .playful-export-status{flex-shrink:0;order:1;max-width:none;margin:0 12px 10px;font-size:.75rem;display:block;position:relative}.playful-studio[data-mobile-preview=true] .studio-processing-screen.is-preview-update{top:60px;bottom:auto}.region-quick-settings{z-index:100;top:auto;left:8px;right:8px;bottom:calc(var(--mobile-navigation) + 8px);width:auto;max-width:520px;max-height:calc(100dvh - var(--mobile-header) - var(--mobile-navigation) - 20px);border-radius:18px;margin:0 auto;position:fixed}.playful-stage:has(.region-quick-settings){z-index:25}.region-quick-settings-header{grid-template-columns:32px minmax(0,1fr) 44px;padding:10px 12px}.region-quick-settings-header button,.region-editor-navigation button{width:44px;height:44px}.region-editor-tabs{margin:0 12px 10px;padding:2px}.region-editor-tabs button{min-height:44px;font-size:.84rem}.region-editor-body{padding:0 12px 12px}.region-editor-body .range-control{padding:10px}.region-editor-body .range-label,.region-editor-body .range-value{font-size:.82rem}.region-editor-footer{gap:8px;padding:8px 12px}.region-editor-footer small{max-width:100px;font-size:.68rem}.region-editor-done{min-height:44px}.region-editor-pattern>p{display:none}.region-choice-options button{min-height:44px}}@media (width<=920px) and (height>=541px){.playful-studio[data-mobile-shape-section=profile]:not([data-mobile-preview=true]):has(.shape-flow){grid-template-rows:clamp(200px,40dvh,380px) minmax(0,1fr)}}@media (width<=360px){.region-editor-footer small{display:none}}@media (width<=920px) and (height<=540px){.playful-studio:not([data-mobile-preview=true]){grid-template-rows:minmax(0,1fr);grid-template-columns:34% minmax(0,1fr)}.playful-studio:not([data-mobile-preview=true]) .playful-stage{grid-area:1/1}.playful-studio:not([data-mobile-preview=true]) .playful-panel{border-radius:16px 0 0;grid-area:1/2}.playful-studio[data-mobile-preview=true] .playful-stage{flex-direction:row}.playful-studio[data-mobile-preview=true] .friendly-export{border-width:0 0 0 1px;border-radius:16px 0 0 16px;align-content:center;width:min(380px,46%);overflow-y:auto}.playful-studio[data-mobile-preview=true] .playful-export-status{max-width:48%;margin:0;position:absolute;bottom:10px;left:10px}}:root[data-theme=light],:root[data-theme=dark]{--rf-font:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--rf-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--rf-radius-sm:6px;--rf-radius:8px;--rf-radius-lg:12px;--font-ui:var(--rf-font);--font-body:var(--rf-font);--font-display:var(--rf-font)}:root[data-theme=light]{--rf-canvas:#ecebe7;--rf-panel:#faf9f7;--rf-surface:#fff;--rf-sunken:#f1efeb;--rf-line:#e3e0da;--rf-line-strong:#cdc8bf;--rf-ink:#1c1b19;--rf-ink-2:#47443f;--rf-muted:#7b766e;--rf-accent:#b4532c;--rf-accent-hover:#9c4522;--rf-accent-ink:#fff;--rf-accent-soft:#b4532c14;--rf-ok:#3d7556;--rf-warn:#9a6512;--rf-danger:#a5352b;--rf-overlay-shadow:0 1px 2px #1c1b190d, 0 6px 20px #1c1b1912;--fc-ink:var(--rf-ink);--fc-muted:var(--rf-muted);--fc-panel:var(--rf-panel);--fc-card:var(--rf-surface);--fc-card-strong:var(--rf-surface);--fc-line:var(--rf-line);--fc-line-strong:var(--rf-line-strong);--fc-copper:var(--rf-accent);--fc-copper-strong:var(--rf-accent-hover);--panel:var(--rf-panel);--panel-strong:var(--rf-surface);--line:var(--rf-line);--muted:var(--rf-muted);--text:var(--rf-ink);--accent:var(--rf-accent);--shadow:none;--studio-bg:var(--rf-canvas);--studio-stage:var(--rf-canvas);--floating-bg:var(--rf-panel);--focus-ring:var(--rf-accent)}:root[data-theme=dark]{--rf-canvas:#151513;--rf-panel:#1c1b19;--rf-surface:#24231f;--rf-sunken:#181715;--rf-line:#302e2a;--rf-line-strong:#45423c;--rf-ink:#eeebe5;--rf-ink-2:#c8c3ba;--rf-muted:#8f897f;--rf-accent:#d97a50;--rf-accent-hover:#e68d65;--rf-accent-ink:#1c1b19;--rf-accent-soft:#d97a501f;--rf-ok:#7fb893;--rf-warn:#d9a54d;--rf-danger:#e88b7a;--rf-overlay-shadow:0 1px 2px #0000004d, 0 8px 24px #00000059;--fc-ink:var(--rf-ink);--fc-muted:var(--rf-muted);--fc-panel:var(--rf-panel);--fc-card:var(--rf-surface);--fc-card-strong:var(--rf-surface);--fc-line:var(--rf-line);--fc-line-strong:var(--rf-line-strong);--fc-copper:var(--rf-accent);--fc-copper-strong:var(--rf-accent-hover);--panel:var(--rf-panel);--panel-strong:var(--rf-surface);--line:var(--rf-line);--muted:var(--rf-muted);--text:var(--rf-ink);--accent:var(--rf-accent);--shadow:none;--studio-bg:var(--rf-canvas);--studio-stage:var(--rf-canvas);--floating-bg:var(--rf-panel);--focus-ring:var(--rf-accent)}:root[data-theme] body,:root[data-theme] button,:root[data-theme] input,:root[data-theme] select,:root[data-theme] textarea{font-family:var(--rf-font)}:root[data-theme] body{background:var(--rf-canvas);color:var(--rf-ink)}:root[data-theme] :focus-visible{outline:2px solid var(--rf-accent);outline-offset:2px}:root[data-theme] .playful-studio{--joy-panel:var(--rf-panel);--joy-card:var(--rf-surface);--joy-card-strong:var(--rf-surface);--joy-ink:var(--rf-ink);--joy-muted:var(--rf-muted);--joy-line:var(--rf-line);background:var(--rf-canvas);color:var(--rf-ink);font-family:var(--rf-font)}:root[data-theme] .playful-studio .playful-panel{background:var(--rf-panel);color:var(--rf-ink);border-right:1px solid var(--rf-line);box-shadow:none;background-image:none}:root[data-theme] .playful-studio .playful-stage{background:var(--rf-canvas);background-image:none}:root[data-theme] .playful-studio .playful-stage:before,:root[data-theme] .playful-studio .playful-stage:after{background-image:none}:root[data-theme] .playful-studio .playful-brand-row{border-bottom:1px solid var(--rf-line)}:root[data-theme] .playful-studio .playful-logo strong{color:var(--rf-ink);letter-spacing:-.01em;font-size:.95rem;font-weight:600}:root[data-theme] .playful-studio .playful-logo small{display:none}:root[data-theme] .playful-studio .studio-library-button,:root[data-theme] .playful-studio .soft-icon-button{color:var(--rf-ink-2);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none;background:0 0;font-size:.78rem;font-weight:500}:root[data-theme] .playful-studio .studio-library-button:hover,:root[data-theme] .playful-studio .soft-icon-button:hover{background:var(--rf-sunken);color:var(--rf-ink);border-color:var(--rf-line-strong)}:root[data-theme] .playful-studio .friendly-steps{counter-reset:formcraft-step;background:var(--rf-sunken);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none;padding:3px}:root[data-theme] .playful-studio .friendly-step{counter-increment:formcraft-step;color:var(--rf-muted);border-radius:var(--rf-radius-sm);box-shadow:none;background:0 0;border:1px solid #0000;font-size:.82rem;font-weight:500}:root[data-theme] .playful-studio .friendly-step:before{content:counter(formcraft-step);width:17px;height:17px;font-family:var(--rf-mono);opacity:.8;border:1px solid;border-radius:50%;place-items:center;margin-right:7px;font-size:.66rem;line-height:1;display:inline-grid}:root[data-theme] .playful-studio .friendly-step.is-active{background:var(--rf-surface);color:var(--rf-ink);border-color:var(--rf-line);box-shadow:0 1px 1px #1c1b190d}:root[data-theme] .playful-studio .friendly-step.is-active:before{background:var(--rf-ink);border-color:var(--rf-ink);color:var(--rf-panel);opacity:1}:root[data-theme] .playful-studio .friendly-intro h2{color:var(--rf-ink);letter-spacing:-.015em;font-size:1.15rem;font-weight:600}:root[data-theme] .playful-studio .friendly-intro p{display:none}:root[data-theme] .playful-studio .playful-panel .friendly-card{border:0;border-top:1px solid var(--rf-line);box-shadow:none;background:0 0;border-radius:0;padding:14px 2px 12px}:root[data-theme] .playful-studio .playful-panel .friendly-card.is-hero{box-shadow:none;background:0 0}:root[data-theme] .playful-studio .friendly-card-heading h3,:root[data-theme] .playful-studio .friendly-card-heading strong{color:var(--rf-ink);letter-spacing:-.005em;font-size:.84rem;font-weight:600}:root[data-theme] .playful-studio .friendly-card-heading p,:root[data-theme] .playful-studio .friendly-card-heading small{color:var(--rf-muted);font-size:.74rem;font-weight:400;line-height:1.4}:root[data-theme] .playful-studio .friendly-card-tag{display:none}:root[data-theme] .playful-studio .outline-choice,:root[data-theme] .playful-studio .surface-scope-switch button,:root[data-theme] .playful-studio .whole-edge-rim-toggle,:root[data-theme] .playful-studio .silhouette-presets button{background:var(--rf-surface);color:var(--rf-ink-2);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none}:root[data-theme] .playful-studio .outline-choice:hover,:root[data-theme] .playful-studio .surface-scope-switch button:hover,:root[data-theme] .playful-studio .whole-edge-rim-toggle:hover,:root[data-theme] .playful-studio .silhouette-presets button:hover{border-color:var(--rf-line-strong);color:var(--rf-ink)}:root[data-theme] .playful-studio .outline-choice.is-active,:root[data-theme] .playful-studio .surface-scope-switch button.is-active,:root[data-theme] .playful-studio .whole-edge-rim-toggle.is-on,:root[data-theme] .playful-studio .silhouette-presets button.is-active{background:var(--rf-surface);color:var(--rf-ink);border-color:var(--rf-ink);box-shadow:inset 0 0 0 1px var(--rf-ink)}:root[data-theme] .playful-studio .surface-scope-switch strong,:root[data-theme] .playful-studio .whole-edge-rim-toggle span{font-weight:600}:root[data-theme] .playful-studio .whole-edge-rim-toggle small{background:var(--rf-sunken);color:var(--rf-muted);border-radius:4px;font-weight:500}:root[data-theme] .playful-studio .range-label{color:var(--rf-ink-2);font-size:.78rem;font-weight:500}:root[data-theme] .playful-studio .range-label svg{display:none}:root[data-theme] .playful-studio .range-value,:root[data-theme] .playful-studio .range-control output{color:var(--rf-ink);font-family:var(--rf-mono);font-variant-numeric:tabular-nums;font-size:.74rem}:root[data-theme] .playful-studio .playful-panel input[type=range]::-webkit-slider-runnable-track{background:var(--rf-line-strong);border-radius:2px;height:3px}:root[data-theme] .playful-studio .playful-panel input[type=range]::-webkit-slider-thumb{border:2px solid var(--rf-ink);background:var(--rf-surface);width:14px;height:14px;box-shadow:none;margin-top:-5.5px}:root[data-theme] .playful-studio .playful-panel input[type=range]::-moz-range-track{background:var(--rf-line-strong);border-radius:2px;height:3px}:root[data-theme] .playful-studio .playful-panel input[type=range]::-moz-range-thumb{border:2px solid var(--rf-ink);background:var(--rf-surface);width:10px;height:10px}:root[data-theme] .playful-studio .pattern-search{background:var(--rf-surface);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none;color:var(--rf-muted)}:root[data-theme] .playful-studio .pattern-bookmarks{border-bottom:1px solid var(--rf-line)}:root[data-theme] .playful-studio .pattern-bookmarks button{color:var(--rf-muted);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;font-size:.78rem;font-weight:500}:root[data-theme] .playful-studio .pattern-bookmarks button.is-active{color:var(--rf-ink);border-bottom-color:var(--rf-ink);background:0 0;font-weight:600}:root[data-theme] .playful-studio .pattern-category-description{color:var(--rf-muted);font-size:.74rem}:root[data-theme] .playful-studio .pattern-tile{background:var(--rf-surface);color:var(--rf-ink-2);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none}:root[data-theme] .playful-studio .pattern-tile:hover{border-color:var(--rf-line-strong);transform:none}:root[data-theme] .playful-studio .pattern-tile.is-applied{border-color:var(--rf-ink);box-shadow:inset 0 0 0 1px var(--rf-ink)}:root[data-theme] .playful-studio .pattern-preview{border-radius:var(--rf-radius-sm)}:root[data-theme] .playful-studio .pattern-copy strong,:root[data-theme] .playful-studio .pattern-tile strong{color:var(--rf-ink);font-weight:600}:root[data-theme] .playful-studio .region-overview-item{background:var(--rf-surface);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none}:root[data-theme] .playful-studio .region-overview-item:hover{border-color:var(--rf-line-strong)}:root[data-theme] .playful-studio .region-overview-item.is-selected{background:var(--rf-surface);border-color:var(--rf-ink);box-shadow:inset 0 0 0 1px var(--rf-ink)}:root[data-theme] .playful-studio .region-overview-swatch{border-radius:var(--rf-radius-sm)}:root[data-theme] .playful-studio .region-triangle-count{color:var(--rf-muted);font-family:var(--rf-mono);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:400}:root[data-theme] .playful-studio .region-shape-link{color:var(--rf-ink-2);font-weight:500}:root[data-theme] .playful-studio .region-quick-settings{background:var(--rf-panel);color:var(--rf-ink);border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);box-shadow:var(--rf-overlay-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme] .playful-studio .region-quick-settings-index{background:var(--rf-ink);color:var(--rf-panel);border-radius:var(--rf-radius-sm);font-family:var(--rf-mono);font-weight:500}:root[data-theme] .playful-studio .region-editor-tabs{background:var(--rf-sunken);border:1px solid var(--rf-line);border-radius:var(--rf-radius)}:root[data-theme] .playful-studio .region-editor-tabs button{color:var(--rf-muted);box-shadow:none;font-weight:500}:root[data-theme] .playful-studio .region-editor-tabs button.is-active{background:var(--rf-surface);color:var(--rf-ink);border-radius:var(--rf-radius-sm);font-weight:600;box-shadow:0 1px 1px #1c1b190f}:root[data-theme] .playful-studio .preview-title-card,:root[data-theme] .playful-studio .happy-metrics>div,:root[data-theme] .playful-studio .preview-action-tools,:root[data-theme] .playful-studio .photo-mode-entry{background:var(--rf-panel);color:var(--rf-ink);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme] .playful-studio .preview-title-card strong,:root[data-theme] .playful-studio .happy-metrics strong{color:var(--rf-ink);font-weight:600}:root[data-theme] .playful-studio .preview-title-card small,:root[data-theme] .playful-studio .happy-metrics small{color:var(--rf-muted);font-weight:400}:root[data-theme] .playful-studio .happy-metrics strong{font-family:var(--rf-mono);font-variant-numeric:tabular-nums}:root[data-theme] .playful-studio .preview-tools-dock button{color:var(--rf-ink-2);box-shadow:none;font-weight:500}:root[data-theme] .playful-studio .preview-tools-dock button:hover{color:var(--rf-ink);background:var(--rf-sunken)}:root[data-theme] .playful-studio .friendly-export{background:var(--rf-panel);border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);box-shadow:var(--rf-overlay-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme] .playful-studio .make-it-button{background:var(--rf-accent);color:var(--rf-accent-ink);border-radius:var(--rf-radius);box-shadow:none;background-image:none;border:0}:root[data-theme] .playful-studio .make-it-button:hover:not(:disabled){background:var(--rf-accent-hover);transform:none}:root[data-theme] .playful-studio .make-it-button strong{letter-spacing:-.005em;font-weight:600}:root[data-theme] .playful-studio .make-it-button small{color:inherit;opacity:.78;font-weight:400}:root[data-theme] .playful-studio .tiny-format-switch button{color:var(--rf-muted);font-family:var(--rf-mono);background:0 0;border-radius:5px;font-weight:500}:root[data-theme] .playful-studio .tiny-format-switch button.is-active{background:var(--rf-ink);color:var(--rf-panel)}:root[data-theme] .playful-studio .print-safety-notice{background:var(--rf-sunken);border-radius:var(--rf-radius);box-shadow:none;border:1px solid #0000}:root[data-theme] .playful-studio .print-safety-notice strong{color:var(--rf-ink);font-weight:600}:root[data-theme] .playful-studio .print-safety-notice small{color:var(--rf-muted)}:root[data-theme] .playful-studio .print-safety-notice.is-ready .print-safety-notice-icon{color:var(--rf-ok);background:0 0}:root[data-theme] .playful-studio .design-profile-export button,:root[data-theme] .playful-studio .design-profile-export{color:var(--rf-ink-2);box-shadow:none}:root[data-theme] .playful-studio .surface-toast,:root[data-theme] .playful-studio .holding-bubble,:root[data-theme] .playful-studio .cursor-follow-pattern{background:var(--rf-ink);color:var(--rf-panel);border-radius:var(--rf-radius-sm);box-shadow:var(--rf-overlay-shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;font-weight:500}:root[data-theme] .playful-studio .holding-bubble small,:root[data-theme] .playful-studio .holding-bubble strong{color:inherit}:root[data-theme] .playful-studio .preview-loading-panel{background:var(--rf-panel);color:var(--rf-ink-2);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:var(--rf-overlay-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme] .playful-studio .generated-support-toggle,:root[data-theme] .playful-studio .shape-extras-heading{background:var(--rf-surface);border:1px solid var(--rf-line);border-radius:var(--rf-radius);box-shadow:none}:root[data-theme] .playful-studio .generated-support-toggle strong,:root[data-theme] .playful-studio .shape-extras-heading strong{color:var(--rf-ink);font-weight:600}:root[data-theme] .playful-studio .generated-support-toggle small,:root[data-theme] .playful-studio .shape-extras-heading small{color:var(--rf-muted)}:root[data-theme] .playful-studio input[type=checkbox]{accent-color:var(--rf-ink)}:root[data-theme] .design-library-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1413116b}:root[data-theme] .design-library-dialog{background:var(--rf-panel);color:var(--rf-ink);border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);font-family:var(--rf-font);background-image:none;box-shadow:0 24px 64px #14131138}:root[data-theme] .design-library-dialog h2,:root[data-theme] .design-library-dialog h3{color:var(--rf-ink);letter-spacing:-.015em;font-weight:600}:root[data-theme] .design-library-dialog p,:root[data-theme] .design-library-dialog small{color:var(--rf-muted)}:root[data-theme] .design-library-dialog button{box-shadow:none}:root[data-theme] .design-library-close{border:1px solid var(--rf-line);border-radius:var(--rf-radius);color:var(--rf-ink-2);background:0 0}:root[data-theme=light],:root[data-theme=dark]{--fc-sage:var(--rf-ink-2);--fc-sage-strong:var(--rf-ink);--fc-shadow:#14131114}:root[data-theme] .playful-studio,:root[data-theme] .design-library-backdrop{--joy-panel:var(--rf-panel);--joy-card:var(--rf-sunken);--joy-card-strong:var(--rf-surface);--joy-ink:var(--rf-ink);--joy-muted:var(--rf-muted);--joy-line:var(--rf-line);--joy-mint:var(--rf-ink-2);--joy-mint-strong:var(--rf-ink);--joy-green:var(--rf-ok);--joy-peach:var(--rf-accent);--joy-coral:var(--rf-accent);--joy-lavender:var(--rf-ink-2);--joy-lavender-strong:var(--rf-ink);--joy-purple:var(--rf-ink-2);--joy-yellow:var(--rf-warn);--joy-shadow:var(--rf-overlay-shadow)}:root[data-theme] .playful-studio .playful-panel small,:root[data-theme] .playful-studio .region-editor-body small,:root[data-theme] .playful-studio .region-editor-body p,:root[data-theme] .playful-studio .surface-axis-title small,:root[data-theme] .playful-studio .surface-axis-labels,:root[data-theme] .playful-studio .print-safety-notice small,:root[data-theme] .playful-studio .print-safety-notice p,:root[data-theme] .design-library-dialog small,:root[data-theme] .design-library-dialog p{font-weight:400}:root[data-theme] .playful-studio .playful-panel strong,:root[data-theme] .playful-studio .region-editor-body strong{font-weight:560}:root[data-theme] .playful-studio .region-editor-done{border-radius:var(--rf-radius);background:var(--rf-ink);min-height:38px;color:var(--rf-canvas);padding:8px 18px;font-weight:560}:root[data-theme] .playful-studio .region-editor-done:hover{background:var(--rf-ink-2)}:root[data-theme] .playful-studio .region-editor-footer{background:var(--rf-panel)}:root[data-theme] .playful-studio .region-choice-options button[aria-pressed=true]{border-color:var(--rf-ink);box-shadow:inset 0 0 0 1px var(--rf-ink)}:root[data-theme] .playful-studio .region-shape-link{color:var(--rf-ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rf-line-strong);text-decoration-color:var(--rf-line-strong);text-underline-offset:3px}:root[data-theme] .playful-studio .pattern-tile.is-applied:after{background:var(--rf-ink);width:18px;height:18px;box-shadow:none;color:var(--rf-canvas);font-weight:600}:root[data-theme] .playful-studio .pattern-edge-auto-note{font-weight:400}:root[data-theme] .playful-studio .pattern-edge-auto-note:before{background:var(--rf-sunken);color:var(--rf-ink-2);font-weight:600}:root[data-theme] .playful-studio .all-region-controls,:root[data-theme] .playful-studio .whole-edge-rims{border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);background:var(--rf-surface);padding:12px}:root[data-theme] .playful-studio .surface-axis-control{border:1px solid var(--rf-line);border-radius:var(--rf-radius);background:var(--rf-surface);padding:10px 12px}:root[data-theme] .playful-studio .surface-axis-icon{border-radius:var(--rf-radius-sm);background:var(--rf-sunken);width:24px;height:24px;color:var(--rf-ink-2)}:root[data-theme] .playful-studio .surface-axis-title strong{color:var(--rf-ink);font-size:.74rem}:root[data-theme] .playful-studio .surface-axis-heading output{color:var(--rf-ink);font-family:var(--rf-mono);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:450}:root[data-theme] .playful-studio .surface-axis-control input{accent-color:var(--rf-ink)}:root[data-theme] .playful-studio .surface-axis-labels{color:var(--rf-muted);letter-spacing:.01em;font-size:.6rem}:root[data-theme] .playful-studio .surface-advanced-controls{border:1px solid var(--rf-line);border-radius:var(--rf-radius);background:var(--rf-surface)}:root[data-theme] .playful-studio .surface-advanced-controls summary{color:var(--rf-ink-2);font-size:.72rem;font-weight:500}:root[data-theme] .playful-studio .surface-advanced-controls summary:after{color:var(--rf-muted)}:root[data-theme] .playful-studio .whole-edge-rim-toggle.is-on small{background:var(--rf-ink);color:var(--rf-canvas)}:root[data-theme] .playful-studio .material-color-picker>span{color:var(--rf-ink-2);font-weight:500}:root[data-theme] .playful-studio .profile-plot{fill:var(--rf-surface);stroke:var(--rf-line)}:root[data-theme] .playful-studio .profile-grid{stroke:var(--rf-line)}:root[data-theme] .playful-studio .profile-fill,:root[data-theme] .playful-studio .top-edge-fill{fill:var(--rf-accent-soft)}:root[data-theme] .playful-studio .profile-curve{stroke:var(--rf-ink)}:root[data-theme] .playful-studio .profile-handle{fill:var(--rf-surface);stroke:var(--rf-ink)}:root[data-theme] .playful-studio .profile-tilt-band{fill:color-mix(in srgb, var(--rf-accent) 9%, transparent)}:root[data-theme] .playful-studio .profile-tilt-band.is-selected{fill:color-mix(in srgb, var(--rf-accent) 16%, transparent)}:root[data-theme] .playful-studio .bend-tilt-controls{border-top:1px solid var(--rf-line);gap:7px;padding-top:8px;display:grid}:root[data-theme] .playful-studio .bend-tilt-controls small{color:var(--rf-muted);font-size:.72rem;line-height:1.4}:root[data-theme] .studio-processing-card{border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);background:var(--rf-panel);color:var(--rf-ink);box-shadow:var(--rf-overlay-shadow);background-image:none}:root[data-theme] .studio-processing-card small{color:var(--rf-muted);font-weight:400}:root[data-theme] .is-preview-update .studio-processing-card:before{background:var(--rf-accent)}:root[data-theme] .design-library-tabs{border:0;border-bottom:1px solid var(--rf-line);background:0 0;border-radius:0;gap:0;margin:0 28px;padding:0}:root[data-theme] .design-library-tabs button{min-height:48px;color:var(--rf-muted);border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px}:root[data-theme] .design-library-tabs button.is-active{border-color:var(--rf-ink);color:var(--rf-ink);box-shadow:none;background:0 0}:root[data-theme] .design-library-tabs button.is-active svg{color:var(--rf-ink)}:root[data-theme] .design-library-tabs strong{font-weight:560}:root[data-theme] .library-design-card{border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);background:var(--rf-surface);box-shadow:none}:root[data-theme] .library-design-card:hover{border-color:var(--rf-line-strong)}:root[data-theme] .design-card-preview,:root[data-theme] .library-empty-preview{border:1px solid var(--rf-line);border-radius:var(--rf-radius);background:var(--rf-sunken)}:root[data-theme] .library-empty-preview{color:var(--rf-muted);border-style:dashed}:root[data-theme] .library-design-copy strong{font-weight:560}:root[data-theme] .library-primary-action,:root[data-theme] .library-card-actions>button{border:1px solid var(--rf-line);border-radius:var(--rf-radius);background:var(--rf-surface);color:var(--rf-ink);font-weight:500}:root[data-theme] .library-primary-action,:root[data-theme] .library-card-actions>.library-primary-action{border-color:var(--rf-ink);background:var(--rf-ink);color:var(--rf-canvas)}:root[data-theme] .library-primary-action:hover:not(:disabled),:root[data-theme] .library-card-actions>button:hover:not(:disabled){border-color:var(--rf-line-strong);transform:none}:root[data-theme] .library-primary-action:hover:not(:disabled){border-color:var(--rf-ink-2);background:var(--rf-ink-2)}:root[data-theme] .library-backup-actions button{border-radius:var(--rf-radius);background:var(--rf-surface);border-color:var(--rf-line);font-weight:500}@media (width<=920px){:root[data-theme] .playful-studio .mobile-studio-navigation button[aria-pressed=true]{color:var(--rf-ink);box-shadow:inset 0 2px 0 var(--rf-ink);background:0 0;border-radius:0}:root[data-theme] .playful-studio .mobile-studio-sections{border-bottom:1px solid var(--rf-line)}:root[data-theme] .playful-studio .mobile-studio-sections button{border-radius:var(--rf-radius);font-weight:500}:root[data-theme] .playful-studio .mobile-studio-sections button[aria-pressed=true]{background:var(--rf-surface);color:var(--rf-ink);box-shadow:inset 0 0 0 1px var(--rf-line-strong)}}.fc-dialog-backdrop{z-index:260;background:#1413116b;place-items:center;padding:24px;animation:.16s ease-out both fc-dialog-backdrop-in;display:grid;position:fixed;inset:0}:root[data-theme=dark] .fc-dialog-backdrop{background:#0000008f}.fc-dialog{overscroll-behavior:contain;border:1px solid var(--rf-line);border-radius:var(--rf-radius-lg);background:var(--rf-panel);width:min(432px,100%);max-height:calc(100dvh - 48px);color:var(--rf-ink);font-family:var(--rf-font);flex-direction:column;animation:.28s cubic-bezier(.16,1,.3,1) both fc-dialog-in;display:flex;overflow:hidden auto;box-shadow:0 1px 2px #1413110f,0 24px 64px #14131138}:root[data-theme=dark] .fc-dialog{box-shadow:0 1px 2px #0000004d,0 24px 64px #00000080}.fc-dialog:focus{outline:none}.fc-dialog ::selection{background:color-mix(in srgb, var(--rf-accent) 24%, transparent)}.fc-dialog-media{border-bottom:1px solid var(--rf-line);background:var(--rf-sunken);flex-shrink:0;position:relative}.fc-dialog .fc-dialog-media .design-card-preview{border:0;border-radius:0;width:100%;height:188px;display:grid}.fc-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 0;display:flex}.fc-dialog-header h2{color:var(--rf-ink);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.fc-dialog-close{border-radius:var(--rf-radius-sm);width:32px;height:32px;color:var(--rf-muted);cursor:pointer;background:0 0;border:0;flex:0 0 32px;place-items:center;margin:-5px -8px 0 0;transition:background-color .12s,color .12s;display:grid}.fc-dialog-close:hover{background:var(--rf-sunken);color:var(--rf-ink)}.fc-dialog-body{gap:16px;padding:8px 20px 20px;display:grid}.fc-dialog-body>p,.fc-dialog-text{max-width:60ch;color:var(--rf-ink-2);margin:0;font-size:.875rem;line-height:1.5}.fc-dialog-body strong{color:var(--rf-ink);font-weight:600}.fc-dialog-meta{color:var(--rf-muted);font-variant-numeric:tabular-nums;margin:0 0 -8px;font-size:.8125rem;display:block}.fc-dialog-footnote{color:var(--rf-muted);margin:0;font-size:.75rem;line-height:1.45}.fc-dialog-notice{color:var(--rf-ok);margin:0;font-size:.8125rem;line-height:1.45}.fc-dialog-notice.is-error{color:var(--rf-danger)}.fc-dialog-footer{border-top:1px solid var(--rf-line);background:var(--rf-sunken);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;padding:12px 20px;display:flex}.fc-button{border-radius:var(--rf-radius);min-height:36px;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.8125rem;font-weight:560;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.fc-button-primary{background:var(--rf-accent);color:var(--rf-accent-ink)}.fc-button-primary:hover:not(:disabled){background:var(--rf-accent-hover)}.fc-button-secondary{border-color:var(--rf-line-strong);background:var(--rf-surface);color:var(--rf-ink)}.fc-button-secondary:hover:not(:disabled){border-color:color-mix(in srgb, var(--rf-ink) 32%, var(--rf-line-strong))}.fc-button-quiet{min-height:0;color:var(--rf-ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--rf-line-strong);text-decoration-color:var(--rf-line-strong);text-underline-offset:3px;background:0 0;padding:4px 0}.fc-button-quiet:hover:not(:disabled){color:var(--rf-ink);text-decoration-color:currentColor}.fc-button:disabled{cursor:default;opacity:.5}.fc-button[aria-busy=true]{cursor:progress;opacity:.72}@keyframes fc-dialog-backdrop-in{0%{opacity:0}}@keyframes fc-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@media (pointer:coarse){.fc-button{min-height:44px}}@media (width<=480px){.fc-dialog-backdrop{align-items:end;padding:12px}.fc-dialog-footer .fc-button{flex:auto}}@media (prefers-reduced-motion:reduce){.fc-dialog-backdrop,.fc-dialog{animation:none}}.account-summary{border:1px solid var(--rf-line);border-radius:var(--rf-radius);background:var(--rf-surface);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 14px;display:flex}.account-summary>div{gap:3px;min-width:0;display:grid}.account-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.account-summary span{color:var(--rf-muted);font-size:.8125rem;line-height:1.45}.account-summary .fc-button-quiet{flex-shrink:0;font-size:.75rem}.account-sign-in{gap:12px;display:grid}.account-divider{color:var(--rf-muted);align-items:center;gap:12px;font-size:.75rem;display:flex}.account-divider:before,.account-divider:after{background:var(--rf-line);content:"";flex:1;height:1px}.account-dialog-form{gap:6px;display:grid}.account-dialog-form label{color:var(--rf-ink-2);font-size:.75rem;font-weight:560}.account-dialog-form>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.account-dialog-form input{border:1px solid var(--rf-line-strong);border-radius:var(--rf-radius);background:var(--rf-surface);min-width:0;min-height:36px;color:var(--rf-ink);caret-color:var(--rf-accent);font:inherit;padding:0 11px;font-size:.875rem;transition:border-color .12s,box-shadow .12s}.account-dialog-form input::placeholder{color:var(--rf-muted)}.account-dialog-form input:focus-visible{border-color:var(--rf-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--rf-accent) 18%, transparent);outline:none}.account-dialog-form input.is-code,.account-code{font-family:var(--rf-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em}.account-dialog-form>.fc-button-quiet{justify-self:start;font-size:.75rem}.account-code{color:var(--rf-ink);font-size:.8125rem}.account-button.is-licensed{border-color:color-mix(in srgb, var(--rf-ok) 45%, var(--fc-line));color:var(--fc-ink)}@media (pointer:coarse){.account-dialog-form input{min-height:44px}}@media (width<=400px){.account-dialog-form>div{grid-template-columns:1fr}}.maintenance-screen{z-index:1000;background:color-mix(in srgb, var(--rf-canvas) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.maintenance-screen .fc-dialog-footer{justify-content:space-between}.maintenance-admin-link{font-size:.75rem;text-decoration:none}.maintenance-admin-banner{z-index:250;border:1px solid color-mix(in srgb, var(--rf-warn) 45%, var(--rf-line));border-radius:var(--rf-radius);background:var(--rf-panel);max-width:calc(100vw - 24px);box-shadow:var(--rf-overlay-shadow);color:var(--rf-ink-2);font-family:var(--rf-font);align-items:center;gap:12px;padding:8px 12px;font-size:.75rem;line-height:1.4;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.maintenance-admin-banner a{color:var(--rf-accent);flex-shrink:0;font-weight:600}@media (width<=480px){.maintenance-screen{align-items:end;padding:12px}.maintenance-admin-banner{top:8px;bottom:auto}}.fc-dialog-footnote a{color:inherit;text-underline-offset:2px}
