/* Yonaris / material and colour system.
 * Read after component layouts. Colour is assigned by role, never by chapter.
 * Paper: marketing surfaces. White: product UI. Coral: action/translation.
 * Evergreen: confirmed status only. Slate: neutral facts and typography.
 */
:root{
 --yn-white:#fff;--yn-paper:#faf9f6;--yn-surface:#f4f5f4;
 --yn-ink:#202628;--yn-muted:#62696b;--yn-line:#e2e5e3;
 --yn-accent:#ef744f;--yn-accent-hover:#e86743;--yn-accent-ink:#a84229;
 --yn-accent-soft:#fff0e9;--yn-success:#3d705d;--yn-success-soft:#f0f6f3;
 --yn-shadow:0 2px 4px #20262803,0 16px 36px -20px #20262826;
 --yn-avatar-paper:#f4f5f4;--yn-avatar-edge:#e2e5e3;--yn-avatar-ink:#62696b;
 --ink:var(--yn-ink);--muted:var(--yn-muted);--paper:var(--yn-paper);
 --line:var(--yn-line);--accent:var(--yn-accent);--action:var(--yn-accent-ink);
 --focus:var(--yn-accent-ink);--sage:var(--yn-success);--cream:var(--yn-paper);--sea:var(--yn-surface);
}
body{color:var(--yn-ink);background:var(--yn-white)}
::selection{background:#f9d9ca;color:var(--yn-ink)}
:is(h1,h2,h3,h4){color:var(--yn-ink)}
.button.primary,.site-ending .button.primary{background:var(--yn-accent);color:#261f1c;box-shadow:inset 0 1px #ffffff30,0 2px 3px #20262808}
.button.primary:hover,.site-ending .button.primary:hover{background:var(--yn-accent-hover)}
.button.secondary,.site-ending .button.secondary{background:var(--yn-white);color:var(--yn-ink);border:1px solid var(--yn-line);box-shadow:none}
.button.secondary:hover,.site-ending .button.secondary:hover{background:var(--yn-paper);border-color:#bac2be}
.text-link,.c-link,.ys-forward{color:var(--yn-accent-ink)}
.announcement{background:var(--yn-paper);border-color:var(--yn-line);color:var(--yn-muted)}
.announcement strong{color:var(--yn-ink)}
.site-header{background:#fffffff5;border-color:var(--yn-line);backdrop-filter:blur(18px)}
.desktop-nav a{color:var(--yn-ink)}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--yn-accent-ink)}
.language-link{color:var(--yn-muted);border-color:var(--yn-line);background:var(--yn-white)}
.language-link:hover{background:var(--yn-paper)}
.mode-dock{border-color:var(--yn-line);background:#fffffff5}
.mode-dock a{color:var(--yn-muted)}
.mode-dock{position:fixed;right:22px;bottom:22px;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:222px;max-width:calc(100vw - 32px);margin:0;padding:4px;isolation:isolate;border:1px solid #dadfdb;background:#fffffff2;box-shadow:0 2px 4px #20262806,0 10px 28px -15px #20262840;backdrop-filter:blur(16px);view-transition-name:reading-control}
.mode-dock-selection{position:absolute;inset:4px auto 4px 4px;width:calc((100% - 10px)/2);border-radius:999px;background:#f9e4d7;border:1px solid #f0d1bc;z-index:-1;pointer-events:none}
.mode-dock[data-active=agent] .mode-dock-selection{left:calc(50% + 1px)}
.mode-dock a{display:flex;justify-content:center;align-items:center;min-height:40px;padding:9px 8px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.01em;color:#69716f;white-space:nowrap}
.mode-dock a>span{display:inline;opacity:1;max-width:none;width:auto;overflow:visible}
.mode-dock a[aria-current=page]{color:#803e29}
.mode-dock a:hover{background:#f2f4f180;color:#263331}
.mode-dock a[aria-current=page]:hover{background:transparent;color:#803e29}
.mode-dock a:focus-visible{outline:2px solid var(--yn-accent-ink);outline-offset:2px}
.mode-dock a[aria-busy=true]{color:var(--yn-accent-ink)}
.site-footer{padding-bottom:96px}
@media(max-width:760px){.mode-dock{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:214px}.mode-dock a{min-height:44px}}
@media print{.mode-dock{display:none}.site-footer{padding-bottom:28px}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-group(root){animation:none}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;height:100%;object-fit:cover;object-position:left top}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
.reading-seam{position:fixed;inset:0;z-index:109;pointer-events:none;view-transition-name:reading-particles}
::view-transition-group(reading-particles){z-index:3;animation:none}
::view-transition-new(reading-particles){animation:none;mix-blend-mode:normal;height:100%;object-fit:fill}
::view-transition-group(reading-control){z-index:5;animation-duration:380ms}
::view-transition-old(reading-control),::view-transition-new(reading-control){animation-duration:320ms;mix-blend-mode:normal}
.view-fallback-exit body>:not(.mode-dock){animation:reading-fade-out 140ms ease-out both}
.view-fallback-enter body>:not(.mode-dock){animation:reading-fade-in 240ms ease-out both}
@keyframes reading-fade-out{to{opacity:0}}
@keyframes reading-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.view-fallback-exit body>*,.view-fallback-enter body>*{animation:none}}
.eyebrow{color:var(--yn-muted)}

/* One original signature across every app surface. Small tools share its stroke. */
.yn-icon{color:inherit;fill:none;stroke:none}
.yn-brand-mark{display:block;fill:none;stroke:none;flex:none}
.ypm-app-mark,.yn-brand-mark{color:var(--yn-ink);filter:none}
.ypm-app-agent,.ypm-app-truth{color:var(--yn-accent-ink)}
.yn-file-mark{color:var(--yn-muted);filter:none}
.ypm-avatar{color:var(--yn-ink);background:var(--yn-surface);box-shadow:inset 0 0 0 1px var(--yn-line)}
.ir-person-avatar,.ir-person-avatar.agent{background:none;box-shadow:none}
.ir-intro-line>div>span svg,.ys-case-note h4>.yn-icon{color:var(--yn-muted)}

/* Hero: a warm illuminated stage separates the white canvas from the page. */
.ir-hero-material{background:radial-gradient(ellipse at 24% 105%,#ee926de0 0,transparent 56%),radial-gradient(ellipse at 100% 88%,#f4c6ab 0,transparent 57%),linear-gradient(155deg,#f7f0e5 8%,#f7e9dc 50%,#efb494 100%);border:1px solid #e9d6c5;box-shadow:inset 0 1px #ffffffc4}
.ir-hero-material::before,.ir-hero-material::after{background:none;opacity:0}
.ir-network-window{background:#f5f4f1;border-color:#e0dcd6;box-shadow:0 2px 5px #563b2010,0 24px 54px -26px #563b2057,0 52px 88px -55px #563b2052}
.ir-window-chrome{background:var(--yn-surface);color:var(--yn-muted);border-color:var(--yn-line)}
.ir-window-chrome small{color:var(--yn-muted)}
.ir-network-screen,.ir-satellite{background:var(--yn-white);border-color:var(--yn-line)}
.ir-window-name,.ir-window-name>span:last-child,.ir-network-caption,.ir-network-label{color:var(--yn-muted)}
.ir-window-name strong,.ir-network-answer h3{color:var(--yn-ink)}
.ir-desktop-menubar{background:#ffffffed;color:var(--yn-ink);border-color:var(--yn-line)}
.ir-desktop-menubar span,.ir-desktop-menubar small,.ir-phone-app,.ir-hero-collaboration{color:var(--yn-muted)}
.ir-hero-phone,.ir-hero-collaboration,.ir-hero-record,.ir-hero-dock{border-color:var(--yn-line);background:var(--yn-white);box-shadow:var(--yn-shadow)}
.ir-collab-result,.ir-phone-detail{background:var(--yn-paper);color:var(--yn-muted);border-color:var(--yn-line)}
.ir-code{color:var(--yn-ink)}
.ir-code b,.ir-code em{color:var(--yn-muted)}
.ir-code span{color:var(--yn-ink)}
.ir-code strong{color:var(--yn-success)}
.ir-code-status{color:var(--yn-muted);border-color:var(--yn-line)}
.ir-code-status i{background:var(--yn-success)}
.ir-mobile-proof,.ir-mobile-proof-bar,.ir-mobile-proof-question{background:var(--yn-white);border-color:var(--yn-line);color:var(--yn-ink)}
.ir-mobile-proof-fact{background:var(--yn-paper);border-color:var(--yn-line)}
.ir-mobile-proof-state{color:var(--yn-success)}
.ir-mobile-proof-source{background:var(--yn-white);color:var(--yn-muted);border-color:var(--yn-line)}
.ir-intro-line{border-color:var(--yn-line)}
.ir-intro-line p,.ir-intro-line>div{color:var(--yn-muted)}
.ir-intro-line strong{color:var(--yn-ink)}

/* Product Truth: the core has weight; the white application layer rests above it. */
#product-truth.pt-refined .ir-platform-output>span{background:var(--yn-white);border-color:var(--yn-line);color:var(--yn-ink);box-shadow:var(--yn-shadow)}
#product-truth.pt-refined .pt-outcome-mark{background:none;color:var(--yn-accent-ink)}
#product-truth.pt-refined .ir-platform-tracks i{background:linear-gradient(#ddd5cb,#ef9b7b)}
#product-truth.pt-refined .ir-platform-tracks i::after{background:var(--yn-white);border-color:var(--yn-accent)}
#product-truth.pt-refined .ir-platform-layer{background:linear-gradient(180deg,#fff,#fcfbf8);border-color:#dedbd4;box-shadow:0 2px 3px #42332608,0 12px 25px -16px #42332640;position:relative;z-index:2}
#product-truth.pt-refined .ir-platform-layer strong{color:var(--yn-ink)}
#product-truth.pt-refined .ir-platform-layer>span{color:var(--yn-muted);border-color:var(--yn-line)}
#product-truth.pt-refined .ir-platform-hub{color:#fff;background:radial-gradient(ellipse at 26% 10%,#ffc39b 0,transparent 66%),linear-gradient(155deg,#ef956a 0%,#de714c 55%,#bc4f34 100%);box-shadow:inset 1px 0 #ffffff73,inset -1px 0 #aa49294d,inset 0 -2px #a8453266,0 22px 38px -27px #94472599}
#product-truth.pt-refined .ir-platform-hub::before{border-color:#ffffff5c}
#product-truth.pt-refined .ir-platform-hub::after{background:#99482922;filter:blur(16px)}
#product-truth.pt-refined .ir-platform-hub strong{color:#211a17;text-shadow:none}
#product-truth.pt-refined .ir-platform-hub>span{color:#15130f}
#product-truth.pt-refined .pt-core-symbol>.ypm-app-mark{color:var(--yn-accent-ink);filter:none}
#product-truth.pt-refined .ir-platform-inputs>span{background:#faf8f4;border-color:#e6e0d7;color:#646965;box-shadow:0 1px 2px #34291f06}
#product-truth.pt-refined .ir-platform-inputs svg{color:var(--yn-muted)}

/* Scroll chapters: one paper frame surrounding white product surfaces. */
.ys-story{color:var(--yn-ink)}
.ys-chapter-nav{border-color:var(--yn-line);background:#fffffff5}
.ys-chapter-nav a,.ys-chapter-nav a>span,.ys-intro>p,.ys-intro .eyebrow{color:var(--yn-muted)}
.ys-chapter-nav a[aria-current]{color:var(--yn-ink)}
.ys-chapter-nav a[aria-current]>span{color:var(--yn-accent-ink)}
.ys-chapter-nav a i{background:var(--yn-accent)}
.ys-chapter-inner{background:#f7f5f0;border-color:#ebe7df;box-shadow:0 -12px 24px -24px #20262835}
.ys-chapter-message>p,.ys-case-note>p,.ys-case-note>small,.ys-case-scope p{color:var(--yn-muted)}
.ys-case-note{background:#ffffffb8;border:1px solid #e6e2dc;border-radius:10px;padding:22px 24px;box-shadow:0 2px 4px #29241d03}
.ys-case-note h4,.ys-case-note blockquote{color:var(--yn-ink)}
.ypm{background:transparent;color:var(--yn-ink)}
.ypm-workspace,.ypm-team-thread,.ypm-review-device{background:var(--yn-white);border-color:var(--yn-line);box-shadow:var(--yn-shadow)}
.ypm-review-device{border-color:var(--yn-ink)}
.ypm-window-chrome,.ypm-channel,.ypm-thread-heading,.ypm-workspace-head{background:var(--yn-white);border-color:var(--yn-line);color:var(--yn-muted)}
.ypm-source-passage .is-emphasized{background:var(--yn-surface);color:var(--yn-ink);box-shadow:inset 2px 0 var(--yn-accent)}
.ypm-thread-source,.ypm-attachment,.ypm-evidence-receipt{background:var(--yn-surface);border-color:var(--yn-line);color:var(--yn-ink)}
.ypm-thread-source strong,.ypm-evidence-receipt button{color:var(--yn-ink)}
.ypm-gap-note,.ypm-answer-primary mark,.ypm-answer-body mark{background:var(--yn-accent-soft);color:var(--yn-accent-ink)}
.ypm-message-body .ypm-final-draft,.ypm-final-draft,.ypm-fact-verdict{background:var(--yn-white);color:var(--yn-ink);border-color:var(--yn-line)}
.ypm-review-row.is-capability,.ypm-review-row.is-capability>.yn-icon:first-child,.ypm-thread-resolved,.ys-copy-status{color:var(--yn-success)}
.ypm-fact-actions>a,.ypm-draft-actions>button{background:var(--yn-ink);color:var(--yn-white)}
.ypm-fact-actions>a:hover,.ypm-draft-actions>button:hover{background:#384144}
.ypm-copy-button,.p-copy{background:var(--yn-ink);color:var(--yn-white)}
.ypm-copy-button:hover,.p-copy:hover{background:#384144}
.ypm-copy-button[data-copy-state=done],.p-copy[data-copy-state=done]{background:var(--yn-success);color:var(--yn-white)}
.ypm-fact-verdict p,.ypm-review-row.is-condition,.ypm-fact-actions>button{color:var(--yn-muted)}
.ypm-tabs button,.ypm-tabs .yn-icon{color:var(--yn-muted);border-color:var(--yn-line)}
.ypm-tabs button[aria-selected=true],.ypm-tabs [aria-selected=true] .yn-icon{color:var(--yn-accent-ink)}
.ypm-tabs button::after{background:var(--yn-accent)}
.ypm-channel>small,.ypm-attachment small,.ypm-next-hint,.ypm-thread-heading small,
.ypm-device-title small,.ypm-device-context>p,.ypm-document-meta,.ypm-fact-verdict>small,
.ypm-thread-actions>span,.ypm-comparison small,.ypm-source-details dt,.ypm-review-divider,
.ypm-editor-label,.ypm-draft-actions>span,.ypm-draft-comment p,.ypm-faq-main>small,.ypm-faq-source{color:var(--yn-muted)}

/* Product route: capabilities differ by content, not four unrelated panel colours. */
.p-hero-art{background:radial-gradient(ellipse at 20% 100%,#efad8740,transparent 68%),#f3eee6;border-color:#e8dfd3;box-shadow:inset 0 1px #fff}
.p-hero-art::before,.p-hero-art::after{opacity:0}
.p-art-back,.p-art-front{background:var(--yn-white);border-color:var(--yn-line);color:var(--yn-ink);box-shadow:var(--yn-shadow)}
.p-art-back p,.p-art-front p,.p-art-front small{color:var(--yn-muted)}
.p-demo-stage{background:#f1eee8;border-color:#e4ded4}
.p-workspace,.p-sample-sheet{background:var(--yn-white);border-color:var(--yn-line);box-shadow:var(--yn-shadow)}
.p-persistent-question,.p-persistent-response{background:var(--yn-white);border-color:var(--yn-line)}
.p-duty .p-duty-art{background:#f1eee8;border-color:#e4ded4}
.p-duty:nth-of-type(even) .p-duty-art{background:#eef2f2;border-color:#dde5e5}
.p-lens-art,.p-matrix-art,.p-folio-art,.p-proposal-art{background:var(--yn-white);border-color:var(--yn-line);box-shadow:var(--yn-shadow)}
.p-delivery-section{background:var(--yn-paper);border-color:var(--yn-line)}
.p-report-body,.p-report-section{background:var(--yn-white);border-color:var(--yn-line)}
.p-art-front mark,.p-answer mark,.p-persistent-response mark,.p-lens-art mark{background:var(--yn-accent-soft);color:var(--yn-accent-ink)}
.p-field-editor textarea,.p-draft-field,#p-draft-field{background:var(--yn-white);color:var(--yn-ink);border-color:var(--yn-line);border-left-color:var(--yn-accent)}
.p-workspace-source,.p-source-chip,.p-evidence-link,.p-folio-highlight{background:var(--yn-surface);color:var(--yn-ink);border-color:var(--yn-line)}
.product-page .p-source-attachment,.product-page .p-inline-evidence{background:var(--yn-surface);border-color:var(--yn-line);color:var(--yn-ink);box-shadow:none}
.product-page .p-source-attachment:hover,.product-page .p-inline-evidence:hover{background:#edf0ed;border-color:#bac2be}
.product-page .p-source-attachment>.yn-file-mark,.product-page .p-source-attachment>svg:last-child{color:var(--yn-muted)}
.product-page .p-panel .p-copy,.product-page .p-copy{background:var(--yn-ink);color:var(--yn-white);border-color:var(--yn-ink)}
.product-page .p-copy:hover{background:#384144}
.product-page .p-copy[data-copy-state=copied]{background:var(--yn-success);border-color:var(--yn-success)}
.product-page .p-report-nav,.product-page .p-report-details>summary,.product-page .p-scope-strip{background:var(--yn-paper);color:var(--yn-muted);border-color:var(--yn-line)}
.product-page .p-report-nav button{color:var(--yn-muted)}
.product-page .p-report-nav button[aria-selected=true]{background:var(--yn-white);color:var(--yn-ink);border-color:var(--yn-line);box-shadow:0 1px 3px #2026280a}
.product-page .p-report-nav button[aria-selected=true] span{color:var(--yn-accent-ink)}
.product-page .p-folio-rail{background:var(--yn-surface);border-color:var(--yn-line)}
.product-page .p-folio-rail span,.product-page .p-folio-rail b{color:var(--yn-muted);border-color:var(--yn-line)}
.product-page .p-folio-art::before,.product-page .p-folio-art::after{background:var(--yn-white);border-color:var(--yn-line);box-shadow:none}
.product-page .p-folio-highlight,.product-page .p-matrix-focus{background:var(--yn-surface);color:var(--yn-ink)}
.product-page .p-matrix-focus th,.product-page .p-matrix-focus td{background:none;color:var(--yn-ink)}
.product-page .p-folio-breadcrumb,.product-page .p-folio-highlight p,.product-page .p-folio-condition,.product-page .p-folio-location{color:var(--yn-muted)}
.product-page .p-reading-strip{background:var(--yn-accent-soft);border-color:var(--yn-accent);color:var(--yn-ink)}
.product-page .p-art-front>footer,.product-page .p-art-bottom,.product-page .p-lens-note{background:var(--yn-paper);color:var(--yn-muted);border-color:var(--yn-line)}
.product-page .p-proposal-insertion{background:var(--yn-white);border-color:var(--yn-line);box-shadow:inset 2px 0 var(--yn-accent)}
.product-page .p-proposal-insertion p{color:var(--yn-ink)}
.product-page .p-proposal-insertion>span{color:var(--yn-accent-ink)}
.product-page .p-proposal-checks,.product-page .p-matrix-check{color:var(--yn-success)}
.product-page .p-draft-status,.product-page .p-proposal-state{background:var(--yn-paper);color:var(--yn-muted);border-color:var(--yn-line)}
.product-page .p-evidence-notes dt,.product-page .p-evidence-notes dd,.product-page .p-source-attachment small,.product-page .p-scope-strip p{color:var(--yn-muted)}
.product-page .p-art-toolbar,.product-page .p-matrix-head,.product-page .p-report-scope{background:var(--yn-paper);border-color:var(--yn-line);color:var(--yn-muted)}
.product-page .p-matrix-art thead th{background:var(--yn-white);color:var(--yn-muted);border-color:var(--yn-line)}
.product-page .p-folio-art{border-color:var(--yn-line);box-shadow:var(--yn-shadow)}
.product-page .p-folio-page h4{color:var(--yn-ink)}
.product-page .p-art-answer,.product-page .p-art-open{background:var(--yn-white);color:var(--yn-ink);border-color:var(--yn-line)}
.product-page .p-report-symbol-review{background:var(--yn-surface);color:var(--yn-muted)}
.product-page .p-report-brand>span,.product-page .p-report-id,.product-page .p-report-id>span,
.product-page .p-report-summary dt,.product-page .p-report-chapter-label,.product-page .p-report-distinction small,
.product-page .p-report-source-pair>div>span,.product-page .p-report-change>span,
.product-page .p-report-followup strong,.product-page .p-report-details>summary small,
.product-page .p-report-scope strong,.product-page .p-report-record>li>span,.product-page .p-report-disclaimer{color:var(--yn-muted)}

/* Illustrations retain the same paper/ribbon geometry on every route. */
.ir-why,.ir-why-art,.ir-editorial-art.art-one,.ir-editorial-art.art-two,.ir-editorial-art.art-three,
.c-company-cover,.c-company-cover:before,.c-belief-art,.c-contact-art,.c-editorial-cover{background:var(--yn-paper);border-color:var(--yn-line)}
.ir-why{background:var(--yn-white);border:0}
.ir-insight-card small,.ir-insight-card p,.ir-insight-card small b{color:var(--yn-muted)}
.c-belief-document,.c-company-work article,.c-company-work article:first-child{background:var(--yn-white);border-color:var(--yn-line)}
.c-category{background:none;color:var(--yn-muted)}
.c-field input,.c-field textarea,.c-contact textarea{background:var(--yn-white);border-color:#cdd3d0;color:var(--yn-ink)}
.c-field input::placeholder,.c-field textarea::placeholder,.c-contact textarea::placeholder{color:#737a7c}
.c-field input:focus,.c-field textarea:focus,.c-contact textarea:focus{border-color:var(--yn-accent-ink);box-shadow:0 0 0 3px #ef744f10}
.c-contact-card-heading>p,.c-contact-direct,.c-contact-aside p,.c-contact-context p{color:var(--yn-muted)}
.c-contact-form button[type=submit],#c-contact-form button[type=submit]{background:var(--yn-accent);color:var(--yn-ink)}
.c-agent-boundaries,.c-resource-bridge,.c-article-note,.c-article-body blockquote,.c-title-band{background:var(--yn-paper);border-color:var(--yn-line)}

/* A flat paper invitation and one ink-coloured colophon finish the system. */
.site-ending,.closing-cta{background:var(--yn-paper);border-color:var(--yn-line)}
.closing-cta::after{background:var(--yn-line);left:0;right:0;opacity:0}
.closing-cta h2{color:var(--yn-ink)}
.closing-cta p,.closing-cta .eyebrow{color:var(--yn-muted)}
.site-footer{background:var(--yn-ink);color:#f5f6f5}
.footer-brand p,.footer-belief a,.footer-grid nav h3,.site-footer .footer-bottom{color:#bbc2bf}
.footer-belief>span,.footer-grid nav a,.footer-bottom .back-top{color:#f5f6f5}
.footer-grid nav a:hover{color:#ffb49b}

/* The Chinese display family must cover chapter headings as well as the hero. */
html[lang="zh-CN"] .ys-story :is(.ys-intro h2,.ys-chapter-message h3){font-family:var(--body);font-weight:500;letter-spacing:-.026em}
.ys-product-stage .ypm{background:#eee9e1}
@media(min-width:1101px){.ys-chapter-message>p{font-size:17px;line-height:1.7}.ys-case-note{margin-top:70px}}
@media(max-width:760px){.ir-hero-material{background:linear-gradient(150deg,#f9f2e7,#f6d9c4 65%,#eda983)}.ys-case-note{padding:20px}}

/* Clause punctuation belongs to the sentence, independently of its line wrap. */
html[lang=zh-CN] .ir-hero-clause{display:inline-block}
@media(min-width:761px){
 html[lang=zh-CN] #yr-reader-heading>span{display:inline-block}
}
/* The existing composition carries one quiet, upward stream of information. */
#product-truth{--pt-cycle:6.8s}
#product-truth .pt-input-streams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
#product-truth .pt-input-streams path{fill:none;stroke:#df7956;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:18 112;opacity:0}
#product-truth .ir-platform-inputs{position:relative;z-index:1}
#product-truth .ir-platform-inputs>span{position:relative}
#product-truth .ir-platform-inputs>span::after{content:"";position:absolute;inset:-1px;border:1px solid #dd9878;border-radius:inherit;box-shadow:0 0 14px #eb9a6621;opacity:0;pointer-events:none}
#product-truth .pt-core-light{position:absolute;inset:-50% -40%;background:radial-gradient(ellipse at 50% 50%,#fff6ca5c,transparent 58%);pointer-events:none;opacity:0;z-index:0}
#product-truth .pt-core-streams{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#product-truth .pt-core-streams path{fill:none;stroke:#fff6db;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:23 117;opacity:0}
#product-truth .ir-platform-hub>:is(strong,span,.pt-core-symbol){position:relative;z-index:1}
#product-truth .ir-platform-layer::after{content:"";position:absolute;bottom:-1px;left:4%;width:92%;height:2px;background:linear-gradient(90deg,transparent,#f3a97c 25%,#d66c48 50%,#f3a97c 75%,transparent);transform:scaleX(.06);opacity:0;pointer-events:none}
#product-truth.pt-refined[data-truth-motion] .ir-platform-tracks i::before{content:"";position:absolute;bottom:0;left:-1px;width:3px;height:22px;border-radius:3px;background:linear-gradient(to top,transparent,#efad86 55%,#c95d3b);opacity:0;box-shadow:0 -2px 6px #ed94684d;pointer-events:none}
#product-truth.pt-refined[data-truth-motion] .ir-platform-tracks i::after{opacity:0}
#product-truth .ir-platform-output>span::after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;border:1px solid #df9c7a;background:linear-gradient(0deg,#fff3e880,transparent 62%);box-shadow:0 8px 28px -14px #d6865466;opacity:0}
#product-truth[data-truth-motion] .pt-input-streams path{animation:pt-source-travel var(--pt-cycle) linear infinite;animation-delay:var(--pt-delay,0s)}
#product-truth[data-truth-motion] .ir-platform-inputs>span::after{animation:pt-source-ready var(--pt-cycle) ease-in-out infinite;animation-delay:var(--pt-delay,0s)}
#product-truth[data-truth-motion] .pt-core-light{animation:pt-core-light var(--pt-cycle) ease-in-out infinite}
#product-truth[data-truth-motion] .pt-core-streams path{animation:pt-core-travel var(--pt-cycle) linear infinite}
#product-truth[data-truth-motion] .ir-platform-layer::after{animation:pt-distribute var(--pt-cycle) ease-in-out infinite}
#product-truth[data-truth-motion] .ir-platform-tracks i::before{animation:pt-outbound var(--pt-cycle) linear infinite;animation-delay:var(--pt-delay,0s)}
#product-truth[data-truth-motion] .ir-platform-output>span::after{animation:pt-outcome-ready var(--pt-cycle) ease-in-out infinite;animation-delay:var(--pt-delay,0s)}
#product-truth[data-truth-motion] .pt-outcome-mark{animation:pt-outcome-ink var(--pt-cycle) ease-in-out infinite;animation-delay:var(--pt-delay,0s)}
#product-truth[data-truth-motion] :is(.pt-input-streams path,.pt-core-streams path,.pt-core-light,.pt-outcome-mark),
#product-truth[data-truth-motion] :is(.ir-platform-inputs>span,.ir-platform-layer,.ir-platform-tracks i,.ir-platform-output>span)::after,
#product-truth[data-truth-motion] .ir-platform-tracks i::before{animation-play-state:paused}
#product-truth[data-truth-motion=running] :is(.pt-input-streams path,.pt-core-streams path,.pt-core-light,.pt-outcome-mark),
#product-truth[data-truth-motion=running] :is(.ir-platform-inputs>span,.ir-platform-layer,.ir-platform-tracks i,.ir-platform-output>span)::after,
#product-truth[data-truth-motion=running] .ir-platform-tracks i::before{animation-play-state:running}
@keyframes pt-source-ready{0%,29%,100%{opacity:0}5%,17%{opacity:1}}
@keyframes pt-source-travel{0%,5%{stroke-dashoffset:20;opacity:0}8%{opacity:1}23%{stroke-dashoffset:-100;opacity:1}26%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes pt-core-light{0%,12%,83%,100%{opacity:0;transform:translateY(28%)}26%{opacity:.72}56%{opacity:.42;transform:translateY(-22%)}}
@keyframes pt-core-travel{0%,14%{stroke-dashoffset:24;opacity:0}18%{opacity:.9}44%{stroke-dashoffset:-100;opacity:.9}48%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes pt-distribute{0%,34%,78%,100%{opacity:0;transform:scaleX(.06)}43%{opacity:.85}58%{opacity:.7;transform:scaleX(1)}70%{opacity:0;transform:scaleX(1)}}
@keyframes pt-outbound{0%,44%{bottom:-10%;opacity:0}49%{opacity:1}64%{bottom:calc(100% - 4px);opacity:1}69%,100%{bottom:100%;opacity:0}}
@keyframes pt-outcome-ready{0%,60%,98%,100%{opacity:0}70%,81%{opacity:1}}
@keyframes pt-outcome-ink{0%,60%,98%,100%{color:var(--yn-accent-ink)}70%,81%{color:#db744f}}
@media(max-width:760px){#product-truth .pt-input-streams{display:none}}
@media(prefers-reduced-motion:reduce){
 #product-truth[data-truth-motion] *,#product-truth[data-truth-motion] *::before,#product-truth[data-truth-motion] *::after{animation:none!important}
}
/* Feedback polish: a shared response for controls, with a quieter resting state. */
:root { --yn-response: cubic-bezier(.22,1,.36,1); }
.site-header {
  background: rgb(255 255 255 / .91);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  backdrop-filter: blur(22px) saturate(1.2);
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled {
  background: rgb(255 255 255 / .82);
  border-bottom-color: rgb(32 38 40 / .08);
  box-shadow: 0 5px 24px -16px rgb(32 38 40 / .2);
}
.button, .site-ending .button {
  transition: background .26s ease, color .26s ease, border-color .26s ease,
    box-shadow .3s ease, transform .3s var(--yn-response);
}
.button.secondary:is(:hover,:focus-visible),
.site-ending .button.secondary:is(:hover,:focus-visible) {
  background: var(--yn-ink); border-color: var(--yn-ink); color: white;
  box-shadow: 0 5px 15px -8px rgb(32 38 40 / .35);
}
.button.primary:focus-visible { background: var(--yn-accent-hover); }
.button:active { transform: translateY(1px) scale(.985); }
.ir-hero-actions .button.secondary { gap: 15px; padding-right: 10px; }
.yn-button-arrow {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--yn-paper); color: var(--yn-ink); overflow: hidden; flex: none;
  transition: background .26s ease, color .26s ease;
}
.yn-button-arrow .yn-icon { width: 16px; height: 16px; }
.button.secondary:is(:hover,:focus-visible) .yn-button-arrow { background: var(--yn-accent); color: var(--yn-ink); }
.button.secondary:is(:hover,:focus-visible) .yn-button-arrow svg { transform: translateX(2px); }
.text-link:focus-visible svg { transform: translateX(4px); }
.desktop-nav a:focus-visible:after { transform: scaleX(1); }

/* Adjacent chapters have different compositions, without changing their scenes. */
.ir-platform-heading > .eyebrow { margin-bottom: 20px; color: var(--yn-accent-ink); }
@media(min-width:1101px) {
  .yr-reader-flow .yr-reader-heading {
    display: grid; grid-template-columns: 1.25fr 1fr; column-gap: 64px;
    text-align: left; align-items: end;
  }
  .yr-reader-heading .yr-flow-eyebrow { grid-column: 1 / -1; margin-bottom: 20px; }
  .yr-reader-flow .yr-reader-heading h2 { font-size: 42px; line-height: 1.3; }
  html[lang=zh-CN] #yr-reader-heading > span { display: block; }
  .yr-reader-flow .yr-reader-heading p { margin: 0 0 4px; max-width: 440px; padding: 0; font-size: 17px; line-height: 1.8; }
  .yr-reader-heading p br { display: none; }
  .ys-intro { display: grid; grid-template-columns: 1.15fr 1fr; column-gap: 80px; text-align: left; align-items: end; }
  .ys-intro .eyebrow { grid-column: 1 / -1; margin-bottom: 20px; color: var(--yn-accent-ink); }
  .ys-intro h2 { margin: 0; font-size: 52px; }
  .ys-intro > p { margin: 0 0 6px; max-width: 430px; line-height: 1.8; font-size: 17px; }
}

/* A card behaves as one link, including keyboard focus and touch feedback. */
.ir-insight-grid { align-items: stretch; }
.ir-insight-card { display: flex; flex-direction: column; }
.ir-insight-card .ir-editorial-art { flex: none; }
.ir-insight-card h3 { transition: color .25s ease; }
.ir-insight-card:is(:hover,:focus-visible) h3 { color: var(--yn-accent-ink); text-decoration: none; }
.ir-insight-card:focus-visible .ir-editorial-art { transform: translateY(-4px); box-shadow: 0 14px 30px -22px #4e382b60; }
.ir-insight-card .ir-insight-read {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding-top: 18px; margin-top: auto; min-height: 62px;
  color: var(--yn-ink); font-size: 13px;
}
.ir-insight-read > span { color: var(--yn-muted); transition: color .25s; }
.ir-insight-read > i {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid var(--yn-line); font-style: normal;
  transition: background .3s ease, color .3s ease, border-color .3s ease, transform .4s var(--yn-response);
}
.ir-insight-read svg { width: 15px; height: 15px; }
.ir-insight-card:is(:hover,:focus-visible) .ir-insight-read > i {
  background: var(--yn-ink); border-color: var(--yn-ink); color: white; transform: translateX(-5px);
}
.ir-insight-card:is(:hover,:focus-visible) .ir-insight-read > span { color: var(--yn-accent-ink); }
.ir-insight-card:active .ir-insight-read > i { transform: translateX(-2px) scale(.93); }
@media(max-width:760px) {
  .ir-hero-actions .button.secondary { gap: 7px; padding-right: 9px; }
  .yn-button-arrow { width: 24px; height: 24px; }
  .yn-button-arrow .yn-icon { width: 14px; height: 14px; }
  .ir-platform-heading > .eyebrow { font-size: 10px; margin-bottom: 14px; }
  .ir-insight-card .ir-insight-read { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .button:active, .ir-insight-card:is(:hover,:focus-visible) .ir-editorial-art,
  .ir-insight-card:is(:hover,:focus-visible) .ir-insight-read > i { transform: none; }
}
.ir-hero-actions .button.secondary { padding-block: 8px; }
@media(prefers-reduced-motion:reduce) {
  .site-header, .button, .site-ending .button, .yn-button-arrow,
  .ir-insight-card h3, .ir-insight-read > span, .ir-insight-read > i { transition: none !important; }
  .button:active, .button.secondary:is(:hover,:focus-visible) .yn-button-arrow svg,
  .text-link:focus-visible svg { transform: none !important; }
}
.ir-hero-actions .button.secondary { min-height: 48px; }
