/* Shared final appearance layer. Artwork keeps its own cinematic foregrounds. */
.search-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;min-width:0}
.card-search-scope{display:flex;gap:4px;padding:3px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-soft);max-width:100%;text-transform:none;letter-spacing:0}
.card-search-scope button{appearance:none;min-height:44px;padding:8px 13px;border:1px solid transparent;border-radius:10px;font:inherit;font-size:12px;letter-spacing:0;text-transform:none;cursor:pointer;color:var(--ui-text);background:transparent}
.card-search-scope button:hover{background:var(--ui-raised)}
.card-search-scope button[aria-pressed="true"]{background:var(--ui-selected);color:var(--ui-on-selected);border-color:var(--ui-focus);box-shadow:inset 0 0 0 1px var(--ui-focus)}
.card-search-scope button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}
@media(forced-colors:active){.card-search-scope button[aria-pressed="true"]{color:HighlightText;background:Highlight;border-color:Highlight;forced-color-adjust:none}.card-search-scope button:focus-visible{outline-color:Highlight}}
html{
  --ui-canvas:#121a21;--ui-surface:#1c272f;--ui-raised:#25333c;--ui-soft:#202e35;
  --ui-text:#f1f4ef;--ui-muted:#bdc9c8;--ui-accent:#e8cb8d;
  --ui-border:#7b918f;--ui-rule:#394c54;--ui-input:#152129;
  --ui-primary:#a3dec3;--ui-on-primary:#142e25;--ui-primary-hover:#b9ead3;
  --ui-selected:#2b4a3f;--ui-on-selected:#c1f0d6;
  --ui-success:#b0e3c7;--ui-warning:#f2d498;--ui-danger:#ffb8b0;
  --ui-danger-bg:#432c31;--ui-warning-bg:#3b3529;
  --ui-focus:#b2e5d1;--ui-shadow:0 18px 50px rgba(0,0,0,.28);
}
html[data-color-theme="light"]{
  --ui-canvas:#edf2ef;--ui-surface:#fffefa;--ui-raised:#f4f7f3;--ui-soft:#e6eeea;
  --ui-text:#22352f;--ui-muted:#53665f;--ui-accent:#785820;
  --ui-border:#788c82;--ui-rule:#c7d4cd;--ui-input:#fffefa;
  --ui-primary:#235e4d;--ui-on-primary:#ffffff;--ui-primary-hover:#184d3e;
  --ui-selected:#dceee3;--ui-on-selected:#20533f;
  --ui-success:#235f43;--ui-warning:#77531c;--ui-danger:#9d332f;
  --ui-danger-bg:#fff0ed;--ui-warning-bg:#fff1d9;
  --ui-focus:#1c6e57;--ui-shadow:0 18px 50px rgba(30,56,44,.12);
}
html[data-color-theme]{
  --ink:var(--ui-text);--muted:var(--ui-muted);--gold:var(--ui-accent);--gold-soft:var(--ui-muted);
  --night:var(--ui-canvas);--panel:var(--ui-surface);--panel-2:var(--ui-raised);--panel-3:var(--ui-soft);
  --line:var(--ui-rule);--line-strong:var(--ui-border);--good:var(--ui-success);
  --warn:var(--ui-warning);--danger:var(--ui-danger);--shadow:var(--ui-shadow);
}
html[data-color-theme] body{color:var(--ui-text);background:var(--ui-canvas)}
html[data-color-theme] :is(.shell,.game-table){background:var(--ui-canvas)}
html[data-color-theme] body:before{opacity:.055}
html[data-color-theme] :is(.panel,.constellation-dock,.spread-wrap,.journey-guidance,.deck-revisit,.intersection-trace){background:var(--ui-surface);border-color:var(--ui-rule);box-shadow:var(--ui-shadow)}
html[data-color-theme] :is(.observatory-nav,.browser-controls,.mobile-command-bar){background:var(--ui-surface);border-color:var(--ui-rule);box-shadow:0 6px 24px rgba(20,40,32,.12)}
html[data-color-theme] body[data-workspace-layout="compact"] .mobile-command-bar{background:var(--ui-surface)}
html[data-color-theme] :is(.search-field small,.panel-sub,.lens-disclaimer,.browserInfo,.toolbar-info,.deck-revisit-copy small,.compat-badge-summary){color:var(--ui-muted)}
html[data-color-theme] .footer{color:var(--ui-muted)}
html[data-color-theme] .deck-revisit .priority-badge{color:var(--ui-accent);background:var(--ui-soft);border-color:var(--ui-border)}
html[data-color-theme] :is(.compat-badge,.advanced-tools-body,.message,.candidate,.audit-stat,.medicine-focus,.reading-more-tools,.medicine-focus-head){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-rule)}
html[data-color-theme] :is(.medicine-focus-head strong,.candidate-privacy strong,.planet-filter strong){color:var(--ui-text)}
html[data-color-theme] :is(.medicine-focus-head span,.candidate-privacy,.medicine-filter-summary){color:var(--ui-muted)}
html[data-color-theme] :is(.kingdom,.planet-filter){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
html[data-color-theme] :is(.kingdom.active,.planet-filter.active){background:var(--ui-selected);color:var(--ui-on-selected);border-color:var(--ui-focus);box-shadow:inset 0 0 0 1px var(--ui-focus)}
html[data-color-theme] :is(.kingdom.active,.planet-filter.active) strong{color:var(--ui-on-selected)}

/* Neutral navigation, distinct primary actions; opening intake is not destructive. */
html[data-color-theme] :is(.ghost-btn,.nav-help,.icon-close,.workspace-focus-btn,.theme-picker,.patient-dialog-close,.account-close,.card-discovery-nav button,.chamber-favorite-btn){color:var(--ui-text);background:var(--ui-raised);border-color:var(--ui-border);box-shadow:none}
html[data-color-theme] .theme-picker select{color:var(--ui-text);background:var(--ui-raised);min-height:36px;font-size:12px}
html[data-color-theme] :is(.gold-btn,.account-primary-btn,.patient-intake-actions button,.registration-submit,.login-submit,.access-request-email,.rotation-confirm-button),
html[data-color-theme] #resetBtn,
html[data-color-theme] #guideBtn.is-new-reading,
html[data-color-theme] body .mobile-command-bar .mobile-primary{
  color:var(--ui-on-primary);background:var(--ui-primary);border-color:var(--ui-primary);
  box-shadow:0 5px 14px rgba(24,62,46,.14);text-shadow:none;min-height:46px;font-weight:800;transition-property:transform,box-shadow;
}
html[data-color-theme] :is(.gold-btn,.account-primary-btn,.patient-intake-actions button,.registration-submit,.login-submit,.access-request-email,.rotation-confirm-button):not(:disabled):hover,
html[data-color-theme] #resetBtn:not(:disabled):hover,
html[data-color-theme] body .mobile-command-bar .mobile-primary:not(:disabled):hover{background:var(--ui-primary-hover)}
html[data-color-theme] .danger-btn{color:var(--ui-danger);background:var(--ui-danger-bg);border-color:var(--ui-danger)}
html[data-color-theme] .mobile-command-bar button{color:var(--ui-text);background:var(--ui-raised);border-color:var(--ui-border)}
html[data-color-theme] body[data-workspace-layout="compact"] .mobile-command-bar button{background:var(--ui-raised)}
html[data-color-theme] body[data-workspace-layout="compact"] .mobile-command-bar .mobile-primary,
html[data-color-theme] body[data-workspace-layout="compact"] .mobile-command-bar .mobile-primary.is-new-reading{background:var(--ui-primary);color:var(--ui-on-primary);border-color:var(--ui-primary)}
html[data-color-theme] :is(.card-discovery-nav button,.chamber-favorite-btn,.workspace-focus-btn)[aria-pressed="true"]{background:var(--ui-selected);color:var(--ui-on-selected);border-color:var(--ui-focus)}
html[data-color-theme] :is(.card-picker-popup,.toast,.selection-confirmation){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);box-shadow:var(--ui-shadow)}
html[data-color-theme] :is(.card-picker-heading,.card-picker-option span,.selection-confirmation-meta){color:var(--ui-muted)}
html[data-color-theme] .card-picker-option strong{color:var(--ui-text)}
html[data-color-theme] .card-picker-option[aria-selected="true"]{background:var(--ui-selected);outline-color:var(--ui-focus)}
html[data-color-theme] .selection-confirmation-mark{color:var(--ui-success);background:var(--ui-selected);border-color:var(--ui-focus)}
html[data-color-theme] .final-card{background:var(--ui-selected);border-color:var(--ui-focus);color:var(--ui-text)}
html[data-color-theme] :is(.final-card .medicine-name,.final-card h3){color:var(--ui-text)}

/* Consultation launcher and patient history: no pale text on daylight panels. */
html[data-color-theme] :is(.patient-dialog,.patient-dialog-shell,.patient-dialog-head,.patient-records-toolbar,.patient-records-footer){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-rule)}
html[data-color-theme] :is(.patient-form-panel,.patient-history-entry,.patient-context,.patient-context[data-active="true"],.patient-context[data-mode="practice"],.practice-mode-panel){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-rule)}
html[data-color-theme] :is(.patient-form-grid label,.patient-problem-field,.patient-search,.patient-scope,.patient-consent){color:var(--ui-text);font-size:14px;letter-spacing:.015em}
html[data-color-theme] :is(.patient-context small,.patient-context p,.patient-dialog-head>div>span,.patient-panel-title p,.patient-problem-field>small,.patient-field-help,.patient-result-heading small,.patient-result-summary time,.patient-result-summary small,.patient-result-summary strong,.patient-status,.patient-intake-actions p,.patient-empty,.patient-visit-count,.patient-history-head small,.patient-history-entry-top time,.patient-history-entry-top span,.patient-history-empty,.patient-history-no-medicine,.patient-records-footer,.patient-list-heading,.returning-patient-selected small,.returning-patient-selected p,.patient-phone-match small,.practice-mode-promises span,.practice-mode-boundary){color:var(--ui-muted)}
html[data-color-theme] :is(.patient-panel-title h3,.patient-list-heading strong,.patient-mode-switch button strong,.patient-result-summary p,.patient-history-entry h4,.patient-records-footer strong,.returning-patient-selected strong,.patient-phone-match strong,.practice-mode-promises strong){color:var(--ui-text)}
html[data-color-theme] :is(.patient-mode-switch button>span,.patient-panel-title>span,.patient-context-mark,.patient-phone-match-mark){color:var(--ui-accent);background:var(--ui-soft);border-color:var(--ui-border)}
html[data-color-theme] .patient-mode-switch button{color:var(--ui-muted);background:var(--ui-surface);border-color:var(--ui-border);box-shadow:none}
html[data-color-theme] .patient-mode-switch button[aria-pressed="true"]{background:var(--ui-selected);border-color:var(--ui-focus);box-shadow:inset 0 -3px var(--ui-focus)}
html[data-color-theme] .patient-mode-switch button[aria-pressed="true"] :is(strong,span){color:var(--ui-on-selected)}
html[data-color-theme] :is(.patient-result,.patient-directory-card){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
html[data-color-theme] :is(.patient-result,.patient-directory-card):hover{background:var(--ui-soft);border-color:var(--ui-focus)}
html[data-color-theme] .patient-result.is-selected{background:var(--ui-selected);border-color:var(--ui-focus);box-shadow:inset 4px 0 var(--ui-focus)}
html[data-color-theme] :is(.returning-patient-selected,.patient-phone-match,.patient-consent,.practice-mode-promises li,.patient-history-cards){background:var(--ui-soft);border-color:var(--ui-rule)}
html[data-color-theme] :is(.patient-history-cards,.returning-patient-selected button,.patient-phone-match button){color:var(--ui-text)}
html[data-color-theme] :is(.patient-result-summary strong.has-medicine,.patient-history-medicine,.patient-history-entry-top span.is-completed,.patient-intake-actions p strong,.returning-patient-selected>span,.practice-mode-boundary strong,.patient-context-security,.patient-status.success){color:var(--ui-success)}
html[data-color-theme] .patient-status.error{color:var(--ui-danger)}
html[data-color-theme] :is(.patient-current-warning,.patient-current-warning strong){color:var(--ui-warning);background:var(--ui-warning-bg);border-color:var(--ui-warning)}
html[data-color-theme] :is(.patient-owner,.patient-history-head p){color:var(--ui-accent)}
html[data-color-theme] .patient-intake-actions button{font-size:15px;line-height:1.4;gap:12px;min-height:52px}
html[data-color-theme] .patient-mode-switch button strong{font-family:var(--font-ui);font-size:14px;line-height:1.4;font-weight:750}
html[data-color-theme] .patient-intake-actions p{font-size:13px;line-height:1.65}
html[data-color-theme] .patient-panel-title p{font-size:14px;line-height:1.6}
html[data-color-theme] .patient-form-grid>label{align-content:start}
html[data-color-theme] .patient-form-grid :is(input:not([type="checkbox"]),select){height:48px;min-height:48px}
@media(max-width:680px){
  html[data-color-theme] .patient-mode-switch{top:0;margin-top:-6px;padding-block:8px;background:var(--ui-surface);border-bottom:1px solid var(--ui-rule)}
  html[data-color-theme] .patient-mode-switch button{min-height:82px;padding:8px 4px}
  html[data-color-theme] .patient-mode-switch button strong{font-size:12px}
  html[data-color-theme] .patient-list-heading{flex-wrap:wrap}
}

/* Inspection and comparison retain their own layout, with semantic status colors. */
html[data-color-theme] :is(dialog.card-chamber,.card-chamber-shell,.chamber-head,.chamber-actions,dialog.compare-paths,.compare-paths-shell,.compare-head,.compare-footer){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-rule)}
html[data-color-theme] :is(.chamber-title,.chamber-section .chamber-lead,.compare-head h2,.compare-section-head h3,.compare-metric strong,.compare-path-copy strong,.compare-candidate strong,.compare-suggestion strong,.compare-recovery-btn strong){color:var(--ui-text)}
html[data-color-theme] :is(.chamber-art-note,.lens-disclaimer,.compare-recovery-btn span,.compare-metric span,.compare-metric small,.compare-section-head p,.compare-action-summary,.compare-path-copy span,.compare-path-index small,.compare-replace-field>span,.compare-candidate span,.compare-candidate small,.compare-suggestion p,.compare-empty,.compare-muted){color:var(--ui-muted)}
html[data-color-theme] .chamber-muted{color:var(--ui-muted)!important}
html[data-color-theme] :is(.chamber-kicker,.compare-kicker,.compare-lock-badge,.compare-path-index span,.compare-suggestion span,.compare-direction){color:var(--ui-accent)}
html[data-color-theme] :is(.chamber-status,.distinction-card,.compare-summary,.compare-panel,.compare-metric,.compare-candidate,.compare-path-card,.compare-recovery-btn,.compare-suggestion){background:var(--ui-raised);border-color:var(--ui-rule)}
html[data-color-theme] :is(.chamber-status.available,.compare-trust,.compare-trust strong,.compare-panel.is-trial){background:var(--ui-selected);color:var(--ui-on-selected);border-color:var(--ui-focus)}
html[data-color-theme] :is(.compare-delta,.compare-status){color:var(--ui-muted)}
html[data-color-theme] :is(.compare-delta.is-valid,.compare-status.is-valid){color:var(--ui-success)}
html[data-color-theme] :is(.compare-delta.is-warning,.compare-status.is-warning,.note-safety,.compare-confirmation p){color:var(--ui-warning)}
html[data-color-theme] :is(.compare-delta.is-conflict,.compare-status.is-conflict,.compare-conflict h3,.compare-conflict p){color:var(--ui-danger)}
html[data-color-theme] .compare-conflict{background:var(--ui-danger-bg);border-color:var(--ui-danger)}
html[data-color-theme] :is(.compare-confirmation,.chamber-status.unavailable){background:var(--ui-warning-bg);border-color:var(--ui-warning)}
html[data-color-theme] :is(.compare-remove-btn,.compare-suggestion button){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}

/* Public forms and private account surfaces share the same control vocabulary. */
html[data-color-theme] :is(.login-card,.rotation-card,.registration-card,.access-request-dialog,.access-request-shell,.account-dialog,.account-dialog-shell,.account-dialog-head){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
html[data-color-theme] :is(.account-identity,.account-panel,.admin-create-panel,.admin-directory,.admin-user-card,.admin-console-hero,.registration-entry,.rotation-keep-confirm){background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-rule)}
html[data-color-theme] :is(.account-lock,.account-avatar,.profile-capsule-mark,.admin-user-mark,.registration-closed-body>a:last-child){color:var(--ui-accent);background:var(--ui-soft);border-color:var(--ui-border)}
html[data-color-theme] :is(.account-lock.is-success,.registration-success>span,.account-access-badge){color:var(--ui-success);background:var(--ui-selected);border-color:var(--ui-focus)}
html[data-color-theme] :is(.account-panel-copy,.account-form-status,.admin-protected-copy,.admin-empty,.admin-privacy-note,.account-identity small,.account-identity p,.admin-user-identity small,.admin-user-facts span,.account-footer span,.registration-success p,.registration-note,.registration-card>footer,.registration-card>header small,.registration-fields label>small,.login-access-footer small,.access-request-privacy,.rotation-rule,.rotation-footer span){color:var(--ui-muted)}
html[data-color-theme] :is(.registration-fields label,.account-password-form label,.admin-create-form label,.admin-search,.admin-user-controls label,.admin-reset-form label,.admin-name-form label,.access-request-shell form>label:not(.access-request-confirm)){color:var(--ui-text)}
html[data-color-theme] :is(.account-form-status.success,.access-request-status,.rotation-status,.admin-privacy-note strong){color:var(--ui-success)}
html[data-color-theme] :is(.account-form-status.error,.login-error,.registration-error,.rotation-status.error){color:var(--ui-danger)}
html[data-color-theme] :is(.login-error,.registration-error){background:var(--ui-danger-bg)}
html[data-color-theme] :is(.skip-link){background:var(--ui-primary);color:var(--ui-on-primary)}
html[data-color-theme] :is(.registration-password button,.access-request-trigger,.access-request-copy,.account-footer button,.admin-user-controls button,.admin-user-actions button,.admin-reset-form button,.admin-name-form button){color:var(--ui-text);background:var(--ui-soft);border-color:var(--ui-border)}
html[data-color-theme] .admin-user-actions button.danger{color:var(--ui-danger);background:var(--ui-danger-bg);border-color:var(--ui-danger)}
html[data-color-theme] .admin-user-actions button.restore{color:var(--ui-success);background:var(--ui-selected);border-color:var(--ui-focus)}
html[data-color-theme] :is(.profile-capsule,.profile-capsule-copy b){background:var(--ui-surface);color:var(--ui-text)}
html[data-color-theme] .profile-capsule-copy small{color:var(--ui-muted)}
html[data-color-theme] :is(.login-card,.rotation-card,.registration-card,.access-request-dialog,.account-dialog) :is(label,p){line-height:1.55}

/* Explicit focus and invalid states beat all earlier appearance overrides. */
html[data-color-theme] :is(.text-input,.select-input,.chamber-notes-section textarea,.compare-replace-select),
html[data-color-theme] :is(.patient-dialog,.account-dialog,.login-card,.registration-fields,.rotation-card,.access-request-shell) :is(input:not([type="checkbox"]),textarea,select){
  color:var(--ui-text);background:var(--ui-input);border-color:var(--ui-border);font-size:16px;
}
html[data-color-theme] :is(input,textarea)::placeholder,
html[data-color-theme] :is(.login-field,.patient-dialog,.account-dialog,.registration-fields,.rotation-card,.access-request-shell) :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}
html[data-color-theme] :is(input,textarea,select):focus{border-color:var(--ui-focus);box-shadow:0 0 0 1px var(--ui-focus)}
html[data-color-theme] :is(button,input,textarea,select,summary,a[href],[tabindex]):focus-visible{
  outline:3px solid var(--ui-focus)!important;outline-offset:3px!important;box-shadow:none!important;
}
html[data-color-theme] :is(.patient-dialog,.account-dialog,.login-card,.registration-fields,.rotation-card,.access-request-shell) :is(input,textarea,select):focus-visible{
  outline:3px solid var(--ui-focus);outline-offset:3px;border-color:var(--ui-focus);
}
html[data-color-theme] :is(input,textarea,select)[aria-invalid="true"]{border-color:var(--ui-danger)!important;box-shadow:0 0 0 1px var(--ui-danger)!important}
html[data-color-theme] input[type="checkbox"]{accent-color:var(--ui-focus)}
html[data-color-theme] .login-field{background:var(--ui-input);border-color:var(--ui-border)}
html[data-color-theme] .login-field>span{color:var(--ui-accent)}
html[data-color-theme] :is(.login-card,.rotation-card) .login-field input{background:transparent}
html[data-color-theme] .login-field:focus-within{outline:3px solid var(--ui-focus);outline-offset:3px;border-color:var(--ui-focus);box-shadow:none}
html[data-color-theme] .login-field input:focus-visible{outline:none!important;box-shadow:none!important}
html[data-color-theme] :is(.gold-btn,.ghost-btn,.danger-btn,.patient-dialog button,.account-dialog button,.mobile-command-bar button,.login-submit,.registration-submit):disabled{
  opacity:1;filter:none;color:var(--ui-muted);background:var(--ui-soft);border-color:var(--ui-rule);box-shadow:none;cursor:not-allowed;
}
html[data-color-theme] :is(.rubric-card,.spread-card,.chamber-card,.home-fan-card,.deck-card,.practice-guide-card){--ui-focus:#f2da9f}
html[data-color-theme] :is(.card-draw-hitbox,.practice-guide-card>button):focus-visible{outline-offset:-7px!important;box-shadow:inset 0 0 0 4px #252015!important}
html[data-color-theme] .card-picker-option[aria-disabled="true"]{opacity:1}
/* Narrow cards reserve separate lines for their name, state and inspect action. */
@container browser (max-width:459px){
  .rubric-card{min-height:276px}
  .rubric-card.has-search-context{min-height:340px}
  .rubric-card .rubric-foot{bottom:66px;padding-top:4px;min-height:28px;align-content:end}
  .rubric-foot>span:first-child{display:none}
  .rubric-foot>span:last-child{max-width:none;text-align:left;line-height:1.4}
  .rubric-actions{grid-template-columns:44px minmax(0,1fr)}
  .card-favorite-btn{width:44px;min-height:44px}
  .card-inspect-btn{min-height:44px}
  .card-draw-cue{display:none}
}
@media(prefers-contrast:more){
  html{--ui-muted:#dce5df;--ui-border:#a1b6ad;--ui-rule:#7a9388}
  html[data-color-theme="light"]{--ui-muted:#374d41;--ui-border:#456253;--ui-rule:#799487}
}
@media(prefers-reduced-transparency:reduce){html[data-color-theme] :is(.observatory-nav,.browser-controls,.mobile-command-bar,.selection-confirmation){backdrop-filter:none}}
@media(forced-colors:active){
  html,html[data-color-theme]{--ui-canvas:Canvas;--ui-surface:Canvas;--ui-raised:Canvas;--ui-soft:Canvas;--ui-text:CanvasText;--ui-muted:CanvasText;--ui-accent:LinkText;--ui-border:ButtonText;--ui-rule:ButtonText;--ui-input:Field;--ui-primary:Highlight;--ui-on-primary:HighlightText;--ui-primary-hover:Highlight;--ui-selected:Highlight;--ui-on-selected:HighlightText;--ui-success:CanvasText;--ui-warning:CanvasText;--ui-danger:CanvasText;--ui-danger-bg:Canvas;--ui-warning-bg:Canvas;--ui-focus:Highlight}
  html[data-color-theme] :is(button,input,textarea,select,summary,a[href],[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
}
