
/* layout refinements */
.hub-panel, .ws-editor { width: clamp(460px, 30.6vw, 540px); }
.ws-scroll { display: flex; flex-direction: column; }
.ws-scroll > .prompt { flex: 1; display: flex; flex-direction: column; min-height: 150px; }
.prompt-area { flex: 1; resize: none; }
.media-head { align-items: center; }
.media-tools { display: flex; gap: 2px; }
.media-tools .icon-btn { width: 26px; height: 26px; color: #A9B0BB; }
.media-tools .icon-btn:hover { color: #4B5160; }
.slot-thumb { border-radius: 12px; }
.slot-ghost .icon { width: 34px; height: 34px; color: #D2D7E0; }
.slot-plus { right: 5px; bottom: 5px; width: 18px; height: 18px; border-width: 2px; }
.slot-plus .icon { width: 9px; height: 9px; }
.slot-clear { right: 4px; top: 4px; }
.hint-tag { background: none; padding: 0; margin-top: 0; font-weight: 500; }
.ws-hint { font-size: 12.5px; line-height: 1.9; gap: 4px; }
.ws-title h1 { font-size: 18px; }
.new-btn { font-size: 13px; height: 32px; }
.queue-head { font-size: 13.5px; }
.queue-clear { font-size: 11px; }
.preview-tabs button { font-size: 14px; }
.preview-body > h2 { font-size: 22px; }
.preview-body > p { font-size: 12px; }
.select-copy b { font-size: 12.5px; }
.select-copy small { font-size: 10.5px; }
.generate { font-size: 14px; }
.generate em { font-size: 11.5px; }
.ask-head h2 { font-size: 22px; }
.sc-copy b { font-size: 14px; }
.sc-copy small { font-size: 11.5px; }
.ws-hint .hint-tag { font-size: 12.5px; }

/* image settings ratio list could overflow */
.menu-list { max-height: 320px; overflow-y: auto; }
