/* Reuse the adopted left-side progress motif without changing page content/layout. */
.page-reading-rail{position:fixed;left:12px;top:28vh;height:48vh;width:132px;z-index:30;color:#68768b;font:600 10px/1.3 Arial,"Yu Gothic",sans-serif;letter-spacing:.02em}
.page-reading-rail__track{position:absolute;left:5px;inset-block:0;width:2px;background:#9baac45c}
.page-reading-rail__track i{position:absolute;inset:0;background:#c8102e;transform:scaleY(0);transform-origin:top}
.page-reading-rail__stop{position:absolute;left:0;display:flex;align-items:center;gap:5px;min-height:36px;max-width:132px;transform:translateY(-50%);text-decoration:none;color:inherit}
.page-reading-rail__dot{flex:0 0 12px;width:12px;height:12px;border:2px solid #bec9d7;border-radius:50%;background:#fff;transition:background-color .2s,border-color .2s,box-shadow .2s}
.page-reading-rail__number{font-size:9px;opacity:.7}
.page-reading-rail__label{max-width:104px;white-space:normal;overflow-wrap:anywhere;font-size:10px;background:#ffffffeb;border-radius:3px;padding:2px 3px}
.page-reading-rail__stop.is-current{color:#c8102e}
.page-reading-rail__stop.is-current .page-reading-rail__dot{background:#c8102e;border-color:#c8102e;box-shadow:0 0 0 4px #c8102e1c}
.page-reading-rail__stop:focus-visible{outline:2px solid #c8102e;outline-offset:4px;border-radius:4px}
.page-reading-target{scroll-margin-top:140px}
@media(min-width:1101px){.has-page-reading-rail{--page-rail-gutter:clamp(0px,calc(1500px - 100vw),156px)}.has-page-reading-rail main{padding-inline-start:var(--page-rail-gutter)}.has-page-reading-rail .ohga-footer{padding-inline-start:max(var(--page-rail-gutter),28px)}}
@media(max-width:1100px){.page-reading-rail{left:4px;width:18px;top:30vh;height:44vh}.page-reading-rail__track{left:6px;width:1px}.page-reading-rail__stop{width:18px;min-height:28px;justify-content:center}.page-reading-rail__dot{flex-basis:7px;width:7px;height:7px;border-width:1px}.page-reading-rail__number,.page-reading-rail__label{display:none}.page-reading-rail__stop.is-current .page-reading-rail__dot{box-shadow:0 0 0 3px #c8102e1c}}
@media(max-width:760px){.page-reading-rail{left:2px;width:12px;pointer-events:none}.page-reading-rail__track{left:5px}.page-reading-rail__stop{width:12px;min-height:12px}}
@media(prefers-reduced-motion:reduce){.page-reading-rail__dot{transition:none}}

/* Adopted compact reading controls: quiet left dots, named bottom navigation. */
.page-reading-controls{display:none}
.page-reading-controls[hidden],.page-reading-controls__menu[hidden]{display:none!important}
@media(max-width:1100px){
 .has-page-reading-rail{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 .page-reading-rail{pointer-events:none}
 .page-reading-controls,.page-reading-controls *{box-sizing:border-box}
 .page-reading-controls{position:fixed;left:10px;right:10px;bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:70;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:4px;align-items:stretch;max-width:620px;margin-inline:auto;padding:5px;border:1px solid #dce4ef;border-radius:17px;background:#ffffffed;backdrop-filter:blur(14px);box-shadow:0 5px 22px #0d24441a;font:600 12px/1.4 Arial,"Yu Gothic",sans-serif;color:#172e4c}
 .page-reading-controls button{font:inherit;cursor:pointer}
 .page-reading-controls :focus-visible{outline:3px solid #c8102e;outline-offset:2px}
 .page-reading-controls__step{display:grid;place-items:center;min-width:48px;min-height:50px;padding:0;border:1px solid #12284b;border-radius:12px;background:#12284b;color:#fff;box-shadow:0 3px 8px #12284b24;transition:background-color .16s,border-color .16s}
 .page-reading-controls__step:before{content:"";display:block;width:11px;height:11px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg);margin-left:-4px}
 .page-reading-controls__step.is-previous:before{transform:rotate(135deg);margin-left:4px}
 .page-reading-controls__step:enabled:is(:focus-visible,:active){background:#c8102e;border-color:#c8102e}
 .page-reading-controls__step:disabled{background:#e9edf3;border-color:#d8dfe9;color:#a0acbe;box-shadow:none;cursor:default}
 .page-reading-controls__current{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:50px;padding:7px 8px;border:0;border-radius:10px;background:transparent;color:#c8102e;text-align:left}
 .page-reading-controls__number{font-size:10px;white-space:nowrap;color:#75839a}
 .page-reading-controls__label{white-space:normal;overflow-wrap:anywhere;font-weight:700}
 .page-reading-controls__percent{font-size:10px;color:#75839a}
 .page-reading-controls__current[aria-expanded=true]{background:#fff0f3}
 .page-reading-controls__track{position:absolute;left:64px;right:64px;bottom:4px;height:2px;background:#e4eaf2;overflow:hidden;border-radius:2px;pointer-events:none}
 .page-reading-controls__track i{display:block;height:100%;background:#c8102e;transform:scaleX(0);transform-origin:left}
 .page-reading-controls__menu{position:absolute;left:0;right:0;bottom:calc(100% + 10px);max-height:min(55dvh,400px);overflow:auto;padding:8px;border:1px solid #dbe3ed;border-radius:14px;background:#fff;box-shadow:0 12px 32px #10294a20}
 .page-reading-controls__menu a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;color:#172e4c;text-decoration:none;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 .page-reading-controls__menu a[aria-current=location]{background:#fff0f3;color:#c8102e;font-weight:700}
}
@media(max-width:380px){.page-reading-controls__percent{display:none}.page-reading-controls__current{grid-template-columns:auto minmax(0,1fr);gap:6px;font-size:11px}}
@media(hover:hover){.page-reading-controls__step:enabled:hover{background:#c8102e;border-color:#c8102e}.page-reading-controls__menu a:hover{background:#f0f4f9}}
@media(prefers-reduced-motion:reduce){.page-reading-controls__step{transition:none}}
