/* Online reading uses the existing RB typefaces, orange/cyan palette and square edges. */
#rb-resources{--blue:#00a0e9;--orange:#ea5514;--ink:#293b45;--muted:#657681;--line:#dce7ec;font:14px/1.8 'Open Sans','Microsoft YaHei',Arial,sans-serif;color:var(--ink)}
#rb-resources *{box-sizing:border-box}
#rb-resources [hidden]{display:none!important}
#rb-resources h1,#rb-resources h2,#rb-resources h3,#rb-resources p{margin:0}
#rb-resources button,#rb-resources input,#rb-resources select{font:inherit;border-radius:0}
#rb-resources button{cursor:pointer;background:white;border:1px solid var(--line);color:var(--ink)}
#rb-resources button:disabled{opacity:.38;cursor:default}
#rb-resources :is(button,a,input,select,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
#rb-resources a{color:var(--blue);text-decoration:none}
#rb-resources a:hover{color:var(--orange)}
.rb-resource-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:50px;padding-bottom:45px}
.rb-resource-intro:before,.rb-resource-intro:after,.rb-resource-related:before,.rb-resource-related:after{display:none}
#rb-resources h1{font:400 42px/1.2 'Ubuntu',sans-serif;color:var(--orange)}
#rb-resources .rb-resource-intro h2{font-size:23px;font-weight:500;margin-top:17px;line-height:1.6}
#rb-resources .rb-resource-intro p{color:var(--muted);margin-top:13px;font-size:14px}
.rb-resource-intro p span{margin-left:16px;font-size:12px}
.rb-resource-edition{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:17px;border-left:2px solid var(--blue);padding-left:24px;flex-shrink:0}
.rb-resource-edition b{grid-row:span 2;color:var(--blue);font:400 42px 'Ubuntu',sans-serif}
.rb-resource-edition>span{font-size:17px}
.rb-resource-edition em{color:var(--muted);font-style:normal;font-size:12px}
.rb-reader-section{background:#fafafa;border-block:1px solid #f0f0f0;padding:35px 0 38px;scroll-margin-top:15px}
.rb-reader-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}
#rb-resources .rb-reader-intro h2{font-size:22px;font-weight:500;line-height:1.6}
#rb-resources .rb-reader-intro p{color:var(--muted);font-size:13px;margin-top:5px}
.rb-reader-intro>span{color:var(--blue);font-size:11px;letter-spacing:.6px;white-space:nowrap}
.rb-book-tabs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:26px}
#rb-resources .rb-book-tabs button{display:flex;align-items:center;text-align:left;gap:16px;padding:17px 22px;border:0;border-top:3px solid #cad9e0;background:#f0f3f4;transition:background .15s}
#rb-resources .rb-book-tabs button[aria-pressed=true]{border-color:var(--orange);background:white;box-shadow:0 2px 6px #253d4910}
.rb-book-number{font:400 30px 'Ubuntu',sans-serif;color:#82959f}
.rb-book-tabs [aria-pressed=true] .rb-book-number{color:var(--orange)}
.rb-book-tabs b{display:block;font-size:18px;font-weight:500}
.rb-book-tabs small{display:block;color:var(--muted);font-size:12px}
.rb-book-tabs em{margin-left:auto;color:var(--muted);font-size:12px;font-style:normal}
.rb-reader-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:26px;scroll-margin-top:20px}
#rb-resources .rb-reader-directory h3{font-size:16px;font-weight:500;padding:10px 0 15px;border-bottom:1px solid var(--line)}
.rb-reader-directory h3 span{font-size:11px;color:var(--muted);margin-left:8px}
.rb-reader-directory nav{margin-top:14px}
#rb-resources .rb-reader-directory nav button{display:block;text-align:left;padding:15px 12px;width:100%;margin-bottom:5px;background:none;border:0;border-left:2px solid transparent}
#rb-resources .rb-reader-directory nav button[aria-current=true]{background:#eff8fc;border-left-color:var(--blue)}
.rb-reader-directory nav span{color:var(--blue);display:block;font-size:12px}
.rb-reader-directory nav b{display:block;font-size:14px;font-weight:500;line-height:1.6;margin:3px 0}
.rb-reader-directory nav small{font-size:11px;color:var(--muted)}
.rb-lesson-label{display:block;color:var(--muted);font-size:12px;font-weight:400;margin:22px 0 5px}
#rb-resources .rb-reader-directory select{width:100%;max-width:100%;padding:9px 5px;border:1px solid #cad9e0;background:white;font-size:12px;color:var(--ink);text-overflow:ellipsis}
#rb-resources .rb-reader-scope{font-size:11px;color:var(--muted);line-height:1.9;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.rb-reader-main{min-width:0}
.rb-reader-toolbar{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--line);padding:9px 15px;gap:8px}
#reader-book-title{font-weight:600;font-size:14px}
.rb-reader-version{color:var(--muted);font-size:11px;margin-left:14px}
#rb-resources #reader-zoom{border:0;color:var(--blue);padding:4px;font-size:12px}
.rb-reader-zoom-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px;background:#fff;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}
.rb-zoom-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}
.rb-zoom-controls output{display:block;min-width:43px;text-align:center;font:inherit;color:var(--muted);padding:0}
#rb-resources .rb-zoom-controls button{padding:3px 8px;color:var(--blue);font-size:12px;min-width:29px}
#rb-resources .rb-zoom-controls button[data-zoom=reset]{margin-left:5px}
.rb-page-stage{position:relative;min-height:260px;height:600px;height:clamp(380px,74vh,800px);background:#eef1f3;padding:22px;overflow:hidden;border-inline:1px solid var(--line);touch-action:pan-y pinch-zoom}
#reader-image{display:block;position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;background:white;box-shadow:0 3px 15px #243b4a16;user-select:none;cursor:zoom-in;transition:opacity .14s;transform-origin:center}
.rb-page-stage[data-zoomed=true],.rb-dialog-canvas[data-zoomed=true]{touch-action:none;cursor:grab}
.rb-page-stage[data-zoomed=true] #reader-image,.rb-dialog-canvas[data-zoomed=true] #reader-dialog-image{cursor:grab}
.rb-page-stage.is-dragging,.rb-page-stage.is-dragging #reader-image,.rb-dialog-canvas.is-dragging,.rb-dialog-canvas.is-dragging #reader-dialog-image{cursor:grabbing}
#reader-stage[data-loading=true] #reader-image{opacity:.35}
#rb-resources .rb-image-status{position:absolute;inset:50% 10px auto;text-align:center;background:#fffffff2;padding:12px;color:var(--muted);font-size:13px}
#rb-resources .rb-page-caption{font-size:12px;color:var(--muted);padding:10px 14px;background:white;border:1px solid var(--line);border-top:0;min-height:42px;line-height:1.8}
.rb-reader-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
#rb-resources .rb-reader-pager>button{padding:9px 14px;color:var(--blue);font-size:13px}
#rb-resources .rb-reader-pager>button:not(:disabled):hover{background:var(--blue);color:white;border-color:var(--blue)}
#reader-page-form{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}
#reader-page-form label{font-weight:400;margin:0}
#reader-page{width:52px;background:white;border:1px solid #cad9e0;padding:7px 3px;text-align:center;color:var(--ink);appearance:textfield}
#reader-page::-webkit-inner-spin-button,#reader-page::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#rb-resources #reader-page-form button{background:none;border:0;color:var(--blue);padding:6px}
#rb-resources .rb-reader-help{font-size:11px;color:var(--muted);margin-top:13px;text-align:center}
#rb-resources .rb-reader-failure{padding:18px;border-left:3px solid var(--orange);color:#a4370a;background:#fff4ed;margin-top:15px}
.rb-resource-related{padding-top:42px;padding-bottom:46px;display:flex;justify-content:space-between;gap:30px;align-items:center}
#rb-resources .rb-resource-related h2{font-size:21px;font-weight:500;line-height:1.6}
#rb-resources .rb-resource-related p{font-size:13px;color:var(--muted);margin-top:8px}
.rb-resource-related>div+div{display:flex;gap:25px;flex-shrink:0;font-size:13px}
#reader-dialog{width:calc(100vw - 40px);max-width:1600px;height:calc(100vh - 40px);max-height:none;border:0;padding:0;margin:auto;background:#eef1f3;color:var(--ink);overflow:hidden}
#reader-dialog[open]{display:flex;flex-direction:column}
#reader-dialog::backdrop{background:#172f43d9}
.rb-dialog-toolbar,.rb-dialog-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:white;flex-shrink:0;font-size:13px}
.rb-dialog-toolbar>div{display:flex;gap:10px}
#rb-resources :is(.rb-dialog-toolbar,.rb-dialog-pager) button{padding:7px 12px;color:var(--blue)}
.rb-dialog-canvas{position:relative;flex:1;min-height:0;overflow:hidden;padding:24px;overscroll-behavior:contain;touch-action:pinch-zoom}
#reader-dialog-image{display:block;position:absolute;left:50%;top:50%;max-width:none;max-height:none;box-shadow:0 3px 16px #243b4a20;user-select:none;transform-origin:center}
body.rb-reading-zoom{overflow:hidden}
@media(max-width:991px){.rb-reader-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.rb-resource-intro p span{display:block;margin-left:0;margin-top:3px}.rb-resource-related{align-items:start;flex-direction:column;gap:20px}.rb-reader-intro>span{display:none}}
@media(max-width:767px){
  .rb-resource-intro{padding-top:30px;padding-bottom:30px;display:block}#rb-resources h1{font-size:34px}#rb-resources .rb-resource-intro h2{font-size:20px;margin-top:13px}.rb-resource-edition{margin-top:23px;display:flex;gap:14px;padding-left:12px}.rb-resource-edition b{font-size:27px}.rb-resource-edition>span{font-size:15px}.rb-resource-edition em{margin-left:auto;font-size:11px}
  .rb-reader-section{padding-top:24px}#rb-resources .rb-reader-intro h2{font-size:20px}.rb-reader-intro{margin-bottom:20px}.rb-book-tabs{gap:12px;margin-bottom:20px}#rb-resources .rb-book-tabs button{padding:14px 10px;gap:9px}.rb-book-number{font-size:24px}.rb-book-tabs b{font-size:16px}.rb-book-tabs small{font-size:10px}.rb-book-tabs em{display:none}
  .rb-reader-layout{display:block}.rb-reader-directory{margin-bottom:18px}#rb-resources .rb-reader-directory h3{display:none}.rb-reader-directory nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:0}#rb-resources .rb-reader-directory nav button{padding:8px;border-left:0;border-bottom:2px solid transparent;margin:0}#rb-resources .rb-reader-directory nav button[aria-current=true]{border-bottom-color:var(--blue)}.rb-reader-directory nav b{font-size:12px;min-height:38px}.rb-reader-directory nav small{font-size:10px}.rb-lesson-label{margin-top:12px}#rb-resources .rb-reader-directory select{font-size:13px;padding:9px 8px}#rb-resources .rb-reader-scope{font-size:10px;margin-top:12px;padding-top:10px}.rb-reader-scope br{display:none}
  .rb-reader-toolbar{padding:8px 10px}.rb-reader-version{margin-left:8px;font-size:10px}.rb-reader-zoom-bar{flex-wrap:wrap;justify-content:flex-end;padding:6px 10px}.rb-reader-zoom-bar>span{margin-right:auto;font-size:10px}.rb-page-stage{padding:10px;height:auto;min-height:0;aspect-ratio:3/4}.rb-page-stage[data-book=atlas]{aspect-ratio:16/10}.rb-reader-pager{gap:5px}#rb-resources .rb-reader-pager>button{font-size:12px;padding:8px}#reader-page-form{gap:4px;font-size:11px}#reader-page{width:37px}#rb-resources #reader-page-form button{padding:4px}.rb-resource-related{padding-top:30px;padding-bottom:34px}
  #reader-dialog{width:100vw;height:100dvh;max-width:none;max-height:none}.rb-dialog-toolbar{padding:9px 10px;font-size:12px;gap:6px;flex-wrap:wrap}.rb-dialog-toolbar>div{gap:5px;width:100%;justify-content:space-between}.rb-dialog-toolbar>span{width:100%}#rb-resources .rb-dialog-toolbar button{padding:6px 8px;font-size:12px}.rb-dialog-canvas{padding:12px}.rb-dialog-pager{padding:10px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){#reader-image,.rb-book-tabs button{transition:none}}
@media print{#rb-resources .rb-reader-section,#reader-dialog{display:none!important}}
