/* One site-wide Sol design system. The named layer gives essential controls
   precedence over legacy unlayered !important rules and late feature styles. */
@layer sol-site {
  html[data-site-palette="sol"],html[data-site-palette="sol"] :is(.app-root,.courses-root,.course-modal,.flashcards-root,.fc-app,.ea-page,.ecg-page,.learning-page,.tests-root,.promo-page,.me-page,.trainer-page) {
    color-scheme:dark!important;
    --sol-bg:#0b0c18;--sol-panel:#171728;--sol-panel-2:#201d30;--sol-text:#f7f1e8;--sol-muted:#b8adbf;--sol-gold:#e8bc73;--sol-purple:#b19ad7;--sol-line:#c4a47729;
    --bg:#0b0c18!important;--panel:#11111f!important;--panel2:#171728!important;--line:#c4a47729!important;--text:#f7f1e8!important;--muted:#b8adbf!important;--accent:#e8bc73!important;--accent2:#b19ad7!important;--good:#9bcfb3!important;--danger:#eb8f9c!important;
    --app-bg:#0b0c18!important;--app-panel:#11111f!important;--app-panel2:#171728!important;--app-blue:#e8bc73!important;--app-green:#e8bc73!important;--app-gold:#e8bc73!important;--app-text:#f7f1e8!important;--app-muted:#b8adbf!important;--app-border:#c4a47729!important;
    --course-bg:#0b0c18!important;--course-panel:#11111ff0!important;--course-panel2:#171728!important;--course-line:#c4a47729!important;--course-text:#f7f1e8!important;--course-muted:#b8adbf!important;--course-cyan:#e8bc73!important;--course-blue:#b19ad7!important;--course-danger:#eb8f9c!important;
    --fc-bg:#0b0c18!important;--fc-panel:#11111f!important;--fc-panel2:#171728!important;--fc-line:#c4a47729!important;--fc-text:#f7f1e8!important;--fc-muted:#b8adbf!important;--fc-accent:#e8bc73!important;--fc-accent2:#b19ad7!important;--fc-danger:#eb8f9c!important;
    --ecg-bg:#0b0c18!important;--ecg-panel:#11111f!important;--ecg-border:#c4a47729!important;--ecg-text:#f7f1e8!important;--ecg-muted:#b8adbf!important;--ecg-cyan:#e8bc73!important;--ecg-green:#9bcfb3!important;
    --ea-bg:#11111f!important;--ea-text:#f7f1e8!important;--ea-muted:#b8adbf!important;--ea-line:#c4a47729!important;--ea-accent:#e8bc73!important;--ea-soft:#171728!important;--ea-warn:#e8bc73!important;
    --learn-bg:#0b0c18!important;--learn-card:#11111f!important;--learn-border:#c4a47729!important;--learn-text:#f7f1e8!important;--learn-muted:#b8adbf!important;--learn-accent:#e8bc73!important;
    --guest-bg:#0b0c18!important;--guest-panel:#11111f!important;--guest-border:#c4a47729!important;--guest-text:#f7f1e8!important;--guest-muted:#b8adbf!important;--guest-blue:#e8bc73!important;
    --me-bg:#0b0c18!important;--me-panel:#11111f!important;--me-panel-2:#171728!important;--me-text:#f7f1e8!important;--me-muted:#b8adbf!important;--me-line:#c4a47729!important;--me-blue:#e8bc73!important;--me-cyan:#b19ad7!important;--me-green:#9bcfb3!important;--me-mint:#e8bc73!important;
    --p-surface:#11111f!important;--p-surface-2:#171728!important;--p-text:#f7f1e8!important;--p-muted:#b8adbf!important;--p-border:#c4a47729!important;--p-border-strong:#ad885950!important;--p-accent:#e8bc73!important;--p-accent-soft:#e8bc7314!important;--p-accent-strong:#f0cc8d!important;--p-success:#9bcfb3!important;
    --tr-bg:#0b0c18!important;--tr-panel:#11111f!important;--tr-panel2:#171728!important;--tr-border:#c4a47729!important;--tr-text:#f7f1e8!important;--tr-muted:#b8adbf!important;--tr-accent:#e8bc73!important;
  }
  html[data-site-palette="sol"] {background:#0b0c18!important;scrollbar-color:#64516e #11111f}
  html[data-site-palette="sol"] body {background:radial-gradient(ellipse at 48% 0,#d6a35e08,transparent 52rem),#0b0c18!important;color:#f7f1e8!important;font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
  html[data-site-palette="sol"] ::selection{background:#e8bc7340;color:#fff6e9}
  html[data-site-palette="sol"] :is(.app-root,.courses-root,.guest-workspace,.welcome-page,.auth-wrap,.landing,.auth-shell,.mini-shell){background:radial-gradient(ellipse at 48% 0,#d6a35e08,transparent 52rem),#0b0c18!important;color:#f7f1e8!important}
  html[data-site-palette="sol"] :is(.app-header,.bottom-nav,.sidebar,.chatgpt-sidebar,.app-drawer,.home-nav-panel,.learning-topbar,.trainer-topbar){background:#0d0d1beF!important;border-color:#c4a47729!important;color:#f7f1e8!important;box-shadow:0 12px 35px #0002!important}
  html[data-site-palette="sol"] :is(.hero-card,.app-card,.quick-card,.auth-card,.panel,.metric,.control-card,.model-card,.template-card,.chat-item,.course-card,.course-content,.course-tutor,.course-nav,.course-empty,.courses-hero,.learning-card,.fc-card,.fc-panel,.trainer-card,.tr-panel,.ea-card,.ps-panel,.ps-summary,.promo-card,.me-model-card,.subscription-card,.home-nav-card,.wallet-topup-card,.balance-card,.file-card,.form-section){background:linear-gradient(135deg,#151422,#11111f)!important;border-color:#c4a47729!important;border-radius:20px!important;color:#f7f1e8!important;box-shadow:0 16px 45px #00000020!important}
  html[data-site-palette="sol"] :where(button,.btn,[role="button"],input[type="button"],input[type="submit"]):where(:not([hidden])){font-family:inherit!important;color:#f7f1e8!important;border-color:#c4a47740!important;border-radius:12px!important;background:#201d30!important;box-shadow:none!important;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
  html[data-site-palette="sol"] :where(button,.btn,[role="button"]):where(:not(:disabled)):where(:not([aria-disabled="true"])):hover{background:#2b253b!important;border-color:#d6a35e7a!important}
  html[data-site-palette="sol"] :is(.primary,.btn.primary,.course-primary,.ea-primary,.learning-primary,.fc-primary,.fc-btn-primary,.ps-primary,.tr-primary,.trainer-primary,.me-primary,.promo-buy,.install-store-button,.welcome-button-primary,.auth-button,.guest-auth,.guest-send,.send,.prompt-send,.sol-primary,button[type="submit"],input[type="submit"],[id="ps-next"],[id="checkoutSubmit"],[id="submitCheckout"],[id="trainer-send"],[id="ecg-submit"],[id="ecg-own-analysis-cta"] a){color:#2b2030!important;-webkit-text-fill-color:#2b2030!important;background:linear-gradient(120deg,#f0cc8d,#d6a35e)!important;border-color:#e8bc7370!important;box-shadow:0 7px 24px #d7a04b1c!important;font-weight:700!important}
  html[data-site-palette="sol"] :is(.primary,.course-primary,.ea-primary,.learning-primary,.fc-primary,.fc-btn-primary,.ps-primary,.tr-primary,.me-primary,.auth-button,.guest-auth,.guest-send,.send,.sol-primary,button[type="submit"],input[type="submit"],[id="ps-next"],[id="submitCheckout"]):not(:disabled):hover{background:linear-gradient(120deg,#f7dba9,#e3b575)!important;box-shadow:0 8px 28px #d7a04b30!important}
  html[data-site-palette="sol"] :is(.primary,.course-primary,.ea-primary,.learning-primary,.fc-primary,.fc-btn-primary,.ps-primary,.tr-primary,.me-primary,.auth-button,.guest-auth,.guest-send,.send,.sol-primary,button[type="submit"],[id="ps-next"],[id="submitCheckout"]) :is(span,strong,b,i){color:inherit!important;-webkit-text-fill-color:inherit!important}
  html[data-site-palette="sol"] :is(button,.btn,[role="button"]):is(.danger,.delete,.delete-button,.is-danger,[data-action="delete"]){background:#442132!important;border-color:#eb8f9c55!important;color:#ffd7df!important;-webkit-text-fill-color:#ffd7df!important}
  html[data-site-palette="sol"] :is(button,.btn,[role="button"]):is(.danger,.delete,.delete-button,.is-danger):hover{background:#5b293e!important}
  html[data-site-palette="sol"] :is(button,input,select,textarea):disabled,html[data-site-palette="sol"] [aria-disabled="true"]{opacity:.48!important;cursor:not-allowed!important;box-shadow:none!important}
  html[data-site-palette="sol"] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),textarea,select){background:#11111f!important;color:#f7f1e8!important;-webkit-text-fill-color:#f7f1e8!important;border:1px solid #4c4056!important;border-radius:12px!important;box-shadow:inset 0 1px 4px #0001!important;caret-color:#e8bc73!important;font-family:inherit!important;font-size:14px!important;line-height:1.5!important;min-width:0;min-height:44px;padding:10px 13px;box-sizing:border-box}
  html[data-site-palette="sol"] :is(input,textarea)::placeholder{color:#a79aad!important;-webkit-text-fill-color:#a79aad!important;opacity:1!important}
  html[data-site-palette="sol"] select option,html[data-site-palette="sol"] select optgroup{background:#171728!important;color:#f7f1e8!important}
  html[data-site-palette="sol"] :is(input[type="checkbox"],input[type="radio"],input[type="range"],progress){accent-color:#e8bc73!important}
  html[data-site-palette="sol"] input[type="file"]{color:#b8adbf!important}
  html[data-site-palette="sol"] input[type="file"]::file-selector-button{background:#201d30!important;color:#e8bc73!important;border:1px solid #c4a47740!important;border-radius:10px!important;padding:9px 14px;margin-right:12px;cursor:pointer}
  html[data-site-palette="sol"] :is(input,textarea):-webkit-autofill{box-shadow:0 0 0 1000px #171728 inset!important;-webkit-text-fill-color:#f7f1e8!important;caret-color:#e8bc73!important}
  html[data-site-palette="sol"] :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid #e8bc73!important;outline-offset:3px!important}
  html[data-site-palette="sol"] :is(input,textarea,select):focus{border-color:#e8bc73!important;box-shadow:0 0 0 3px #e8bc731a!important}
  html[data-site-palette="sol"] :is(.composer,.prompt-bar,.start-composer,.chat-model-dropdown,.guest-input-wrap,.guest-form,.search,.search-box){background:#11111f!important;border-color:#c4a47740!important;color:#f7f1e8!important}
  html[data-site-palette="sol"] :is(.prompt-bar,.guest-input-wrap) textarea{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;min-height:28px;padding:5px 7px}
  html[data-site-palette="sol"] :is(.prompt-bar,.guest-input-wrap) textarea:focus{outline:none!important;box-shadow:none!important}

  html[data-site-palette="sol"] :is(dialog,.course-dialog,.modal-content,.modal-panel,.dialog-panel,.trainer-modal-panel,.app-modal-panel,.auth-dialog,.ps-dialog,.fc-dialog){background:#11111f!important;border-color:#c4a47740!important;border-radius:23px!important;color:#f7f1e8!important;box-shadow:0 30px 100px #0008!important}
  html[data-site-palette="sol"] dialog::backdrop{background:#080913c4!important;backdrop-filter:blur(12px)}
  html[data-site-palette="sol"] :is(.toast,.tooltip,.popover,.dropdown-menu,.actions-menu,.context-menu){background:#201d30!important;border-color:#c4a47740!important;color:#f7f1e8!important;box-shadow:0 14px 45px #0004!important}
  html[data-site-palette="sol"] :is(h1,h2,h3,h4,h5,h6){color:#f7f1e8!important}
  html[data-site-palette="sol"] :is(.muted,.hint,.help-text,.helper-text,.form-hint,.field-hint,.page-head>p,.empty>p,.trainer-muted,.fc-muted){color:#b8adbf!important}
  html[data-site-palette="sol"] :is(label,legend){color:#d8ccdd!important}
  html[data-site-palette="sol"] :is(.eyebrow,.kicker,.section-kicker,.section-label,.text-link,.ea-back,.ea-label,.ea-kicker,.learning-back,.courses-back,.sol-model-link){color:#e8bc73!important}
  html[data-site-palette="sol"] a:not(.btn):not([role="button"]):not([class*="primary"]):not(.guest-auth):not(.nav-link):not(.home-nav-card):hover{color:#f0cc8d}
  html[data-site-palette="sol"] :is(th,thead){background:#171728!important;color:#d9bf99!important;border-color:#c4a47729!important}
  html[data-site-palette="sol"] td{border-color:#c4a47729!important;color:#e4dce9!important}
  html[data-site-palette="sol"] :is(.table-wrap,.table-shell){border-color:#c4a47729!important;border-radius:14px}
  html[data-site-palette="sol"] :is(pre,.code-block,.live-logs){background:#090914!important;color:#e4dce9!important;border-color:#c4a47729!important;border-radius:14px}
  html[data-site-palette="sol"] code{color:#e8bc73!important}
  html[data-site-palette="sol"] :is(.bubble.assistant,.chat-assistant,.guest-assistant){background:#11111f!important;border-color:#c4a47729!important;color:#f7f1e8!important}
  html[data-site-palette="sol"] :is(.bubble.user,.chat-user,.guest-user){background:#282235!important;border-color:#c4a47740!important;color:#f7f1e8!important}
  html[data-site-palette="sol"] :is([aria-current="page"],.nav-link.active,.sidebar nav a.active,.tab.active,.tabs .active,[role="tab"][aria-selected="true"]){color:#f0cc8d!important;background:#e8bc7312!important;border-color:#e8bc7360!important}
  html[data-site-palette="sol"] :is(.error,.auth-error,.ea-error,.ea-urgent,.alert.error,.status-error,.is-wrong,.is-incorrect){color:#ffd7df!important;border-color:#eb8f9c60!important;background:#301d2a!important}
  html[data-site-palette="sol"] :is(.success,.alert.ok,.status-success,.is-correct,.answer-correct){color:#bce4cc!important;border-color:#9bcfb355!important;background:#192c25!important}
  html[data-site-palette="sol"] :is(.status-box,.warning,.notice,.status-warning){border-color:#e8bc7350!important;background:#e8bc730c!important;color:#e8bc73!important}
  html[data-site-palette="sol"] :is(.brand-logo,.brand-icon,.auth-logo,.site-logo,.brand-mark){border-color:#c4a47740!important;box-shadow:0 8px 30px #d7a04b16!important}
  html[data-site-palette="sol"] .sol-experience{background:radial-gradient(ellipse at 50% 25%,#80644c19,transparent 42%),radial-gradient(ellipse at 88% 52%,#7960bf0d,transparent 45%),#0b0c18!important}
  html[data-site-palette="sol"] .sol-reveal h1 span{color:transparent!important}
  html[data-site-palette="sol"] :is([data-model-tier],.models-premium-grid){--model-accent:232,188,115!important}
  html[data-site-palette="sol"] [hidden]{display:none!important}
  html[data-site-palette="sol"] :is(button,.btn,[role="button"]):is(.selected,.active,.is-selected,[aria-pressed="true"]){background:#e8bc7318!important;color:#f0cc8d!important;border-color:#e8bc7370!important}
  html[data-site-palette="sol"] :is(.wrong,.incorrect,.answer-wrong,.option-wrong,[data-answer-state="wrong"]){color:#ffd7df!important;background:#301d2a!important;border-color:#eb8f9c80!important}
  html[data-site-palette="sol"] :is(.correct,.right,.answer-correct,.option-correct,[data-answer-state="correct"]){color:#bce4cc!important;background:#192c25!important;border-color:#9bcfb380!important}
  html[data-site-palette="sol"] [contenteditable="true"]{background:#11111f!important;color:#f7f1e8!important;border-color:#4c4056!important;border-radius:12px!important;caret-color:#e8bc73}
  html[data-site-palette="sol"] textarea:not(.prompt-bar textarea){min-height:100px}
  html[data-site-palette="sol"] :is(input[type="checkbox"],input[type="radio"]){width:18px!important;height:18px!important;flex:0 0 18px;vertical-align:middle}
  html[data-site-palette="sol"] input[type="color"]{width:44px;height:40px;padding:4px;border:1px solid #4c4056;border-radius:10px;background:#171728}
  html[data-site-palette="sol"] :is(.form-grid,.form-row,.setting-row) :is(select,textarea){width:100%}
  html[data-site-palette="sol"] :is(.form-grid,.form-row) label{line-height:1.6}
  html[data-site-palette="sol"] :is(.primary,.secondary,.btn,.course-primary,.course-secondary,.ea-button,.learning-primary,.fc-primary,.ps-primary,.tr-primary,button[type="submit"]){min-height:42px;box-sizing:border-box}
  html[data-site-palette="sol"] :is(.status-box.error,.wrong,.incorrect,.answer-wrong,.option-wrong,button.wrong,[data-answer-state="wrong"]){color:#ffd7df!important;background:#301d2a!important;border-color:#eb8f9c80!important}
  html[data-site-palette="sol"] :is(.status-box.success,.correct,.right,.answer-correct,.option-correct,button.correct,[data-answer-state="correct"]){color:#bce4cc!important;background:#192c25!important;border-color:#9bcfb380!important}
  html[data-site-palette="sol"] :is(p a,li a,code,.text-link){overflow-wrap:anywhere}
  html[data-site-palette="sol"] .welcome-page{overflow-x:clip}
  html[data-site-palette="sol"] :is(.history-backdrop,.drawer-backdrop,button.modal-backdrop){background:#080913b8!important;border:0!important;border-radius:0!important;backdrop-filter:blur(10px)}
  @media(max-width:640px),(hover:none){html[data-site-palette="sol"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea){font-size:16px!important}}
  @media(prefers-reduced-motion:reduce){html[data-site-palette="sol"] :is(button,.btn,[role="button"]){transition:none!important}}
  /* The course drawer backdrop is a button, but must never inherit an opaque button fill. */
  html[data-site-palette="sol"] button.course-nav-backdrop,html[data-site-palette="sol"] button.course-nav-backdrop:hover,html[data-site-palette="sol"] button.course-nav-backdrop:focus-visible{background:#08091329!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;backdrop-filter:none!important}
  html[data-site-palette="sol"] .chat-tools-panel :is(.chat-web-tool,.chat-clinical-tool):has(input:checked:not(:disabled)){background:#153d30!important;color:#72e8a3!important;border-color:#59ce8b!important;box-shadow:inset 0 0 0 1px #59ce8b66!important}
  html[data-site-palette="sol"] .chat-tools-panel :is(.chat-web-tool,.chat-clinical-tool):has(input:checked:not(:disabled)) :is(svg,span){color:#72e8a3!important;-webkit-text-fill-color:#72e8a3!important}
  html[data-site-palette="sol"] .composer .chat-input-row{align-items:stretch!important}
  html[data-site-palette="sol"] .composer .chat-input-row :is(.chat-model-dropdown,.chat-prompt-bar){margin-top:0!important;margin-bottom:0!important;align-self:stretch!important;box-sizing:border-box!important}
  html[data-site-palette="sol"] .composer .chat-model-dropdown{height:auto!important;min-height:0!important;align-items:center!important}
  html[data-site-palette="sol"] .composer .chat-model-dropdown select,html[data-site-palette="sol"] .composer .chat-model-dropdown select:focus,html[data-site-palette="sol"] .composer .chat-model-dropdown select:focus-visible{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;min-height:0!important;padding:7px 0!important}
  html[data-site-palette="sol"] main.chat-page #messages .bubble.assistant{width:100%!important;max-width:100%!important;align-self:stretch!important;box-sizing:border-box!important;padding:12px 14px!important;margin-left:0!important;margin-right:0!important}
  html[data-site-palette="sol"] main.chat-page #messages .bubble.assistant :is(.message-content,.stream-content){width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
