.sd20-image-stack{position:relative;flex:0 0 3.4375rem;width:3.4375rem;height:4.375rem;overflow:visible;isolation:isolate}
.sd20-stack-rail,.sd20-stack-track{display:contents}
body.media-mode #hero-notice.sd20-model-announcement{display:block!important;-webkit-line-clamp:unset;overflow:visible!important}
.sd20-announcement-text{display:block}.sd20-announcement-toggle{display:none}
.sd20-stack-card{position:absolute;inset:0;width:3.4375rem;height:4.375rem;border:2px solid #fff;border-radius:.1875rem;background:#2d2f35;box-shadow:0 .25rem .75rem rgba(0,0,0,.3);transform:rotate(var(--stack-rest-angle));z-index:var(--stack-z);transition:transform .4s cubic-bezier(.4,0,.2,1);box-sizing:border-box}
.sd20-stack-preview{position:relative;display:block;width:100%;height:100%;overflow:hidden;padding:0;border:0;border-radius:.1875rem;background:transparent;color:#b5bbc4;font:400 10px/1.3 system-ui,sans-serif;cursor:pointer}
.sd20-stack-preview:disabled{cursor:default}
.sd20-stack-upload-status{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:3px;padding:4px 1px;background:rgba(0,0,0,.6);color:#fff;font:400 10px/1.3 system-ui,sans-serif;white-space:nowrap;pointer-events:none}
.sd20-stack-upload-spinner{box-sizing:border-box;flex:0 0 9px;width:9px;height:9px;border:1.5px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:sd20-stack-upload-spin .8s linear infinite}
@keyframes sd20-stack-upload-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sd20-stack-upload-spinner{animation:none}}
.sd20-stack-preview img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.sd20-stack-card.is-error{border-color:#df7777}
.sd20-stack-card.is-uploading{border-style:dashed}
.sd20-image-stack.expanded{z-index:1100}
.sd20-image-stack.expanded .sd20-stack-card{transform:translateX(calc(var(--stack-index) * 3.5rem)) rotate(var(--stack-open-angle))}
.sd20-image-stack.expanded .sd20-stack-card:hover,.sd20-image-stack.expanded .sd20-stack-card:focus-within{transform:translate(calc(var(--stack-index) * 3.5rem),-.75rem) rotate(var(--stack-open-angle)) scale(1.25);z-index:1000}
.sd20-stack-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translateX(-50%);max-width:12rem;padding:.375rem .625rem;border-radius:.375rem;background:#14161aec;color:#e6e8ec;font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;display:none}
.sd20-stack-delete{position:absolute;top:-.5rem;right:-.5rem;display:none;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;padding:0;border:0;border-radius:50%;background:#e74c3c;color:#fff;cursor:pointer}
.sd20-image-stack.expanded .sd20-stack-card:hover .sd20-stack-tooltip,.sd20-image-stack.expanded .sd20-stack-card:focus-within .sd20-stack-tooltip{display:block}
.sd20-image-stack.expanded .sd20-stack-delete{display:flex}
body.media-mode .sd20-stack-add{position:absolute!important;inset:0;width:2rem!important;height:2rem!important;z-index:100;transform:translate(2.5rem,3.4375rem);transition:transform .4s cubic-bezier(.4,0,.2,1);background:#31343c;border:1px dashed transparent;border-radius:50%;box-shadow:0 .125rem .5rem rgba(0,0,0,.3)}
body.media-mode .sd20-stack-add .reference-slot{opacity:0;width:2rem!important;height:2rem!important}
.sd20-stack-add-circle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#fff;font-size:1.25rem;font-weight:300;line-height:1}
body.media-mode .sd20-image-stack.expanded .sd20-stack-add{width:3.4375rem!important;height:4.375rem!important;transform:translateX(calc(var(--stack-index) * 3.5rem));background:transparent;border:0;border-radius:.1875rem;box-shadow:none}
body.media-mode .sd20-image-stack.expanded .sd20-stack-add .reference-slot{opacity:1;width:3.4375rem!important;height:4.375rem!important}
.sd20-image-stack.expanded .sd20-stack-add-circle{display:none}
body.media-mode .composer:has(.sd20-image-stack) #media-reference-slots{overflow:visible!important;min-width:0;flex-direction:row!important;flex-wrap:nowrap!important;max-height:none!important;gap:0!important}
body.media-mode .composer:has(.sd20-image-stack){grid-template-columns:max-content minmax(0,1fr)!important}
.sd20-image-viewer{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:transparent;backdrop-filter:blur(.5rem);color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;line-height:1.5}
.sd20-viewer-content{position:relative;max-width:90vw;max-height:90dvh}
.sd20-viewer-image{display:block;max-width:100%;max-height:85dvh;object-fit:contain;border-radius:.5rem;box-shadow:0 .5rem 2rem rgba(0,0,0,.5)}
.sd20-viewer-image.has-image-transform{transition:transform .12s ease-out}
.sd20-image-viewer [hidden]{display:none!important}
.sd20-viewer-actions{position:absolute;right:-.5rem;top:-1.5rem;z-index:10;display:flex;align-items:center;gap:.25rem;padding:.3rem .35rem;border:1px solid #ffffff1a;border-radius:.625rem;background:rgba(20,22,26,.78);box-shadow:0 .375rem 1rem rgba(0,0,0,.28);line-height:normal}
.sd20-image-viewer .sd20-viewer-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:0;border-radius:.45rem;background:transparent;color:#ffffffd9;cursor:pointer}
.sd20-image-viewer .sd20-viewer-button:hover{background:#ffffff14}
.sd20-image-viewer .sd20-viewer-original{background:rgba(6,182,212,.22);color:rgb(34,211,238)}
.sd20-image-viewer .sd20-viewer-button:disabled{opacity:.3;cursor:default}
.sd20-image-viewer .sd20-viewer-prev,.sd20-image-viewer .sd20-viewer-next{position:absolute;top:50%;width:2.75rem;height:2.75rem;background:#14161a99;border-radius:50%;transform:translateY(-50%)}
.sd20-viewer-prev{left:-3.75rem}.sd20-viewer-next{right:-3.75rem}
.sd20-viewer-prev svg,.sd20-viewer-next svg{width:34px;height:34px;stroke-width:1.55}
.sd20-viewer-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.5rem 1rem;border-radius:1rem;background:rgba(0,0,0,.6);color:rgba(255,255,255,.9);font-size:.875rem;line-height:1.5}
.sd20-viewer-quality{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.375rem;padding:.3125rem .625rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:rgba(0,0,0,.55);backdrop-filter:blur(.375rem);color:rgba(255,255,255,.78);font-size:.6875rem;line-height:1.2}
.sd20-viewer-quality.is-original{color:rgba(255,255,255,.62)}
/* This variant is enabled only by the reviewed desktop chat attachment policy.
   Keep the legacy media and phone rules independently scoped. */
@media(min-width:841px){
  body:not(.media-mode) .chat-attachment-slot{position:relative;flex:0 0 3.4375rem;width:3.4375rem;height:4.375rem;margin-top:.625rem;overflow:visible}
  body:not(.media-mode) .chat-attachment-slot #attachment{margin:0}
  .sd20-chat-attachment-stack .sd20-stack-card{background:transparent}
  .sd20-chat-attachment-stack .sd20-stack-preview{background:#2d2f35;color:#fff}
  .sd20-chat-attachment-stack .sd20-stack-tooltip{gap:.125rem;padding:.3125rem .625rem;border:1px dashed rgba(61,65,73,.88);background:rgba(56,60,68,.88);color:rgba(140,153,160,.95);font-size:.625rem;line-height:1.5;overflow:visible}
  .sd20-chat-attachment-stack.expanded .sd20-stack-card:hover .sd20-stack-tooltip,.sd20-chat-attachment-stack.expanded .sd20-stack-card:focus-within .sd20-stack-tooltip{display:flex;flex-direction:column;align-items:center}
  .sd20-chat-attachment-stack .sd20-stack-delete{width:1.25rem;height:1.25rem;border:1px solid #41474c;background:#1f2227;color:rgba(255,255,255,.9);font-size:13.3333px;line-height:normal;box-sizing:border-box;z-index:10}
  .sd20-chat-attachment-stack.expanded .sd20-stack-delete{display:none}
  .sd20-chat-attachment-stack.expanded .sd20-stack-card:hover .sd20-stack-delete,.sd20-chat-attachment-stack.expanded .sd20-stack-card:focus-within .sd20-stack-delete{display:flex}
  body:not(.media-mode) .sd20-chat-attachment-stack #attachment.sd20-stack-add{position:absolute!important;inset:0;width:2rem!important;height:2rem!important;z-index:100;transform:translate(2.5rem,3.4375rem);transition:transform .4s cubic-bezier(.4,0,.2,1);background:#31343c;border:1px dashed transparent;border-radius:50%;box-shadow:0 .125rem .5rem rgba(0,0,0,.3)}
  .sd20-chat-attachment-stack .sd20-stack-add>*:not(.sd20-stack-add-circle){opacity:0}
  body:not(.media-mode) .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add{width:3.4375rem!important;height:4.375rem!important;transform:translateX(calc(var(--stack-index) * 3.5rem));background:transparent;border:1px dashed rgba(255,255,255,.2);border-radius:.1875rem;box-shadow:none}
  .sd20-chat-attachment-stack.expanded .sd20-stack-add>*:not(.sd20-stack-add-circle){opacity:1}
  .sd20-chat-attachment-viewer .sd20-viewer-image{transform:translate(0px,0px) scale(1);transition:transform .12s ease-out}
  .sd20-chat-attachment-viewer .sd20-viewer-button{transition:background-color .15s,color .15s}
  .sd20-chat-attachment-viewer .sd20-viewer-prev,.sd20-chat-attachment-viewer .sd20-viewer-next{width:3.5rem;height:3.5rem;background:rgba(255,255,255,.1);transition:background-color .2s}
  .sd20-chat-attachment-viewer .sd20-viewer-prev{left:-5rem}
  .sd20-chat-attachment-viewer .sd20-viewer-next{right:-5rem}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .chat-attachment-slot{display:flex;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack{transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-card{display:flex;cursor:zoom-in}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-preview{position:relative;cursor:zoom-in;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded .sd20-stack-preview:hover:focus-visible{outline:none;outline-offset:0}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack #attachment.sd20-stack-add{overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] #prompt{cursor:auto;overflow:hidden auto;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded{z-index:auto}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded .sd20-stack-card{transition:transform .3s cubic-bezier(.4,0,.2,1)}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add{z-index:0;transform:translateX(calc(var(--stack-index) * 3.5rem)) rotate(-8deg);background:#2d2f35;border:1px dashed rgba(98,105,113,.6)}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.attachment-plus{font-weight:300}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.attachment-count{opacity:.8;letter-spacing:.02em}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-tooltip{top:-3.5rem;bottom:auto;border-radius:.5rem;z-index:9999;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-tooltip>span:last-child{font-size:.5625rem;opacity:.7}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-delete{font-family:Arial;transition:all .2s}
}
@media(max-width:840px){body.media-mode .composer:has(.sd20-image-stack) #media-reference-slots{padding:1.5625rem!important}.sd20-image-viewer .sd20-viewer-prev,.sd20-image-viewer .sd20-viewer-next{width:3.5rem;height:3.5rem;top:calc(50% - 1.75rem);transform:none;background:rgba(255,255,255,.1)}.sd20-viewer-prev{left:1rem}.sd20-viewer-next{right:1rem}}
@media(max-width:840px){.sd20-image-stack .sd20-stack-rail{display:block;position:absolute;left:-1.25rem;top:-3rem;box-sizing:border-box;width:7rem;height:8.625rem;padding:3rem 1.25rem .75rem;overflow:hidden;pointer-events:none}.sd20-image-stack .sd20-stack-track{display:block;position:relative;width:4.5rem;height:4.875rem}.sd20-image-stack .sd20-stack-card,.sd20-image-stack .sd20-stack-add{pointer-events:auto}.sd20-image-stack.expanded .sd20-stack-rail{width:var(--stack-room);pointer-events:auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}.sd20-image-stack.expanded .sd20-stack-track{width:calc((var(--stack-total) - 1) * 3.5rem + 4.1875rem)}.sd20-image-stack.expanded .sd20-stack-tooltip{bottom:100%;max-width:8rem}
body.media-mode #hero-notice.sd20-model-announcement .sd20-announcement-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;font-size:.8125rem;line-height:1.7}
body.media-mode #hero-notice.sd20-model-announcement.is-expanded .sd20-announcement-text{display:block;-webkit-line-clamp:unset}
body.media-mode #hero-notice.sd20-model-announcement .sd20-announcement-toggle{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.125rem .625rem;margin:.5rem auto 0;border:0;background:transparent;color:#00cae0;font:inherit;font-size:.8125rem;line-height:normal;cursor:pointer}
.sd20-announcement-toggle svg{transition:transform .2s}.is-expanded .sd20-announcement-toggle svg{transform:rotate(180deg)}}
/* Accurate150 phone attachments retain the observed fan; the generic media
   rail's clipping and widening do not belong to this reviewed chat variant. */
@media(max-width:840px){
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .chat-attachment-slot{display:flex;position:relative;flex:0 0 3.4375rem;width:3.4375rem;height:4.375rem;margin-top:.625rem;overflow:visible;z-index:auto;color:#fff;line-height:1.5;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .chat-attachment-slot #attachment{margin:0}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded{z-index:auto}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack{transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-rail,
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-track{display:contents;position:static;left:auto;top:auto;width:auto;height:auto;padding:0;overflow:visible;pointer-events:auto}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-card{display:flex;background:transparent;cursor:zoom-in}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-card{transition:transform .3s cubic-bezier(.4,0,.2,1)}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-preview{position:relative;background:#2d2f35;color:#fff;cursor:zoom-in;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-preview:hover:focus-visible{outline:none}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-tooltip{top:-3.5rem;bottom:auto;gap:.125rem;padding:.3125rem .625rem;border:1px dashed rgba(61,65,73,.88);border-radius:.5rem;background:rgba(56,60,68,.88);color:rgba(140,153,160,.95);font-size:.625rem;line-height:1.5;overflow:visible;cursor:zoom-in;z-index:9999;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-tooltip>span:last-child{font-size:.5625rem}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-card:hover .sd20-stack-tooltip,
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-card:focus-within .sd20-stack-tooltip{display:flex;flex-direction:column;align-items:center}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-delete{width:1.25rem;height:1.25rem;border:1px solid #41474c;background:#1f2227;color:rgba(255,255,255,.9);font-size:13.3333px;line-height:normal;box-sizing:border-box;z-index:10;transition:all .2s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-delete{display:none}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-card:hover .sd20-stack-delete,
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-card:focus-within .sd20-stack-delete{display:flex}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack #attachment.sd20-stack-add{position:absolute!important;inset:0;width:2rem!important;height:2rem!important;z-index:100;overflow:hidden;font-size:1rem;color:#fff;transform:translate(2.5rem,3.4375rem);transition:all .4s cubic-bezier(.4,0,.2,1);background:#31343c;border:1px dashed transparent;border-radius:50%;box-shadow:0 .125rem .5rem rgba(0,0,0,.3)}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-add>*:not(.sd20-stack-add-circle){opacity:0}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add{width:3.4375rem!important;height:4.375rem!important;z-index:0;transform:translateX(calc(var(--stack-index) * 3.5rem)) rotate(-8deg);background:#2d2f35;border:1px dashed rgba(98,105,113,.6);border-radius:.1875rem;box-shadow:none}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded .sd20-stack-add>*:not(.sd20-stack-add-circle){opacity:1}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>:is(.attachment-plus,.attachment-label,.attachment-count){color:#626971;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.attachment-plus{font-weight:300}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.attachment-count{opacity:.8;letter-spacing:.02em}
  body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] #prompt{cursor:auto;overflow:hidden auto;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
}
@media(max-width:450px){body.media-mode .composer:has(.sd20-image-stack) #media-control-row{grid-column:1 / -1!important;padding-left:.9375rem!important;border-top:0!important}body.media-mode .composer:has(.sd20-image-stack) .media-extra-camera{grid-row:3!important;width:2rem!important;align-self:center;justify-self:start;margin-left:.9375rem;border:0!important;position:relative!important;z-index:12}}
/* Accurate150 empty entrance. Reference remains tilted while enlarging on
   hover; this excludes the separately reviewed collapsed/expanded stack. */
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment:not(.sd20-stack-add){box-sizing:border-box;background:#2d2f35;border:1px dashed rgba(98,105,113,.6);transform:rotate(-8deg) translateZ(0);transition:all .3s;will-change:transform;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:normal}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment:not(.sd20-stack-add):hover{background:#2d2f35;border-color:rgba(98,105,113,.6);transform:rotate(-8deg) scale(1.08) translateZ(0)}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment:not(.sd20-stack-add)>:is(.attachment-plus,.attachment-label,.attachment-count){color:#626971;font-weight:400;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment:not(.sd20-stack-add)>.attachment-plus{font-weight:300}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment:not(.sd20-stack-add)>.attachment-count{opacity:.8;letter-spacing:.02em}
/* Accurate150 multi-image capacity states. Spacing is measured by its reviewed
   callback; the generic media fan retains its separately reviewed geometry. */
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded .sd20-stack-card{transform:translateX(calc(var(--stack-index) * var(--stack-step,3.5rem))) rotate(var(--stack-open-angle))}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded .sd20-stack-card:is(:hover,:focus-within){transform:translate(calc(var(--stack-index) * var(--stack-step,3.5rem)),-.75rem) rotate(var(--stack-open-angle)) scale(1.25);z-index:1000}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add{transform:translateX(calc(var(--stack-index) * var(--stack-step,3.5rem))) rotate(var(--stack-open-angle,-8deg))}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment.is-full{opacity:.55}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment.is-full>:is(.attachment-plus,.sd20-stack-add-circle){font-size:.875rem;letter-spacing:.05em}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) #attachment.is-full>.attachment-label{font-size:.625rem}
/* Reviewed150's text and circle cross-fade independently of the entry's
   existing shape transform. The three native picker labels fade together;
   count keeps its own .8 opacity and the full entry keeps its parent .55. */
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack #attachment.sd20-stack-add>:is(.attachment-plus,.attachment-label,.attachment-count){opacity:0;color:#626971;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s,opacity .2s}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>:is(.attachment-plus,.attachment-label,.attachment-count){opacity:1;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s,opacity .3s .1s}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.attachment-count{opacity:.8}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack #attachment.sd20-stack-add>.sd20-stack-add-circle{display:flex;opacity:1;color:#fff;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s,opacity .3s .1s}
body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack.expanded #attachment.sd20-stack-add>.sd20-stack-add-circle{opacity:0;transition:background-color .25s,color .2s,border-color .25s,box-shadow .25s,opacity .2s}
@media(prefers-reduced-motion:reduce){body:not(.media-mode) #composer:is([data-chat-attachment-layout="reviewed-150-desktop"],[data-chat-attachment-layout="reviewed-150-phone"]) .sd20-chat-attachment-stack #attachment.sd20-stack-add>:is(.attachment-plus,.attachment-label,.attachment-count,.sd20-stack-add-circle){transition:none!important}}
@media(prefers-reduced-motion:reduce){.sd20-stack-card,body.media-mode .sd20-stack-add{transition:none}}
@media(prefers-reduced-motion:reduce){body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-card,body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-phone"] .sd20-chat-attachment-stack .sd20-stack-add{transition:none!important}}
@media(prefers-reduced-motion:reduce){body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-card,body:not(.media-mode) #composer[data-chat-attachment-layout="reviewed-150-desktop"] .sd20-chat-attachment-stack .sd20-stack-add{transition:none!important}}
/* Shared media description: four lines, a real disclosure, and scroll within
   the space above the island (reference desktop and 390px phone measurements). */
body.media-mode #hero{max-height:max(0px,calc(var(--media-composer-top,100dvh) - 8.125rem));min-height:0}
body.media-mode #hero-notice.sd20-model-announcement{display:flex!important;flex-direction:column;min-height:0;flex-shrink:1;letter-spacing:normal}
body.media-mode #hero-notice.sd20-model-announcement .sd20-announcement-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;min-height:0;overflow:hidden;letter-spacing:.0125rem;font-size:.875rem;line-height:1.8}
body.media-mode #hero-notice.sd20-model-announcement.is-expanded .sd20-announcement-text{display:block;-webkit-line-clamp:unset;overflow:auto}
body.media-mode #hero-notice.sd20-model-announcement .sd20-announcement-toggle{display:flex;align-items:center;justify-content:center;align-self:center;flex-shrink:0;gap:.25rem;padding:.125rem .625rem;margin:.5rem auto 0;border:0;border-radius:999px;background:transparent;color:#00cae0;font:.8125rem Arial;line-height:normal;cursor:pointer;transition:background .2s}
body.media-mode #hero-notice .sd20-announcement-toggle[hidden]{display:none!important}
.sd20-announcement-toggle:hover{background:rgba(0,202,224,.1)!important}
.sd20-announcement-toggle svg{transition:transform .2s}.is-expanded .sd20-announcement-toggle svg{transform:rotate(180deg)}
@media(max-width:840px){body.media-mode #hero{max-height:max(0px,calc(var(--media-composer-top,100dvh) - 4.25rem))}body.media-mode #hero-notice.sd20-model-announcement .sd20-announcement-text{font-size:.8125rem;line-height:1.7}}
.sd20-image-operation{position:fixed;inset:0;z-index:10003;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(8px);color:#e6e8ec;font-family:system-ui,sans-serif}
.sd20-image-operation button{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:0;color:#c4c8ce;background:#ffffff0d;border-radius:6px;padding:8px;font:13px Arial}
.sd20-image-operation button:disabled{opacity:.35;cursor:default}
.sd20-image-operation.edit .sd20-editor-group:not(.colors):not(.actions)>button:disabled{opacity:.3;cursor:not-allowed}
.sd20-image-operation button.active{background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff4d}
.sd20-editor-panel{display:flex;flex-direction:column;align-items:center;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px)}
.sd20-editor-canvas{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;touch-action:none;cursor:crosshair}
.sd20-editor-toolbar{display:flex;gap:12px;align-items:center;padding:12px 18px;background:#202329;border:1px solid #ffffff1a;border-radius:10px;margin-top:12px;max-width:100%;overflow-x:auto;flex-shrink:0}
.sd20-editor-group{display:flex;align-items:center;gap:6px;flex-shrink:0}
.sd20-editor-group~.sd20-editor-group{border-left:1px solid #ffffff26;padding-left:12px}
.sd20-editor-divider{display:none}
.sd20-editor-group.colors button{width:22px;height:22px;padding:0;border-radius:50%}
.sd20-editor-group.colors button.active{box-shadow:0 0 0 2px #fff}
.sd20-editor-group.actions button{padding:10px 14px}.sd20-editor-group.actions .confirm{background:#00cae033;color:#00cae0}
.sd20-image-operation.edit.inline{inset:0 0 auto auto;background:transparent;backdrop-filter:none;pointer-events:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;line-height:1.5;z-index:40}
.sd20-image-operation.inline .sd20-editor-panel{max-width:100%;max-height:100%;pointer-events:none}
.sd20-image-operation.inline .sd20-editor-canvas{max-width:none;max-height:none;border-radius:.5rem;box-shadow:0 .25rem 1rem #0006;pointer-events:auto}
.sd20-image-operation.inline .sd20-editor-toolbar{pointer-events:auto;max-width:calc(100vw - 1rem);margin-top:.75rem;padding:.625rem 1rem;gap:.75rem;border-radius:.75rem;border:1px solid #ffffff1a;background:#1e1f25f2;justify-content:center;box-sizing:border-box}
.sd20-image-operation.inline .sd20-editor-group{gap:.375rem;padding:0;border:0}
.sd20-image-operation.inline .sd20-editor-group~.sd20-editor-group{border-left:1px solid #ffffff26;padding-left:.75rem}
.sd20-image-operation.inline .sd20-editor-group>button{width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;border-radius:.5rem;background:transparent;box-shadow:none;gap:0}
.sd20-image-operation.inline .sd20-editor-group>button.active{background:#6366f14d;border-color:#6366f180;color:#a5a6ff}
.sd20-image-operation.inline .sd20-editor-group.colors{gap:.25rem}
.sd20-image-operation.inline .sd20-editor-group.colors button{width:1.5rem;height:1.5rem;border:2px solid transparent;border-radius:50%}
.sd20-image-operation.inline .sd20-editor-group.colors button.active{border-color:white;box-shadow:0 0 0 .15rem #ffffff26}
.sd20-image-operation.inline .sd20-editor-group.actions{gap:.5rem}
.sd20-image-operation.inline .sd20-editor-group.actions button{width:auto;height:auto;gap:.375rem;padding:.5rem .875rem;border:1px solid #fff3;border-radius:.5rem;background:#ffffff1a;font:500 .8125rem/1.5 system-ui,sans-serif;white-space:nowrap}
.sd20-image-operation.inline .sd20-editor-group.actions svg{width:16px;height:16px}
.sd20-image-operation.inline .sd20-editor-group.actions .confirm{border:0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}
.sd20-image-operation.inline .sd20-editor-group.actions button:last-child{border-color:#ef44444d;background:#ef444426;color:#f87171}
@media(max-width:840px){.sd20-image-operation.inline .sd20-editor-toolbar{width:calc(100vw - 1rem);justify-content:flex-start}}
/* Own43 desktop toolbar shrink and wrapping are independently observed.
   Keep phone and other members on their existing editor layouts. */
@media(min-width:841px){
  .sd20-image-operation.edit.inline[data-editor-width-layout="ordinary43-reviewed"] .sd20-editor-toolbar{flex-shrink:1;max-width:none;overflow:visible;}
  .sd20-image-operation.edit.inline[data-editor-width-layout="ordinary43-reviewed"] .sd20-editor-group{flex-shrink:1;}
  .sd20-image-operation.edit.inline[data-editor-width-layout="ordinary43-reviewed"] .sd20-editor-group.actions button{white-space:normal;}
  /* User-approved own43 exception only while the default toolbar is outside
     the operation surface or screen. Wide defaults and phone stay intact. */
  .sd20-image-operation.edit.inline[data-editor-desktop-toolbar="scroll-on-overflow"] .sd20-editor-toolbar.narrow-scroll{max-width:calc(100% - 1rem);overflow-x:auto;justify-content:flex-start;}
  .sd20-image-operation.edit.inline[data-editor-desktop-toolbar="scroll-on-overflow"] .sd20-editor-toolbar.narrow-scroll .sd20-editor-group{flex-shrink:0;}
  .sd20-image-operation.edit.inline[data-editor-desktop-toolbar="scroll-on-overflow"] .sd20-editor-toolbar.narrow-scroll .sd20-editor-group.actions button{white-space:nowrap;}
}
@media(min-width:841px){
  .sd20-image-operation.edit.inline .sd20-editor-divider{display:block;width:1px;height:1.5rem;background:rgba(255,255,255,.15);flex-shrink:0}
  .sd20-image-operation.edit.inline .sd20-editor-group~.sd20-editor-group{border-left:0;padding-left:0}
  .sd20-image-operation.edit.inline .sd20-editor-group:not(.actions)>button{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}
  .sd20-image-operation.edit.inline .sd20-editor-group:not(.colors):not(.actions)>button{color:rgba(255,255,255,.7)}
  .sd20-image-operation.edit.inline .sd20-editor-group:not(.colors):not(.actions)>button.active{color:#818cf8}
  .sd20-image-operation.edit.inline .sd20-editor-group.actions button{font-family:inherit}
  .sd20-image-operation.edit.inline .sd20-editor-group.actions button:not(.confirm):not(:last-child){color:rgba(255,255,255,.9)}
}
@media(max-width:840px){
  .sd20-image-operation.edit{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;line-height:1.5}
  .sd20-image-operation.edit .sd20-editor-divider{display:block;width:1px;height:1.5rem;background:rgba(255,255,255,.15);flex-shrink:0}
  .sd20-image-operation.edit .sd20-editor-group{gap:.375rem;padding:0;border:0}
  .sd20-image-operation.edit .sd20-editor-group~.sd20-editor-group{border-left:0;padding-left:0}
  .sd20-image-operation.edit .sd20-editor-group>button{width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;border-radius:.5rem;background:transparent;box-shadow:none;gap:0;font:inherit;font-size:1rem;font-weight:400;line-height:1.5}
  .sd20-image-operation.edit .sd20-editor-group:not(.colors):not(.actions)>button{color:rgba(255,255,255,.7)}
  .sd20-image-operation.edit .sd20-editor-group:not(.colors):not(.actions)>button.active{background:#6366f14d;border-color:#6366f180;color:#818cf8}
  .sd20-image-operation.edit .sd20-editor-group>button>svg{width:20px;height:20px}
  .sd20-image-operation.edit .sd20-editor-group.colors{gap:.25rem}
  .sd20-image-operation.edit .sd20-editor-group.colors button{width:1.5rem;height:1.5rem;border:2px solid transparent;border-radius:50%}
  .sd20-image-operation.edit .sd20-editor-group.colors button.active{border-color:white;box-shadow:0 0 0 .15rem #ffffff26}
  .sd20-image-operation.edit .sd20-editor-group.actions{gap:.5rem}
  .sd20-image-operation.edit .sd20-editor-group.actions button{width:auto;height:auto;gap:.375rem;padding:.5rem .875rem;border:1px solid #fff3;border-radius:.5rem;background:#ffffff1a;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.5;white-space:nowrap}
  .sd20-image-operation.edit .sd20-editor-group.actions button:not(.confirm):not(:last-child){color:rgba(255,255,255,.9)}
  .sd20-image-operation.edit .sd20-editor-group.actions button>svg{width:16px;height:16px}
  .sd20-image-operation.edit .sd20-editor-group.actions .confirm{border:0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}
  .sd20-image-operation.edit .sd20-editor-group.actions button:last-child{border-color:#ef44444d;background:#ef444426;color:#f87171}
}
.sd20-image-operation.crop{background:rgba(0,0,0,.88);backdrop-filter:blur(.5rem);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;line-height:1.5}
.sd20-image-operation.crop>.sd20-crop-smart-notice{position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);z-index:20;box-sizing:border-box;max-width:calc(100vw - 2rem);padding:.5rem 1rem;border:1px solid rgba(250,173,20,.55);border-radius:.55rem;background:rgba(28,30,34,.92);box-shadow:0 .375rem 1.25rem rgba(0,0,0,.4);color:rgba(255,255,255,.92);font:400 .82rem/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;text-align:center;white-space:nowrap}
.sd20-image-operation.crop>.sd20-crop-smart-notice[hidden]{display:none}
.sd20-crop-panel{display:flex;flex-direction:column;width:max-content;max-width:100vw;max-height:94dvh;padding:0;gap:.75rem;background:transparent;border:0;border-radius:0;box-sizing:border-box}
.sd20-crop-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.9);flex-shrink:0}
.sd20-image-operation .sd20-crop-header button{width:2.25rem;height:2.25rem;padding:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:.55rem;color:rgba(255,255,255,.85);transition:background .15s}
.sd20-crop-header button svg{stroke-width:2.64}
.sd20-crop-stage{display:flex;justify-content:center;align-items:center;min-height:0}
.sd20-crop-wrap{position:relative;display:inline-block;max-width:calc(100vw - 2.5rem);line-height:0;overflow:hidden;border-radius:.5rem}
.sd20-crop-canvas{display:block;max-width:calc(100vw - 2.5rem);max-height:calc(100dvh - 13.875rem);width:auto;height:auto;object-fit:contain;border-radius:.5rem;touch-action:none;cursor:move}
.sd20-crop-region-layer{position:absolute;inset:0;pointer-events:none}
.sd20-crop-region-layer[hidden]{display:none}
.sd20-crop-region{position:absolute;box-sizing:border-box;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(0,0,0,.45);cursor:move;touch-action:none;pointer-events:auto}
.sd20-crop-region.active{z-index:6;border-color:#22d3ee;background:rgba(6,182,212,.1)}
.sd20-crop-region .image-cropper-region-idx{position:absolute;top:.125rem;left:.125rem;min-width:1.1rem;padding:0 .2rem;border-radius:.3rem;background:#000000a6;color:#ffffffeb;font-size:.65rem;line-height:1.1rem;text-align:center;pointer-events:none}
.sd20-image-operation .sd20-crop-region .image-cropper-region-del{position:absolute;top:.125rem;right:.125rem;display:flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;padding:0;border:0;border-radius:.3rem;background:#000000a6;color:#ffffffd9;font-size:.8rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.sd20-image-operation .sd20-crop-region .image-cropper-region-del:hover{background:#f5222dd9;color:#fff}
.sd20-crop-region .image-cropper-handle{position:absolute;width:.75rem;height:.75rem;background:#fff;border-radius:.125rem;box-shadow:0 0 .25rem #00000080;touch-action:none}
.sd20-crop-region .image-cropper-handle-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nwse-resize}
.sd20-crop-region .image-cropper-handle-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:ns-resize}
.sd20-crop-region .image-cropper-handle-ne{top:0;right:0;transform:translate(50%,-50%);cursor:nesw-resize}
.sd20-crop-region .image-cropper-handle-e{top:50%;right:0;transform:translate(50%,-50%);cursor:ew-resize}
.sd20-crop-region .image-cropper-handle-se{bottom:0;right:0;transform:translate(50%,50%);cursor:nwse-resize}
.sd20-crop-region .image-cropper-handle-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:ns-resize}
.sd20-crop-region .image-cropper-handle-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:nesw-resize}
.sd20-crop-region .image-cropper-handle-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:ew-resize}
.sd20-crop-toolbar{display:flex;align-items:center;gap:1rem;padding:.25rem .125rem;flex-wrap:wrap;flex-shrink:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.sd20-crop-group,.sd20-crop-actions{display:flex;align-items:center;gap:.375rem;flex-wrap:nowrap;flex-shrink:0}.sd20-crop-actions{margin-left:auto;gap:.5rem}
.sd20-image-operation .sd20-crop-toolbar button{flex-shrink:0;white-space:nowrap;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:.5rem;color:rgba(255,255,255,.85);padding:.3rem .6rem;font:.78rem Arial;gap:0;transition:background .15s,border-color .15s}
.sd20-image-operation .sd20-crop-toolbar button.active{background:rgba(6,182,212,.25);border-color:rgba(6,182,212,.6);color:#fff;box-shadow:none}
@media(max-width:840px){body:not(.media-mode):has(#composer[data-chat-attachment-layout="reviewed-150-phone"]):has(.sd20-chat-attachment-viewer) .sd20-image-operation.crop .sd20-crop-toolbar button.active:hover{background:rgba(255,255,255,.18)}}
.sd20-crop-toolbar [hidden]{display:none!important}.sd20-grid-steps{align-items:center}.sd20-grid-number{min-width:1.125rem;text-align:center;font-size:.82rem;color:rgba(255,255,255,.9)}.sd20-grid-label{font-size:.78rem;color:rgba(255,255,255,.55);margin:0 .125rem 0 .25rem}
.sd20-image-operation .sd20-grid-steps button{width:1.5rem;height:1.5rem;padding:0;border-radius:.375rem;font-size:.85rem;line-height:1;transition:background .15s}
.sd20-image-operation .sd20-crop-actions button{padding:.4rem .9rem;font-size:.82rem;gap:.35rem;transition:background .15s}
.sd20-image-operation .sd20-crop-actions button:last-child{background:rgba(6,182,212,.85);border-color:transparent;color:#fff}
.sd20-crop-actions button svg{width:15px;height:15px;stroke-width:3.52}
.sd20-crop-custom{display:contents}.sd20-crop-custom[hidden]{display:none}.sd20-crop-custom input{box-sizing:border-box;flex-shrink:0;width:2.75rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:.375rem;padding:.28rem .3rem;font:.78rem Arial}.sd20-crop-custom span{color:rgba(255,255,255,.6);font-size:.78rem}
@media(max-width:840px){.sd20-editor-toolbar{padding:10px;gap:8px;width:calc(100vw - 32px)}}
@media(max-width:48rem){.sd20-crop-panel{width:100vw;padding:0 .75rem}.sd20-crop-toolbar{row-gap:.5rem}.sd20-crop-canvas{max-height:calc(94vh - 11rem)}.sd20-crop-actions{width:100%;justify-content:flex-end;margin-left:0}}
/* Ordinary Nano2 phone preview: observed own43 controls and touch surface.
   Other model policies and the completed chat attachment viewer stay intact. */
@media(max-width:840px){.sd20-image-viewer:has(.sd20-viewer-image.has-image-transform) .sd20-viewer-button{font-family:Arial;font-size:13.3333px}.sd20-image-viewer .sd20-viewer-image.has-image-transform{touch-action:none}.sd20-image-viewer:has(.sd20-viewer-image.has-image-transform) :is(.sd20-viewer-prev,.sd20-viewer-next){z-index:10;color:#fff}}

/* Reviewed ordinary43 editor navigation. Canvas export stays at source size. */
.sd20-editor-content{position:relative;display:flex;align-items:center;justify-content:center;gap:1rem;flex-shrink:0}
.sd20-image-operation.edit .sd20-editor-prev,.sd20-image-operation.edit .sd20-editor-next{width:3rem;height:3rem;flex-shrink:0;padding:0;margin:0;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:rgba(255,255,255,.9);box-shadow:none;gap:normal;font:inherit;pointer-events:auto}
.sd20-image-operation.edit .sd20-editor-prev:disabled,.sd20-image-operation.edit .sd20-editor-next:disabled{opacity:.3;cursor:not-allowed}
.sd20-image-operation.edit .sd20-editor-prev>svg,.sd20-image-operation.edit .sd20-editor-next>svg{display:block;width:24px;height:24px}
.sd20-editor-counter{position:absolute;top:-2rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:white;border-radius:1rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.5;white-space:nowrap}
.sd20-image-operation.edit .sd20-editor-content>[hidden]{display:none}
