/* STUDIO SUITE lane stylesheet: generate. Builds on suite.css tokens and utilities. */

/* Activity indicator: StudioUi::ActivityIndicatorComponent */
.st-activity { display: flex; align-items: center; gap: .5rem; min-height: 1.4rem; color: var(--st-muted); font-size: .76rem; line-height: 1.35; }
.st-activity__mark { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; }
.st-activity__text { display: grid; min-width: 0; }
.st-activity__text strong { overflow: hidden; color: #e6ebf7; font: 650 .76rem var(--plai-heading); text-overflow: ellipsis; white-space: nowrap; }
.st-activity--idle .st-activity__mark { display: none; }
.st-activity--queued .st-activity__mark, .st-activity--running .st-activity__mark { border: 2px solid rgba(255,255,255,.18); border-top-color: #c4b5fd; animation: st-spin .8s linear infinite; }
.st-activity--queued .st-activity__mark { border-top-color: var(--st-muted); animation-duration: 1.6s; }
.st-activity--running { color: #dcd4ff; }
.st-activity--succeeded .st-activity__mark { background: var(--st-ok); box-shadow: 0 0 0 3px rgba(74,222,128,.18); }
.st-activity--succeeded { color: #bdf5d0; }
.st-activity--failed .st-activity__mark { background: var(--st-danger); box-shadow: 0 0 0 3px rgba(251,113,133,.18); }
.st-activity--failed { color: #ffc2cb; }
.st-activity--compact { font-size: .7rem; }
.st-activity--compact .st-activity__text { display: flex; gap: .4rem; white-space: nowrap; }

/* Generate box: StudioUi::GenerateBoxComponent */
.st-gen__type { width: 100%; min-height: 32px; padding: .3rem .55rem; border: 1px solid var(--st-line-strong); border-radius: 8px; color: var(--st-text); background: rgba(5,7,12,.7); font: 600 .76rem var(--plai-heading); }
.st-gen__upload { position: relative; overflow: hidden; }
.st-gen__file { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.st-gen__status:empty { display: none; }
.st-gen__result { color: var(--st-text); font-size: .82rem; line-height: 1.5; white-space: pre-wrap; }
.st-gen__result[hidden] { display: none; }
.st-gen__result .st-thumb { max-width: 100%; }

/* Indicator details: message, meta (queue position and elapsed seconds) */
.st-activity__text { gap: .1rem; }
.st-activity__message { overflow-wrap: anywhere; }
.st-activity__meta { color: var(--st-dim); font-size: .7rem; font-variant-numeric: tabular-nums; }
.st-activity__meta[hidden] { display: none; }
.st-activity--running .st-activity__meta { color: #a99ad8; }
.st-activity--failed .st-activity__message { color: #ffc2cb; }
.st-activity--compact .st-activity__text { align-items: baseline; }
.st-activity--compact .st-activity__message { overflow: hidden; text-overflow: ellipsis; }
.st-activity--compact .st-activity__meta { flex: 0 0 auto; }
.st-gen .st-activity { padding: .35rem .5rem; border-radius: 8px; background: rgba(5,7,12,.45); }
.st-gen .st-activity--idle { padding: 0; background: none; }
.st-gen .st-activity--idle:has([data-activity-message]:empty) { display: none; }
.st-gen__result .st-thumb { display: block; width: 100%; height: auto; border-radius: 8px; }
.st-gen__shortcut { margin-left: auto; color: var(--st-dim); font-size: .66rem; }

/* Activity tray: StudioUi::ActivityTrayComponent (chrome) */
.st-tray { position: relative; }
.st-tray__button { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-width: 32px; height: 32px; padding: 0 .55rem; border: 1px solid var(--st-line-strong); border-radius: 8px; color: #dbe2f2; background: transparent; cursor: pointer; }
.st-tray__button:hover, .st-tray__button[aria-expanded="true"] { border-color: var(--st-accent); color: #fff; }
.st-tray__button.is-active { border-color: color-mix(in srgb, #8b5cf6 60%, transparent); }
.st-tray__button svg { width: 15px; height: 15px; }
.st-tray__button .st-spinner { width: 14px; height: 14px; border-top-color: #c4b5fd; }
.st-tray__icon[hidden], .st-tray__count[hidden] { display: none; }
.st-tray__count { font: 800 .72rem var(--plai-heading); font-variant-numeric: tabular-nums; }
.st-tray__menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 80; width: min(340px, calc(100vw - 24px)); max-height: min(70vh, 460px); overflow: auto; padding: .6rem; border: 1px solid var(--st-line-strong); border-radius: 12px; background: var(--st-panel); box-shadow: 0 18px 48px rgba(0,0,0,.5); }
.st-tray__menu[hidden] { display: none; }
.st-tray__head { margin-bottom: .4rem; color: #fff; font: 700 .74rem var(--plai-heading); letter-spacing: .04em; }
.st-tray__list { display: grid; gap: .35rem; }
.st-tray__item { padding: .5rem .6rem; border: 1px solid var(--st-line); border-radius: 8px; background: var(--st-raised); }
.st-tray__item .st-activity__label { max-width: 260px; }
.st-tray__empty { margin: 0; color: var(--st-muted); font-size: .76rem; }
.st-tray__empty[hidden] { display: none; }
