/* The authenticated Studio occupies the existing theme panels. */
.studio-screen .tshu-slot { display:none; }
.studio-screen.studio-ai-active .tshu-slot { display:flex; }
.studio-ai-active .chat-panel > :not(.tshu-slot),
.studio-ai-active .preview-panel > :not(.tshu-slot),
.studio-ai-active .customize-panel > :not(.tshu-slot) { display:none!important; }
.studio-ai-active .tshu-slot [hidden] { display:none!important; }
.studio-ai-active .tshu-slot { --tshu-ink:#22221f;--tshu-muted:#595953;--tshu-line:#deded5;--tshu-berry:#171717;--tshu-soft:#f5f4ef;color:var(--tshu-ink);font:inherit;flex-direction:column;min-width:0;max-width:100%;text-align:left;box-sizing:border-box; }
.studio-ai-active .tshu-slot *, .studio-ai-active .tshu-slot *::before, .studio-ai-active .tshu-slot *::after { box-sizing:border-box; }
.studio-ai-active .tshu-slot button,.studio-ai-active .tshu-slot input,.studio-ai-active .tshu-slot select,.studio-ai-active .tshu-slot textarea { font:inherit; }
.studio-ai-active .tshu-slot button { appearance:none;cursor:pointer;min-height:42px;border:1px solid var(--tshu-line);border-radius:10px;background:#fff;color:var(--tshu-ink);padding:10px 13px;font-size:13px;font-weight:650;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:center;box-shadow:none; }
.studio-ai-active .tshu-slot button:hover:not(:disabled),.studio-ai-active .tshu-slot a.tshu-secondary:hover { background:#eeede6;border-color:#a8a89c;color:#22221f; }
.studio-ai-active .tshu-slot .tshu-primary { background:var(--tshu-berry);color:#fff;border-color:var(--tshu-berry); }
.studio-ai-active .tshu-slot .tshu-primary:hover:not(:disabled) { background:#333;border-color:#333;color:#fff; }
.studio-ai-active .tshu-slot .tshu-secondary { background:#fff;color:#292924;border:1px solid #aaa99f; }
.studio-ai-active .tshu-slot button:disabled { cursor:not-allowed;opacity:1;background:#e8e7e1;color:#68685f;border-color:#d0cfc5; }
.studio-ai-active .tshu-slot :is(button,a,input,select,textarea):focus-visible { outline:3px solid #d12665;outline-offset:3px; }
.studio-ai-active .tshu-slot :is(select,input[type=number],textarea) { display:block;width:100%;max-width:100%;border:1px solid #a7a79b;background:#fff;color:#22221f;border-radius:9px;padding:10px 11px;font-size:14px;line-height:1.5;min-height:43px;box-shadow:none; }
.studio-ai-active .tshu-slot :is(select,input,textarea):disabled { background:#eeeDE7;color:#626259;opacity:1; }
.studio-ai-active .tshu-slot textarea { resize:vertical;min-height:122px; }
.studio-ai-active .tshu-slot textarea::placeholder { color:#626259;opacity:1; }
.studio-ai-active .tshu-slot a { color:#d12665;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere; }
.studio-ai-active .tshu-slot a.tshu-secondary { display:block;text-align:center;text-decoration:none;border-radius:9px;padding:12px 14px;font-size:13px;font-weight:650; }
.studio-ai-active .tshu-slot p { margin:0;line-height:1.65; }
.studio-ai-active .tshu-chat { padding:20px 18px;gap:14px;height:100%; }
.studio-ai-active .tshu-heading { display:flex;align-items:center;gap:10px; }
.studio-ai-active .tshu-heading > div { flex:1;min-width:0; }
.studio-ai-active .tshu-heading strong { display:block;font-size:14px;line-height:1.45; }
.studio-ai-active .tshu-capability { display:block;color:var(--tshu-muted);font-size:11px;line-height:1.55; }
.studio-ai-active .tshu-avatar { display:grid;place-items:center;width:37px;height:37px;flex:none;background:#ece9df;border-radius:50%;font-size:24px;color:#d12665; }
.studio-ai-active .tshu-heading .tshu-icon { padding:7px 9px;min-height:36px;font-size:12px; }
.studio-ai-active .tshu-mode-note { font-size:12px;color:#51514a; }
.studio-ai-active .tshu-slot .tshu-local { padding:8px 10px;min-height:39px;font-size:12px;background:#f4f2ec;color:#4d2334;border-color:#b9b3a8; }
.studio-ai-active .tshu-status { border-left:3px solid #725044;padding:6px 0 6px 10px;color:#494940;font-size:12px;overflow-wrap:anywhere; }
.studio-ai-active .tshu-status:empty { display:none; }
.studio-ai-active .tshu-messages { display:flex;flex-direction:column;gap:13px;max-height:430px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin; }
.studio-ai-active .tshu-messages:empty { display:none; }
.studio-ai-active .tshu-message { border-radius:12px;background:#f2f0e8;padding:11px 12px;color:#262620; }
.studio-ai-active .tshu-message-user { margin-left:16px;background:#ebe6e1; }
.studio-ai-active .tshu-message-error { background:#fff2e9;border:1px solid #d5a88b;color:#65371e; }
.studio-ai-active .tshu-message strong { display:block;margin:0 0 5px;font-size:10px;letter-spacing:.07em; }
.studio-ai-active .tshu-message p { font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere; }
.studio-ai-active .tshu-composer { display:flex;flex-direction:column;gap:9px;margin:0; }
.studio-ai-active .tshu-composer > label { font-size:12px;font-weight:650; }
.studio-ai-active .tshu-cost { font-size:11px;color:#56564e; }
.studio-ai-active .tshu-actions { display:grid;grid-template-columns:1fr;gap:8px; }
.studio-ai-active .tshu-history { margin-top:7px;padding-top:16px;border-top:1px solid var(--tshu-line); }
.studio-ai-active .tshu-history h3 { margin:0 0 10px;font-size:13px;font-weight:650; }
.studio-ai-active .tshu-history-list { display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:300px;overflow:auto;scrollbar-width:thin; }
.studio-ai-active .tshu-history-list .tshu-history-item { display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;padding:9px;font-weight:400; }
.studio-ai-active .tshu-history-item strong { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;font-weight:600; }
.studio-ai-active .tshu-history-item span { font-size:10px;color:#59594f; }
.studio-ai-active .tshu-history-item[aria-pressed=true] { border:2px solid #d12665;background:#f5edf0; }
.studio-ai-active .tshu-preview { height:100%;background:#fff; }
.studio-ai-active .tshu-preview-toolbar { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 21px;border-bottom:1px solid var(--tshu-line); }
.studio-ai-active .tshu-preview-title { font-size:12px;line-height:1.5;overflow-wrap:anywhere; }
.studio-ai-active .tshu-view { display:flex;gap:4px;flex:none; }
.studio-ai-active .tshu-view button { min-height:34px;padding:6px 9px;font-size:11px;border-radius:7px; }
.studio-ai-active .tshu-view button[aria-pressed=true] { background:#282923;border-color:#282923;color:#fff; }
.studio-ai-active .tshu-preview-canvas { position:relative;display:grid;place-items:center;padding:12px 10px;min-height:440px;isolation:isolate; }
.studio-ai-active .tshu-shirt { position:relative;width:min(100%,440px);aspect-ratio:400 / 460;filter:drop-shadow(0 15px 14px #24251c18); }
.studio-ai-active .tshu-shirt svg { display:block;width:100%;height:100%;overflow:visible; }
.studio-ai-active .tshu-shirt-fill { fill:var(--tshu-shirt-color,#f8f7f2); }
.studio-ai-active .tshu-shirt-outline { fill:none;stroke:#33362b;stroke-opacity:.16;stroke-width:1.25; }
.studio-ai-active .tshu-shirt-neck { fill:none;stroke:#33362b;stroke-opacity:.17;stroke-width:1.3; }
.studio-ai-active .tshu-shirt[data-placement=back] .tshu-shirt-neck { opacity:.22; }
.studio-ai-active .tshu-shirt-artwork { position:absolute;left:50%;top:28%;width:31%;transform:translateX(-50%); }
.studio-ai-active .tshu-mock-art { display:block;width:100%;height:auto;mix-blend-mode:normal; }
.studio-ai-active .tshu-flat-art { display:none;max-width:100%;max-height:570px;width:auto;height:auto;object-fit:contain;background-color:#fff;background-image:linear-gradient(45deg,#e5e5df 25%,transparent 25%),linear-gradient(-45deg,#e5e5df 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e5df 75%),linear-gradient(-45deg,transparent 75%,#e5e5df 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0; }
.studio-ai-active .tshu-preview-canvas[data-mode=artwork] .tshu-shirt { display:none; }
.studio-ai-active .tshu-preview-canvas[data-mode=artwork] .tshu-flat-art:not([hidden]) { display:block; }
.studio-ai-active .tshu-empty { position:absolute;top:38%;left:50%;transform:translateX(-50%);width:min(230px,65%);text-align:center;padding:15px 12px;background:#faf9f0ed;border:1px solid #dedbd0;border-radius:13px; }
.studio-ai-active .tshu-empty > span { font-size:27px;color:#d12665; }
.studio-ai-active .tshu-empty p { margin-top:7px;font-size:12px;color:#515147; }
.studio-ai-active .tshu-placement-label { padding:0 20px 8px;text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em; }
.studio-ai-active .tshu-preview-note { padding:0 22px 18px;text-align:center;font-size:11px;color:#59594f; }
.studio-ai-active .tshu-state { padding:0 22px 18px; }
.studio-ai-active .tshu-state:empty { display:none; }
.studio-ai-active .tshu-review { padding:10px 12px;border:1px solid #c6b596;border-radius:8px;background:#fff7e5;color:#614c25;font-size:12px;font-weight:650; }
.studio-ai-active .tshu-review[data-status=approved] { color:#294c32;background:#edf6e9;border-color:#a5bea1; }
.studio-ai-active .tshu-review:is([data-status=blocked],[data-status=rejected]) { color:#7a302f;background:#fff0ed;border-color:#d6a19b; }
.studio-ai-active .tshu-state dl { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0; }
.studio-ai-active .tshu-state dl > div { min-width:0; }
.studio-ai-active .tshu-state dt { margin:0 0 3px;font-size:10px;color:#58584f; }
.studio-ai-active .tshu-state dd { margin:0;font-size:12px;font-weight:650;overflow-wrap:anywhere; }
.studio-ai-active .tshu-state ul { margin:12px 0;padding:0 0 0 17px;font-size:11px;line-height:1.6;color:#684b24; }
.studio-ai-active .tshu-note { font-size:10px;color:#5b5b51; }
.studio-ai-active .tshu-download { margin:0 22px 22px; }
.studio-ai-active .tshu-customize { padding:24px 21px;gap:12px;background:#fff; }
.studio-ai-active .tshu-customize-heading { margin-bottom:6px; }
.studio-ai-active .tshu-customize-heading .eyebrow { font-size:9px;letter-spacing:.12em;color:#655d50; }
.studio-ai-active .tshu-customize-heading h2 { font-family:var(--serif,Georgia,serif);font-size:27px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:8px 0; }
.studio-ai-active .tshu-customize-heading p { font-size:11px;color:#5c5c52; }
.studio-ai-active .tshu-customize label { display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;min-width:0; }
.studio-ai-active .tshu-customize > label[for] { margin-bottom:-7px; }
.studio-ai-active .tshu-attributes { display:grid;grid-template-columns:1fr;gap:12px; }
.studio-ai-active .tshu-two { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px; }
.studio-ai-active .tshu-dimensions { margin:4px 0 0;padding:13px 0 0;border:0;border-top:1px solid var(--tshu-line);min-width:0; }
.studio-ai-active .tshu-dimensions legend { padding:0 8px 0 0;font-size:12px;font-weight:650; }
.studio-ai-active .tshu-dimensions p { margin-top:8px;font-size:11px;color:#5b5b52; }
.studio-ai-active .tshu-resize-actions { display:grid;gap:7px;margin-top:10px; }
.studio-ai-active .tshu-resize-actions button { font-size:11px;min-height:37px;padding:8px; }
.studio-ai-active .tshu-price-row { display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--tshu-line); }
.studio-ai-active .tshu-price { font-size:21px;font-weight:650;letter-spacing:-.035em; }
.studio-ai-active .tshu-price-row > span { font-size:10px;color:#59594f; }
.studio-ai-active .tshu-stock,.studio-ai-active .tshu-cart-help,.studio-ai-active .tshu-staging { font-size:11px;color:#535349; }
.studio-ai-active .tshu-customize .tshu-accept { display:flex;flex-direction:row;align-items:flex-start;gap:9px;padding:12px 0;font-size:11px;font-weight:500;line-height:1.65; }
.studio-ai-active .tshu-accepted { appearance:auto;flex:none;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;accent-color:#d12665;border-radius:3px; }
.studio-ai-active .tshu-staging { border-top:1px solid var(--tshu-line);padding-top:12px; }
.studio-ai-active .tshu-staging:empty { display:none; }
@media(min-width:900px) {
 .studio-ai-active .studio-layout { grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr) minmax(250px,1fr);align-items:stretch; }
 .studio-ai-active :is(.chat-panel,.preview-panel,.customize-panel) { min-width:0;height:auto;max-height:none;overflow:visible; }
}
@media(max-width:899px) {
 .studio-ai-active .studio-layout { display:grid;grid-template-columns:minmax(0,1fr);height:auto;max-height:none; }
 .studio-ai-active :is(.chat-panel,.preview-panel,.customize-panel) { display:block!important;width:100%;min-width:0;height:auto;max-height:none;overflow:visible; }
 .studio-ai-active .mobile-studio-tabs { display:none!important; }
 .studio-ai-active .tshu-chat { padding:22px; }
 .studio-ai-active .tshu-messages { max-height:360px; }
 .studio-ai-active .tshu-actions { grid-template-columns:1fr 1fr; }
 .studio-ai-active .tshu-history-list { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
 .studio-ai-active .tshu-preview-canvas { min-height:380px; }
 .studio-ai-active .tshu-customize { padding:24px; }
 .studio-ai-active .tshu-attributes { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
 .studio-ai-active .tshu-slot :is(input[type=number],select,textarea) { font-size:16px; }
 .studio-ai-active .tshu-slot button { min-height:44px; }
 .studio-ai-active .tshu-chat,.studio-ai-active .tshu-customize { padding:18px 16px; }
 .studio-ai-active .tshu-preview-toolbar { padding:16px;align-items:flex-start;flex-direction:column;gap:10px; }
 .studio-ai-active .tshu-view { width:100%; }
 .studio-ai-active .tshu-view button { flex:1;min-height:40px; }
 .studio-ai-active .tshu-preview-canvas { min-height:330px;padding:0 5px; }
 .studio-ai-active .tshu-shirt { width:min(100%,380px); }
 .studio-ai-active .tshu-state,.studio-ai-active .tshu-preview-note { padding-left:16px;padding-right:16px; }
 .studio-ai-active .tshu-download { margin-left:16px;margin-right:16px; }
 .studio-ai-active .tshu-actions { grid-template-columns:1fr; }
 .studio-ai-active .tshu-history-list { grid-template-columns:1fr 1fr; }
 .studio-ai-active .tshu-customize-heading h2 { font-family:var(--serif,Georgia,serif);font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .studio-ai-active .tshu-slot * { scroll-behavior:auto;transition:none!important;animation:none!important; } }

.studio-ai-active .tshu-garment-photo { position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain; }
.studio-ai-active .tshu-shirt[data-photo=true] > svg { visibility:hidden; }
.studio-ai-active .tshu-shirt[data-photo=true] { width:min(108%,500px); }
@media(max-width:600px) { .studio-ai-active .tshu-shirt[data-photo=true] { width:min(100%,390px); } }

.in-studio .studio-ai-active .studio-layout { height:auto;min-height:0;max-height:none;align-items:stretch; }
.in-studio .studio-ai-active .studio-layout :is(.chat-panel,.preview-panel,.customize-panel) { height:auto;min-height:0;max-height:none;overflow:visible; }
.studio-ai-active .tshu-preview-canvas { overflow:hidden; }
@media(min-width:761px) and (max-width:899px) {
 .in-studio .studio-ai-active .studio-layout { display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr); }
 .studio-ai-active .customize-panel { grid-column:1/-1; }
 .studio-ai-active .tshu-actions { grid-template-columns:1fr; }
}
@media(max-width:760px) {
 .in-studio .studio-ai-active .studio-layout { display:grid;grid-template-columns:minmax(0,1fr); }
 .studio-ai-active .tshu-slot :is(input[type=number],select,textarea) { font-size:16px; }
}
