diff --git a/src/styles.css b/src/styles.css index 0bf94a4..9952283 100644 --- a/src/styles.css +++ b/src/styles.css @@ -319,6 +319,133 @@ body { background: var(--bg); color: var(--text); font-family: ui-sans-serif, sy font-size: 13px; } +.header--chat { + justify-content: space-between; +} + +.header-main { + min-width: 0; + display: flex; + flex-direction: column; + gap: 2px; +} + +.header-title { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.header-actions { + flex-shrink: 0; + margin-left: auto; + display: flex; + align-items: center; +} + +.model-picker { + position: relative; +} + +.model-picker-toggle { + display: inline-flex; + align-items: center; + gap: 8px; + max-width: min(320px, 42vw); + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 999px; + background: var(--input-bg); + color: var(--text); + cursor: pointer; +} + +.model-picker-toggle:hover { + border-color: var(--accent); +} + +.model-picker-toggle:disabled { + opacity: 0.6; + cursor: not-allowed; +} + +.model-picker-label, +.model-picker-option-label { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.model-picker-caret, +.model-picker-status { + flex-shrink: 0; + color: var(--muted); +} + +.model-picker-menu { + position: absolute; + top: calc(100% + 8px); + right: 0; + min-width: 260px; + max-width: min(360px, calc(100vw - 32px)); + max-height: 320px; + overflow-y: auto; + padding: 6px; + border: 1px solid var(--border); + border-radius: 12px; + background: var(--panel); + box-shadow: 0 14px 32px rgba(0,0,0,.35); + z-index: 20; +} + +.model-picker-option { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 9px 10px; + border: 0; + border-radius: 10px; + background: transparent; + color: var(--text); + cursor: pointer; + text-align: left; +} + +.model-picker-option:hover { + background: var(--hover-bg); +} + +.model-picker-option.selected { + background: var(--active-bg); +} + +.model-picker-empty { + padding: 10px; + color: var(--muted); + font-size: 13px; +} + +@media (max-width: 720px) { + .header--chat { + align-items: flex-start; + flex-wrap: wrap; + } + + .header-actions { + width: 100%; + margin-left: 0; + justify-content: flex-end; + } + + .model-picker-toggle { + max-width: min(100%, 320px); + } +} + .chat { display: grid; grid-template-columns: 1fr minmax(auto, 1000px) 1fr;