:root{--scarlet:#b30820;--ink:#292929;--muted:#595959;--line:#deded8;--wash:#f3f3f0;font:16px/1.6 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--wash);color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,summary{font:inherit}button,summary{cursor:pointer}button,input{min-height:44px}button{padding:7px 15px;background:white;color:var(--ink);border:1px solid #bcbcb8;border-radius:5px;font-weight:600}button:hover{background:#f4f4f0}button:disabled{cursor:default;color:#707070}input{max-width:100%;padding:6px 10px;border:1px solid #858580;border-radius:4px;background:white;color:var(--ink)}a{color:#a50920;text-underline-offset:3px}:focus-visible{outline:3px solid #155eae;outline-offset:3px}[hidden]{display:none!important}.sr-only,.sprite{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);border:0}.sr-only{white-space:nowrap}.skip{position:absolute;top:0;left:12px;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.skip:focus{position:fixed;top:10px;width:auto;height:auto;clip-path:none;overflow:visible;padding:10px;background:white;z-index:20}
body.reader-ready{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.reader-ready #main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}#visual-reader{flex:1;min-height:0;padding:18px 24px;display:flex}#viewport{flex:1;min-height:0;height:100%;width:100%;padding:10px 26px 24px;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;touch-action:pan-y pinch-zoom;display:flex;flex-direction:column}#book-stage{--zoom:1;position:relative;display:flex;flex-shrink:0;width:calc(var(--fit-width,100%) * var(--zoom));margin:auto;perspective:2000px;isolation:isolate;box-shadow:0 10px 26px #0000001c;background:white}.page-image{display:block;width:50%;height:auto;align-self:flex-start;user-select:none}.single>.page-image{width:100%}.page-text-layer{position:absolute;top:0;height:100%;container-type:inline-size;overflow:hidden;z-index:1;user-select:text;-webkit-user-select:text;cursor:text;line-height:1.2}.selectable-frame{position:absolute;color:transparent;-webkit-text-fill-color:transparent;font-family:Arial,Helvetica,sans-serif;line-height:1.2;column-fill:auto;white-space:normal;overflow:hidden}.selectable-frame p{padding:0;margin:0;break-inside:auto}.selectable-frame ::selection,.selectable-frame::selection{background:#1565c04d;color:transparent;-webkit-text-fill-color:transparent}
.turn-leaf{position:absolute;top:0;bottom:0;right:0;width:50%;transform-origin:left center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;z-index:3;pointer-events:none}.turn-leaf.reverse{right:auto;left:0;transform-origin:right center}.leaf-front,.leaf-back{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;object-fit:fill;background:white}.leaf-front{transform:translateZ(.05px)}.leaf-back{transform:rotateY(180deg) translateZ(.05px)}.stationary-page{position:absolute;top:0;width:50%;height:100%;z-index:2;pointer-events:none}.turn-snapshot{position:absolute;display:flex;pointer-events:none;z-index:3;will-change:transform,opacity;transform-origin:center}.turn-snapshot>img{height:100%;flex:none}.is-turning .page-text-layer{pointer-events:none;user-select:none;-webkit-user-select:none}#viewport.turn-in-progress{overflow:hidden}
#viewport.pan-ready,#viewport.pan-ready *{cursor:grab;user-select:none;-webkit-user-select:none}#viewport.pan-ready{touch-action:pinch-zoom;overscroll-behavior:contain}#viewport.is-panning,#viewport.is-panning *{cursor:grabbing}.edge-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;min-height:60px;padding:0;display:flex;align-items:center;justify-content:center;background:#fffffff2;color:#a50920;border:1px solid #aaa;border-radius:5px;box-shadow:0 2px 8px #0002;opacity:0;pointer-events:none;transition:opacity .15s ease}.edge-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.edge-previous{left:-18px}.edge-next{right:-18px}.edge-hover-left>.edge-previous:not(:disabled),.edge-hover-right>.edge-next:not(:disabled),.edge-arrow:focus-visible{opacity:1;pointer-events:auto}.edge-arrow:disabled{visibility:hidden}.edge-arrow:hover{background:white;border-color:#a50920}
#reader-controls{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:0;background:white;border-top:1px solid var(--line);padding:12px 20px;min-height:76px}.control-group{display:flex;align-items:center;gap:4px;padding:0 13px}.control-group+.control-group{border-left:1px solid var(--line)}.control-group:first-child{padding-left:0}.control-group:last-child{padding-right:0}.tool{border:0;background:white;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--ink)}.tool svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tool:hover{background:#f4f4f0}.tool.icon{width:44px;min-width:44px;padding:0}.tool:disabled{opacity:.55}.page-select{border:1px solid #d4d4cf;gap:10px;padding-inline:14px;font-weight:500;min-width:125px}.page-select svg{width:13px;height:13px}#zoom-label{font-size:13px;font-weight:500;min-width:42px;text-align:center}.tool.fit{font-size:12px;font-weight:500;padding-inline:8px;min-width:40px}.tool.download{color:var(--scarlet)}#pan-mode[aria-pressed=true]{color:var(--scarlet);background:#f7ecee}
#reading{width:100%;max-width:900px;margin:auto;padding:30px clamp(18px,4vw,46px);background:white;font-size:18px;line-height:1.8}#reading h2{font:normal 31px/1.3 Georgia,serif;overflow-wrap:anywhere}#reading h3{font-size:21px;line-height:1.4;margin-top:1.7em}#reading p{margin:1em 0}.reading-intro{padding-bottom:36px;border-bottom:1px solid var(--line)}.reading-page{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.goal{scroll-margin-top:20px}.page-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--scarlet);font-weight:bold}.source-note{font-size:15px;color:#4b4b4b;border-left:3px solid #aaa;padding-left:18px}.callout,.stat{padding:14px 24px;background:var(--wash);margin-block:24px}.signature{font-weight:600}.table-wrap{overflow:auto;max-width:100%;margin-block:22px}table{border-collapse:collapse;font-size:14px;line-height:1.5;min-width:700px;width:100%}caption{text-align:left;font-weight:bold;padding:10px 0}th,td{padding:12px;border:1px solid #bdbdb8;text-align:left}thead{background:#eeede9}tbody tr:nth-child(even){background:#f7f7f4}dt{font-weight:bold}dd{margin:0 0 18px}.contents-list{list-style:none;padding:0;margin:12px 0}.contents-list a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;text-decoration:none;padding:11px 4px;border-bottom:1px solid #e5e5e0;color:var(--ink);line-height:1.5;font-size:15px}.contents-list a:hover{color:var(--scarlet);background:#f6f3f1}.contents-list span{font-size:12px;color:var(--muted);white-space:nowrap}summary{padding:12px 4px;font-weight:bold;min-height:44px}
.primary{background:var(--scarlet);border-color:var(--scarlet);color:white}.primary:hover{background:#8e0619;color:white}dialog{color:var(--ink);background:white;border:0;border-top:6px solid var(--scarlet);border-radius:8px;box-shadow:0 20px 80px #0004;width:min(720px,calc(100% - 32px));max-height:85dvh;padding:24px 28px;overflow:auto}dialog::backdrop{background:#2229}.dialog-top{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.dialog-top h2{font:normal 28px/1.25 Georgia,serif;margin:4px 0}.dialog-top button{flex-shrink:0}#search-form label,#page-form label{display:block;margin-bottom:8px;font-weight:bold;font-size:14px}.search-row{display:flex;gap:10px}.search-row input{width:100%;min-width:0}#search-status{font-size:14px;color:var(--muted)}.search-results{padding-left:24px}.search-results li{padding:10px 0;border-bottom:1px solid var(--line)}.search-results a{display:block;font-weight:bold;line-height:1.4;padding-block:6px}.search-results p{font-size:14px;margin:5px 0}mark{background:#ffe29a;color:#222}.help,#page-hint{font-size:13px;color:var(--muted)}#page-input{width:95px}.tool-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #bcbcb8;border-radius:5px;padding:7px 15px;color:var(--ink);font-weight:600;text-decoration:none}.tool-link.primary{color:white}.print-options{display:flex;gap:12px;flex-wrap:wrap;margin-block:24px}.no-script{padding:12px 24px;background:white;text-align:center}.fullscreen-fallback{position:fixed;inset:0;z-index:100;background:var(--wash)}
@media(max-width:1100px){.control-group{padding-inline:6px}.tool{padding-inline:6px;font-size:12px;gap:5px}.tool.icon{padding:0}.page-select{min-width:110px}#reader-controls{padding-inline:12px}}
@media(max-width:1200px){.control-label:not(.sr-only){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.controls-reading .tool,.controls-export .tool{width:44px;padding:0}.control-group{padding-inline:6px}#visual-reader{padding:12px 16px}}
@media(max-width:760px){#reader-controls{flex-wrap:wrap;padding:8px;gap:2px}.control-group{padding:0!important;border:0!important;gap:0}.controls-reading{order:1}.controls-page{order:2}.controls-options{order:3}.controls-zoom{order:4}.controls-export{order:5}.page-select{min-width:102px}#visual-reader{padding:10px 6px}#viewport{padding:8px 18px 20px}#reading{padding:18px;font-size:18px}.reading-page{padding-block:24px}.contents-list a{font-size:14px;gap:8px}dialog{padding:18px}.dialog-top h2{font-size:24px}.search-row{flex-wrap:wrap}.search-row input{flex-basis:100%}.print-options>*{width:100%}}
@media(hover:none),(pointer:coarse){.edge-arrow:not(:disabled){opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{html,body.reader-ready,body.reader-ready #main{height:auto!important;max-height:none!important;overflow:visible!important;position:static!important;display:block!important;background:white}#reader-controls,#visual-reader,dialog,.skip,.sprite,.no-script{display:none!important}#reading{display:block!important;max-width:none;font-size:11pt;padding:0}.reading-intro{display:none}.reading-page{break-before:page}table{min-width:0;font-size:8pt}.table-wrap{overflow:visible}.reading-page:first-of-type{break-before:auto}}
#zoom-reset[aria-pressed=true],#zoom-actual[aria-pressed=true]{background:#f4f4f0;color:#a50920}
.is-filled .edge-previous{left:6px}.is-filled .edge-next{right:6px}
/* The public CREW school branding feed supplies these tokens. */
:root{--toolbar-primary:#CC0033;--toolbar-ink:#FFFFFF;--toolbar-line:#FFFFFF66}#reader-controls{background:var(--toolbar-primary);color:var(--toolbar-ink);border-top:0;box-shadow:0 -2px 12px #0002}#reader-controls .tool{background:transparent;color:var(--toolbar-ink)}#reader-controls .control-group+.control-group{border-color:var(--toolbar-line)}#reader-controls .page-select{border-color:var(--toolbar-line)}#reader-controls .tool:hover:not(:disabled),#reader-controls .tool[aria-pressed=true]{background:var(--toolbar-ink);color:var(--toolbar-primary)}#reader-controls .tool:focus-visible{outline-color:var(--toolbar-ink)}#reader-controls .tool:disabled{color:var(--toolbar-ink);opacity:.5}#reader-controls #zoom-label{color:var(--toolbar-ink)}
/* Cover transitions align the closed book, then hinge it open (or close, then center). */
.cover-scene{position:fixed;z-index:8;overflow:hidden;pointer-events:none;background:var(--wash);perspective:2000px;isolation:isolate}.cover-leaf{position:absolute;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform,left,top,width,height;z-index:2}.cover-leaf>.leaf-front,.cover-leaf>.leaf-back{object-fit:fill}.cover-base{position:absolute;display:block;z-index:1;pointer-events:none;user-select:none;-webkit-user-select:none}
.size-label-short{display:none}.controls-zoom{max-width:100%;flex-wrap:wrap;justify-content:center}.zoom-percentage{padding-inline:4px!important;min-width:52px!important}.calibration-measure{max-width:100%;overflow:auto;padding:24px 10px;margin:12px 0 20px;background:#f3f3f0;border-radius:4px}#calibration-line{position:relative;height:3px;background:#292929;flex:none;width:189px}#calibration-line::before,#calibration-line::after{content:"";position:absolute;top:-8px;width:2px;height:19px;background:#292929}#calibration-line::before{left:0}#calibration-line::after{right:0}#calibration-scale{display:block;width:100%;padding:0;margin-block:8px 20px;accent-color:var(--toolbar-primary)}.calibration-actions{display:flex;gap:10px;flex-wrap:wrap}.calibration-actions button{flex:1;min-width:160px}@media(max-width:760px){.size-label-wide{display:none}.size-label-short{display:inline}}
.screen-profile-section{border:1px solid #d7d7d2;background:#fafaf8;padding:18px;margin:18px 0;border-radius:5px}.screen-profile-section>label{display:block;font-weight:600;margin:12px 0 5px}.screen-profile-section input[type=text],.screen-profile-section select{width:100%;max-width:100%;min-height:44px;font:inherit;border:1px solid #858580;border-radius:4px;background:white;color:#292929;padding:7px 10px}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.profile-actions button{flex:1;min-width:140px}.paper-reference{width:min(1200px,calc(100% - 32px))}#calibration-line.coin-reference{border:2px solid #292929;border-radius:50%;background:transparent}#calibration-line.coin-reference::before,#calibration-line.coin-reference::after{display:none}.screen-switch{max-width:120px;overflow:hidden;text-overflow:ellipsis;display:block!important}.screen-switch[hidden]{display:none!important}#calibration-error{color:#a50920;font-weight:600}#calibration-dialog .help{overflow-wrap:anywhere}
.physical-size-note{flex:none;padding:0 12px;text-align:center;font-size:13px;background:white;color:#4b4b4b;border-top:1px solid #deded8}.physical-size-note button{border:0;background:transparent;color:#a50920;text-decoration:underline;font-size:13px;padding:3px 8px}@media print{.physical-size-note{display:none!important}}
#reader-controls .control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#reader-controls .controls-reading .tool,#reader-controls .controls-export .tool{width:44px;min-width:44px;padding:0}.control-tooltip{position:fixed;z-index:1000;max-width:min(280px,calc(100vw - 16px));padding:8px 12px;background:#242424;color:white;border:1px solid #ffffff80;border-radius:5px;font:13px/1.45 Arial,Helvetica,sans-serif;box-shadow:0 3px 12px #0003;overflow-wrap:anywhere;pointer-events:auto}@media print{.control-tooltip{display:none!important}}
@media(max-width:760px){.controls-page{order:1}.controls-reading{order:2}.controls-options,.controls-export{order:3}.controls-zoom{order:4}}

.magnification-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}
@media(max-width:760px){.magnification-controls{gap:0}}
