:root{--mapbook-ink:#243c4a;--mapbook-rust:#8e442e;--mapbook-ease:cubic-bezier(.23,1,.32,1)}
.mapbook-edge-index{position:absolute;inset:0;pointer-events:none}
#transport .mapbook-index-tab{position:absolute;left:0;top:0;box-sizing:border-box;width:170px;height:105px;transform:var(--paper-matrix);transform-origin:0 0;background:none;border:0;color:#314039;padding:12px 10px 10px 14px;text-align:left;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px;font:600 19px 'Instrument Sans',sans-serif;line-height:1.1;letter-spacing:.025em}
.mapbook-index-tab small{font:400 19px 'EB Garamond',serif;letter-spacing:.12em}
#transport .mapbook-index-tab[data-active=true]{color:#f5e8cc;border-left:3px solid #bd9961}
#transport .mapbook-index-tab[aria-disabled=true]{cursor:default;color:#51574d}
.mapbook-index-tab[aria-disabled=true] small::after{content:' —'}
#transport .mapbook-index-tab:focus-visible{outline:3px solid #8e442e;outline-offset:3px}
#transport .mapbook-glyph{width:48px!important;height:48px!important;min-width:48px;min-height:48px;background:transparent!important;border:0!important;padding:4px!important;box-shadow:none!important;color:var(--mapbook-rust)!important;cursor:pointer;pointer-events:auto;font-size:0!important;touch-action:none;text-shadow:none}
#transport .mapbook-glyph svg{display:block;width:30px;height:30px;margin:5px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #fff5);transition:transform 150ms var(--mapbook-ease)}
#transport .mapbook-glyph:hover svg{transform:translateY(-2px) rotate(-3deg)}
#transport .mapbook-glyph:active svg{transform:translateY(1px) scale(.94)}
#transport .mapbook-glyph:focus-visible{outline:2px solid #8e442e;outline-offset:1px}
#transport #home{position:fixed;left:0;top:0;margin:0;z-index:3}
#transport .mapbook-cover-glyph{position:absolute;left:0;top:0;z-index:4;color:#b5955e!important;transition:none!important;translate:none!important}
#transport .book-grip.mapbook-glyph{color:#ba9b5f!important;z-index:2}
#transport .paper-control.mapbook-glyph{transform:translate(var(--glyph-x),var(--glyph-y))!important;transform-origin:center!important;}
.mapbook-annotation{position:absolute;left:0;top:0;z-index:8;pointer-events:none;color:#263d48;font:600 12px SUIT,sans-serif;letter-spacing:.035em;white-space:nowrap;opacity:0;text-shadow:0 1px 3px #f8f1df,0 0 5px #f8f1df;transition:opacity 160ms var(--mapbook-ease)}
.mapbook-annotation::before{content:'↗';display:inline-block;margin-right:6px;color:#8e442e}
.mapbook-annotation.is-visible{opacity:1}
.mapbook-closed .transport-hits,.mapbook-closed #home,.mapbook-closed .book-grip{visibility:hidden!important}
#transport .transport-chrome{top:9px;left:22px;right:22px;font-size:10px;pointer-events:none}
.transport-chrome a{pointer-events:auto}
#transport .transport-status{bottom:7px;font-size:10px}
#transport .transport-source{bottom:7px;font-size:10px}
#transport .transport-hit:not(.paper-control):hover{background:transparent}
#transport .transport-sheetbar{background:none;box-shadow:none;bottom:30px}
@media(prefers-reduced-motion:reduce){#transport .mapbook-glyph svg,.mapbook-annotation{transition:none}}
@media(max-width:900px){#transport .mapbook-index-tab{font-size:25px;padding:5px;letter-spacing:0}.mapbook-index-tab small{font-size:20px}}

/* A floating, folded lens belongs to the control, never the paper beneath it. */
.fow-optical{--optical-energy:0;--lens-scale:.64;--lens-lift:0px;--symbol-scale:1;--light-x:30%;--light-y:20%;isolation:isolate}
.fow-lens{position:absolute;inset:-10px;pointer-events:none;opacity:var(--optical-energy);transform:perspective(260px) translateY(var(--lens-lift)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-5deg) scale(var(--lens-scale));filter:drop-shadow(-3px 8px 3px #132e3d50);z-index:0}
.fow-lens i{display:block;position:absolute;inset:7px;pointer-events:none}
.fow-refraction{backdrop-filter:blur(.5px) saturate(1.25) contrast(1.06);clip-path:polygon(6% 15%,81% 0%,96% 79%,13% 100%);background:linear-gradient(120deg,#fff0 35%,#a2c0c414 62%,#fff0);transform:skewY(-4deg)}
[data-glyph=hero] .fow-refraction{clip-path:polygon(0% 9%,46% 23%,100% 0%,94% 78%,48% 100%,3% 86%)}
[data-glyph=next] .fow-refraction{clip-path:polygon(0% 0%,100% 8%,88% 100%)}
[data-glyph=first] .fow-refraction{clip-path:polygon(0% 14%,100% 0%,98% 100%)}
.fow-light{background:radial-gradient(ellipse at var(--light-x) var(--light-y),#fff8,#fff0 28%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 94%,92% 88%,94% 6%,0 9%)}
#transport .fow-optical svg.fow-glass-mesh{position:absolute;inset:0;width:100%;height:100%;margin:0;overflow:visible;fill:none;stroke:none;filter:none;transform:none!important}
.fow-lens::after{content:'';position:absolute;inset:90% 7% -7%;background:linear-gradient(90deg,#fff0,#fff7 36%,#dcc894a0 57%,#fff0);transform:rotate(-17deg);filter:blur(1px)}
.fow-symbol{position:relative;display:block;z-index:1;transform:translateY(var(--lens-lift)) scale(var(--symbol-scale));transform-origin:center;transition:filter 100ms}
#transport .fow-optical svg{transition:none;transform:none!important;filter:drop-shadow(0 1px 0 #fff9) drop-shadow(0 2px 2px #31434c25)}
.fow-optical:active .fow-lens,.fow-optical[data-optical-press=true] .fow-lens,.fow-optical[data-dragging=true] .fow-lens{transform:perspective(260px) translateY(-2px) rotate(-5deg) scale(.94);filter:drop-shadow(-1px 2px 1px #132e3d60) brightness(1.15)}
.fow-optical:active .fow-symbol,.fow-optical[data-optical-press=true] .fow-symbol,.fow-optical[data-dragging=true] .fow-symbol{transform:translateY(-2px) scale(1.03)}
.fow-optical.optical-depart .fow-lens,.fow-optical.optical-depart .fow-symbol{transform:translateY(-18px) scale(.2);opacity:0;transition:transform 200ms var(--mapbook-ease),opacity 180ms}
#transport .mapbook-card-grab{position:absolute;left:0;top:0;z-index:5;pointer-events:none}
#transport .mapbook-card-grab[hidden]{display:none!important}
#transport .transport-sheetbar{position:absolute;inset:0;left:0;top:0;bottom:0;transform:none;display:block;background:none;border:0;border-radius:0;padding:0;box-shadow:none;pointer-events:none}
#transport .transport-sheetbar[hidden]{display:none}
#transport .transport-sheetbar .mapbook-glyph{position:absolute;left:0;top:0;display:block;border-radius:0;text-decoration:none;pointer-events:auto}
.mapbook-annotation{translate:0 5px;transition:opacity 130ms var(--mapbook-ease),translate 180ms var(--mapbook-ease);text-shadow:0 1px 3px #fff9,0 0 8px #fff8}
.mapbook-annotation.is-visible{translate:0 0}
.index-optic{position:absolute;width:54px;height:54px;left:-50px;top:24px;pointer-events:none;opacity:var(--optical-energy)}
.index-optic .fow-lens{inset:-3px;--lens-lift:0px;transform:rotate(-8deg) scale(var(--lens-scale))}
.index-arrow{position:absolute;inset:0;display:grid;place-items:center;color:#754a29;font:500 38px 'EB Garamond',serif;text-shadow:0 1px #fff;transform:translateX(calc(var(--optical-energy)*3px))}
#transport .mapbook-index-tab[data-active=true] .index-arrow{color:#603c20}
#transport .mapbook-index-tab[aria-disabled=true] .index-optic{filter:grayscale(1);opacity:calc(var(--optical-energy)*.55)}
#transport .mapbook-index-tab[aria-disabled=true] .index-arrow{font-size:0}
#transport .mapbook-index-tab[aria-disabled=true] .index-arrow::after{content:'—';font-size:26px}
@media(prefers-reduced-motion:reduce){.fow-optical{--lens-lift:0px!important;--lens-scale:1!important;--symbol-scale:1!important}.fow-symbol,.fow-lens,.mapbook-annotation{transition:none!important}.fow-optical.optical-depart .fow-lens,.fow-optical.optical-depart .fow-symbol{transform:none!important}.mapbook-annotation{translate:0 0}}
@media(prefers-reduced-transparency:reduce){.fow-refraction{backdrop-filter:none}.fow-glass-mesh>path:first-of-type{fill:#f3ecdb;fill-opacity:1}.fow-light{display:none}}
@media(prefers-contrast:more){.fow-glass-mesh>path:first-of-type{fill:#fff2d7;fill-opacity:1;stroke:#243c4a;stroke-width:2}.fow-symbol{color:#613421}.mapbook-annotation{background:#fff2d7;color:#162d3c;text-shadow:none}}

.mapbook-annotation[data-surface=cover]{color:#ecce94;text-shadow:0 1px 3px #142431,0 0 5px #142431}
.mapbook-annotation[data-surface=cover][data-cover-route]{color:#59482e;text-shadow:0 1px 3px #fff9,0 0 8px #fff8}
/* A shallow folded lens opens outward across the board rim. Its closed-cover
   material and response are the same; the continuous opening value changes
   only the cover control's footprint and lift direction. */
#transport .mapbook-cover-glyph .fow-lens{inset:calc(-10px + 20px * var(--cover-open,0)) calc(-10px + 8px * var(--cover-open,0));transform:perspective(260px) translateY(calc(var(--lens-lift) * (1 - 1.2 * var(--cover-open,0)))) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-5deg) scale(var(--lens-scale));filter:drop-shadow(-2px 2px 2px #132e3d50)}
#transport .mapbook-cover-glyph .fow-symbol{transform:translateY(calc(var(--lens-lift) * (1 - 1.2 * var(--cover-open,0)))) scale(var(--symbol-scale))}
#transport .mapbook-cover-glyph[data-optical-press=true] .fow-lens,#transport .mapbook-cover-glyph[data-dragging=true] .fow-lens{transform:perspective(260px) translateY(1px) rotate(-5deg) scale(.94);filter:drop-shadow(-1px 2px 1px #132e3d60) brightness(1.15)}
#transport .mapbook-cover-glyph[data-optical-press=true] .fow-symbol,#transport .mapbook-cover-glyph[data-dragging=true] .fow-symbol{transform:translateY(1px) scale(1.03)}
#transport .transport-hit[aria-pressed=true]{cursor:grab}

/* Navigation annotation positions are resolved against the current rendered
   print. Keep opacity materialization, without a translating reveal crossing it. */
.mapbook-annotation[data-surface=prev],.mapbook-annotation[data-surface=next]{translate:none;transition:opacity 130ms var(--mapbook-ease)}
#transport .mapbook-page-control .fow-lens{inset:auto;left:calc(24px - var(--nav-lens-w,52px)/2);top:calc(24px - var(--nav-lens-h,32px)/2);width:var(--nav-lens-w,52px);height:var(--nav-lens-h,32px);transform:translate(var(--nav-lens-x,0px),var(--nav-lens-y,0px)) rotate(-5deg) scale(var(--nav-press-scale,var(--lens-scale)))!important}
#transport .mapbook-page-control[data-optical-press=true],#transport .mapbook-page-control[data-dragging=true]{--nav-press-scale:.94}

/* Navigation hierarchy: book marker at the gutter, mirrored outer leaf corners. */
#transport .mapbook-page-control{position:absolute;left:0;top:0;z-index:4}
#transport .mapbook-page-control .fow-symbol{translate:var(--glyph-proxy-x,0px) var(--glyph-proxy-y,0px);pointer-events:none}
#transport .mapbook-page-control .fow-symbol *{pointer-events:none}
#transport .mapbook-page-control:disabled,#transport #home:disabled{opacity:.28;cursor:default}
#transport .mapbook-page-control:disabled .fow-lens,#transport #home:disabled .fow-lens{display:none}
[data-glyph=prev] .fow-refraction{clip-path:polygon(0% 14%,100% 0%,98% 100%)}
[data-glyph=home] .fow-lens{inset:-10px -1px}

/* A presentation-only carrier escapes the native button's CSS interpolation.
   Its fixed footprint includes full lens rotation and actual glyph stroke. */
#transport .mapbook-visual-carrier{position:fixed;left:0;top:0;width:0!important;height:0!important;min-width:0;min-height:0;padding:0!important;pointer-events:none!important;z-index:4;transition:none!important;transform-origin:0 0;--optical-energy:1}
#transport .mapbook-visual-carrier *{pointer-events:none!important;transition:none!important}
#transport .mapbook-visual-carrier .fow-lens{inset:auto;left:-26px;top:-16px;width:52px;height:32px;transform:rotate(-5deg)!important;transform-origin:center}
#transport .mapbook-visual-carrier .fow-symbol{position:absolute;left:0;top:0;translate:none;transform-origin:0 0;width:40px;height:40px}
#transport .mapbook-visual-carrier .fow-symbol svg{width:36px;height:36px}

/* Quiet book furniture stays readable and easy to reach. */
#transport .transport-status,#transport .transport-source{font-size:12px;line-height:1.5}
#transport .transport-source>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#transport #language{min-width:44px;min-height:44px;justify-content:center}

@media(min-width:701px){#transport .mapbook-surface-switch{order:3}#transport #language{order:4;margin:0 0 0 16px!important}}
