/* The .aip reader - Head of IT, 09/10/2026. Same ground as the AIP Reader (reader.css):
   white page, the crest's navy and gold used sparingly, the page the loudest thing on
   the screen. Vanilla CSS, no fonts fetched. */
:root{
  --navy:#0e1d4f; --royal:#1a3bb3; --gold:#f2c313;
  --ink:#141a2b; --ink-soft:#525c73; --ink-faint:#7c8599;
  --paper:#ffffff; --field:#e8ecf4;
  --hair:rgba(14,29,79,.10);
  --sheet:0 1px 1px rgba(14,29,79,.06), 0 14px 28px -16px rgba(14,29,79,.34);
  --ui:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Inter,Roboto,
       "Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style",Georgia,"Palatino Linotype",Palatino,serif;
  --bar-h:58px;
}
*{box-sizing:border-box}
html,body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--ui)}
body.reading{background:var(--field)}
[hidden]{display:none !important}

.aip-bar{position:sticky; top:0; z-index:5; height:var(--bar-h); display:flex;
  align-items:center; justify-content:space-between; gap:12px;
  padding:0 max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));
  background:rgba(255,255,255,.94); border-bottom:1px solid var(--hair);
  backdrop-filter:saturate(1.2) blur(6px); -webkit-backdrop-filter:saturate(1.2) blur(6px)}
.aip-brand{display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; min-width:0}
.aip-brand img{display:block; height:40px; width:auto}
.aip-brand-t{display:flex; flex-direction:column; min-width:0}
.aip-series{font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint)}
.aip-name{font-family:var(--serif); font-size:1.02rem; color:var(--navy);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.aip-bar-r{display:flex; align-items:center; gap:10px; flex-shrink:0}
.aip-serial{font:500 .74rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--ink-soft)}

.aip-btn{appearance:none; border:1px solid var(--hair); background:#fff; color:var(--navy);
  font:600 .9rem var(--ui); border-radius:9px; padding:9px 14px; min-height:40px; cursor:pointer;
  text-decoration:none; display:inline-flex; align-items:center; justify-content:center}
.aip-btn:hover{background:rgba(14,29,79,.05)}
.aip-btn:focus-visible{outline:2px solid var(--royal); outline-offset:2px}
.aip-btn-p{background:var(--navy); color:#fff; border-color:var(--navy)}
.aip-btn-p:hover{background:#16286a}
.aip-btn-q{font-weight:500}
.aip-btn[disabled]{opacity:.5; cursor:default}

.aip-main{max-width:1040px; margin:0 auto; padding:0 14px 96px}
.aip-open{max-width:640px; margin:0 auto; padding:34px 0 10px}
.aip-open h1{font-family:var(--serif); font-weight:500; color:var(--navy); font-size:1.7rem; margin:0 0 10px}
.aip-open h2{font-family:var(--serif); font-weight:500; color:var(--navy); font-size:1.2rem; margin:30px 0 4px}
.aip-lede{color:var(--ink-soft); line-height:1.55; margin:0 0 16px}
.aip-who{font-size:.92rem; color:var(--ink-soft); margin:0 0 18px}
.aip-who a{color:var(--royal)}
.aip-note{font-size:.86rem; color:var(--ink-faint); margin:0 0 10px; line-height:1.45}

.aip-drop{border:1.5px dashed rgba(14,29,79,.22); border-radius:12px; padding:26px 16px;
  text-align:center; background:#fff}
.aip-drop.over{border-color:var(--royal); background:rgba(26,59,179,.04)}
.aip-drop-t{margin:10px 0 0; color:var(--ink-faint); font-size:.86rem}

.aip-shelf{list-style:none; margin:0; padding:0}
.aip-shelf li{display:flex; align-items:center; justify-content:space-between; gap:10px;
  flex-wrap:wrap; padding:12px 0; border-top:1px solid var(--hair)}
.aip-shelf .t{font-family:var(--serif); font-size:1rem; min-width:0; flex:1 1 220px}
.aip-shelf .t small{display:block; font-family:var(--ui); color:var(--ink-faint); font-size:.76rem}
.aip-shelf .a{display:flex; gap:8px; flex-wrap:wrap}

.aip-msg{max-width:560px; margin:40px auto; padding:22px 22px 18px; background:#fff;
  border:1px solid var(--hair); border-top:3px solid var(--gold); border-radius:12px; box-shadow:var(--sheet)}
.aip-msg h2{font-family:var(--serif); font-weight:500; color:var(--navy); margin:0 0 8px; font-size:1.25rem}
.aip-msg p{line-height:1.55; color:var(--ink-soft); margin:0 0 12px}
.aip-msg-acts{display:flex; gap:8px; flex-wrap:wrap}
.aip-msg.busy{border-top-color:var(--royal)}

.aip-reader{padding-top:16px}
.aip-stage{display:flex; flex-direction:column; align-items:center; gap:14px;
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none}
.aip-page{position:relative; background:#fff; box-shadow:var(--sheet); max-width:100%}
.aip-page canvas{display:block; width:100%; height:100%; pointer-events:none}
.aip-page::after{content:attr(data-n); position:absolute; right:8px; bottom:-18px;
  font-size:.7rem; color:var(--ink-faint)}

.aip-dock{position:fixed; left:50%; transform:translateX(-50%);
  bottom:max(12px, env(safe-area-inset-bottom)); z-index:6; display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.96); border:1px solid var(--hair); border-radius:14px; padding:6px;
  box-shadow:0 2px 6px rgba(9,16,38,.06), 0 18px 40px -18px rgba(9,16,38,.40)}
.aip-dock .aip-btn{min-width:40px; padding:6px 10px; font-size:1.1rem}
.aip-pageno{font:600 .86rem var(--ui); color:var(--navy); min-width:72px; text-align:center}

body.veiled .aip-stage{filter:blur(18px)}

.aip-print-no{display:none}
@media print{
  body *{display:none !important}
  body .aip-print-no{display:block !important; font:14pt Georgia,serif; margin:40mm 20mm}
}
@media (max-width:560px){
  .aip-series{display:none}
  .aip-open{padding-top:22px}
  .aip-open h1{font-size:1.4rem}
  .aip-main{padding:0 8px 96px}
  .aip-serial{display:none}
}
