/* Shared dark glass theme. Only UI surfaces blur; the wallpaper stays intact. */
:root{color-scheme:dark;--ink:#f1f6ff;--muted:#bdcce0;--line:rgba(194,217,247,.2);--paper:#101b2d;--panel:rgba(13,24,41,.58);--glass-bg:rgba(13,24,41,.58);--glass-border:rgba(200,220,250,.24);--glass-surface:linear-gradient(120deg,rgba(39,78,123,.48),rgba(15,22,36,.62) 65%,rgba(20,18,26,.58));--shadow:0 16px 48px rgba(0,8,20,.2)}
body{color:var(--ink)}
.sidebar,.topbar,.panel,.results,.chat-panel,.chat-history,.modal,.chat-dialog{background:var(--glass-surface);color:var(--ink);border-color:var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(115%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(115%);box-shadow:var(--shadow),inset 0 1px 0 rgba(231,243,255,.06)}
.sidebar{border-right:1px solid var(--glass-border)}
.topbar{border-bottom:1px solid var(--glass-border)}
.panel,.results,.modal{border-radius:14px}
.modal{border:1px solid var(--glass-border)}
.modal-backdrop,.chat-dialog::backdrop{background:rgba(4,10,20,.48)}
.brand strong,.crumb strong,.advanced-row b,.results-head h2,.modal h2,.chat-heading h1,.history-heading h2{color:#f4f8ff}
.brand span,.nav-item,.settings-link,.connection-pill,.side-section,.crumb,.crumb b,.eyebrow,.field-label,.field-label span,.advanced-row,.advanced-btn,.switch-label,.modal-desc,.privacy-note,.glass-setting small,.glass-setting output,.results-head p,.done-tag,.rail-title,.rail-title span,.result-count,.empty-state,.empty-state h3,.empty-state p,.upload-zone,.upload-zone small,.advanced-panel label,.chat-heading p,.chat-welcome,.model-picker,.request-picker,.history-date,.history-note,.chat-muted,.conversation-item small,.error-empty,.error-entry time,.reveal{color:var(--muted)}
.nav-item.active,.sidebar nav .nav-item.active{background:rgba(97,162,228,.19);color:#fff;border-left-color:#9ccfff;box-shadow:inset 0 0 0 1px rgba(189,221,255,.18)}
.nav-item:hover,.settings-link:hover{background:rgba(167,205,246,.12);color:#fff}
textarea,select,.text-input,.custom-size,.advanced-panel input,.advanced-panel select{background:rgba(7,18,34,.35);border:1px solid var(--line);color:var(--ink);caret-color:#d8eeff}
textarea::placeholder,input::placeholder{color:#aebed2;opacity:1}
select option{background:#16273e;color:#f1f6ff}
textarea:focus,select:focus,input:focus{border-color:#a1cbed;outline:2px solid rgba(149,203,249,.24);outline-offset:1px}
button:focus-visible,a:focus-visible{outline:2px solid #b9ddff;outline-offset:3px}
.ratio,.resolution-toggle,.chat-button,.ghost-btn,.close-btn,.icon-btn,.download{background:rgba(100,143,190,.09);border:1px solid var(--glass-border);color:#e4efff}
.ratio.active,.resolution-toggle button.active,.conversation-item.active{background:rgba(92,158,220,.27);border-color:rgba(162,209,254,.72);color:#fff}
.ratio:not(.active),.resolution-toggle button{color:#c4d3e7}
.ratio:hover,.chat-button:hover,.ghost-btn:hover,.close-btn:hover,.resolution-toggle button:not(:disabled):hover{background:rgba(110,169,226,.23)}
.generate-btn,.primary-btn,.send-button{background:linear-gradient(120deg,rgba(79,137,197,.48),rgba(72,111,161,.28));border:1px solid rgba(174,211,255,.48);color:#fff;box-shadow:inset 0 1px 0 rgba(226,242,255,.12),0 5px 18px rgba(3,13,28,.16)}
.generate-btn:hover,.primary-btn:hover,.send-button:hover{background:rgba(87,151,216,.48)}
.results-head,.mode-tabs,.advanced-row,.chat-heading,.chat-compose,.history-rail,.connection-pill,.error-list,.error-entry{border-color:var(--line)}
.mode{color:#afc2d9}.mode small{color:#9eb4cc}.mode.active{color:#fff;border-color:#b2d7ff}
.glass-setting,.empty-state,.upload-zone,.history-rail,.result-card,.conversation-item{background:rgba(8,19,35,.2);border-color:var(--line)}
.empty-orbit,.upload-icon{color:#c0e0ff}.upload-zone b{color:#dcecff}
.upload-zone.dragging{background:rgba(97,160,229,.25);border-color:#b3dcff}
.history-thumb{background-color:rgba(10,21,36,.32)}
.done-tag{border-color:var(--line)}
.progress{background:rgba(135,174,218,.16)}.progress span{background:#a0d3ff}
.connection-test,.test-connection{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.connection-test i,.test-connection i{display:inline-block;flex:0 0 7px;width:7px;height:7px;background:#899aad;border-radius:50%}
.connection-pill i.ok,.connection-test i.ok,.test-connection i.ok{background:#8de3b8}
.resolution-hint,.message-error,#chatFeedback,#settingsFeedback,.error-entry b{color:#ffd1a8}.error-entry p{color:#e7d5d5}
.chat-bubble{background:rgba(29,48,72,.68);color:#edf5ff;border:1px solid rgba(193,218,248,.2);box-shadow:0 5px 18px rgba(0,10,25,.1)}
.chat-bubble:before{border-right-color:rgba(29,48,72,.8)}
.user .chat-bubble{background:rgba(49,93,117,.62);color:#f0faff;border-color:rgba(169,222,237,.3)}
.user .chat-bubble:before{border-left-color:rgba(49,93,117,.8)}
.chat-avatar{border:1px solid rgba(214,234,255,.45)}
.conversation-item{color:#edf5ff}.conversation-item:hover{background:rgba(99,155,216,.16)}
.generated-image-link{color:#b2d9ff}
.code-block{background:rgba(4,13,25,.58);border-color:var(--glass-border)}.code-header{background:rgba(66,104,146,.23)}
.remove-preview,.chat-attachment button{background:#334e6d;border-color:#b4cce7;color:white}
*{scrollbar-width:thin;scrollbar-color:rgba(170,202,239,.45) transparent}
@media(max-width:760px){
  .image-page .topbar,.chat-page .topbar,.chat-history{background:var(--glass-surface)}
  .chat-history.open{background:linear-gradient(130deg,rgba(24,48,78,.88),rgba(9,18,32,.9))}
  .image-page .history-thumb{background-color:rgba(10,21,36,.32)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.sidebar,.topbar,.panel,.results,.chat-panel,.chat-history,.modal,.chat-dialog{background:rgba(15,29,47,.94)}}

.image-page .results-head .image-save-notice{color:#ffd1a8;font-size:13px;line-height:1.7;margin:10px 0 0;overflow-wrap:anywhere}
