:root{color-scheme:light;--paper:#F6F0EC;--paper-deep:#EFE6E0;--ink:#332A30;--muted:#6B5C62;--rose:#9C4E66;--rose-deep:#7D3D52;--plum:#5B3F58;--sage-deep:#5F6F52;--line:#E4D9D3;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--paper)}
a{color:inherit;text-underline-offset:4px}
button,input,textarea,select{font:inherit;color:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.52}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}
p,li{line-height:1.65}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.site-header,main{max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}
.intro{margin:20px 0 12px}
.intro h1{font-size:clamp(1.7rem,3vw,2.2rem);margin:0}
.notice{padding:12px 16px;background:var(--paper-deep);font-size:.88rem;margin:0 0 16px}

.access-landing{max-width:640px;padding:28px 0;border-top:1px solid var(--line)}
.access-landing p{color:var(--muted)}
.access-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.button-link{text-decoration:none}
.primary,.secondary{padding:12px 20px;min-height:46px;border-radius:4px;font-weight:600;font-size:.86rem;display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent}
.primary{background:var(--rose-deep);border-color:var(--rose-deep);color:var(--paper)}
.primary:hover:not(:disabled){background:var(--plum);border-color:var(--plum)}
.secondary{background:transparent;border-color:var(--plum);color:var(--plum)}
.text-button{border:0;background:none;color:var(--rose-deep);text-decoration:underline;text-underline-offset:4px;font-size:.8rem;padding:8px 0}
.fine{font-size:.76rem;color:var(--muted);line-height:1.6;margin:10px 0 0}

/* ---- The conversation ---- */
.chat{display:flex;flex-direction:column;min-height:calc(100vh - 180px)}
.thread{list-style:none;margin:0;padding:8px 0 24px;flex:1}
.turn{margin:0 0 22px;scroll-margin-top:110px}
.turn p{margin:0 0 10px}
.turn-ask{margin-left:auto;max-width:78%;background:var(--paper-deep);padding:10px 14px;border-radius:14px 14px 4px 14px;width:fit-content}
.turn-ask p{margin:0}
.turn-ask .turn-meta{font-size:.76rem;color:var(--muted);margin-top:2px}
.turn-reply{font-size:.94rem}
.turn-error{color:var(--rose-deep)}
.welcome p,.welcome li{color:var(--muted);max-width:560px}
.welcome-options{margin:8px 0 12px;padding-left:1.3em;display:grid;gap:10px}
.welcome-options strong{color:var(--ink)}
.suggestions{display:flex;flex-wrap:wrap;gap:8px}
.suggestion{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 14px;font-size:.84rem;color:var(--ink)}
.suggestion:hover{border-color:var(--rose)}
.follow-ups{margin:4px 0 6px}
.turn-divider{list-style:none;text-align:center;font-size:.74rem;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
.busy{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.busy p{margin:0;color:var(--muted);flex:1;min-width:220px}
.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--rose-deep);border-radius:50%;animation:turn 1s linear infinite;flex-shrink:0}
@keyframes turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-color:var(--rose-deep)}}

/* ---- Results inside a reply ---- */
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:4px 0 12px}
.result-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;background:var(--paper)}
.result-image-wrap{position:relative}
.result-card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--line);display:block}
.confidence-badge{position:absolute;top:10px;left:10px;padding:4px 9px;border-radius:999px;font-size:.66rem;font-weight:700}
.confidence-high{background:var(--rose-deep);color:var(--paper)}
.confidence-medium{background:var(--paper);color:var(--rose-deep);border:1px solid var(--rose-deep)}
.result-body{padding:12px 14px 14px}
.result-brand{font-size:.72rem;color:var(--rose-deep);margin:0 0 4px}
.result-body h3{font-size:1.02rem;margin:0 0 6px;line-height:1.35}
.result-body h3 a{text-decoration:none}
.result-body h3 a:hover{text-decoration:underline}
.result-price{font-weight:600;font-size:.88rem;margin:0 0 8px;font-variant-numeric:tabular-nums}
.result-commentary{font-size:.8rem;color:var(--muted);margin:0 0 6px}
.commentary-label{font-weight:600;color:var(--ink)}
.brand-errors{list-style:none;padding:0;margin:0 0 10px;font-size:.78rem;color:var(--muted)}

/* ---- Composer, pinned to the bottom ---- */
.composer-dock{position:sticky;bottom:0;z-index:20;background:var(--paper);padding:10px 0 14px;border-top:1px solid var(--line)}
.composer{display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line);border-radius:10px;background:#FBF8F6;padding:8px 8px 8px 14px}
.composer:focus-within{border-color:var(--rose)}
.composer textarea{flex:1;border:0;background:transparent;resize:none;padding:8px 0;font-size:1rem;line-height:1.5;max-height:160px;outline:none}
.send{border:0;border-radius:6px;background:var(--rose-deep);color:var(--paper);font-weight:600;font-size:.86rem;padding:10px 16px;min-height:42px}
.send:hover:not(:disabled){background:var(--plum)}
.composer-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px}
.tool-button{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:6px 2px;font-size:.82rem;color:var(--muted)}
.tool-button:hover,.tool-button[aria-expanded=true]{color:var(--ink)}
.tool-label{color:var(--muted)}
.budget-value{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.dropdown-caret{width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);flex-shrink:0}
.tool-button[aria-expanded=true] .dropdown-caret{transform:rotate(225deg)}

/* The budget menu opens upward, above the composer, like a model picker. */
.budget-picker{position:relative}
.budget-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:230px;background:#FBF8F6;border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 10px 30px -12px rgba(51,42,48,.35);z-index:40}
.budget-option{display:grid;grid-template-columns:48px 1fr;align-items:baseline;width:100%;border:0;background:none;text-align:left;padding:9px 10px;border-radius:5px;font-size:.88rem}
.budget-option:hover,.budget-option:focus-visible{background:var(--paper-deep);outline:none}
.budget-option[aria-checked=true]{background:var(--paper-deep)}
.budget-option[aria-checked=true] .budget-option-label{color:var(--rose-deep)}
.budget-option-label{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.budget-option-detail{color:var(--muted)}

/* ---- Style & filters, opened above the composer ---- */
.settings-panel{border:1px solid var(--line);border-radius:8px;padding:14px 16px 16px;margin-bottom:10px;max-height:60vh;overflow-y:auto;background:#FBF8F6}
.settings-head{display:flex;align-items:baseline;justify-content:space-between}
.settings-head h2{font-size:1.2rem;margin:0}
.settings-panel label{display:block;font-size:.8rem;font-weight:600;margin:16px 0 6px}
.settings-panel .hint{margin:0 0 8px}
.hint a{color:var(--rose-deep)}
.optional-note{font-weight:400;color:var(--muted)}
.settings-panel input[type=file]{display:block;font-size:.8rem;color:var(--muted);margin-bottom:8px}
.settings-panel textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:10px 12px;font-size:.86rem;line-height:1.55;resize:vertical}
.settings-row{display:grid;grid-template-columns:200px 1fr;gap:0 16px}
.select-wrap{position:relative}
.select-wrap::after{content:'';position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-65%) rotate(45deg);pointer-events:none}
#wardrobe{appearance:none;-webkit-appearance:none;width:100%;height:42px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 34px 0 12px;font-size:.86rem}
.brand-dropdown{position:relative}
.brand-dropdown-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:42px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 14px;font-size:.86rem;text-align:left}
.brand-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:#FBF8F6;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px -12px rgba(51,42,48,.35);padding:8px 0 6px}
.brand-dropdown-panel .select-all{display:flex;gap:12px;padding:0 12px 6px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.brand-list{max-height:220px;overflow-y:auto;padding:2px 6px}
.brand-option{display:flex!important;align-items:center;gap:10px;font-size:.85rem!important;font-weight:400!important;cursor:pointer;padding:6px 8px;margin:0!important;border-radius:4px}
.brand-option input{width:16px;height:16px;accent-color:var(--rose-deep)}
.file-button{cursor:pointer}
.busy>div{flex:1;min-width:220px}
.search-timer{font-variant-numeric:tabular-nums}
.closet-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.closet-status .text-button{padding:0}

.skip{position:fixed;z-index:1000;top:-100px;left:20px;background:var(--paper);padding:10px}
.skip:focus{top:14px}

@media(max-width:620px){
  .site-header,main{padding-left:16px;padding-right:16px}
  .turn-ask{max-width:90%}
  .result-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .settings-row{grid-template-columns:1fr}
}

/* ---- Studio: step header ---- */
.studio-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:18px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.steps{display:flex;gap:4px}
.step-tab{border:0;background:none;padding:8px 12px;border-radius:999px;font-size:.88rem;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.step-tab:hover{color:var(--ink)}
.step-tab[aria-current=step]{background:var(--paper-deep);color:var(--ink);font-weight:600}
.step-number{font-family:Georgia,serif;color:var(--rose-deep);font-variant-numeric:tabular-nums}
.plan-badge{font-size:.74rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.placeholder{color:var(--muted);max-width:560px}
.placeholder a{color:var(--rose-deep)}

/* ---- Studio: Closet step ---- */
.closet-drawer{border:1px solid var(--line);border-radius:8px;background:#FBF8F6;margin:0 0 16px}
.closet-drawer>summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:12px 16px;cursor:pointer;font-weight:600;font-size:.92rem;list-style:none}
.closet-drawer>summary::-webkit-details-marker{display:none}
.closet-drawer>summary::after{content:'';width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-left:auto;align-self:center}
.closet-drawer[open]>summary::after{transform:rotate(225deg)}
.closet-drawer-hint{font-weight:400;font-size:.76rem;color:var(--muted)}
.closet-drawer>.fine,.closet-drawer-actions{padding:0 16px}
.closet-drawer-actions{display:flex;flex-wrap:wrap;gap:4px 18px;padding-bottom:8px}
.pieces{list-style:none;margin:0;padding:4px 12px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:46vh;overflow-y:auto}
.piece{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;border:1px solid transparent;border-radius:6px;background:none;padding:6px;text-align:left}
.piece:hover{border-color:var(--line);background:var(--paper)}
.piece-picture{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;background:var(--paper-deep)}
.piece-picture.drawn{padding:10%}
.piece-picture .garment{display:block;width:100%;height:100%}
.piece-name{font-size:.78rem;line-height:1.35;margin-top:4px}
.piece-detail{font-size:.7rem;color:var(--muted);line-height:1.35}
.verdict{position:absolute;top:10px;left:10px;font-size:.64rem;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--paper)}
.verdict-keep{color:var(--sage-deep);border:1px solid var(--sage-deep)}
.verdict-sell{color:var(--rose-deep);border:1px solid var(--rose-deep)}
.verdict-donate{color:var(--plum);border:1px solid var(--plum)}
.piece-edit{margin:4px 16px 12px;padding:12px 14px;border-top:1px solid var(--line)}
.piece-edit h3{font-size:1.05rem;margin:0 0 8px}
.piece-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.piece-edit label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600}
.piece-edit input,.piece-edit select{appearance:none;-webkit-appearance:none;width:100%;height:40px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 12px;font-size:.86rem;font-weight:400}
.piece-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}
.piece-edit-actions .text-button{margin-left:auto}
.piece-strip{list-style:none;margin:0 0 10px;padding:0;display:flex;gap:10px;overflow-x:auto}
.piece-strip li{flex:0 0 84px;font-size:.7rem;line-height:1.3;color:var(--muted)}
.piece-strip .piece-picture{margin-bottom:4px}
.review{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.review-summary{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}
.review h3{font-size:1.05rem;margin:14px 0 8px}
.review-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.review-list li{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start}
.review-list p{margin:2px 0 0;font-size:.84rem;color:var(--muted)}
.review-kept summary{cursor:pointer;color:var(--rose-deep);font-size:.84rem;margin:12px 0 4px}
.shopping{margin:0;padding-left:1.3em;display:grid;gap:12px}
.shopping p{margin:2px 0 6px;font-size:.84rem;color:var(--muted)}
.shop-link{min-height:38px;padding:8px 14px}
.file-tool{cursor:pointer}
.file-tool:focus-within{outline:3px solid var(--sage-deep);outline-offset:3px}
.select-narrow{max-width:200px}
.select-narrow select{appearance:none;-webkit-appearance:none;width:100%;height:42px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 34px 0 12px;font-size:.86rem}
@media(max-width:620px){
  .pieces{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
  .piece-edit-grid{grid-template-columns:1fr}
}
.recording{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border:1px solid var(--rose);border-radius:10px;background:#FBF8F6;padding:10px 14px}
.recording #cr-recording-time{flex:1;font-variant-numeric:tabular-nums;font-size:.92rem}
.recording-dot{width:10px;height:10px;border-radius:50%;background:#C0392B;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.recording-dot{animation:none}}

/* ---- Studio: outfit board in a Shop result ---- */
.closet-board{list-style:none;margin:2px 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.closet-board li{font-size:.66rem;line-height:1.3;color:var(--muted)}
.closet-board .piece-picture{margin-bottom:3px}

/* ---- Studio: plum buttons ---- */
:root{--plum-deep:#452D43;--plum-light:#EEE4EC}
.turn-ask{background:var(--plum-light)}
.primary,.send,.secondary{background:var(--plum);border-color:var(--plum);color:var(--paper)}
.primary:hover:not(:disabled),.send:hover:not(:disabled),.secondary:hover:not(:disabled){background:var(--plum-deep);border-color:var(--plum-deep)}
.text-button,.hint a,.placeholder a{color:var(--plum)}
.suggestion:hover{border-color:var(--plum)}
.composer:focus-within{border-color:var(--plum)}
.step-number{color:var(--plum)}

/* ---- Studio: step tabs and drawers pinned under the site header ---- */
.studio-bar{position:sticky;top:var(--header-h,0px);z-index:25;background:var(--paper);margin:0 0 10px;padding:12px 0 10px}
.drawers{position:sticky;top:calc(var(--header-h,0px) + var(--bar-h,0px));z-index:24;background:var(--paper);padding-bottom:6px;margin-bottom:10px}
.drawers .closet-drawer{margin:0 0 8px}
.drawer-body{padding:0 16px 14px;max-height:48vh;overflow-y:auto}
.drawer-body .hint{margin:0 0 8px}
.drawer-body input[type=file]{display:block;font-size:.8rem;color:var(--muted);margin-bottom:8px}
.drawer-body textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:10px 12px;font-size:.86rem;line-height:1.55;resize:vertical}
.drawer-label{display:block;font-size:.8rem;font-weight:600;margin:12px 0 6px}
.closet-drawer-hint{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.turn{scroll-margin-top:calc(var(--header-h,0px) + var(--bar-h,0px) + 120px)}

/* ---- Studio: composer icons ---- */
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--plum);flex-shrink:0}
.icon-button:hover:not(:disabled){border-color:var(--plum);background:var(--paper-deep)}
.icon-button svg,.tool-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tool-button svg{width:17px;height:17px}
.tool-button{color:var(--plum)}
.dock-prompts{margin:0 0 8px}
.strip-more{height:100%;min-height:84px;width:100%;border:1px dashed var(--line);border-radius:4px;background:none;color:var(--plum);font-size:.72rem;padding:6px}
@media(max-width:620px){
  /* On phones the site header scrolls away so the pinned area stays small. */
  .site-header{position:static}
  .closet-drawer-hint{display:none}
}

/* ---- Studio: outfits ---- */
.outfits{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:4px 0 10px}
.outfit-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:#FBF8F6}
.outfit-card .fine{margin:6px 0 0}
.outfit-board{grid-template-columns:repeat(3,1fr);margin-top:8px}
.see-it{margin-top:10px;min-height:38px;padding:8px 14px}
.outfit-image{margin:8px 0 0;max-width:360px}
.outfit-image img{width:100%;border-radius:8px;display:block}
.outfit-image figcaption{font-size:.78rem;margin-top:4px}
.check-row{display:flex;align-items:center;gap:8px;font-size:.84rem;margin:10px 0 4px}
.check-row input{width:16px;height:16px;accent-color:var(--plum)}
.drawer-body .pieces{max-height:none;padding:4px 0 8px}
.closet-body>.fine,.closet-body .closet-drawer-actions{padding-left:0;padding-right:0}
.closet-body .piece-edit{margin:4px 0 12px;padding:12px 0}
.pieces-readonly .piece:hover{border-color:transparent;background:none}

/* ---- Studio: Style step ---- */
.style-profile h3{font-size:1.15rem;margin:0 0 6px}
.style-profile h4{font-size:.86rem;margin:12px 0 4px}
.plain-list{margin:4px 0 8px;padding-left:1.1em}
.plain-list li{margin:2px 0}
.swatches{list-style:none;margin:8px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.swatches li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;color:var(--muted);width:64px;text-align:center}
.swatch{width:40px;height:40px;border-radius:50%;border:1px solid var(--line)}
.outfit{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:18px;align-items:start}
.outfit-board{width:100%;border-radius:8px;background:var(--paper-deep);aspect-ratio:2/3;object-fit:cover;display:block}
.outfit-text h3{font-size:1.15rem;margin:0 0 6px}
.vote-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px}
.style-card-picture{width:100%;max-width:520px;border-radius:8px;display:block;margin:10px 0}
.card-links{display:flex;flex-wrap:wrap;gap:6px 16px}
.card-links .button-link,.outfit-image .button-link{min-height:38px;padding:8px 14px;font-size:.8rem}
.text-input{width:100%;height:40px;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:0 12px;font-size:.9rem}
#sq-setup textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:10px 12px;font-size:.86rem;resize:vertical}
#sq-setup input[type=file]{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px}
#sq-setup .primary{margin-top:12px}
@media(max-width:620px){.outfit{grid-template-columns:1fr}}
.mode-choice{border:0;padding:0;margin:0}
.mode-choice .check-row{margin:4px 0}
.tool-select{appearance:none;-webkit-appearance:none;border:0;background:none;font:inherit;font-weight:700;color:var(--ink);padding:0 2px;cursor:pointer}
.tool-select:focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}
.attached{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--plum);margin:0 0 6px}
.attached .text-button{padding:0}
.consent-note{margin:6px 0 0;font-size:.72rem}
.consent-note a{color:var(--plum)}
/* Suggestion bubbles sit on the right, above the chat box, in every step. */
.dock-prompts{justify-content:flex-end}
.composer .vote-no{background:transparent;color:var(--plum);border:1px solid var(--plum)}
.composer .vote-no:hover:not(:disabled){background:var(--plum-light)}
@media(max-width:620px){.composer .send{padding:10px 12px;font-size:.8rem}}
/* Suggestion bubbles sit on the right, above the chat box, in every step. */
.dock-prompts{justify-content:flex-end}
.composer .vote-no{background:transparent;color:var(--plum);border:1px solid var(--plum)}
.composer .vote-no:hover:not(:disabled){background:var(--plum-light)}
@media(max-width:620px){.composer .send{padding:10px 12px;font-size:.8rem}}

/* ---- Studio: what signed-out visitors see ---- */
.access-landing{border-top:0;max-width:640px}
.access-landing h2{font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 10px}

/* ---- Studio: the current step tab in plum ---- */
.step-tab[aria-current=step]{background:var(--plum);color:var(--paper)}
.step-tab[aria-current=step] .step-number{color:var(--plum-light)}
.step-tab:hover:not([aria-current=step]){background:var(--plum-light);color:var(--plum-deep)}

/* ---- Shop: your sizes ---- */
.size-row{display:flex;flex-wrap:wrap;gap:10px 14px}
.size-field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}
.size-field .select-narrow{display:block;width:150px}

/* Example quiz photos in the style step's welcome */
.example-photos{margin:4px 0 14px}
.example-photos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,140px));gap:10px}
.example-photos li{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}
.example-photos img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.example-photos figcaption{margin-top:8px}

/* Substack's sign-up box on the subscribe screens */
.signup-box{display:block;width:100%;max-width:480px;height:320px;margin:18px 0 0;border:1px solid var(--line);border-radius:10px;background:#fff}
.signup-note{margin:10px 0 0}

/* ---- Style landing: sign in, a quieter subscribe, then the walkthrough video ---- */
.gate-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:18px 0 26px}
.quiet-button{display:inline-flex;align-items:center;min-height:46px;padding:12px 20px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--plum);font-size:.86rem;font-weight:500}
.quiet-button:hover{border-color:var(--plum);background:var(--plum-light)}
.studio-demo{display:block;width:100%;max-width:520px;border-radius:8px;border:1px solid var(--line);background:var(--paper-deep)}

/* ---- Studio: the chat box holds the tools ---- */
/* Text and Send on top; the tools along the bottom, with this month's count ("0/10") at the end. */
.composer{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:end;padding:8px 8px 6px 14px}
.composer textarea{grid-column:1;grid-row:1;align-self:stretch}
.composer-send{grid-column:2;grid-row:1;display:flex;align-items:flex-end;gap:8px}
.composer-count{margin-left:auto;padding:0 4px;white-space:nowrap;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.composer .composer-tools{grid-column:1 / -1;margin:2px 0 0 -2px;border-top:1px solid var(--line);padding-top:4px}
.composer-note{grid-column:1 / -1;margin:2px 0 2px;font-size:.76rem;color:var(--muted)}
/* A small arrow after each choice, so it reads as something to tap. */
.tool-button:has(> .tool-select)::after{content:"";width:6px;height:6px;margin:-3px 0 0 -1px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);pointer-events:none}
.consent-note .clear-history{font-size:inherit;padding:0;margin-left:4px;color:var(--plum)}
.consent-note > .clear-history:only-child{margin-left:0}
@media(max-width:620px){
  /* Phones: no site header (the step tabs are the way around), and the tools in one row. */
  .site-header{display:none}
  .studio-bar{padding-top:10px}
  /* No scrolling here: it would cut off the Budget menu, which opens upward. */
  .composer .composer-tools{flex-wrap:nowrap;gap:4px 10px}
  .composer-tools .tool-button{white-space:nowrap;flex-shrink:0;gap:5px}
  /* Icons and choices only; the words stay for screen readers. */
  .composer-tools .file-tool > span,#sq-google-photos > span,#cr-google-photos > span,.tool-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .composer-tools .file-tool svg,#sq-google-photos svg,#cr-google-photos svg{width:20px;height:20px}
}
