/* Palette tokens are shared by the public site and the personal cabinet. */
:root {
  color-scheme: dark;
  --raised:#242c22; --input:#131a11; --accent-ink:#17210c;
  --accent-surface:#293521; --hover:#35432a; --glow:#25321c;
  --deck-a:#333d2d; --deck-b:#171c17; --record-a:#141914; --record-b:#2b3429;
  --error-bg:#38272a; --error-line:#74505b; --error-text:#ffd3d3;
}
html[data-theme="wave"] {
  color-scheme:dark; --bg:#0d1422; --panel:#182335; --raised:#25324a;
  --input:#111c2b; --line:#34445c; --muted:#abb9cd; --text:#eff5fd;
  --lime:#84dbe8; --accent-ink:#13212b; --accent-surface:#203742;
  --hover:#2a4050; --glow:#122744; --deck-a:#2b4161; --deck-b:#162031;
  --record-a:#101927; --record-b:#2b3a4e;
}
html[data-theme="vinyl"] {
  color-scheme:dark; --bg:#17191d; --panel:#22252b; --raised:#2c3038;
  --input:#1b1e24; --line:#3c424c; --muted:#b2bac7; --text:#f3f5f8;
  --lime:#d4dbe4; --accent-ink:#242a32; --accent-surface:#333942;
  --hover:#3e4652; --glow:#232932; --deck-a:#373c46; --deck-b:#1d2027;
  --record-a:#16191e; --record-b:#343944;
}
html[data-theme="daylight"] {
  color-scheme:light; --bg:#f4f6fa; --panel:#ffffff; --raised:#ebeff7;
  --input:#f8f9fc; --line:#cdd5e3; --muted:#5a667b; --text:#1f293c;
  --lime:#4456bd; --accent-ink:#ffffff; --accent-surface:#e8edf9;
  --hover:#e0e5f3; --glow:#e9edf8; --deck-a:#dde4f1; --deck-b:#f8f9fc;
  --record-a:#2a3349; --record-b:#44506c;
  --error-bg:#fff0ed; --error-line:#e6b8b1; --error-text:#953a2d;
}
html[data-theme="aurora"] {
  color-scheme:dark; --bg:#141320; --panel:#211f32; --raised:#2d2942;
  --input:#181626; --line:#403b56; --muted:#b8b2ca; --text:#f5f2fc;
  --lime:#c3b8ec; --accent-ink:#241d36; --accent-surface:#35304c;
  --hover:#403953; --glow:#24203d; --deck-a:#3b3454; --deck-b:#1d1a2c;
  --record-a:#181420; --record-b:#39314c;
}
body { background-image:radial-gradient(ellipse at 85% 0,var(--glow) 0,transparent 42rem); }
main, .workspace, .chat-main, .sidebar, .theme-choice { min-width:0; }
h1,h2,h3,code,.break-word { overflow-wrap:anywhere; }
.lead,.card-number,.deck-top,.text-button,.source-hint,.sample-chat ol,.practice-steps,
.history-list>a,.composer>div>span,summary,form label,.panel p>label { color:var(--muted); }
.button { background:var(--raised); border-color:var(--line); color:var(--text); min-height:44px; }
.button.lime,.avatar,.send,.record-label { background:var(--lime); border-color:var(--lime); color:var(--accent-ink); }
.pill,.play-icon,.label { border-color:var(--line); }
.label { color:var(--muted); }
input,textarea,select { background:var(--input); border-color:var(--line); color:var(--text); }
.preview-bar,.notice { background:var(--accent-surface); border-color:var(--line); color:var(--text); }
.notice.error { background:var(--error-bg); border-color:var(--error-line); color:var(--error-text); }
.errorlist { color:var(--error-text); }
.panel,.card,.price-card,.bubble,.sample-chat,.theme-dialog { background:var(--panel); border-color:var(--line); }
.price-card { background:linear-gradient(150deg,var(--accent-surface),var(--panel)); }
.sample-question,.bubble.user,.empty-mark,.history-list>a.selected { background:var(--accent-surface); border-color:var(--line); }
.composer,.quick-grid button { background:var(--input); border-color:var(--line); color:var(--text); }
.quick-grid button:hover { background:var(--hover); border-color:var(--lime); }
.sidebar { background:var(--bg); }
.deck-art { background:linear-gradient(135deg,var(--deck-a),var(--deck-b) 70%); border-color:var(--line); }
.record { background:repeating-radial-gradient(circle,var(--record-a) 0 3px,var(--record-b) 4px,var(--record-a) 5px); border-color:var(--line); }
.waveform { background:var(--input); border-color:var(--line); color:var(--lime); }
.floating-card { background:var(--panel); color:var(--text); border:1px solid var(--line); max-width:calc(100% + 20px); }
.floating-card small { color:var(--muted); }
.live-dot { box-shadow:0 0 18px var(--accent-surface); }
.practice-entry { border-color:var(--lime); }
.send { width:44px; height:44px; }
.topic-icon { display:inline-flex; vertical-align:middle; color:var(--lime); margin-right:6px; }
.topic-icon svg { width:16px; height:16px; }
.faq-layout,.inquiry-list { width:min(860px,90%); margin:24px auto 80px; }
.faq-group { margin:32px 0 46px; }
.faq-group>.eyebrow { margin:0 0 12px; }
.faq-entry { border-top:1px solid var(--line); padding:0; }
.faq-entry:last-child { border-bottom:1px solid var(--line); }
.faq-entry summary { min-height:60px; color:var(--text); font-size:16px; font-weight:600; line-height:1.45; }
.faq-entry>p { padding:0 32px 20px 0; color:var(--muted); font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.faq-head .button { margin-top:12px; }
.contact-promo { width:90%; max-width:1240px; margin:0 auto 65px; padding:32px; border:1px solid var(--line); border-radius:20px; background:var(--panel); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.contact-promo h2 { font-size:30px; margin:0 0 14px; }
.contact-promo p:not(.eyebrow) { color:var(--muted); max-width:650px; margin:0; }
.contact-promo .eyebrow { margin:0 0 14px; }
.inquiry-wrap { max-width:1120px; }
.inquiry-brief { white-space:pre-wrap; overflow-wrap:anywhere; }
.inquiry-item .actions { flex-wrap:wrap; gap:9px; }
.inquiry-item .actions form { margin:0; }
.inquiry-retry { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:12px 0 18px; }
.honeypot-wrap { position:absolute!important; width:1px!important; height:1px!important; left:-10000px!important; overflow:hidden!important; }
summary { min-height:44px; display:flex; align-items:center; }
summary::after { content:'⌄'; margin-left:auto; padding-left:12px; font-size:18px; color:var(--lime); }
details[open]>summary::after { content:'⌃'; }
.card a.button { color:var(--text); }
.card a.button.lime { color:var(--accent-ink); }
.header-actions { display:flex; align-items:center; gap:8px; }
.appearance-button,.menu-button,.dialog-close {
  border:1px solid var(--line); border-radius:10px; background:var(--panel);
  color:var(--text); display:inline-flex; align-items:center; justify-content:center;
  gap:7px; min-height:44px; min-width:44px; padding:8px 12px; font-size:12px;
}
.appearance-button>span:first-child { font-size:22px; line-height:1; color:var(--lime); }
.menu-button { display:none; }
html:not([data-js="true"]) .appearance-button,html:not([data-js="true"]) .menu-button { display:none; }
.topbar nav { margin-left:auto; }
.theme-dialog {
  color:var(--text); width:min(680px,calc(100% - 32px)); max-height:calc(100svh - 32px);
  padding:28px; border:1px solid var(--line); border-radius:24px;
  box-shadow:0 28px 90px #0005; overflow-y:auto;
}
.theme-dialog::backdrop { background:#0008; backdrop-filter:blur(5px); }
.dialog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.dialog-heading .eyebrow { margin-bottom:12px; }
.dialog-heading h2 { font-size:30px; margin-bottom:18px; }
.dialog-close { font-size:24px; padding:0; }
.theme-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.theme-choice {
  position:relative; text-align:left; padding:16px; border:1px solid var(--line); border-radius:14px;
  background:var(--input); color:var(--text); font:inherit; cursor:pointer; display:block;
}
.theme-choice:hover { border-color:var(--lime); }
.theme-choice.is-selected { background:var(--accent-surface); border-color:var(--lime); box-shadow:inset 0 0 0 1px var(--lime); }
.theme-choice:focus-visible,.theme-radio:focus-within { outline:2px solid var(--lime); outline-offset:3px; }
.theme-swatches { display:flex; gap:5px; margin-bottom:12px; }
.theme-swatches i { display:block; width:26px; height:26px; border-radius:50%; background:var(--swatch); border:1px solid #8885; }
.theme-name { display:block; font-size:14px; font-weight:650; margin-bottom:5px; color:var(--text); }
.theme-description { display:block; font-size:11px; line-height:1.65; color:var(--muted); }
.theme-radio input { position:absolute; top:16px; right:16px; width:17px; height:17px; margin:0; accent-color:var(--lime); }
.theme-fieldset { padding:0; border:0; margin:30px 0; min-width:0; }
.theme-fieldset legend { font-size:22px; color:var(--text); font-weight:600; margin-bottom:12px; }
.theme-status { color:var(--muted); font-size:12px; line-height:1.7; margin:14px 0 0; min-height:1.7em; }
.profile-theme-choices .theme-choice { padding-right:32px; margin:0; }
.profile-theme-choices { margin-bottom:12px; }
.card .button { margin-top:10px; }
.price-top { flex-wrap:wrap; gap:10px; }
@media(max-width:1100px) {
  .topbar { gap:16px; }
  .topbar nav { gap:12px; font-size:12px; }
}
@media(max-width:820px) {
  .topbar { flex-wrap:wrap; padding:16px 5%; gap:12px; }
  .topbar .brand { flex:1; }
  .topbar nav { order:3; width:100%; margin:0; flex-wrap:wrap; justify-content:flex-start; gap:8px 12px; }
  html[data-js="true"] .topbar nav:not(.is-open) { display:none; }
  .topbar nav>a { min-height:44px; display:inline-flex; align-items:center; padding:8px; }
  .topbar nav .avatar { justify-content:center; width:44px; height:44px; }
  .menu-button { display:inline-flex; }
}
@media(max-width:540px) {
  .theme-dialog { padding:20px; width:calc(100% - 24px); max-height:calc(100svh - 24px); }
  .theme-choices { grid-template-columns:1fr; }
  .theme-choice { padding:13px 16px; }
  .theme-swatches { margin-bottom:8px; }
  .dialog-heading h2 { font-size:26px; }
  .hero h1 { font-size:clamp(36px,10vw,48px); }
  .auth-wrap h1,.narrow h1 { font-size:clamp(30px,8vw,37px); }
  .card,.panel,.price-card { padding:20px; }
  input,textarea,select { font-size:16px; }
  .actions { align-items:flex-start; }
  .actions .button { max-width:100%; }
  .content-grid { gap:18px; }
  .chat-main { padding:22px 5%; }
  .chat-heading { align-items:flex-start; }
  .chat-heading h1 { font-size:23px; }
  .quick-grid { gap:9px; }
  .quick-grid button { padding:13px; }
  .composer textarea { padding:14px; font-size:16px; }
  .composer>div>span { max-width:75%; line-height:1.5; }
  .bubble { padding:16px; }
  .answer-text { font-size:14px; }
  .narrow { margin:40px auto; }
  .theme-fieldset legend { font-size:21px; }
  .contact-promo { flex-direction:column; align-items:flex-start; padding:22px; gap:18px; }
  .contact-promo h2 { font-size:26px; }
  .faq-layout,.inquiry-list { margin-top:12px; }
  .faq-entry summary { font-size:14px; }
  .faq-entry>p { padding-right:0; }
}
@media(max-width:420px) {
  .appearance-label,.menu-label { display:none; }
  .appearance-button,.menu-button { padding:8px; }
  .topbar .brand { font-size:15px; gap:4px; }
  .brand-icon { font-size:28px; margin-right:3px; }
  .topbar { gap:8px; }
  .header-actions { gap:6px; }
  .price { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}


.chat-heading h1{overflow-wrap:anywhere}.chat-empty>p{max-width:620px;margin:0 auto;line-height:1.8}.welcome-resume{margin:26px 0 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:left}.welcome-resume>p:first-child{margin-bottom:14px;font-size:16px;color:var(--text)}.resume-link{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:11px;background:var(--raised);border:1px solid var(--line)}.resume-link>span:first-child{font-size:25px;color:var(--lime)}.resume-link b{display:block;font-size:13px;color:var(--text)}.resume-link small{display:block;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}.resume-link:hover{border-color:var(--lime)}.welcome-resume>p:last-child{margin:12px 0 0}.welcome-guest-return{margin-top:24px;font-size:13px;color:var(--muted)}.welcome-guest-return a{color:var(--lime)}@media(max-width:540px){.chat-empty h2{font-size:28px}.welcome-resume{padding:16px}.welcome-resume>p:first-child{font-size:15px}.resume-link{padding:12px}}

.chat-empty{padding-top:24px}.chat-empty .quick-grid{margin-top:22px}.welcome-resume{margin-top:20px}
