:root{--paper:#FBFBF9;--paper-edge:#F2F2EE;--ink:#14161A;--pencil:#63666D;
--rule:#D9D8D1;--marker:#C0302A;--marker-wash:#FBF0EF;
--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
--serif:"Source Serif 4",Georgia,serif;--measure:44rem}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper-edge);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.6}
.shell{max-width:var(--measure);margin:0 auto;padding:0 20px 72px}
.masthead{display:flex;justify-content:space-between;align-items:baseline;padding:22px 0 18px}
.wordmark{font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;color:var(--ink)}
.wordmark em{font-style:normal;color:var(--marker)}
.masthead nav{font-family:var(--mono);font-size:12px}
.masthead nav a{color:var(--pencil);text-decoration:none;margin-left:14px}
.masthead nav a:hover{color:var(--ink)}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--pencil);margin:0 0 14px}
.crumbs a{color:var(--pencil)}.crumbs a:hover{color:var(--marker)}
.cover{background:var(--paper);border:1px solid var(--rule);padding:34px 28px 26px;text-align:center;position:relative}
.cover::after{content:"";position:absolute;inset:7px;border:1px solid var(--rule);pointer-events:none}
.cover .authority{font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--pencil);margin:0}
.cover .grade{font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.19em;text-transform:uppercase;margin:5px 0 20px}
.cover h1{font-family:var(--sans);font-weight:600;font-size:clamp(26px,7vw,38px);letter-spacing:-.02em;line-height:1.05;text-transform:uppercase;margin:0}
.cover .paper-no{font-family:var(--sans);font-size:clamp(17px,4vw,23px);letter-spacing:.06em;color:var(--pencil);margin:2px 0 0;text-transform:uppercase}
.cover .sitting{font-family:var(--sans);font-size:13px;letter-spacing:.13em;text-transform:uppercase;margin:14px 0 22px}
.cover dl{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;margin:0;padding-top:16px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:12.5px}
.cover dt{color:var(--pencil);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;margin-bottom:2px}
.cover dd{margin:0;font-weight:500}
.checked{display:flex;gap:13px;align-items:flex-start;background:var(--marker-wash);border-left:2px solid var(--marker);padding:15px 17px;margin:22px 0 0;font-size:15px;line-height:1.5}
.checked svg{flex:none;margin-top:2px}.checked p{margin:0}
.checked strong{font-family:var(--sans);font-weight:600;font-size:14.5px;display:block;margin-bottom:3px}
.checked .when{font-family:var(--mono);font-size:11.5px;color:var(--pencil);display:block;margin-top:7px}
.band{margin-top:38px}
.band>h2{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 3px;display:flex;align-items:center;gap:11px}
.band>h2::after{content:"";flex:1;height:1px;background:var(--rule)}
.band .note{font-size:14px;color:var(--pencil);margin:0 0 14px}
.band-memo>h2{color:var(--marker)}.band-memo>h2::after{background:var(--marker);opacity:.28}
.file{background:var(--paper);border:1px solid var(--rule);padding:15px 17px;margin-bottom:9px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.file .lang{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--pencil);border:1px solid var(--rule);padding:3px 8px;flex:none}
.file .name{flex:1;min-width:150px;font-size:15.5px}
.file .size{font-family:var(--mono);font-size:12px;color:var(--pencil);flex:none}
.warn{display:block;font-family:var(--mono);font-size:11px;color:var(--marker);margin-top:3px;text-transform:uppercase;letter-spacing:.05em}
.actions{display:flex;gap:8px;flex:none}
.actions a{font-family:var(--sans);font-size:13.5px;font-weight:500;text-decoration:none;padding:7px 14px;border:1px solid var(--ink);color:var(--ink);white-space:nowrap}
.actions a.ghost{border-color:var(--rule);color:var(--pencil)}
.actions a:hover{background:var(--ink);color:var(--paper)}
.actions a:focus-visible{outline:2px solid var(--marker);outline-offset:2px}
.band-memo .actions a:hover{background:var(--marker);border-color:var(--marker)}
.weights{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.weights li{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rule)}
.weights .topic{font-size:15.5px}.weights .marks{font-family:var(--mono);font-size:12.5px;color:var(--pencil)}
.bar{grid-column:1/-1;height:3px;background:var(--rule)}.bar i{display:block;height:100%;background:var(--ink)}
.sittings{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.sittings a{display:block;font-family:var(--mono);font-size:12.5px;padding:7px 11px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);text-decoration:none}
.sittings a:hover{border-color:var(--ink)}
.ad{margin:38px 0 0;padding:26px 16px;text-align:center;border:1px dashed var(--rule);background:var(--paper);font-family:var(--mono);font-size:11px;color:var(--pencil);letter-spacing:.09em;text-transform:uppercase}
.ad-unit{margin:38px 0 0;min-height:100px}
.hub-head{padding:8px 0 4px}
.hub-head h1{font-family:var(--sans);font-weight:600;font-size:clamp(30px,8vw,44px);letter-spacing:-.025em;margin:0}
.hub-head p{font-size:17.5px;color:var(--pencil);margin:9px 0 0;max-width:33rem}
.tally{display:flex;gap:30px;flex-wrap:wrap;margin:24px 0 0;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--mono)}
.tally div{font-size:12px;color:var(--pencil)}
.tally b{display:block;font-size:23px;color:var(--ink);font-weight:500}
.year{border-bottom:1px solid var(--rule);padding:17px 0}
.year-top{display:flex;align-items:baseline;gap:15px}
.year-top h3{font-family:var(--mono);font-size:19px;font-weight:500;margin:0}
.year-top .count{font-family:var(--mono);font-size:11.5px;color:var(--pencil)}
.year ul{list-style:none;margin:11px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.year ul a{font-family:var(--sans);font-size:13.5px;text-decoration:none;color:var(--ink);border:1px solid var(--rule);background:var(--paper);padding:6px 12px;display:block}
.year ul a:hover{border-color:var(--ink)}
.subject-index{list-style:none;margin:0;padding:0}
.subject-index li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule)}
.subject-index a{color:var(--ink);text-decoration:none;font-size:16.5px}
.subject-index a:hover{color:var(--marker)}
.subject-index span{font-family:var(--mono);font-size:12px;color:var(--pencil)}
.foot{margin-top:52px;padding-top:20px;border-top:1px solid var(--rule);font-size:14px;color:var(--pencil)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:520px){body{font-size:16px}.shell{padding:0 15px 56px}.cover{padding:26px 17px 20px}
.actions{width:100%}.actions a{flex:1;text-align:center}}
