/* =========================================================
   VEYRON EMPLOYEE HUB — HANDBOOK READER
   Full-screen, flip-through reading room.
   Loaded only on handbook pages.
========================================================= */

body.vyeh-reader{background:var(--fv-bg);color:var(--fv-ink);overflow:hidden;height:100%}
html:has(body.vyeh-reader){height:100%;overflow:hidden}
/* FULL VIEW READER */
.fv{position:fixed;inset:0;z-index:1000;background:var(--fv-bg);color:var(--fv-ink);display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
:root{--fv-bg:#0A141D;--fv-ink:#EEF0EE;--fv-muted:#93A1AD;--fv-line:rgba(255,255,255,.12);--fv-panel:#101E2A;--page:#FFFFFF;--page-ink:#0C1927;--page-muted:#5E6B77;--hl:#FBE3B8;--hl-ink:#0C1927}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fv-bg:#050B11;--page:#F3F1EC;--hl:#F6D9A4}}
:root[data-theme="dark"]{--fv-bg:#050B11;--page:#F3F1EC;--hl:#F6D9A4}
.fv__bar{display:flex;align-items:center;gap:10px;padding:10px max(14px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--fv-line);flex-wrap:wrap}
.fv__title{display:grid;gap:2px;min-width:0;margin-right:auto;flex:1 1 0}
.fv__title b{font:600 15px/1.2 var(--f-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv__title span{font:400 12px/1.2 var(--f-mono);color:var(--fv-muted)}
.fv-btn{height:40px;min-width:40px;padding:0 10px;border-radius:var(--r-s);border:1px solid var(--fv-line);background:transparent;color:var(--fv-ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 14px/1 var(--f-ui);cursor:pointer}
.fv-btn:hover{border-color:rgba(255,255,255,.4)}
.fv-btn[aria-pressed="true"]{background:#142A3B;border-color:#E87538}
.fv-btn svg{width:18px;height:18px}
.fv-btn em{font-style:normal;background:#E87538;color:#1A0E06;border-radius:999px;padding:2px 6px;font-size:11px}
.fv-search{position:relative}
.fv-search input{background:rgba(255,255,255,.06);border:1px solid var(--fv-line);color:var(--fv-ink);height:40px;min-height:40px;width:220px;padding:0 12px;font-size:15px}
.fv-search input::placeholder{color:var(--fv-muted)}
.fv-results{position:absolute;top:46px;right:0;width:320px;max-width:86vw;background:var(--fv-panel);border:1px solid var(--fv-line);border-radius:var(--r-m);box-shadow:0 18px 40px rgba(0,0,0,.5);padding:6px;display:grid;gap:2px;z-index:5}
.fv-results button{all:unset;cursor:pointer;padding:10px;border-radius:6px;display:grid;gap:3px}
.fv-results button:hover,.fv-results button:focus-visible{background:rgba(255,255,255,.07);outline:none}
.fv-results b{font:600 14px/1.2 var(--f-ui)} .fv-results span{font-size:13px;color:var(--fv-muted);line-height:1.4}
.fv-results mark{background:var(--hl);color:var(--hl-ink);border-radius:2px}
.fv__body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:0}
.fv-drawer{width:280px;background:var(--fv-panel);border-right:1px solid var(--fv-line);overflow-y:auto;padding:16px 10px;display:grid;align-content:start;gap:4px}
.fv-drawer h3{font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fv-muted);padding:6px 10px 10px}
.fv-drawer button{all:unset;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border-radius:6px;font:500 14px/1.3 var(--f-ui);color:var(--fv-muted)}
.fv-drawer button:hover,.fv-drawer button:focus-visible{background:rgba(255,255,255,.06);color:var(--fv-ink)}
.fv-drawer button[aria-current="true"]{background:#142A3B;color:var(--fv-ink);box-shadow:inset 3px 0 0 #E87538}
.fv-drawer small{font:400 11px/1 var(--f-mono);color:var(--fv-muted)}
.fv-drawer .tick{box-sizing:border-box;width:18px;height:18px;padding:0;margin:0;flex:none;border-radius:50%;border:1.5px solid var(--fv-muted);display:grid;place-items:center}
.fv-drawer .tick.done{padding:0;gap:0;background:#2F7A55;border-color:#2F7A55}
.fv-drawer .tick.done::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.fv-side{width:340px;background:var(--fv-panel);border-left:1px solid var(--fv-line);overflow-y:auto;padding:18px;display:grid;align-content:start;gap:14px}
.fv-side h3{font:600 16px/1.2 var(--f-ui)}
.fv-side .note{color:var(--fv-muted)}
.fv-quote{border-left:3px solid #E87538;background:rgba(255,255,255,.05);padding:10px 12px;font:italic 400 15px/1.5 "Source Serif 4",Georgia,serif;color:var(--fv-ink);border-radius:0 6px 6px 0}
.fv-side textarea{background:rgba(255,255,255,.05);border-color:var(--fv-line);color:var(--fv-ink)}
.fv-side .seg{border-color:var(--fv-line)} .fv-side .seg span{color:var(--fv-muted)} .fv-side .seg label+label span{border-left-color:var(--fv-line)}
.fv-side .seg input:checked+span{background:#142A3B;color:var(--fv-ink);box-shadow:inset 0 -2px 0 #E87538}
.fv-thread{display:grid;gap:10px;border-top:1px solid var(--fv-line);padding-top:14px}
.fv-thread .item{display:grid;gap:6px;padding:12px;border-radius:var(--r-m);background:rgba(255,255,255,.04);border:1px solid var(--fv-line);font-size:14px}
.fv-thread .item small{font:400 12px/1.3 var(--f-mono);color:var(--fv-muted)}
.fv-stage{position:relative;display:grid;place-items:center;padding:18px clamp(12px,4vw,72px);min-width:0;min-height:0;overflow:hidden}
.fv-page{background:var(--page);color:var(--page-ink);width:min(100%,calc((100dvh - 190px) * 1.6),1180px);aspect-ratio:16/10;border-radius:4px;box-shadow:0 30px 70px rgba(0,0,0,.55);position:relative;overflow:hidden;display:grid}
.fv-page[data-anim="next"]{animation:fvIn .32s cubic-bezier(.22,1,.36,1)}
.fv-page[data-anim="prev"]{animation:fvInR .32s cubic-bezier(.22,1,.36,1)}
@keyframes fvIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes fvInR{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.fv-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--fv-line);background:rgba(10,20,29,.7);color:var(--fv-ink);display:grid;place-items:center;cursor:pointer;z-index:3}
.fv-nav:disabled{opacity:.3;cursor:default}
.fv-nav svg{width:20px;height:20px}
.fv-nav--prev{left:max(10px,env(safe-area-inset-left,0px))} .fv-nav--next{right:max(10px,env(safe-area-inset-right,0px))}
.fv__foot{display:flex;align-items:center;gap:16px;padding:10px max(14px,env(safe-area-inset-left,0px));border-top:1px solid var(--fv-line);flex-wrap:wrap}
.fv-prog{flex:1 1 200px;display:grid;gap:6px;min-width:0}
.fv-prog span{font:400 12px/1 var(--f-mono);color:var(--fv-muted)}
.fv-prog .bar{background:rgba(255,255,255,.1)} .fv-prog .bar i{background:#E87538;transition:width .3s}
.fv-count{font:500 13px/1 var(--f-mono);color:var(--fv-ink);font-variant-numeric:tabular-nums}
.fv-overview{overflow-y:auto;padding:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;align-content:start}
.fv-overview button{all:unset;cursor:pointer;display:grid;gap:8px}
.fv-overview .mini{aspect-ratio:16/10;border-radius:3px;overflow:hidden;background:var(--page);box-shadow:0 8px 20px rgba(0,0,0,.4);position:relative}
.fv-overview .mini>div{position:absolute;top:0;left:0;width:1000px;height:625px;transform-origin:0 0;pointer-events:none}
.fv-overview button[aria-current="true"] .mini{outline:3px solid #E87538;outline-offset:3px}
.fv-overview button:focus-visible .mini{outline:3px solid #E87538;outline-offset:3px}
.fv-overview b{font:600 13px/1.2 var(--f-ui)} .fv-overview small{font:400 11px/1 var(--f-mono);color:var(--fv-muted)}
.fv-pop{position:fixed;z-index:1100;background:#142A3B;color:#F5F5F2;border:1px solid #E87538;border-radius:6px;padding:8px 12px;font:600 14px/1 var(--f-ui);display:flex;gap:8px;align-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.4)}
.fv-pop svg{width:16px;height:16px}

/* Book page layouts (page units scale with page width via container queries) */
.fv-page,.mini>div{container-type:inline-size}
.bk{position:absolute;inset:0;display:grid;font-family:var(--f-ui);color:var(--page-ink)}
.bk mark.hl{background:var(--hl);color:var(--hl-ink);border-radius:2px;padding:0 1px}
.bk-cover{background:#0C1927;color:#F5F5F2;grid-template-columns:1.1fr .9fr}
.bk-cover .l{padding:7cqw 6cqw;display:grid;align-content:space-between}
.bk-cover .eb{font:500 1.2cqw/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#9EAAB5}
.bk-cover h2{font:800 8.4cqw/.86 var(--f-display);text-transform:uppercase}
.bk-cover h2 span{color:#E87538}
.bk-cover p{font:400 1.5cqw/1.5 var(--f-ui);color:#9EAAB5;max-width:30ch}
.bk-cover .r{position:relative;background:#142A3B;overflow:hidden}
.bk-cover svg{position:absolute;inset:0;width:100%;height:100%}
.bk-letter{grid-template-columns:.8fr 1.2fr;background:var(--page)}
.bk-letter .portrait{background:#E9E4DA;position:relative;overflow:hidden}
.bk-letter .portrait svg{position:absolute;inset:0;width:100%;height:100%}
.bk-letter .txt{padding:5.4cqw 6cqw;display:grid;align-content:center;gap:1.6cqw}
.bk-letter .eb{font:500 1.1cqw/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#B9561F}
.bk-letter h2{font:400 italic 3.8cqw/1.1 "Source Serif 4",Georgia,serif}
.bk-letter p{font:400 1.55cqw/1.6 "Source Serif 4",Georgia,serif;color:#344352;max-width:52ch}
.bk-letter .sig{font:400 italic 2.4cqw/1 "Source Serif 4",Georgia,serif;color:#0C1927}
.bk-letter .who{font:500 1.1cqw/1.3 var(--f-mono);color:#5E6B77}
.bk-chap{background:#F5F5F2;grid-template-rows:auto 1fr}
.bk-chap .top{background:#142A3B;color:#F5F5F2;padding:4.6cqw 6cqw 3.6cqw;display:grid;gap:1cqw;position:relative}
.bk-chap .top::after{content:"";position:absolute;left:6cqw;bottom:0;width:10cqw;height:.6cqw;background:#E87538}
.bk-chap .n{font:500 1.2cqw/1 var(--f-mono);letter-spacing:.14em;color:#9EAAB5;text-transform:uppercase}
.bk-chap h2{font:800 6.4cqw/.9 var(--f-display);text-transform:uppercase}
.bk-chap .stats{display:grid;grid-template-columns:repeat(3,1fr);padding:3.6cqw 6cqw;gap:3cqw;align-content:center}
.bk-chap .stat{display:grid;gap:1cqw;border-top:2px solid #0C1927;padding-top:1.6cqw}
.bk-chap .stat b{font:800 8cqw/.85 var(--f-display);color:#0C1927}
.bk-chap .stat--long b{font-size:5.4cqw;white-space:nowrap}
.bk-chap .stat span{font:400 1.5cqw/1.45 var(--f-ui);color:#344352}
.bk-pol{grid-template-columns:1fr 1fr;background:var(--page)}
.bk-pol .l{padding:5cqw 4.4cqw 4cqw 6cqw;display:grid;align-content:start;gap:1.6cqw;border-right:1px solid #E3E3DE}
.bk-pol .eb{font:500 1.1cqw/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#B9561F}
.bk-pol h2{font:700 4.4cqw/1 var(--f-display);text-transform:uppercase}
.bk-pol p{font:400 1.55cqw/1.6 var(--f-ui);color:#344352}
.bk-pol .call{background:#E5F0EC;border-radius:.8cqw;padding:1.6cqw 1.8cqw;font:500 1.45cqw/1.5 var(--f-ui);color:#244a42}
.bk-pol .r{padding:5cqw 6cqw 4cqw 4.4cqw;display:grid;align-content:start;gap:1.8cqw}
.bk-pol .row3{display:grid;grid-template-columns:7cqw 1fr;gap:1.4cqw;align-items:baseline;border-bottom:1px solid #E3E3DE;padding-bottom:1.4cqw}
.bk-pol .row3 b{font:800 4.2cqw/1 var(--f-display);color:#0C1927}
.bk-pol .row3 span{font:400 1.45cqw/1.45 var(--f-ui);color:#344352}
/* Word highlights ("Everyone", "Any time") sit above their line instead of beside it */
.bk-pol .row3--word{grid-template-columns:1fr;gap:.5cqw}
.bk-pol .row3--word b{font-size:3cqw}
.bk-pol .acts{display:flex;gap:1.4cqw;flex-wrap:wrap;margin-top:.6cqw}
.bk-pol .acts span{font:600 1.35cqw/1 var(--f-ui);padding:1.2cqw 1.8cqw;border-radius:.4cqw}
.bk-pol .acts .p{background:#E87538;color:#1A0E06} .bk-pol .acts .q{color:#B9561F;padding-inline:.4cqw}
.bk-pol .fine{font:400 1.05cqw/1.45 var(--f-ui);color:#5E6B77;border-top:1px solid #E3E3DE;padding-top:1.2cqw;margin-top:auto}
.bk-pol .upd{position:absolute;top:2cqw;right:2.2cqw;font:600 1.1cqw/1 var(--f-ui);background:#E5EEF6;color:#2D5B82;border-radius:99px;padding:.7cqw 1.1cqw}
.bk-safe{grid-template-columns:1.25fr 1fr;background:var(--page)}
.bk-safe .vid{background:#0C1927;position:relative;display:grid;place-items:center;overflow:hidden}
.bk-safe .vid svg.bg{position:absolute;inset:0;width:100%;height:100%}
.bk-safe .play{position:relative;width:8cqw;height:8cqw;border-radius:50%;background:#E87538;display:grid;place-items:center;border:0;cursor:pointer}
.bk-safe .play::before{content:"";margin-left:.6cqw;border-left:2.2cqw solid #1A0E06;border-top:1.4cqw solid transparent;border-bottom:1.4cqw solid transparent}
.bk-safe .cap{position:absolute;left:2.4cqw;bottom:2.2cqw;right:2.4cqw;display:flex;justify-content:space-between;font:500 1.15cqw/1 var(--f-mono);color:#C8D0D6}
.bk-safe .r{padding:4.6cqw 5cqw;display:grid;align-content:start;gap:1.8cqw}
.bk-safe .eb{font:500 1.1cqw/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#B9561F}
.bk-safe h2{font:700 4cqw/1 var(--f-display);text-transform:uppercase}
.bk-safe p{font:400 1.5cqw/1.55 var(--f-ui);color:#344352}
.bk-safe .ppe{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2cqw}
.bk-safe .ppe div{display:grid;justify-items:center;gap:.8cqw;padding:1.4cqw .6cqw;border:1px solid #E3E3DE;border-radius:.6cqw;font:600 1.15cqw/1.2 var(--f-ui);text-align:center;color:#0C1927}
.bk-safe .ppe svg{width:4cqw;height:4cqw;color:#142A3B}
.bk-ack{background:#F5F5F2;grid-template-columns:1fr;place-items:center}
.bk-ack .in{width:70%;display:grid;gap:2cqw;text-align:center;justify-items:center}
.bk-ack .eb{font:500 1.1cqw/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#B9561F}
.bk-ack h2{font:800 5.4cqw/.95 var(--f-display);text-transform:uppercase}
.bk-ack p{font:400 1.6cqw/1.55 var(--f-ui);color:#344352;max-width:52ch}
.bk-ack .status{font:500 1.3cqw/1.3 var(--f-mono);color:#5E6B77}
.bk-ack button{font:600 1.6cqw/1 var(--f-ui);background:#E87538;color:#1A0E06;border:0;border-radius:.4cqw;padding:1.6cqw 3cqw;cursor:pointer;min-height:40px}
.bk-ack button:disabled{opacity:.4;cursor:not-allowed}

@media (max-width:1100px){.fv-search input{width:160px}}
@media (max-width:900px){
  .fv__body{grid-template-columns:minmax(0,1fr)}
  .fv-drawer,.fv-side{position:absolute;top:0;bottom:0;z-index:4;width:min(340px,88vw);box-shadow:0 0 40px rgba(0,0,0,.6)}
  .fv-drawer{left:0} .fv-side{right:0}
  .fv__body{position:relative}
}
@media (max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .fv-search{order:5;flex:1 1 100%} .fv-search input{width:100%}
  .fv-page{width:100%;aspect-ratio:auto;height:100%;overflow-y:auto}
  .fv-page .bk{position:static;min-height:100%;grid-template-columns:minmax(0,1fr)!important}
  .fv-page{container-type:normal}
  .fv-page .bk *{font-size:revert}
  .fv-page .bk-cover h2{font-size:44px}.fv-page .bk-cover .eb,.fv-page .bk-letter .eb,.fv-page .bk-pol .eb,.fv-page .bk-safe .eb,.fv-page .bk-ack .eb,.fv-page .bk-chap .n{font-size:11px}
  .fv-page .bk-cover p,.fv-page .bk-letter p,.fv-page .bk-pol p,.fv-page .bk-safe p,.fv-page .bk-ack p,.fv-page .bk-chap .stat span,.fv-page .bk-pol .row3 span{font-size:16px}
  .fv-page .bk-cover .l,.fv-page .bk-letter .txt,.fv-page .bk-pol .l,.fv-page .bk-pol .r,.fv-page .bk-safe .r,.fv-page .bk-chap .stats{padding:24px 20px;gap:14px}
  .fv-page .bk-cover .r,.fv-page .bk-letter .portrait,.fv-page .bk-safe .vid{min-height:200px}
  .fv-page .bk-letter h2{font-size:30px}.fv-page .bk-letter .sig{font-size:24px}.fv-page .bk-letter .who{font-size:12px}
  .fv-page .bk-chap .top{padding:24px 20px}.fv-page .bk-chap h2{font-size:42px}.fv-page .bk-chap .stats{grid-template-columns:minmax(0,1fr)}.fv-page .bk-chap .stat b{font-size:52px}
  .fv-page .bk-pol h2,.fv-page .bk-safe h2{font-size:34px}.fv-page .bk-pol .row3{grid-template-columns:56px 1fr}.fv-page .bk-pol .row3 b{font-size:30px}.fv-page .bk-pol .row3--word{grid-template-columns:1fr}.fv-page .bk-pol .row3--word b{font-size:24px}
  .fv-page .bk-pol .call{font-size:15px;padding:12px 14px}.fv-page .bk-pol .acts span{font-size:15px;padding:12px 16px}.fv-page .bk-pol .fine{font-size:12px}
  .fv-page .bk-pol .upd{font-size:12px;padding:6px 10px;top:12px;right:12px}
  .fv-page .bk-safe .ppe div{font-size:12px}.fv-page .bk-safe .ppe svg{width:28px;height:28px}.fv-page .bk-safe .play{width:64px;height:64px}.fv-page .bk-safe .cap{font-size:11px}
  .fv-page .bk-ack .in{width:auto;padding:28px 20px}.fv-page .bk-ack h2{font-size:38px}.fv-page .bk-ack button{font-size:16px;padding:14px 20px}.fv-page .bk-ack .status{font-size:12px}
  .fv-nav{top:auto;bottom:8px;transform:none;width:44px;height:44px}
  .fv-stage{padding:10px 10px 60px}
}
@media (max-width:640px){.hide-sm{display:none}}
@media (prefers-reduced-motion:reduce){.fv-page[data-anim]{animation:none}}

.fv{grid-template-rows:auto auto minmax(0,1fr) auto}
.demo-strip{background:#142A3B;border-bottom:1px solid var(--fv-line);color:var(--fv-muted);font-size:13px;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center;align-items:center;padding:7px max(14px,env(safe-area-inset-right,0px)) 7px max(14px,env(safe-area-inset-left,0px));text-align:center}
.demo-strip b{color:var(--fv-ink);font-weight:600}
.demo-strip button{background:none;border:0;color:#F08446;font:600 13px/1 var(--f-ui);text-decoration:underline;cursor:pointer;padding:4px}
.fv-drawer .lk{width:14px;height:14px;color:var(--fv-muted);opacity:.8}
.fv-drawer button.locked{color:color-mix(in srgb,var(--fv-muted) 75%,transparent)}
.fv-drawer .sub{font:500 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#F08446;padding:14px 10px 6px}
.fv-overview .mini.lockd>div{filter:blur(5px);opacity:.6}
.fv-overview .mini .lkbadge{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.fv-overview .mini .lkbadge span{width:38px;height:38px;border-radius:50%;background:rgba(12,25,39,.85);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center}
.fv-overview .mini .lkbadge svg{width:16px;height:16px;color:#F5F5F2}
/* Locked page */
.bk-locked{background:var(--page);place-items:center;overflow:hidden}
.bk-locked .ghost{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;filter:blur(6px);opacity:.55}
.bk-locked .ghost .l{background:#142A3B}
.bk-locked .ghost .r{padding:6cqw 5cqw;display:grid;gap:2cqw;align-content:start}
.bk-locked .ghost .ln{height:1.4cqw;border-radius:.7cqw;background:#C3C6C2}
.bk-locked .card{position:relative;z-index:2;background:#0C1927;color:#F5F5F2;border-radius:1cqw;padding:3.6cqw 4cqw;width:min(56%,560px);display:grid;gap:1.6cqw;justify-items:start;box-shadow:0 2cqw 5cqw rgba(0,0,0,.35)}
.bk-locked .eb{font:500 1.15cqw/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#F08446}
.bk-locked h2{font:800 4cqw/.95 var(--f-display);text-transform:uppercase}
.bk-locked p{font:400 1.6cqw/1.5 var(--f-ui);color:#B8C3CC}
.bk-locked ul{margin:0;padding:0;list-style:none;display:grid;gap:.8cqw}
.bk-locked li{font:400 1.45cqw/1.4 var(--f-ui);color:#DDE3E8;display:flex;gap:1cqw;align-items:center}
.bk-locked li::before{content:"";width:.8cqw;height:.8cqw;border-radius:50%;background:#E87538;flex:none}
.bk-locked button{font:600 1.6cqw/1 var(--f-ui);background:#E87538;color:#1A0E06;border:0;border-radius:.4cqw;padding:1.5cqw 2.4cqw;cursor:pointer;min-height:40px}
@media (max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .fv-page .bk-locked .card{width:auto;margin:20px;padding:24px 20px;gap:12px}
  .fv-page .bk-locked .eb{font-size:11px}.fv-page .bk-locked h2{font-size:32px}.fv-page .bk-locked p{font-size:15px}.fv-page .bk-locked li{font-size:14px}
  .fv-page .bk-locked button{font-size:15px;padding:13px 18px}
  .fv-page .bk-locked{display:grid;min-height:100%}
  .fv-page .bk-locked .ghost{position:absolute}
  .demo-strip span.long{display:none}
}

/* ---------- Live build: depth, glass and motion ---------- */
.fv{position:fixed;inset:0;z-index:10;background:radial-gradient(120% 90% at 50% 0%,#12253A 0%,var(--fv-bg) 60%)}
.fv__bar,.fv__foot,.demo-strip{position:relative;z-index:6;background:rgba(10,20,29,.62);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.demo-strip{background:rgba(20,42,59,.75)}
a.fv-btn{text-decoration:none}
.fv-btn{transition:border-color .15s,background .15s,transform .15s}
.fv-btn:active{transform:scale(.97)}
.fv-drawer,.fv-side{background:rgba(16,30,42,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.fv-drawer .ico{width:14px;height:14px;color:var(--fv-muted);opacity:.8}
.fv-drawer button{width:100%}
.fv-search input{transition:border-color .15s,background .15s}
.fv-search input:focus{outline:none;border-color:#E87538;background:rgba(255,255,255,.1)}
.fv-results{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:rgba(16,30,42,.94)}
.fv-side fieldset{border:0;padding:0;margin:0}
.fv-side legend,.fv-side label{color:var(--fv-ink)}
.fv-side .row.between{display:flex;justify-content:space-between;align-items:center}
.fv-side .stack{display:grid;gap:12px}

/* The book: a page with a soft stack of sheets behind it */
.fv-book{position:relative;width:min(100%,calc((100dvh - 210px) * 1.6),1180px);aspect-ratio:16/10;perspective:1800px}
.fv-book::before,.fv-book::after{content:"";position:absolute;inset:0;border-radius:4px;background:var(--page);pointer-events:none}
.fv-book::before{transform:translate(10px,10px);opacity:.35;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.fv-book::after{transform:translate(5px,5px);opacity:.6}
.fv-book .fv-page{position:absolute;inset:0;width:100%;z-index:2;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 2px 4px rgba(0,0,0,.25),0 30px 70px rgba(0,0,0,.55);transform-origin:left center}
.fv-book .fv-page::after{content:"";position:absolute;inset:0 auto 0 0;width:28px;background:linear-gradient(90deg,rgba(12,25,39,.10),rgba(12,25,39,0));pointer-events:none;z-index:3}
.fv-page[data-anim="next"]{animation:vyehTurnNext .45s cubic-bezier(.22,1,.36,1)}
.fv-page[data-anim="prev"]{animation:vyehTurnPrev .45s cubic-bezier(.22,1,.36,1)}
@keyframes vyehTurnNext{from{opacity:0;transform:rotateY(-14deg) translateX(30px)}to{opacity:1;transform:none}}
@keyframes vyehTurnPrev{from{opacity:0;transform:rotateY(10deg) translateX(-30px)}to{opacity:1;transform:none}}
.fv-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .15s,transform .15s}
.fv-nav:not(:disabled):hover{background:rgba(232,117,56,.9);color:#1A0E06;transform:translateY(-50%) scale(1.05)}
.fv-overview .mini{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s}
.fv-overview button:hover .mini{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.5)}
.bk-pol .acts button,.bk-pol .acts a{font:600 1.35cqw/1 var(--f-ui);padding:1.2cqw 1.8cqw;border-radius:.4cqw;border:0;cursor:pointer;text-decoration:none}
.bk-pol .acts{align-items:center}
.bk-pol .acts .act-main{background:#E87538;color:#1A0E06;box-shadow:0 .4cqw 1cqw rgba(232,117,56,.25)}
.bk-pol .acts .act-link{background:none;color:#B9561F;padding-inline:.4cqw}
.bk-pol .acts .act-link:hover{text-decoration:underline}
.bk-letter .txt p+p{margin-top:0}
.bk p{margin:0}
.bk-pol .l p+p{margin-top:0}
.fv-pop{animation:vyehPop .18s ease-out}
@keyframes vyehPop{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.toast{z-index:1300}

@media (max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .fv-book{width:100%;aspect-ratio:auto;height:100%}
  .fv-book::before,.fv-book::after{display:none}
  .fv-book .fv-page{position:absolute;inset:0;overflow-y:auto}
  .fv-page .bk-pol .acts button,.fv-page .bk-pol .acts a{font-size:15px;padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  .fv-page[data-anim]{animation:none}
  .fv-pop{animation:none}
  .fv-overview .mini,.fv-nav,.fv-btn{transition:none}
}

/* Phones and tablets: one upright page that scrolls, never a cut-off landscape page */
@media (max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .fv-stage{padding:10px 10px 64px;place-items:start center;overflow:hidden}
  .fv-book{max-width:760px;margin:0 auto;height:100%}
  .fv-book .fv-page{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .fv-page .bk-locked{overflow:visible;place-items:start stretch;background:#E9E6DF}
  .fv-page .bk-locked .ghost{display:none}
  .fv-page .bk-locked .card{margin:16px}
  .fv-page .bk-locked .card button{min-height:48px}
  .fv-nav{bottom:10px}
  .fv-nav:not(:disabled):hover{transform:scale(1.05)}
}
@media (min-width:641px) and (max-width:1024px),(pointer:coarse) and (min-width:641px) and (max-width:1366px){
  .fv-page .bk-cover h2{font-size:56px}.fv-page .bk-chap h2{font-size:52px}.fv-page .bk-pol h2,.fv-page .bk-safe h2{font-size:40px}
  .fv-page .bk-cover .l,.fv-page .bk-letter .txt,.fv-page .bk-pol .l,.fv-page .bk-pol .r,.fv-page .bk-safe .r,.fv-page .bk-chap .stats{padding:36px 40px}
  .fv-page .bk-cover .r,.fv-page .bk-letter .portrait,.fv-page .bk-safe .vid{min-height:300px}
}
/* Phones: a compact header and footer, so the page gets most of the screen */
@media (max-width:640px){
  .fv__bar{gap:8px;padding:8px max(10px,env(safe-area-inset-left,0px))}
  .fv__bar .fv-btn{min-width:40px;min-height:40px;padding:0 10px}
  .fv__title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fv-search input{padding-top:9px;padding-bottom:9px}
  .fv__foot{padding:8px max(12px,env(safe-area-inset-left,0px));gap:10px}
  .fv-stage{padding:8px 8px 58px}
  .fv-nav{width:42px;height:42px;bottom:8px}
}

/* Page count and reading progress */
.fv-count{font:600 14px/1 var(--f-ui);white-space:nowrap}

/* The scroll bar people can always see, and "More below" */
.fv-track{position:absolute;top:8px;bottom:8px;right:4px;width:6px;border-radius:3px;background:rgba(12,25,39,.14);z-index:5;pointer-events:none}
.fv-track[hidden]{display:none}
.fv-track i{position:absolute;left:0;right:0;top:0;border-radius:3px;background:#E87538;margin-top:0}
.fv-more{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:0;background:#0C1927;color:#F5F5F2;font:600 13px/1 var(--f-ui);box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:pointer}
.fv-more svg{width:16px;height:16px}
.fv-more[hidden]{display:none}
.fv-more:focus-visible{outline:2px solid #E87538;outline-offset:2px}
.fv-book .fv-page{scrollbar-width:none}
.fv-book .fv-page::-webkit-scrollbar{display:none}

/* Full page */
.fv.is-full{grid-template-rows:minmax(0,1fr)!important}
.fv.is-full .demo-strip,.fv.is-full .fv__bar,.fv.is-full .fv__foot,.fv.is-full .fv-drawer,.fv.is-full .fv-side{display:none!important}
.fv.is-full .fv__body{grid-template-columns:minmax(0,1fr)!important}
/* Computers: the page fills the whole screen (landscape handbooks), or the full height (portrait ones) */
.fv.is-full .fv-stage{padding:0}
.fv.is-full .fv-book{width:100%;height:100%;max-width:none;aspect-ratio:auto}
.fv.is-full .fv-book .fv-page{border-radius:0;box-shadow:none;overflow-y:auto}
.fv.is-full .fv-book .fv-page::after{display:none}
.fv.is-full[data-orient="portrait"] .fv-book{width:auto;height:100%;aspect-ratio:4/5;max-width:100%}
.fv.is-full .fv-nav{z-index:30}
.fv-fullbar{position:fixed;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:40}
.fv-fullbar[hidden]{display:none}
.fv-fullbar__pill{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:rgba(10,20,29,.82);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.3)}
.fv-fullbar__n{font:700 13px/1 var(--f-ui);color:#F5F5F2;padding:0 10px}
.fv-fullbar button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border-radius:999px;border:0;background:rgba(255,255,255,.12);color:#F5F5F2;font:600 13.5px/1 var(--f-ui);cursor:pointer}
.fv-fullbar button:hover,.fv-fullbar button[aria-pressed="true"]{background:rgba(255,255,255,.22)}
.fv-fullbar button svg{width:16px;height:16px}
.fv-fullbar button:focus-visible{outline:2px solid #E87538;outline-offset:2px}
@media (max-width:560px){.fv-fullbar button span{display:none}.fv-fullbar button{width:36px;padding:0;justify-content:center}}
/* Contents over the page while in full page */
.fv.is-full.toc-over .fv-drawer:not([hidden]){display:grid!important;position:fixed;z-index:35;top:0;bottom:0;left:0;width:min(320px,86vw);box-shadow:20px 0 50px rgba(0,0,0,.5)}
@media (max-width:1024px),(pointer:coarse) and (max-width:1366px){
  .fv.is-full .fv-stage{padding:52px 6px 58px}
  .fv.is-full .fv-book{width:100%;max-width:820px}
}

/* Full policy: a panel that slides in beside the page */
.fv-pol{position:fixed;z-index:120;inset:0;display:flex;justify-content:flex-end;background:rgba(5,10,15,.45)}
.fv-pol[hidden]{display:none}
.fv-pol__panel{display:flex;flex-direction:column;width:min(640px,100%);height:100%;background:#FBFAF7;color:#0C1927;box-shadow:-20px 0 60px rgba(0,0,0,.35);animation:fvPolIn .4s cubic-bezier(.22,1,.36,1)}
@keyframes fvPolIn{from{transform:translateX(100%)}}
.fv-pol__top{display:flex;align-items:center;gap:14px;padding:18px 22px 12px;border-bottom:1px solid #E6E1D8}
.fv-pol__k{flex:1;font:600 11.5px/1 var(--f-mono);letter-spacing:.12em;color:#B4501F}
.fv-pol__open{font:600 13px/1 var(--f-ui);color:#0C1927;text-underline-offset:3px}
.fv-pol__x{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#EFEBE3;color:#0C1927;cursor:pointer}
.fv-pol__x svg{width:20px;height:20px}
.fv-pol__x:focus-visible,.fv-pol__open:focus-visible{outline:2px solid #E87538;outline-offset:2px}
.fv-pol__body{flex:1;overflow-y:auto;padding:22px 30px 40px;font:400 16px/1.65 var(--f-ui)}
.fv-pol__body h2{font:700 clamp(26px,3vw,34px)/1.1 var(--f-display,var(--f-ui));text-transform:none;margin:0 0 8px;color:#0C1927}
.fv-pol__meta{color:#5B6B78;font-size:14px;margin:0 0 18px}
.fv-pol__body .prose h2,.fv-pol__body .prose h3{font:700 19px/1.3 var(--f-ui);margin:22px 0 6px;color:#0C1927;text-transform:none}
.fv-pol__body .prose p,.fv-pol__body .prose li{color:#24323F}
.fv-pol__wait{color:#5B6B78}
@media (max-width:560px){.fv-pol__body{padding:18px 20px 32px}.fv-pol__open{display:none}}
@media (prefers-reduced-motion:reduce){.fv-pol__panel{animation:none}}

/* Exit full page: just an X */
.fv-fullbar .fv-fullx{width:36px;height:36px;padding:0!important;justify-content:center;border-radius:50%}
.fv-fullbar .fv-fullx svg{width:18px;height:18px}

/* Contents: rows fit the panel, with room between the tick and the edge */
.fv-drawer{overflow-x:hidden;padding-left:12px;padding-right:12px}
.fv-drawer button{box-sizing:border-box;width:100%;max-width:100%;padding:10px 14px 10px 10px;gap:10px}
.fv-drawer .tick{margin-right:2px}

/* Each panel keeps its own column, so closing Contents never squeezes the page */
.fv-drawer{grid-column:1;grid-row:1}
.fv-stage,.fv-overview{grid-column:2;grid-row:1}
.fv-side{grid-column:3;grid-row:1}
.fv.is-full .fv-stage,.fv.is-full .fv-overview{grid-column:1}
@media (max-width:900px){.fv-stage,.fv-overview{grid-column:1}.fv-drawer,.fv-side{grid-column:auto}}
