/* ==========================================================
   V45 — MASTER CUT
   Audit + refinement layer. Sapphire Diamond continuity,
   improved legibility, mobile stability, and cinematic rhythm.
   ========================================================== */
body.cinematic-v45{
  --v45-abyss:#010305;
  --v45-ink:#03070a;
  --v45-sapphire:#1a465b;
  --v45-sapphire-mid:#2d667d;
  --v45-sapphire-hi:#6a9caf;
  --v45-diamond:#e4eef1;
  --v45-silver:#aabac1;
  --v45-line:rgba(132,177,193,.14);
  --v45-glow:rgba(68,128,151,.12);
  background:var(--v45-abyss);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.cinematic-v45 *{min-width:0}
body.cinematic-v45 a,body.cinematic-v45 button,body.cinematic-v45 input{touch-action:manipulation}
body.cinematic-v45 :focus-visible{outline:1px solid rgba(123,183,203,.78);outline-offset:4px;box-shadow:0 0 0 5px rgba(34,91,112,.13)}
body.cinematic-v45 ::selection{background:#315f73;color:#f7fbfc}

/* One final optical language. */
body.cinematic-v45::before{content:'';position:fixed;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 14%,rgba(72,137,161,.035),transparent 24%),radial-gradient(circle at 18% 82%,rgba(204,225,232,.012),transparent 30%);mix-blend-mode:screen}
body.cinematic-v45 .progress{height:1px;background:rgba(255,255,255,.025)}
body.cinematic-v45 .progress span{background:linear-gradient(90deg,#173f52,#6e9fb1 52%,#d9e7ec);box-shadow:0 0 14px rgba(91,151,174,.28)}

/* Header — readable, restrained, no microtype. */
body.cinematic-v45 .topbar{height:68px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));background:linear-gradient(180deg,rgba(1,4,6,.97),rgba(1,4,6,.82));border-bottom-color:rgba(109,164,184,.13)}
body.cinematic-v45 .edition{font-size:8px;letter-spacing:.17em;color:#8d989d}
body.cinematic-v45 .edition small{font-size:7px;color:#638da0}
body.cinematic-v45 .lang-switch{border-color:rgba(101,158,179,.19);background:rgba(2,7,10,.46)}
body.cinematic-v45 .lang-switch button{min-width:34px;height:31px;font-size:8px;letter-spacing:.11em}
body.cinematic-v45 .menu-button{min-height:38px;padding-inline:15px;border-color:rgba(101,158,179,.22);font-size:8px;letter-spacing:.17em;background:rgba(2,7,10,.26)}
body.cinematic-v45 .drawer-kicker{font-size:9px;line-height:1.25;color:#83969f}
body.cinematic-v45 .drawer-nav b{font-size:10px;color:#6f9caf}
body.cinematic-v45 .drawer-nav span{font-size:clamp(20px,2vw,25px)}
body.cinematic-v45 .drawer-close{min-width:44px;min-height:44px}

/* Prologue — less oversized, more composed. */
body.cinematic-v45 .cover{min-height:100svh;padding-top:124px;padding-bottom:94px;background:linear-gradient(90deg,rgba(1,3,5,.975) 0 31%,rgba(2,8,11,.78) 55%,rgba(2,8,11,.48) 100%),linear-gradient(0deg,var(--v45-abyss) 0%,transparent 42%),var(--v45-abyss)}
body.cinematic-v45 .cover h1{font-size:clamp(70px,8vw,132px);line-height:.82;max-width:1040px;text-wrap:balance}
body.cinematic-v45 .cover h2{font-size:clamp(23px,2.25vw,36px);line-height:1.02;color:#b2bcc0}
body.cinematic-v45 .kicker,body.cinematic-v45 .book-eyebrow{font-size:9px;line-height:1.45;letter-spacing:.25em;color:#6f9bad}
body.cinematic-v45 .cover-copy p{font-size:10px;line-height:1.7;letter-spacing:.15em;color:#8d999e}
body.cinematic-v45 .scroll-cue{min-height:44px;display:flex;align-items:center;padding:0 15px;font-size:8px;border:1px solid rgba(96,151,171,.18);border-radius:999px}

/* Storyboard / contents. */
body.cinematic-v45 .book-index-shell{width:min(1280px,calc(100% - 64px))}
body.cinematic-v45 .book-index h2{max-width:900px;text-wrap:balance}
body.cinematic-v45 .book-index-intro p{font-size:16px;line-height:1.68;color:#a8adae}
body.cinematic-v45 .nine-index a{min-height:82px;border-bottom-color:rgba(102,156,176,.10)}
body.cinematic-v45 .nine-index em{color:#5d91a6!important}
body.cinematic-v45 .nine-index strong{font-size:clamp(22px,2.25vw,31px);text-wrap:balance}
body.cinematic-v45 .nine-index i{font-size:8px;color:#71838b}
body.cinematic-v45 .index-guidance>span{font-size:9px;letter-spacing:.22em}
body.cinematic-v45 .index-guidance p{font-size:15px;line-height:1.65}
body.cinematic-v45 .index-guidance a{min-height:48px}

/* Chapters — photographic monument + clean reading page. */
body.cinematic-v45 .chapter{padding-top:78px;padding-bottom:98px;background:radial-gradient(circle at 88% 9%,rgba(44,104,126,.055),transparent 27%),linear-gradient(180deg,#010406 0%,#04080a 36%,#020507 100%)}
body.cinematic-v45 .chapter-shell{width:min(1200px,100%)}
body.cinematic-v45 .chapter-folio{font-size:9px;color:#72858e}
body.cinematic-v45 .chapter-folio>b{font-size:8px;letter-spacing:.18em}
body.cinematic-v45 .chapter-number{font-size:clamp(64px,6.2vw,92px);color:#6798aa!important;text-shadow:0 0 38px rgba(68,128,151,.10)!important}
body.cinematic-v45 .chapter-label{font-size:8px;line-height:1.3;letter-spacing:.22em;color:#688d9c!important}
body.cinematic-v45 .chapter-visual{width:min(980px,100%);margin-inline:auto;border-color:rgba(106,156,175,.18)!important;box-shadow:0 54px 150px rgba(0,0,0,.64),0 0 0 1px rgba(223,238,243,.018),0 0 100px rgba(44,105,128,.06)!important}
body.cinematic-v45 .chapter-visual img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}
body.cinematic-v45 .chapter-heading{max-width:1050px;margin-inline:auto;padding-top:44px}
body.cinematic-v45 .chapter-heading h2{font-size:clamp(50px,5.8vw,88px);line-height:.92;letter-spacing:-.045em;text-wrap:balance}
body.cinematic-v45 .chapter-deck{font-size:10px;line-height:1.65;letter-spacing:.13em;color:#82949b}
body.cinematic-v45 .chapter-copy{max-width:1050px;margin:38px auto 0;padding-top:36px;font-size:17.5px;line-height:1.74;column-gap:clamp(44px,5vw,70px);color:#c7c6c1}
body.cinematic-v45 .chapter-copy .lead{font-size:20.5px;line-height:1.64;color:#f0ece5}
body.cinematic-v45 .chapter-copy p{hyphens:auto;overflow-wrap:break-word}
body.cinematic-v45 .chapter-passage{margin-top:92px}
body.cinematic-v45 .passage-body small{font-size:8px;letter-spacing:.18em}
body.cinematic-v45 .passage-body>a{min-height:48px}

/* Cards / doctrine / CEAS. */
body.cinematic-v45 .ceas-axes b,body.cinematic-v45 .doctrine-card>b{font-size:9px;color:#668fa0}
body.cinematic-v45 .ceas-axes strong,body.cinematic-v45 .doctrine-card h3{text-wrap:balance}
body.cinematic-v45 .ceas-axes p,body.cinematic-v45 .doctrine-card p{font-size:14.5px;line-height:1.62}

/* Albums — preserve cover art, refine console. */
body.cinematic-v45 .album-console{background:linear-gradient(180deg,rgba(4,9,12,.80),rgba(2,5,8,.94));border-color:rgba(103,157,177,.15);box-shadow:0 38px 110px rgba(0,0,0,.46)}
body.cinematic-v45 .album-heading>span{font-size:9px;letter-spacing:.22em;color:#6b98aa}
body.cinematic-v45 .album-heading p{font-size:15px;line-height:1.72}
body.cinematic-v45 .album-now-copy small,body.cinematic-v45 .album-now-copy span{font-size:8px}
body.cinematic-v45 .album-controls button{min-width:44px;min-height:44px}
body.cinematic-v45 .tracklist button{min-height:54px}
body.cinematic-v45 .tracklist strong{font-size:15px;line-height:1.2}
body.cinematic-v45 .tracklist time{font-size:9px}

/* RNBO — hundreds of titles without visual heaviness. */
body.cinematic-v45 .publications-center{background:radial-gradient(circle at 85% 7%,rgba(50,112,136,.045),transparent 24%),linear-gradient(180deg,#020507,#04080a 42%,#020507)}
body.cinematic-v45 .pub-eyebrow{font-size:9px;letter-spacing:.23em;color:#6e98a8}
body.cinematic-v45 .pub-actions a{min-height:44px;display:flex;align-items:center;font-size:8px;letter-spacing:.15em}
body.cinematic-v45 .rnbo-toolbar label>span{font-size:8px;letter-spacing:.16em}
body.cinematic-v45 #rnboSearch{min-height:52px;font-size:17px;line-height:1.2;color:#e7e4de}
body.cinematic-v45 .rnbo-counter b{font-size:clamp(42px,5vw,70px);color:#6b98aa}
body.cinematic-v45 .rnbo-counter span{font-size:8px;letter-spacing:.18em}
body.cinematic-v45 .rnbo-linear-item{content-visibility:auto;contain-intrinsic-size:68px;border-bottom-color:rgba(101,154,173,.09)}
body.cinematic-v45 .rnbo-linear-link{min-height:64px;padding-top:13px;padding-bottom:13px}
body.cinematic-v45 .rnbo-linear-title{font-size:clamp(18px,1.75vw,24px);line-height:1.17;overflow-wrap:anywhere}
body.cinematic-v45 .rnbo-linear-date{font-size:8px;color:#7d8d94}
body.cinematic-v45 .rnbo-linear-arrow{font-size:15px;color:#6090a2}

/* Fixed film UI: readable, less noisy. */
body.cinematic-v45 .cinema-hud-brand small,body.cinematic-v45 .cinema-hud-scene span,body.cinematic-v45 .cinema-hud-count{font-size:7px}
body.cinematic-v45 .cinema-hud-scene strong{font-size:14px}
body.cinematic-v45 .guide-center-line small,body.cinematic-v45 .guide-center-line b{font-size:7px}
body.cinematic-v45 .guide-prev small,body.cinematic-v45 .guide-next small{font-size:7px}
body.cinematic-v45 .chapter-guide{bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))}
body.cinematic-v45 .music-dock{bottom:max(8px,env(safe-area-inset-bottom));border-color:rgba(100,154,174,.17)}
body.cinematic-v45 .dock-copy small{font-size:7px}
body.cinematic-v45 .dock-open{font-size:7px}
body.cinematic-v45 .v43-safe-frame:after{content:'MASTER CUT · V45'!important;font-size:7px;color:#628fa1!important}

/* Reduced-motion: preserve composition without motion burden. */
@media(prefers-reduced-motion:reduce){
  body.cinematic-v45 *,body.cinematic-v45 *:before,body.cinematic-v45 *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

@media(max-width:980px){
  body.cinematic-v45 .topbar{height:62px}
  body.cinematic-v45 .cover{padding-top:104px}
  body.cinematic-v45 .book-index-shell{width:min(calc(100% - 34px),900px)}
  body.cinematic-v45 .chapter-copy{columns:1;max-width:760px;font-size:17px;line-height:1.76}
  body.cinematic-v45 .chapter-heading{max-width:760px}
  body.cinematic-v45 .chapter-visual{width:min(760px,100%)}
}
@media(max-width:820px){
  body.cinematic-v45 .topbar{height:60px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));grid-template-columns:44px 1fr auto;gap:8px}
  body.cinematic-v45 .brand{width:40px;height:30px}
  body.cinematic-v45 .lang-switch{justify-self:center}
  body.cinematic-v45 .lang-switch button{min-width:32px;height:30px;font-size:8px;padding-inline:7px}
  body.cinematic-v45 .menu-button{min-width:40px;min-height:40px;padding-inline:10px}
  body.cinematic-v45 .cover{min-height:92svh;padding:94px 18px 76px}
  body.cinematic-v45 .cover-signature{width:min(86vw,560px)}
  body.cinematic-v45 .cover h1{font-size:clamp(49px,13.5vw,72px);line-height:.88}
  body.cinematic-v45 .cover h2{font-size:clamp(22px,6.4vw,31px)}
  body.cinematic-v45 .kicker,body.cinematic-v45 .book-eyebrow{font-size:8px}
  body.cinematic-v45 .cover-copy p{font-size:9px;line-height:1.65}
  body.cinematic-v45 .book-index{padding-inline:16px}
  body.cinematic-v45 .book-index-shell{width:100%}
  body.cinematic-v45 .book-index-intro p{font-size:15px}
  body.cinematic-v45 .nine-index a{min-height:68px;grid-template-columns:44px 1fr;gap:12px}
  body.cinematic-v45 .nine-index em{font-size:29px}
  body.cinematic-v45 .nine-index strong{font-size:20px;line-height:1.08}
  body.cinematic-v45 .chapter{padding:58px 16px 78px}
  body.cinematic-v45 .chapter-number{font-size:56px}
  body.cinematic-v45 .chapter-label{font-size:7.5px;max-width:62%}
  body.cinematic-v45 .chapter-folio>b{font-size:7px}
  body.cinematic-v45 .chapter-heading{padding-top:30px}
  body.cinematic-v45 .chapter-heading h2{font-size:clamp(40px,10.9vw,58px);line-height:.94}
  body.cinematic-v45 .chapter-deck{font-size:9px;line-height:1.65}
  body.cinematic-v45 .chapter-copy{margin-top:29px;padding-top:28px;font-size:16.5px;line-height:1.76}
  body.cinematic-v45 .chapter-copy .lead{font-size:19px;line-height:1.68}
  body.cinematic-v45 .chapter-copy .lead:first-letter{font-size:58px}
  body.cinematic-v45 .chapter-passage{margin-top:64px}
  body.cinematic-v45 .ceas-axes p,body.cinematic-v45 .doctrine-card p{font-size:14px}
  body.cinematic-v45 .album-heading p{font-size:14px}
  body.cinematic-v45 .tracklist strong{font-size:14px}
  body.cinematic-v45 .rnbo-toolbar{position:relative;top:auto}
  body.cinematic-v45 #rnboSearch{font-size:16px;min-height:50px}
  body.cinematic-v45 .rnbo-linear-link{min-height:60px;padding:12px 4px}
  body.cinematic-v45 .rnbo-linear-title{font-size:18px;line-height:1.2}
  body.cinematic-v45 .pub-actions{display:grid;grid-template-columns:1fr;gap:8px}
  body.cinematic-v45 .pub-actions a{justify-content:center}
  body.cinematic-v45 .v43-safe-frame{display:none}
}
@media(max-width:430px){
  body.cinematic-v45 .topbar{grid-template-columns:42px 1fr 40px}
  body.cinematic-v45 .lang-switch button{min-width:30px;font-size:7.5px}
  body.cinematic-v45 .cover{padding-inline:14px}
  body.cinematic-v45 .cover h1{font-size:clamp(46px,13vw,60px)}
  body.cinematic-v45 .chapter{padding-inline:14px}
  body.cinematic-v45 .chapter-label{font-size:7px;letter-spacing:.16em}
  body.cinematic-v45 .chapter-copy{font-size:16px}
  body.cinematic-v45 .chapter-copy .lead{font-size:18.5px}
  body.cinematic-v45 .album-controls button{min-width:42px;min-height:42px}
  body.cinematic-v45 .rnbo-linear-title{font-size:17.5px}
}
