.sg-studio{--sg-cream:#f7f3eb;--sg-cream-deep:#efe9dd;--sg-charcoal:#2c2a26;--sg-muted:#5c5850;--sg-terracotta:#c45c3e;--sg-line:rgba(44,42,38,0.12);--sg-font-display:"Fraunces",Georgia,serif;--sg-font-body:"DM Sans",system-ui,sans-serif;--sg-font-mono:"IBM Plex Mono",ui-monospace,monospace;font-family:var(--sg-font-body);color:var(--sg-charcoal);background:var(--sg-cream)}.sg-studio :focus-visible{outline:2px solid var(--sg-terracotta);outline-offset:2px}.sg-studio button:focus:not(:focus-visible),.sg-studio input:focus:not(:focus-visible){outline:none}.sg-studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-studio-grid,.sg-studio-pane{min-height:100vh;min-height:100dvh}.sg-studio-pane{display:flex;flex-direction:column;max-height:100vh;max-height:100dvh}.sg-studio-pane--chat{border-right:1px solid var(--sg-line);background:var(--sg-cream)}.sg-studio-pane--preview{background:var(--sg-cream-deep)}.sg-chat-scroll{flex:1 1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.sg-chat-empty{margin:auto 0;max-width:22rem;padding:8px 4px 32px}.sg-chat-empty p{margin:0;font-family:var(--sg-font-display);font-weight:450;font-size:1.35rem;letter-spacing:-.02em;line-height:1.35;color:var(--sg-charcoal)}.sg-bubble{max-width:92%;border-radius:16px;padding:12px 16px;font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;animation:sg-bubble-in .22s ease-out}.sg-bubble--assistant{align-self:flex-start;background:rgba(44,42,38,.06);color:var(--sg-charcoal);border-bottom-left-radius:6px}.sg-bubble--user{align-self:flex-end;background:var(--sg-terracotta);color:var(--sg-cream);border-bottom-right-radius:6px;box-shadow:0 2px 8px rgba(196,92,62,.25)}.sg-bubble-meta{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.02em;opacity:.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sg-typing{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:14px 16px;background:rgba(44,42,38,.06);border-radius:16px;border-bottom-left-radius:6px}.sg-typing span{width:6px;height:6px;border-radius:50%;background:var(--sg-muted);animation:sg-dot 1.2s ease-in-out infinite}.sg-typing span:nth-child(2){animation-delay:.15s}.sg-typing span:nth-child(3){animation-delay:.3s}.sg-composer{padding:16px 20px 20px;border-top:1px solid var(--sg-line);display:flex;gap:8px;background:var(--sg-cream)}.sg-composer input{flex:1 1;border:1px solid rgba(44,42,38,.18);border-radius:12px;padding:12px 14px;background:#fff;color:var(--sg-charcoal);font-size:.95rem;font-family:inherit;transition:border-color .16s ease,box-shadow .16s ease}.sg-composer input::placeholder{color:rgba(92,88,80,.7)}.sg-composer input:hover:not(:disabled){border-color:rgba(44,42,38,.28)}.sg-composer input:focus{border-color:var(--sg-terracotta);box-shadow:0 0 0 3px rgba(196,92,62,.28);outline:none}.sg-composer input:disabled{opacity:.7}.sg-send{background:var(--sg-terracotta);color:var(--sg-cream);border:none;border-radius:12px;padding:12px 18px;font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .16s ease,opacity .16s ease,transform .12s ease}.sg-send:hover:not(:disabled){background:#b04f34}.sg-send:active:not(:disabled){transform:scale(.97)}.sg-send:disabled{opacity:.5;cursor:default}.sg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sg-suggest{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px;border:none;margin:0}.sg-suggest-chip{border:1px solid rgba(44,42,38,.16);background:transparent;color:var(--sg-charcoal);border-radius:999px;padding:8px 14px;font-size:.82rem;font-family:inherit;font-weight:500;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .12s ease,color .14s ease}.sg-suggest-chip:hover:not(:disabled){border-color:var(--sg-terracotta);color:var(--sg-terracotta);background:rgba(196,92,62,.06)}.sg-suggest-chip:active:not(:disabled){transform:scale(.97)}.sg-suggest-chip:disabled{opacity:.45;cursor:default}.sg-preview-header{padding:16px 20px;border-bottom:1px solid var(--sg-line);display:flex;justify-content:space-between;align-items:center;gap:12px}.sg-preview-status{font-size:.8rem;color:var(--sg-muted);letter-spacing:.01em}.sg-preview-status strong{color:var(--sg-charcoal);font-weight:600}.sg-preview-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.sg-share{font-family:inherit;font-size:.8rem;font-weight:500;padding:8px 14px;border-radius:999px;border:1px solid rgba(44,42,38,.18);background:transparent;color:var(--sg-charcoal);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,opacity .16s ease}.sg-share:hover:not(:disabled){border-color:rgba(44,42,38,.35);background:rgba(44,42,38,.04)}.sg-share:active:not(:disabled){transform:scale(.98)}.sg-share:disabled{opacity:.4;cursor:default}.sg-share--saved{border-color:rgba(47,107,79,.35);color:#2f6b4f;background:rgba(47,107,79,.08)}.sg-share-check{display:inline-block;margin-right:4px;font-weight:700;animation:sg-check-pop .32s ease}.sg-continue{border:none;border-radius:12px;padding:10px 16px;font-weight:600;font-size:.9rem;font-family:inherit;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}.sg-continue--ready{background:var(--sg-terracotta);color:var(--sg-cream);cursor:pointer;padding:11px 18px;letter-spacing:.01em;box-shadow:0 3px 14px rgba(196,92,62,.34)}.sg-continue--ready:hover:not(:disabled){background:#b04f34}.sg-continue--ready:active:not(:disabled){transform:scale(.98)}.sg-continue--waiting{background:transparent;color:var(--sg-muted);cursor:default;border:1px solid rgba(44,42,38,.14);box-shadow:none;font-weight:500;opacity:.72}.sg-continue:disabled.sg-continue--ready{opacity:.85;cursor:wait}.sg-tee-stage{display:flex;flex-direction:column;align-items:center;gap:20px;height:100%;justify-content:center;padding:24px 20px}.sg-tee-frame{position:relative;width:min(100%,360px);aspect-ratio:9/11;filter:drop-shadow(0 18px 40px rgba(44,42,38,.14)) drop-shadow(0 4px 12px rgba(44,42,38,.06));transition:filter .28s ease}.sg-tee-garment{position:absolute;inset:0;pointer-events:none}.sg-tee-dye,.sg-tee-photo,.sg-tee-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:background-color .28s ease,opacity .28s ease,filter .28s ease}.sg-tee-dye{background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.sg-tee-shade{mix-blend-mode:multiply;opacity:.92;pointer-events:none}.sg-tee-print{position:absolute;left:28%;right:28%;top:26%;bottom:36%;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .28s ease,border-color .28s ease}.sg-tee-print-label{font-family:var(--sg-font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:sg-fade-in .32s ease}.sg-tee-preview-img{width:100%;height:100%;object-fit:contain;padding:8px;animation:sg-crossfade-in .48s ease}.sg-tee-skeleton{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(247,243,235,.35) 50%,transparent 70%);background-size:200% 100%;animation:sg-shimmer 1.4s ease-in-out infinite}.sg-chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border:none;margin:0;padding:0}.sg-chip-row legend,.sg-color-row legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sg-size-chip{min-width:42px;padding:8px 10px;border-radius:999px;font-size:.8rem;font-family:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid rgba(44,42,38,.2);background:transparent;color:var(--sg-charcoal);font-weight:450;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease}.sg-size-chip:hover:not([aria-pressed=true]):not([aria-checked=true]){border-color:rgba(44,42,38,.35)!important;transform:translateY(-1px)}.sg-size-chip:active{transform:scale(.96)}.sg-size-chip[aria-checked=true],.sg-size-chip[aria-pressed=true]{border:1.5px solid var(--sg-terracotta);background:var(--sg-terracotta);color:var(--sg-cream);font-weight:600;box-shadow:0 2px 8px rgba(196,92,62,.3)}.sg-size-chip:focus-visible{outline:2px solid var(--sg-terracotta);outline-offset:2px}.sg-color-row{display:flex;gap:12px;align-items:center;border:none;margin:0;padding:0;position:relative}.sg-color-chip{width:32px;height:32px;border-radius:50%;padding:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.sg-color-chip:hover{transform:scale(1.08)}.sg-color-chip:active{transform:scale(.95)}.sg-color-chip[aria-checked=true],.sg-color-chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--sg-cream),0 0 0 4px var(--sg-terracotta)}.sg-color-chip:focus-visible{outline:2px solid var(--sg-terracotta);outline-offset:3px}.sg-suggest-chip:focus-visible{outline:2px solid var(--sg-terracotta);outline-offset:2px;box-shadow:0 0 0 3px rgba(196,92,62,.2)}.sg-meta-bar{margin:0;padding:12px 20px 20px;font-size:.8rem;color:var(--sg-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sg-meta-bar[role=alert]{color:#9b2c2c}.sg-toast-host{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:stretch;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.sg-toast{pointer-events:auto;padding:12px 16px;border-radius:12px;font-size:.85rem;line-height:1.4;box-shadow:0 8px 24px rgba(44,42,38,.14);animation:sg-toast-in .28s ease;background:#fff;color:var(--sg-charcoal);border:1px solid var(--sg-line)}.sg-toast--error{background:#fff8f6;border-color:rgba(155,44,44,.25);color:#9b2c2c}.sg-toast--success{background:#f4faf7;border-color:rgba(47,107,79,.25);color:#2f6b4f}.sg-toast--info{background:#fff;border-color:rgba(44,42,38,.16);color:var(--sg-charcoal)}.sg-return,output.sg-return{display:flex;box-sizing:border-box;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 20px;border-bottom:1px solid var(--sg-line);animation:sg-toast-in .28s ease}.sg-return--success{background:rgba(47,107,79,.1);color:#2f6b4f}.sg-return--cancel{background:rgba(44,42,38,.05);color:var(--sg-charcoal)}.sg-return-text{margin:0;font-size:.88rem;line-height:1.4;font-weight:500}.sg-return-dismiss{flex-shrink:0;border:none;background:transparent;color:inherit;opacity:.65;font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;padding:4px 6px;border-radius:6px;transition:opacity .14s ease,background .14s ease}.sg-return-dismiss:hover{opacity:1;background:rgba(44,42,38,.06)}.sg-preview-body{flex:1 1;overflow:auto;min-height:0;-webkit-overflow-scrolling:touch}.sg-brand{padding:16px 20px;border-bottom:1px solid var(--sg-line);display:flex;align-items:baseline;justify-content:space-between;gap:16px}.sg-brand-mark{font-family:var(--sg-font-display);font-weight:550;font-size:1.15rem;letter-spacing:-.02em}.sg-brand-sub{color:var(--sg-muted);margin-left:10px;font-size:.85rem;font-weight:450}.sg-brand-link{color:var(--sg-terracotta);font-size:.85rem;text-decoration:none;font-weight:500;transition:opacity .14s ease}.sg-brand-link:hover{opacity:.8;text-decoration:underline;text-underline-offset:3px}@keyframes sg-bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sg-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes sg-crossfade-in{0%{opacity:0}to{opacity:1}}@keyframes sg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sg-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes sg-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes sg-check-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (max-width:860px){.sg-studio-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden}.sg-studio-pane--preview{order:-1;position:relative;z-index:6;min-height:0;max-height:min(42dvh,320px);height:auto;border-bottom:1px solid var(--sg-line);background:var(--sg-cream-deep);box-shadow:0 6px 16px rgba(44,42,38,.05);overflow:hidden}.sg-studio-pane--chat{order:1;border-right:none;border-bottom:none;min-height:0;max-height:none;height:auto;overflow:hidden}.sg-preview-body{overflow:hidden}.sg-tee-stage{gap:10px;padding:8px 16px 12px;justify-content:flex-start}.sg-tee-frame{width:min(36vw,148px)}.sg-preview-header{padding:10px 14px;gap:8px}.sg-continue--ready{padding:10px 14px}.sg-share{padding:7px 12px}.sg-chip-row,.sg-color-row{gap:8px}.sg-size-chip{min-width:34px;padding:5px 7px;font-size:.72rem}.sg-color-chip{width:26px;height:26px}.sg-return{padding:10px 16px}.sg-toast-host{top:max(12px,env(safe-area-inset-top,0px));width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.sg-bubble,.sg-return,.sg-share-check,.sg-tee-preview-img,.sg-tee-print-label,.sg-tee-skeleton,.sg-toast,.sg-typing span{animation:none!important}.sg-color-chip,.sg-composer input,.sg-continue,.sg-send,.sg-share,.sg-size-chip,.sg-suggest-chip,.sg-tee-frame,.sg-tee-print{transition:none!important}.sg-chat-scroll{scroll-behavior:auto}.sg-tee-dye,.sg-tee-photo,.sg-tee-shade{transition:none!important}}