/* Shared display preferences. No image inversion: art and camera feeds keep their colors. */
html[data-display-theme=light]{color-scheme:light!important;--display-bg:#f2f1eb;--display-surface:#fbfaf6;--display-ink:#20323a;--display-muted:#465955;--display-line:#c9d0cc;--display-accent:#9b2922;--display-link:#9b2922;--display-on-accent:#fcf9f2;--display-blue:#365660;--display-gold:#80632e;--display-wash:#e7ebe8;--display-focus:#9b2922}
html[data-display-theme=dark]{color-scheme:dark!important;--display-bg:#1c272a;--display-surface:#283538;--display-ink:#e8ebe5;--display-muted:#bac5bf;--display-line:#506064;--display-accent:#9b2922;--display-link:#e18a80;--display-on-accent:#fcf9f2;--display-blue:#9fb7b2;--display-gold:#d3b66f;--display-wash:#323e40;--display-focus:#d3b66f}
/* A native dialog supplies focus containment, Escape and focus restoration. */
html #display-settings{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--display-line);border-radius:4px;background:var(--display-surface);color:var(--display-ink);font:var(--weight-body) var(--text-sm)/1.8 var(--font-ui);text-align:left;letter-spacing:normal;text-shadow:none}
html #display-settings::backdrop{background:rgb(10 19 14 / 65%)}
html #display-settings *{box-sizing:border-box;letter-spacing:normal;text-shadow:none}
html #display-settings .display-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
html #display-settings h2{margin:0;font:var(--weight-heading) var(--text-xl)/1.6 var(--font-ui);text-wrap:balance;color:inherit}
html #display-settings .display-settings-heading button{position:static;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--display-line);border-radius:0;background:transparent;color:inherit;font:var(--weight-body) var(--text-2xl)/1 var(--font-ui);cursor:pointer}
html #display-settings fieldset{margin:0 0 20px;padding:0;border:0;min-width:0}
html #display-settings legend{padding:0;margin:0 0 10px;font-size:var(--text-sm);color:var(--display-ink)}
html #display-settings .display-options{display:flex;flex-wrap:wrap;gap:10px}
html #display-settings .display-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--display-line);font:var(--weight-body) var(--text-sm)/1.6 var(--font-ui);cursor:pointer;color:inherit}
html #display-settings .display-options label:has(:checked){border-color:var(--display-link,var(--display-accent));background:var(--display-bg)}
html #display-settings input{position:static;appearance:auto;opacity:1;width:20px;height:20px;min-height:0;margin:0;accent-color:var(--display-accent);clip-path:none}
html #display-settings p{font:var(--weight-body) var(--text-sm)/1.9 var(--font-ui);margin:12px 0 0;color:var(--display-muted);text-wrap:pretty}
html #display-settings :focus-visible{outline:2px solid var(--display-focus,var(--display-accent));outline-offset:3px}
html #display-settings .display-settings-status:empty{display:none}
html[data-display-size=large] #display-settings p{font-size:var(--text-sm)}
html[data-display-size=large] [data-display-text=copy]{font-size:max(var(--text-base),calc(var(--display-text-base)*1.15))!important}
html[data-display-size=large] [data-display-text=control]{font-size:max(var(--text-sm),calc(var(--display-text-base)*1.15))!important}

/* Paper-based pages use the existing palette tokens. */
html[data-display-theme][data-display-page=home],html[data-display-theme][data-display-page=classics],html[data-display-theme][data-display-page=sound],html[data-display-theme][data-display-page=practice],html[data-display-theme][data-display-page=answer]{--paper:var(--display-bg);--paper-light:var(--display-surface);--light:var(--display-surface);--ink:var(--display-ink);--muted:var(--display-muted);--line:var(--display-line);--accent:var(--display-accent);--red:var(--display-accent);--green:var(--display-blue);--gold:var(--display-gold);--faint:var(--display-line)}
html[data-display-theme][data-display-page=answer]{color:var(--display-ink);background:var(--display-bg)}
html[data-display-theme] .listening-tools,html[data-display-theme] .dedication-dialog{color:var(--display-ink)}
html[data-display-theme] .listening-tools select,html[data-display-theme] .listening-resume,html[data-display-theme] .dedication-dialog,html[data-display-theme] .dedication-dialog textarea{background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme] .listening-settings,html[data-display-theme] .companion-player>.listening-tools,html[data-display-theme] .detail-controls .listening-tools,html[data-display-theme] .dedication-dialog details{border-color:var(--display-line)}
html[data-display-theme] .listening-tools :is(.listening-note,.listening-status,.listening-timer-status,.listening-resume p),html[data-display-theme] .dedication-dialog :is(.dedication-heading,.dedication-intro,.dedication-source,.dedication-private){color:var(--display-muted)}
html[data-display-theme] .listening-tools .listening-resume button{color:var(--display-link,var(--display-accent));border-color:var(--display-link,var(--display-accent))}
html[data-display-theme] .dedication-heading button{color:var(--display-ink)}
html[data-display-theme=dark] body a.yinian-brand{background:var(--display-bg);color:var(--display-ink)}
html[data-display-theme=dark] body .yinian-brand .yinian-brand-word,html[data-display-theme=dark] body .yinian-brand .yinian-brand-word small{color:var(--display-ink)}
/* Keep intentionally dark listening / illustration blocks coherent in either mode. */
html[data-display-theme][data-display-page=home] .sound-section{--paper:#283538;--muted:#bac5bf;--line:#506064;color:#e8ebe5}
html[data-display-theme][data-display-page=home] .sound-section :is(.track-name small,.sound-disclaimer,.sound-tabs button,.sound-tabs>span,.track-kind,.sound-coming p){color:#bac5bf}
html[data-display-theme][data-display-page=home] .button-solid{background:var(--display-accent);color:var(--display-on-accent)}
html[data-display-theme=dark][data-display-page=home] :is(.hero-intro,.world-icon,.section-note){color:var(--display-muted)}
html[data-display-theme=dark][data-display-page=home] :is(.today-note,.reading-choice-yishi,.ritual-grid>a,.check-in){background:var(--display-surface);border-color:var(--display-line)}
html[data-display-theme=dark][data-display-page=home] .sutra-slip{color:#263940}
html[data-display-theme=dark][data-display-page=home] .note-mark{color:var(--display-line)}
html[data-display-theme=dark][data-display-page=classics] :is(.book-cover,.library-emblem){--light:var(--display-ink)}
html[data-display-theme=dark][data-display-page=classics] .library-emblem{color:var(--display-bg);background:var(--display-ink)}
html[data-display-theme=dark][data-display-page=classics] :is(.primary,.reader-tools .clean-reading-toggle[aria-pressed=true]){color:var(--display-on-accent)}
html[data-display-theme=dark][data-display-page=classics] :is(.book-cover,.book-cover h3){color:var(--display-ink)}
/* Answer book includes painted paper surfaces and low-contrast fixed colors. */
html[data-display-theme][data-display-page=answer] :is(.language-switcher a,.eyebrow,.subtitle,.instruction-list small,.seo-eyebrow,.seo-intro,.faq-list p,.related-tools p,.ritual-guide,.answer-theme,.answer-number,.next-practice>p,.next-practice a small,.next-practice a i,.ask-again,.question-kicker,.library-note,.edge-history){color:var(--display-muted)}
html[data-display-theme][data-display-page=answer] .question-field input::placeholder{color:var(--display-muted)}
html[data-display-theme=dark][data-display-page=answer] :is(.history-dialog,.confirm-dialog,.hold-hint){background:var(--display-surface);color:var(--display-ink)}
html[data-display-theme=dark][data-display-page=answer] :is(.question-line,.ritual-guide>i,.edge-history i){background:var(--display-line)}
/* Wish gallery retains its landscape and artwork, adapting the writing surfaces. */
html[data-display-theme=dark][data-display-page=wish]{--mist:var(--display-bg);--paper:var(--display-surface);--paper-deep:#323e40;--ink:var(--display-ink);--ink-soft:var(--display-muted);--forest:#afc2b8;--red:var(--display-accent);--bronze:var(--display-gold);--line:var(--display-line);--line-strong:#758487}
html[data-display-theme=dark][data-display-page=wish] :is(.site-header,.reading-panel,#memory-form input,#memory-form textarea){background:var(--display-surface);color:var(--display-ink)}
html[data-display-theme][data-display-page=wish] .site-footer{color:var(--display-muted)}
/* Immersive scripture: protect the scene, adapt actual text and opaque reading panels. */
html[data-display-theme][data-display-page=diamond]{--deep:var(--display-bg);--ink:var(--display-ink);--muted:var(--display-muted);--line:var(--display-line);--glass:var(--display-surface);--gold:var(--display-gold)}
html[data-display-theme][data-display-page=diamond] :is(.chapter-drawer,.reading-panel,.closing-panel,.analysis-grid article,.share-dialog,.reading-toggle,.narration-button,.chapter-links a){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=diamond] :is(.sutra-original p,.plain-reading p,.plain-reading .deeper-reading,.analysis-grid p,.source-note,.chapter-links small,.reading-panel legend,.reading-panel-head small,.share-dialog-copy>p:not(.eyebrow),.keyword-line i,.share-close){color:var(--display-ink)}
html[data-display-theme][data-display-page=diamond] .chapter-progress{background:var(--display-surface);color:var(--display-ink);padding:12px;border-radius:4px}
html[data-display-theme][data-display-page=diamond] .chapter-focus{color:var(--display-ink)}
html[data-display-theme][data-display-page=diamond] :is(.setting-options button,.chapter-action,.share-dialog-actions button,.share-dialog-actions a){color:var(--display-ink);background:var(--display-bg);border-color:var(--display-line)}
html[data-display-theme][data-display-page=diamond] :is(.setting-options button[aria-pressed=true],.chapter-action[aria-pressed=true],.reading-toggle span){background:var(--display-accent);color:var(--display-on-accent)}
html[data-display-theme][data-display-page=diamond] :is(.site-header,.hero-copy,.invitation,.eyebrow){color:#f3eadb}
/* The handscroll stays an illustrated room; the paper itself has a real night palette. */
html[data-display-theme][data-display-page=yishi] :is(.reader-panel,.reader-panel button,.reader-panel select,.platform-links>a,.platform-links summary,.platform-links details>div,.gesture-hint){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=yishi] .reader-panel :is(.ambient-credit,#ambient-status){color:var(--display-muted)}
html[data-display-theme][data-display-page=yishi] :is(.platform-links details a,#chapter-list button[aria-current=location]){color:var(--display-link,var(--display-accent))}
html[data-display-theme=dark][data-display-page=yishi]{--paper:#283538;--paper-2:#1c272a;--ink:#e8ebe5;--ink-soft:#bac5bf}
html[data-display-theme=dark][data-display-page=yishi] .scroll-paper{background:var(--display-surface);color:var(--display-ink)}
html[data-display-theme=dark][data-display-page=yishi] :is(.section-title,.mind-col,.mind-cap){color:var(--display-ink)}
html[data-display-theme=dark][data-display-page=yishi] .viewport::after{background:none}
/* Copying desk uses its paper / ink pair separately from the surrounding room. */
html[data-display-theme][data-display-page=jingang] :is(dialog,.setting-row select,.field input,.field textarea){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
/* Keep actual ink on its original paper, including saved colored handwriting. */
html[data-display-theme][data-display-page=jingang] .paper-cell:not([data-complete=true]){color:#718084}
html[data-display-theme][data-display-page=jingang] .paper-cell[aria-current=true]{color:#6b5441}
html[data-display-theme=light][data-display-page=jingang]{--night:var(--display-bg);--muted:var(--display-muted);--line:var(--display-line);color:var(--display-ink)}
html[data-display-theme=light][data-display-page=jingang] :is(.topbar,.desk-bottom button,.input-line input,.status,.hand-heading h2,.afterword,.afterword>p,.afterword details,.return-link,.site-footer){color:var(--display-ink)}
/* Camera and ritual scenes keep their drawing layers; readable controls use opaque surfaces. */
html[data-display-theme][data-display-page=ritual],html[data-display-theme][data-display-page=air],html[data-display-theme][data-display-page=yinbei]{--panel:var(--display-surface);--panel-strong:var(--display-surface)}
html[data-display-theme][data-display-page=ritual] :is(.copy-panel,.result-panel,.control-rail,.mode-switch,.sound-button,.question-box textarea,.camera-hint,.merit-counter,.metric,.omen-item,.reading-evidence,.ritual-lock){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=ritual] :is(.copy-panel,.result-panel,.control-rail) :is(p,label,small,h1,h2,h3,dt,dd,.eyebrow,.question-hint,.evidence-source,.intervals-text){color:var(--display-ink)}
html[data-display-theme][data-display-page=ritual] :is(.mode-button,.sound-button){color:var(--display-ink)}
html[data-display-theme][data-display-page=ritual] .mode-button.is-active{background:var(--display-bg);color:var(--display-link,var(--display-accent))}
html[data-display-theme][data-display-page=ritual] :is(.copy-panel,.result-panel,.control-rail) :is(.secondary,.ghost){background:var(--display-bg);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=air] :is(.hud-status,.tech-strip,.tool-dock,.fortune-panel,.cover-copy article,.listen-row,.confirm-dialog){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=air] :is(.hud-status h1,.tech-strip span,.fortune-title,.fortune-text,.fortune-close,.fortune-panel-header,.cover-copy p,.cover-copy h3,.listen-row,.listen-row strong){color:var(--display-ink)}
html[data-display-theme][data-display-page=air] .tool-button:not(.primary){background:var(--display-bg);color:var(--display-ink)}
html[data-display-theme][data-display-page=yinbei] :is(.panel,.control-panel,.result-panel,.intro-card,.start-panel){background:var(--display-surface);color:var(--display-ink)}
/* Give medium screens the same unobstructed reading layout as phones. */


@media print{html[data-display-theme]{color-scheme:light!important;--display-bg:#fff;--display-surface:#fff;--display-ink:#111;--display-muted:#333;--display-line:#777;--display-accent:#333}html #display-settings{display:none!important}}
/* Shared native recordings and ruby annotations also need the selected palette. */
html[data-display-theme] .scripture-audio{--audio-ink:var(--display-ink);--audio-muted:var(--display-muted);--audio-line:var(--display-line);background:var(--display-surface)}
html[data-display-theme=dark] .scripture-audio audio{color-scheme:dark}
html[data-display-theme][data-display-page=classics] rt{color:var(--display-muted)}
html[data-display-theme][data-display-page=home] .sutra-slip button{color:#43545a}
html[data-display-theme][data-display-page=home] :is(.scripture-art-note,.record-sleeve>span){background:rgb(23 37 31 / 90%);padding:5px 8px}
html[data-display-theme][data-display-page=practice] .button-solid{background:var(--display-accent);color:var(--display-on-accent)}

html[data-display-theme][data-display-page=ritual] select{background:var(--display-surface);color:var(--display-ink);border:1px solid var(--display-line)}
html[data-display-theme][data-display-page=answer] .instruction-list li>span{color:var(--display-link,var(--display-accent))}
html[data-display-theme][data-display-page=diamond] .share-dialog-actions button:first-child{background:var(--display-accent);color:var(--display-on-accent)}
html[data-display-theme][data-display-page=yinbei] :is(.hud-status,.start-card,.result-panel){background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=yinbei] :is(.hud-status,.start-card,.result-panel) :is(h1,h2,h3,p,small,label){color:var(--display-ink)}
html[data-display-theme][data-display-page=ritual] :is(.copy-panel,.result-panel,.control-rail,.merit-counter,.metric){--ink:var(--display-ink);--text:var(--display-ink);--muted:var(--display-muted);--gold:var(--display-gold);--line:var(--display-line);--line-strong:var(--display-line)}
html[data-display-theme][data-display-page=yinbei] :is(.hud-status,.start-card,.result-panel){--ink:var(--display-ink);--muted:var(--display-muted);--line:var(--display-line)}
html[data-display-theme][data-display-page=air] :is(.hud-status,.cover-copy article) .eyebrow{color:var(--display-link,var(--display-accent))}
html[data-display-theme][data-display-page=diamond] .chapter-card{background:var(--display-surface);color:var(--display-ink);border-color:var(--display-line)}
html[data-display-theme][data-display-page=diamond] .chapter-progress strong{color:var(--display-muted)}
html[data-display-theme=light][data-display-page=diamond] .hero-copy{background:var(--display-surface);padding:24px;color:var(--display-ink)}
html[data-display-theme=light][data-display-page=diamond] .hero-copy :is(.eyebrow,.invitation){color:var(--display-muted)}
html[data-display-theme][data-display-page=home] :is(.today-note,.reading-choice-yishi,.check-in,.ritual-grid>a){background:var(--display-wash);border-color:var(--display-line)}
html[data-display-theme][data-display-page=home] :is(.today-label,.today-meaning){border-color:var(--display-line)}
html[data-display-theme][data-display-page=home] :is(.hero-landscape,.hero-disc,.scripture-art){background:var(--display-blue)}
html[data-display-theme][data-display-page=home] .hero-disc{border-color:var(--display-gold);color:var(--display-on-accent)}
html[data-display-theme=dark][data-display-page=home] .hero-disc{background:#365660;color:#fcf9f2}
html[data-display-theme][data-display-page=home] .world-icon{color:var(--display-muted)}
html[data-display-theme][data-display-page=home] .home-almanac{--mini-print:var(--display-blue);--mini-paper:var(--display-surface);--mini-edge:var(--display-line)}
html[data-display-theme=dark][data-display-page=home] .home-almanac{--mini-print:#afc2b8;--mini-paper:var(--display-surface);--mini-edge:var(--display-line)}
html[data-display-theme=dark] body :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline-color:var(--display-focus)}
html[data-display-theme=dark][data-display-page=sound] .tone-choice b{color:color-mix(in srgb,var(--tone) 35%,var(--display-ink))}
