@font-face{font-family:Archivo;src:url("/fonts/archivo-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url("/fonts/archivo-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url("/fonts/archivo-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url("/fonts/archivo-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{--navy:#172437;--navy-2:#151619;--red:#c8102e;--red-dark:#8f0c21;--paper:#f4f2ef;--white:#fff;--ink:#151619;--muted:#73777f;--line:#d8d6d2;--soft:#ece9e5;--success:#237a52;--shadow:0 24px 80px rgba(21,22,25,.13);--display:Archivo,"Segoe UI",Arial,sans-serif;--body:"Source Sans 3","Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",Consolas,monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.6 var(--body)}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:999;top:8px;left:8px;padding:10px 14px;background:#fff;color:var(--navy);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.topbar{height:78px;padding:0 30px;display:flex;align-items:center;background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:22px;min-width:280px}
.brand img{width:128px;height:43px;object-fit:contain;object-position:left center}
.brand span{padding-left:22px;border-left:1px solid var(--line);font:600 11px/1 var(--display);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.document-state{margin:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.document-state strong{color:var(--ink);font-weight:600}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(54,204,136,.13)}
.main-site-link{min-width:170px;text-align:right;font-weight:500;font-size:14px}
.main-site-link span{color:var(--red);margin-left:6px}
.simulation-notice{min-height:38px;padding:8px 30px;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--ink);border-bottom:1px solid #27282b;color:#b7b8bc;font-size:12px}
.simulation-notice strong{font:600 10px var(--display);color:var(--red);letter-spacing:.12em;text-transform:uppercase}
.manual-shell{min-height:calc(100vh - 116px);display:grid;grid-template-columns:320px minmax(0,1fr)}
.manual-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--navy-2);color:#e8e7e4;overflow:hidden}
.sidebar-head{padding:39px 34px 30px;background:linear-gradient(150deg,#27282b 0%,var(--navy-2) 76%);border-bottom:1px solid rgba(255,255,255,.1)}
.eyebrow{margin:0 0 12px;color:var(--red);font:600 10px/1.2 var(--display);letter-spacing:.13em;text-transform:uppercase}
.sidebar-head .eyebrow{color:#f96c82}
.sidebar-head h1{margin:0;color:#fff;font:600 25px/1.08 var(--display);letter-spacing:-.02em}
.sidebar-head dl{margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sidebar-head dl div{display:grid;gap:2px}
.sidebar-head dt{color:#7790ab;font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.sidebar-head dd{margin:0;font:500 12px var(--display)}
.chapter-nav{flex:1;overflow:auto;padding:14px 0}
.chapter-nav a{position:relative;display:grid;grid-template-columns:30px 1fr;gap:9px;padding:9px 24px 9px 32px;color:#9eb0c5;font:500 13px/1.35 var(--body);transition:.18s ease}
.chapter-nav a span:first-child{color:#69829e;font-family:var(--display)}
.chapter-nav a:hover,.chapter-nav a.active{background:rgba(255,255,255,.07);color:#fff}
.chapter-nav a.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red)}
.sidebar-foot{display:grid;padding:18px 32px 24px;border-top:1px solid rgba(255,255,255,.1);gap:8px;font-size:12px}
.sidebar-foot>span{color:#8fa3ba;font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.manual-workspace{position:relative;min-width:0;padding-bottom:80px}
.workspace-toolbar{position:sticky;z-index:20;top:0;min-height:78px;padding:14px clamp(24px,5vw,74px);display:flex;align-items:center;gap:20px;background:rgba(244,242,239,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.search-box{width:min(720px,100%);height:50px;display:flex;align-items:center;gap:12px;padding:0 15px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(8,30,57,.05);transition:.2s ease}
.search-box:focus-within{border-color:#9aaabd;box-shadow:0 0 0 3px rgba(12,40,75,.08)}
.search-box svg{width:20px;fill:none;stroke:#718096;stroke-width:1.8;stroke-linecap:round}
.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}
.search-box input::placeholder{color:#8793a4}
kbd{padding:2px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:#8290a2;background:#f8fafc;font:500 11px var(--body)}
.passage-count{white-space:nowrap;color:var(--muted);font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.sidebar-toggle{display:none;border:0;background:transparent;color:var(--navy);font-weight:600}
.manual-intro{padding:72px clamp(24px,6vw,90px) 58px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:8%;background:#fff;border-bottom:1px solid var(--line)}
.manual-intro h2{margin:0;max-width:780px;color:var(--ink);font:600 clamp(46px,6vw,78px)/.96 var(--display);letter-spacing:-.055em}
.manual-intro>p{margin:0 0 5px;max-width:440px;color:var(--muted);font-size:18px}
.active-context{margin:32px clamp(24px,6vw,90px) 0;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fff;border-left:3px solid var(--red);box-shadow:0 8px 30px rgba(8,30,57,.06)}
.active-context span{color:var(--red);font:600 10px var(--display);letter-spacing:.1em;text-transform:uppercase}
.active-context p{margin:0;font-weight:500}
.active-context button{border:0;background:transparent;color:var(--navy);font-weight:600;cursor:pointer}
.search-results{position:fixed;z-index:80;top:102px;left:calc(320px + clamp(24px,5vw,74px));width:min(720px,calc(100vw - 370px));max-height:min(620px,calc(100vh - 130px));overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.search-summary{padding:16px 20px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.search-result{display:grid;grid-template-columns:48px 1fr auto;gap:14px;padding:17px 20px;border-bottom:1px solid var(--line);cursor:pointer}
.search-result:hover,.search-result:focus{outline:0;background:var(--soft)}
.search-result .result-number{color:var(--red);font:600 15px var(--display)}
.search-result strong{display:block;font:600 17px var(--display)}
.search-result p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.search-result>span:last-child{align-self:center;color:#8b98a8}
mark{padding:0;background:#ffec9a;color:inherit}
.passage-list{padding:20px clamp(24px,6vw,90px)}
.chapter-group{padding-top:58px;scroll-margin-top:90px}
.chapter-heading{display:grid;grid-template-columns:55px 1fr;gap:18px;align-items:end;margin-bottom:18px;padding-bottom:17px;border-bottom:2px solid var(--navy)}
.chapter-heading span{color:var(--red);font:600 19px var(--display)}
.chapter-heading h2{margin:0;color:var(--navy);font:600 clamp(28px,3vw,42px)/1 var(--display);letter-spacing:-.02em}
.passage-card{position:relative;margin-bottom:12px;padding:25px 62px 25px 28px;background:#fff;border:1px solid var(--line);scroll-margin-top:102px;transition:border-color .2s,box-shadow .2s,transform .2s}
.passage-card:hover{border-color:#b7c2cf;box-shadow:0 12px 35px rgba(8,30,57,.06)}
.passage-card.is-target{border-color:var(--red);box-shadow:0 0 0 4px rgba(227,25,55,.08),0 18px 50px rgba(8,30,57,.1)}
.passage-title{display:flex;align-items:baseline;gap:14px;margin-bottom:15px}
.passage-title span{color:var(--red);font:600 14px var(--display)}
.passage-title h3{margin:0;color:var(--navy);font:600 24px/1.15 var(--display)}
.passage-content{max-width:960px;color:#34363b}
.passage-content p{margin:0 0 15px}
.passage-content ul,.passage-content ol{margin:12px 0 18px;padding-left:24px}
.passage-content li{margin:6px 0;padding-left:5px}
.passage-content li::marker{color:var(--red);font-weight:600}
.passage-content blockquote{margin:20px 0;padding:18px 20px;border-left:4px solid var(--red);background:#f1eeea;color:var(--ink)}
.passage-content blockquote p{margin:0}
.table-wrap{margin:18px 0;overflow:auto;border:1px solid var(--line)}
.passage-content table{width:100%;border-collapse:collapse;min-width:620px;font-size:14px;line-height:1.4}
.passage-content th{background:#ebe7e2;color:var(--ink);font-weight:600;text-align:left}
.passage-content th,.passage-content td{padding:11px 13px;border-right:1px solid #ccd5e0;border-bottom:1px solid #ccd5e0;vertical-align:top}
.passage-content tr:last-child td{border-bottom:0}
.passage-content th:last-child,.passage-content td:last-child{border-right:0}
.passage-content a{text-decoration:underline;text-underline-offset:3px;color:var(--red-dark);overflow-wrap:anywhere}
.share-button{position:absolute;top:20px;right:18px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:#5e6d80;cursor:pointer;transition:.2s}
.share-button:hover{border-color:var(--red);color:var(--red)}
.share-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.source-page{display:block;margin-top:18px;color:#8c98a8;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.manual-footer{margin:70px clamp(24px,6vw,90px) 0;padding-top:24px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.manual-footer strong{color:var(--red);font:600 10px var(--display);letter-spacing:.1em;text-transform:uppercase}
.loading-state{min-height:350px;display:grid;place-items:center;align-content:center;color:var(--muted)}
.loading-state span{width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}
.empty-state{padding:70px 30px;text-align:center;background:#fff;border:1px solid var(--line)}
.empty-state h3{margin:0;color:var(--navy);font:600 28px var(--display)}
.empty-state p{margin:5px 0;color:var(--muted)}
.toast{position:fixed;z-index:100;right:26px;bottom:26px;padding:13px 17px;background:var(--navy);color:#fff;box-shadow:var(--shadow);font-size:14px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}
.toast.visible{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* Admin */
.admin-body{min-height:100vh;background:#eeece8}
.admin-login-shell{min-height:calc(100vh - 78px);padding:40px;display:grid;place-items:center}
.admin-shell{min-height:calc(100vh - 78px);padding:40px}
.login-panel{width:min(520px,100%);padding:48px;background:#fff;border-top:4px solid var(--red);box-shadow:var(--shadow)}
.login-panel h1{margin:0;color:var(--ink);font:600 48px/.98 var(--display);letter-spacing:-.045em}
.login-panel>p:not(.eyebrow){color:var(--muted)}
.login-panel form{display:grid;gap:10px;margin-top:30px}
.login-panel label,.admin-editor-panel label,.admin-search{display:grid;gap:7px;color:#556276;font-size:13px;font-weight:500}
.login-panel input,.admin-editor-panel input,.admin-editor-panel textarea,.admin-search input{width:100%;border:1px solid #cdd6e1;background:#fff;color:var(--ink);outline:0}
.login-panel input,.admin-editor-panel input,.admin-search input{height:46px;padding:0 13px}
.login-panel input:focus,.admin-editor-panel input:focus,.admin-editor-panel textarea:focus,.admin-search input:focus{border-color:#71859d;box-shadow:0 0 0 3px rgba(12,40,75,.08)}
.primary-button{min-height:46px;padding:0 20px;border:0;background:var(--red);color:#fff;font-weight:600;cursor:pointer}
.primary-button:hover{background:var(--red-dark)}
.form-message{min-height:22px;margin:4px 0 0;color:var(--red);font-size:13px}
.admin-workspace{height:calc(100vh - 158px);display:grid;grid-template-columns:340px minmax(0,1fr);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.admin-list-panel{min-height:0;display:flex;flex-direction:column;background:var(--ink);color:#fff}
.admin-panel-head{padding:28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-panel-head h1{margin:0;font:600 34px var(--display)}
.admin-panel-head .eyebrow{color:#f87588}
.icon-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.admin-search{padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.1);color:#91a7bf}
.admin-search input{height:42px;background:#202125;border-color:#45464a;color:#fff}
.admin-passage-list{flex:1;overflow:auto;padding:8px 0}
.admin-list-status{margin:0;padding:20px 24px;color:#91a7bf;font-size:13px}
.admin-list-status.error{color:#ff8294}
.admin-passage-item{width:100%;padding:12px 24px;display:grid;grid-template-columns:43px 1fr;gap:10px;border:0;background:transparent;color:#aebdd0;text-align:left;cursor:pointer}
.admin-passage-item span{color:#6f89a6;font:600 12px var(--display)}
.admin-passage-item strong{font-weight:500;line-height:1.25}
.admin-passage-item:hover,.admin-passage-item.active{background:rgba(255,255,255,.08);color:#fff}
.admin-passage-item.active{border-left:3px solid var(--red);padding-left:21px}
.text-button{margin:18px 24px;padding:12px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#aebdd0;cursor:pointer}
.admin-editor-panel{min-width:0;overflow:auto;padding:40px clamp(28px,5vw,70px)}
.editor-placeholder{height:100%;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}
.editor-placeholder span{width:74px;height:74px;display:grid;place-items:center;border:1px solid var(--line);color:var(--red);font:600 18px var(--display)}
.editor-placeholder h2{margin:20px 0 0;color:var(--navy);font:600 35px var(--display)}
.editor-placeholder p{margin:3px 0}
.editor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--navy)}
.editor-head h2{margin:0;color:var(--navy);font:600 40px/1 var(--display)}
.editor-head a{color:#315b86;font-size:13px;font-weight:500}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.compact-fields{grid-template-columns:.55fr 1.6fr .65fr .65fr}
.editor-body-label>span{color:#8a96a6;font-size:12px;font-weight:400}
.admin-editor-panel textarea{min-height:400px;padding:15px;resize:vertical;font:400 14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.active-toggle{margin-top:14px!important;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}
.active-toggle input{width:18px;height:18px}
.editor-actions{margin-top:24px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.editor-actions .form-message{flex:1;margin-inline:18px}
.editor-actions .primary-button{min-width:160px}
.danger-button{min-height:46px;padding:0 18px;border:1px solid #db6476;background:#fff;color:#b20f2a;font-weight:600;cursor:pointer}
.danger-button:hover{background:#fff1f3;border-color:var(--red)}

@media(max-width:980px){
  .manual-shell{grid-template-columns:1fr}
  .manual-sidebar{position:fixed;z-index:90;inset:0 auto 0 0;width:min(340px,86vw);transform:translateX(-105%);box-shadow:var(--shadow);transition:transform .25s}
  .manual-sidebar.open{transform:none}
  .sidebar-toggle{display:flex;align-items:center;gap:8px;padding:8px}
  .workspace-toolbar{padding-inline:20px}
  .passage-count{display:none}
  .search-results{top:116px;left:20px;width:calc(100vw - 40px)}
  .admin-shell{padding:20px}
  .admin-workspace{height:auto;min-height:calc(100vh - 118px);grid-template-columns:280px minmax(0,1fr)}
  .compact-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .topbar{height:68px;padding:0 17px}
  .brand{min-width:0;gap:12px}
  .brand img{width:132px}
  .brand span{display:none}
  .document-state{display:none}
  .main-site-link{min-width:0;margin-left:auto;font-size:12px}
  .simulation-notice{padding:8px 17px;justify-content:flex-start}
  .simulation-notice span{display:none}
  .manual-shell{min-height:calc(100vh - 106px)}
  .workspace-toolbar{top:0;gap:8px;padding:10px 12px}
  .sidebar-toggle{font-size:0}
  .sidebar-toggle span{font-size:22px}
  .search-box{height:46px}
  kbd{display:none}
  .search-results{top:106px;left:12px;width:calc(100vw - 24px)}
  .search-result{grid-template-columns:38px 1fr;padding:14px}
  .search-result>span:last-child{display:none}
  .manual-intro{padding:50px 20px 40px;grid-template-columns:1fr;gap:25px}
  .manual-intro h2{font-size:48px}
  .manual-intro>p{font-size:16px}
  .active-context{margin:20px 14px 0;grid-template-columns:1fr}
  .passage-list{padding:5px 14px}
  .chapter-group{padding-top:42px}
  .chapter-heading{grid-template-columns:38px 1fr;gap:8px}
  .chapter-heading h2{font-size:29px}
  .passage-card{padding:22px 50px 22px 20px}
  .passage-title{display:block}
  .passage-title h3{font-size:22px}
  .passage-content{font-size:15px}
  .manual-footer{margin:55px 20px 0;display:grid}
  .toast{right:14px;bottom:14px;left:14px;text-align:center}
  .admin-shell{padding:0}
  .admin-login-shell{min-height:calc(100vh - 68px);padding:0}
  .login-panel{min-height:calc(100vh - 68px);padding:40px 24px;box-shadow:none}
  .admin-workspace{display:block;min-height:calc(100vh - 68px)}
  .admin-list-panel{height:46vh}
  .admin-editor-panel{padding:30px 20px}
  .field-row,.compact-fields{grid-template-columns:1fr}
  .editor-head{align-items:flex-start;gap:15px;flex-direction:column}
  .editor-actions{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
