:root{color-scheme:light;--paper:#f4f7fb;--white:#fff;--ink:#20304b;--slate:#65748b;--line:#dce5f0;--blue:#355dda;--blue-light:#e8edfc;--side:#edf2f9;--voice:#7870ca;font-family:"Segoe UI Variable Text","Segoe UI",sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,textarea,input,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7797f2;outline-offset:3px}button svg,a svg{pointer-events:none}button{border:0}a{color:inherit;text-decoration:none}.icon{width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon.small{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.sidebar{width:270px;padding:36px 21px 20px;background:var(--side);height:100dvh;position:fixed;top:0;left:0;display:flex;flex-direction:column;border-right:1px solid #e3eaf4}.brand{display:flex;align-items:center;gap:11px;font-size:27px;line-height:1;font-weight:650;letter-spacing:-1.2px;padding:0 12px}.brand-dot{color:var(--blue)}.brand-mark{height:34px;width:34px;display:inline-flex;color:var(--blue);flex-shrink:0}.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.new-chat{margin-top:38px;background:#fff;border:1px solid #dce5f2;border-radius:11px;min-height:47px;display:flex;align-items:center;gap:10px;padding:0 13px;font-size:13px;font-weight:600;box-shadow:0 2px 3px #20304b03}.new-chat>.icon{color:var(--blue);width:18px}.new-chat:hover{border-color:#a3b7ed}.key-hint{font-size:11px;color:#8b99ad;border:1px solid #e0e7f2;border-radius:4px;padding:2px 5px;margin-left:auto}.history-heading{display:flex;justify-content:space-between;padding:31px 11px 13px;font-size:11px;font-weight:600;color:#7d8ca2}.history-heading>span:last-child{color:#9aa7bb;font-variant-numeric:tabular-nums}.chat-history{display:flex;flex-direction:column;gap:5px;overflow-y:auto;min-height:0}.chat-row{display:flex;align-items:center;border-radius:8px;min-height:42px;position:relative}.chat-row.active{background:#e0e8f7}.chat-row:hover{background:#e4ebf6}.chat-link{min-width:0;text-align:left;flex:1;background:transparent;padding:11px 29px 11px 11px;font-size:12px;color:#586983;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-row.active .chat-link{color:#2e4eac;font-weight:600}.chat-delete{position:absolute;right:3px;top:9px;background:transparent;border-radius:5px;width:25px;height:25px;display:flex;align-items:center;justify-content:center;color:#8793a8;opacity:0}.chat-delete .icon{width:14px;height:14px}.chat-row:hover .chat-delete,.chat-delete:focus-visible{opacity:1}.chat-delete:hover{background:#f6f8fd;color:#ad3e53}.history-empty{padding:35px 10px;text-align:center;color:#92a0b5}.history-empty>.icon{width:27px;height:27px;color:#a6b5cd}.history-empty p{font-size:12px;line-height:1.8;margin:11px 0}.sidebar-bottom{margin-top:auto;padding-top:25px}.model-card{display:flex;align-items:center;gap:11px;padding:13px 10px;text-align:left;width:100%;background:transparent;border-top:1px solid #dce5f0;border-bottom:1px solid #dce5f0}.model-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.model-card strong{font-size:12px;font-weight:650}.model-card small{font-size:11px;color:#8695ab}.model-chip{width:34px;height:34px;background:#e2e9f6;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#5d75a9}.model-card>.icon{color:#91a0b7}.sidebar-footer{font-size:10px;color:#7f8ea5;display:flex;align-items:center;gap:7px;padding:17px 8px 0}.local-indicator{width:5px;height:5px;border-radius:50%;background:#70a494;display:inline-block}.workspace{margin-left:270px;height:100dvh;min-height:500px;display:flex;flex-direction:column}.topbar{height:82px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:15px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:18px}.workspace-name{font-size:12px;color:#8591a5}.model-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#8390a4;white-space:nowrap}.status-light{width:6px;height:6px;background:#c7a163;border-radius:50%;flex-shrink:0}.model-status.ready .status-light{background:#70a494}.model-status.error .status-light{background:#cc6e7e}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:8px;width:34px;height:34px;color:#7a899e}.icon-button:hover{background:#e8edf6;color:#3e5985}.mobile-menu{display:none}.conversation-scroll{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;scrollbar-color:#d0daea transparent;scrollbar-width:thin}.welcome{max-width:870px;margin:0 auto;padding:52px 40px 24px;text-align:center}.welcome-symbol{position:relative;width:64px;height:64px;margin:0 auto 27px;color:var(--blue)}.welcome-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;position:relative;z-index:1}.welcome-symbol>span{position:absolute;width:35px;height:35px;border-radius:50%;background:#e8edfc;left:14px;top:14px}.welcome-intro{font-size:15px;color:#7d8ba2;margin:0 0 14px}.welcome h1{font-size:clamp(32px,3.7vw,48px);line-height:1.17;letter-spacing:-1.6px;font-weight:550;margin:0;color:#263a5c}.welcome-description{font-size:13px;color:#8391a6;line-height:1.85;margin:23px 0 34px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left;max-width:690px;margin:auto}.suggestion{min-height:127px;border-radius:13px;border:1px solid #dfe6f1;background:#f9fbfd;text-align:left;padding:17px 17px 15px;display:flex;align-items:flex-start;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}.suggestion:hover{border-color:#a9bbed;background:#fff}.suggestion-symbol{height:23px;width:23px;color:#6c83b3;display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:6px;font-weight:300}.suggestion strong{font-size:12px;font-weight:600;color:#4a5e7e}.suggestion>span:last-child{font-size:10px;color:#8d9ab0;line-height:1.6}.composer-area{padding:12px 40px 18px;max-width:910px;width:100%;align-self:center;flex-shrink:0}.composer{background:#fff;border:1px solid #d8e1f1;border-radius:18px;padding:16px 16px 12px;box-shadow:0 6px 25px #29477a05}.composer:focus-within{border-color:#a2b7eb;box-shadow:0 4px 25px #29477a09}textarea{background:transparent;color:var(--ink);resize:none;border:0;outline:none!important;display:block;width:100%;min-height:30px;max-height:160px;line-height:1.55;padding:0 3px;font-size:14px}textarea::placeholder{color:#9aa6b9}.composer-bottom{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:15px}.composer-hint{font-size:9px;color:#a1acc0;padding-left:3px}.composer-hint>span{padding:0 5px}.composer-actions{display:flex;align-items:center;gap:12px}.voice-button{display:flex;align-items:center;gap:7px;font-size:10px;color:#6f7e99;background:#f1f4fa;border-radius:8px;height:34px;padding:0 11px}.voice-button .icon{width:17px;height:17px;color:#677cab}.voice-button:hover{background:#e8edf9;color:var(--blue)}.send-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff}.send-button:disabled{background:#dfe6f3;color:#9fadc6}.send-button:hover:enabled{background:#294fc8}.send-button .icon{width:19px;height:19px}.send-button.busy{background:#405777}.disclaimer{font-size:9px;line-height:1.6;color:#9aa6b9;text-align:center;margin:11px 0 0}.notice{font-size:12px;color:#9b4c59;background:#fff1f2;padding:10px 14px;margin-bottom:10px;border:1px solid #f0d9df;border-radius:9px;line-height:1.6}.messages{width:100%;max-width:820px;margin:0 auto;padding:25px 25px 35px;display:flex;flex-direction:column;gap:28px}.message{display:flex;gap:13px;min-width:0}.message-avatar{width:27px;height:27px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#e7edfb;color:var(--blue)}.message-avatar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.message-body{flex:1;min-width:0}.message-author{font-size:11px;font-weight:650;color:#5d6f8d;margin:4px 0 8px}.message-text{font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#354964;max-width:70ch}.message.user{align-self:flex-end;max-width:85%;display:block}.message.user .message-author{display:none}.message.user .message-text{background:#e6edfc;color:#355181;padding:12px 17px;border-radius:15px 15px 4px 15px;font-size:13px}.message-meta{display:flex;align-items:center;gap:10px;min-height:22px;margin-top:8px;color:#9ba7ba;font-size:9px}.copy-button{display:inline-flex;background:transparent;padding:3px 0;color:#9ba7ba}.copy-button .icon{height:13px;width:13px}.copy-button:hover{color:var(--blue)}.generation-cursor{display:inline-block;width:5px;height:13px;background:#88a1df;vertical-align:-2px;animation:cursor 1s step-end infinite;margin-left:3px}.typing-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#96aad1;animation:typing 1.2s ease infinite;margin-right:4px}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes cursor{50%{opacity:0}}@keyframes typing{50%{opacity:.3;transform:translateY(-3px)}}dialog{color:var(--ink);background:#fcfdff;border:1px solid #e2e8f4;border-radius:22px;box-shadow:0 24px 90px #20304b26;padding:27px;max-height:90dvh;overflow:auto;width:460px;max-width:calc(100% - 32px)}dialog::backdrop{background:#20304b40;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-heading h2{font-weight:600;font-size:18px;letter-spacing:-.4px;margin:0}.dialog-heading>.icon-button{margin:-8px -6px -8px 0}.model-intro{display:flex;align-items:center;gap:15px;padding:28px 0 18px}.model-intro .brand-mark{width:41px;height:41px}.model-intro h3{font-size:17px;font-weight:600;margin:0 0 3px;letter-spacing:-.3px}.model-intro p{font-size:11px;color:#8694aa;margin:0}.settings-copy{font-size:12px;line-height:1.8;color:#72829a;margin:0}.model-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:21px 0;padding:15px 0;border-block:1px solid #e3e9f3}.model-facts dt{font-size:10px;color:#8c99af;margin-bottom:6px}.model-facts dd{font-size:12px;margin:0;color:#4d6283;font-weight:600}.settings-controls label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#586d8d}.settings-controls output{font-variant-numeric:tabular-nums;font-size:11px;color:#728ac0}.settings-controls input{width:100%;accent-color:var(--blue);margin:15px 0 5px;height:5px}.range-labels{display:flex;justify-content:space-between;color:#97a4b8;font-size:9px}.settings-controls .length-label{margin-top:24px;margin-bottom:10px}.settings-controls select{width:100%;padding:9px 10px;color:#6f809b;border:1px solid #dce5f2;background:#f7f9fd;border-radius:7px;font-size:11px}.settings-footnote{font-size:10px;line-height:1.75;color:#94a1b5;margin:23px 0 20px}.clear-history{font-size:11px;background:transparent;color:#a36f7d;padding:0}.clear-confirm{background:#f8edf0;padding:12px;border-radius:8px;margin-top:12px}.clear-confirm p{font-size:11px;color:#956172;margin:0 0 10px}.danger-button,.secondary-button{font-size:11px;padding:7px 10px;border-radius:6px}.danger-button{background:#a34d63;color:white}.secondary-button{background:#fff;color:#8a7a86;margin-left:5px}.voice-dialog{width:490px;text-align:center;padding:27px 27px 23px}.voice-heading{display:flex;align-items:center;gap:8px;font-size:12px;color:#7f8ba2}.voice-heading .icon{height:17px;width:17px}.voice-orb{width:145px;height:145px;border-radius:50%;margin:40px auto 28px;background:radial-gradient(circle at 36% 24%,#eceeff 0%,#c7cdf0 38%,#a4addf 70%,#8e9dd4 100%);position:relative;box-shadow:inset -5px -12px 25px #7f8fc23a,0 14px 45px #9ca9d132;display:flex;align-items:center;justify-content:center}.voice-orb>span{position:absolute;inset:-9px;border:1px solid #d7def1;border-radius:50%;opacity:.7}.voice-orb svg{width:58px;height:58px;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 2px 3px #6377ad35)}.voice-orb.listening>span{animation:listening 1.9s ease-out infinite}.voice-orb.speaking{animation:speaking 2s ease-in-out infinite}.voice-orb.thinking>span{border-style:dashed;animation:thinking 7s linear infinite}.voice-dialog h2{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:0 0 9px}.voice-state{font-size:12px;color:#8d9bb0;line-height:1.7;min-height:21px;margin:0 0 20px}.voice-transcript{min-height:82px;max-height:140px;overflow:auto;font-size:13px;line-height:1.8;color:#7184a4;padding:0 10px;overflow-wrap:anywhere}.voice-controls{display:flex;justify-content:center;gap:17px;margin:21px 0}.voice-control,.end-voice{width:49px;height:49px;border-radius:50%;display:flex;align-items:center;justify-content:center}.voice-control{background:#e5ebfb;color:#5875c5}.voice-control.active{background:#657fc7;color:#fff}.voice-control:disabled{opacity:.45}.end-voice{background:#f7e9ed;color:#bd7b8d}.end-voice .icon{transform:rotate(135deg)}.voice-privacy{font-size:9px;color:#a0abc0;line-height:1.8;margin:20px 0 0}@keyframes listening{0%{transform:scale(.97);opacity:.8}100%{transform:scale(1.18);opacity:0}}@keyframes speaking{50%{transform:scale(1.035)}}@keyframes thinking{to{transform:rotate(360deg)}}@media(min-width:1450px){.welcome{padding-top:95px}.topbar{height:95px}.composer-area{margin-bottom:13px}}@media(max-height:800px) and (min-width:761px){.welcome{padding-top:16px}.welcome-symbol{width:51px;height:51px;margin-bottom:19px}.welcome h1{font-size:39px}.welcome-description{margin:18px 0 24px}.suggestion{min-height:110px;padding:13px}.welcome-intro{margin-bottom:10px}.topbar{height:66px}}@media(max-width:1050px){.sidebar{width:235px;padding-inline:17px}.workspace{margin-left:235px}.topbar{padding:0 25px}.composer-area{padding-inline:25px}.welcome{padding-inline:25px}.composer-hint{display:none}.composer-bottom{justify-content:flex-end}.suggestion{padding:13px 11px}.suggestion strong{font-size:11px}.suggestion>span:last-child{font-size:9px}.workspace-name{font-size:11px}.topbar-actions{gap:10px}.model-status{font-size:9px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);z-index:10;transition:transform .2s;width:270px}.sidebar.open{transform:translateX(0)}.mobile-scrim{position:fixed;inset:0;background:#20304b40;backdrop-filter:blur(2px);z-index:9}.workspace{margin-left:0;min-height:420px}.mobile-menu{display:flex}.topbar{padding:0 19px;height:66px}.topbar-left{gap:10px}.workspace-name{font-size:11px}.topbar-actions{gap:7px}.model-status{font-size:9px}.model-status #status-text{max-width:120px;overflow:hidden;text-overflow:ellipsis}.welcome{padding:35px 23px 24px}.welcome-symbol{width:56px;height:56px;margin-bottom:23px}.welcome-intro{font-size:13px}.welcome h1{font-size:36px;letter-spacing:-1.2px}.welcome-description{font-size:11px;margin:21px 0 27px}.suggestions{gap:8px}.suggestion{padding:13px 10px;min-height:118px;border-radius:10px}.suggestion strong{font-size:10px;line-height:1.5}.suggestion>span:last-child{font-size:9px}.suggestion-symbol{width:20px;height:20px;margin-bottom:3px}.composer-area{padding:10px 16px 15px}.composer{padding:14px 13px 11px;border-radius:16px}.composer-actions{gap:10px}.composer-bottom{margin-top:13px}.disclaimer{font-size:8px;max-width:370px;margin:10px auto 0}.messages{padding:20px 23px 30px;gap:25px}.message-text{font-size:13px}.message.user{max-width:90%}.chat-delete{opacity:1}.voice-dialog{padding-inline:22px}}@media(max-width:370px){.workspace-name{display:none}.welcome h1{font-size:31px}.welcome-description br{display:none}.suggestions{grid-template-columns:1fr}.suggestion{min-height:0;display:grid;grid-template-columns:25px 1fr;padding:11px;gap:2px 10px}.suggestion .suggestion-symbol{grid-row:span 2;margin:0;align-self:center}.suggestion strong{font-size:11px}.suggestion>span:last-child{font-size:9px}.welcome{padding-top:20px}.welcome-symbol{width:42px;height:42px;margin-bottom:16px}.welcome-description{margin:16px 0 20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.voice-calibration{text-align:left;border-top:1px solid #e0e6f2;margin-top:25px;padding-top:17px}.voice-calibration summary{font-size:11px;color:#657ca5;cursor:pointer;list-style-position:outside;margin-left:13px}.voice-calibration summary>span{float:right;font-size:9px;color:#91a0b8}.voice-calibration>p{font-size:10px;color:#9aa7bb;line-height:1.75;margin:13px 0}.voice-calibration select{width:100%;border:1px solid #dce4f3;background:#f6f8fd;padding:9px 10px;border-radius:7px;font-size:11px;color:#677d9e}.calibration-actions{display:flex;gap:8px;align-items:center;margin-top:9px}.record-sample{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;background:#e8edfc;color:#5d76bb;font-size:10px;border-radius:7px;min-height:34px}.record-sample .icon{width:14px;height:14px}.record-sample.recording{background:#f5dfe6;color:#a65c72}.add-phrase-form{display:flex;margin-top:13px;border:1px solid #dfe6f1;border-radius:7px;overflow:hidden}.add-phrase-form input{flex:1;min-width:0;background:transparent;border:0;padding:9px 11px;font-size:10px;color:#617695}.add-phrase-form input::placeholder{color:#a3aec1}.add-phrase-form button{display:flex;align-items:center;background:transparent;padding:0 10px;color:#8397bd}.add-phrase-form .icon{width:15px;height:15px}.calibration-actions .icon-button:disabled{opacity:.4;cursor:default}.voice-dialog:has(.voice-calibration[open]) .voice-orb{width:100px;height:100px;margin-top:30px;margin-bottom:23px}.voice-dialog:has(.voice-calibration[open]) .voice-orb svg{width:44px;height:44px}.voice-dialog:has(.voice-calibration[open]) .voice-transcript{min-height:50px}.voice-dialog:has(.voice-calibration[open]) .voice-controls{margin:15px 0}
.voice-preview{background:transparent;color:#7389b5;font-size:10px;display:inline-flex;gap:6px;align-items:center;justify-content:center;margin:4px 0 0;padding:7px 9px;border-radius:7px}.voice-preview .icon{height:14px;width:14px}.voice-preview:hover{background:#edf1fa}.voice-dialog:has(.voice-calibration[open]) .voice-controls{margin:10px 0}
/* Keep small secondary copy readable on the pale workspace. */
.workspace-name,.model-status,.welcome-intro,.welcome-description,.history-heading,.history-empty,.sidebar-footer,.model-card small,.composer-hint,.disclaimer,.suggestion>span:last-child,.message-meta,.copy-button,.model-intro p,.settings-copy,.model-facts dt,.range-labels,.settings-footnote,.voice-heading,.voice-state,.voice-privacy,.voice-calibration>p,.voice-calibration summary>span{color:#65748b}.voice-transcript{color:#5f7291}.add-phrase-form input::placeholder,textarea::placeholder{color:#7d8ba1}.chat-delete{color:#697c99}.history-heading>span:last-child{color:#73839c}.composer-hint>span{color:#8d9ab0}


/* --- LUMINA RAG & MODERN ENHANCEMENTS --- */
.upload-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #f1f4fa;
  color: #677cab;
  transition: all 0.15s ease;
}
.upload-btn:hover {
  background: #e4ecfc;
  color: #355dda;
}
.upload-btn.active {
  background: #dbeafe;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.doc-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  margin-bottom: 10px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  color: #1e40af;
  animation: fadeIn 0.2s ease;
}
.doc-chip button {
  background: transparent;
  color: #93c5fd;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  padding: 0;
  line-height: 1;
}
.doc-chip button:hover {
  color: #dc2626;
  background: #fee2e2;
}
.rag-source-quote {
  margin-top: 10px;
  padding: 10px 14px;
  background: #f8fafc;
  border-left: 3px solid #3b82f6;
  border-radius: 0 8px 8px 0;
  font-size: 11px;
  color: #475569;
  line-height: 1.6;
}
.rag-source-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  color: #2563eb;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.model-select {
  padding: 5px 10px;
  border-radius: 20px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-size: 11px;
  font-weight: 600;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s;
}
.model-select:hover, .model-select:focus {
  border-color: #3b82f6;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
