/* BrainON V39.5 viewer shell. One scene fade; Reader children remain static. */
.bn-flip-shell{z-index:6100;font-family:Arial,Helvetica,sans-serif;--bn-glass:rgba(246,249,252,.78);--bn-glass-strong:rgba(250,252,255,.90);--bn-line:rgba(255,255,255,.60);--bn-ink:#20242b;--bn-muted:#69717c;--bn-accent:#cb3340}
.bn-flip-shell *{box-sizing:border-box}
.bn-flip-shell [hidden]{display:none!important}
.bn-flip-shell button{cursor:pointer;touch-action:manipulation}
.bn-flip-shell button:disabled{cursor:default;opacity:.32}
.bn-flip-shell a:focus-visible,.bn-flip-shell button:focus-visible{outline:3px solid var(--bn-accent);outline-offset:3px}
.bn-flip-header{align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.42)}
.bn-flip-heading{max-width:750px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bn-ink)}
.bn-flip-status{margin-top:5px;color:var(--bn-muted);font:12px/1.3 Arial,sans-serif}
.bn-flip-actions{display:flex;gap:8px;flex-shrink:0}

/* Scene stack owns no gutter. Details/Video keep their own; Reader uses the full line-to-line area. */
.bn-flip-scenes{--bn-scene-gutter:12px;position:relative;flex:1 1 auto;min-height:0;margin:0;overflow:hidden;border-radius:16px;background:transparent}
/* The only Details <-> Reader <-> Video animation. */
.bn-panel{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s ease,visibility 0s 1s}
.bn-panel.is-selected{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1s ease,visibility 0s 0s}

.bn-panel[data-panel=details]{display:flex;flex-direction:column;align-items:stretch;padding:var(--bn-scene-gutter) 0}
.bn-details-stage{display:flex;flex:1 1 auto;align-items:center;min-height:0;padding:20px 30px;overflow:auto;overscroll-behavior:contain}
.bn-panel .bn-flip-info{padding:0}
.bn-flip-info-copy p.bn-flip-format{margin:0 0 16px;padding:0;color:var(--bn-muted);font:14px/1.4 Arial,sans-serif}
.bn-details-footer,.bn-video-footer{flex:0 0 auto;justify-content:center;padding:10px 0 0;text-align:center}

.bn-panel[data-panel=book]{display:flex;flex-direction:column;min-height:0;background:transparent}
.bn-reader-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:14px}
.bn-reader iframe{display:block;width:100%;height:100%;border:0;border-radius:14px;background:transparent}
.bn-loader{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:25px;text-align:center;color:var(--bn-ink);background:rgba(248,250,253,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:20px/1.4 Georgia,serif}
.bn-flip-footer{display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;justify-content:center;min-height:58px;padding:12px 0 0;overflow:visible;border-top:1px solid rgba(255,255,255,.42)}
.bn-reader-controls{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;width:auto;min-height:42px;margin:0 auto}
.bn-reader-controls button,.bn-reader-controls .bn-flip-mode{position:relative;display:inline-flex;flex:0 0 42px;align-items:center;justify-content:center;width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;margin:0;padding:0;border:1px solid #222;border-radius:3px;background:#222;color:#fff;font:0/42px Arial,sans-serif;box-shadow:inset 0 1px 0 #fff9,0 5px 15px #17202d12;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.bn-reader-controls button:hover,.bn-reader-controls button:focus-visible,.bn-reader-controls button[aria-pressed=true],.bn-reader-controls button[aria-expanded=true]{border-color:var(--bn-accent);background:var(--bn-accent);color:#fff}
.bn-reader-controls .bn-flip-mode{border-color:var(--bn-accent);background:var(--bn-accent);box-shadow:0 7px 15px rgba(203,51,64,.18),inset 0 1px 0 rgba(255,255,255,.18)}
.bn-reader-controls .bn-flip-mode:hover,.bn-reader-controls .bn-flip-mode:focus-visible{border-color:#b92d39;background:#b92d39;color:#fff}
.bn-reader-control-icon{position:absolute;top:calc(50% + 1px);left:50%;display:block;width:20px;height:20px;margin:0;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:translate(-50%,-50%);pointer-events:none}
.bn-reader-control-icon rect,.bn-reader-control-icon .bn-icon-fill{fill:currentColor;stroke:none}
.bn-page-status{min-width:78px;color:#fff;text-align:center;font:600 12px Arial,sans-serif;font-variant-numeric:tabular-nums}
.bn-pages{position:absolute;right:0;bottom:0;left:0;z-index:3;display:flex;gap:8px;max-height:135px;padding:10px;overflow-x:auto;background:rgba(246,249,252,.82);box-shadow:0 -8px 30px #0002;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overscroll-behavior:contain}
.bn-thumb{flex:0 0 auto;min-width:60px;padding:4px;border:2px solid transparent;border-radius:9px;background:transparent;color:#333;font:11px Arial,sans-serif}
.bn-thumb img{display:block;width:auto;height:78px;max-width:155px;margin:0 auto 4px;object-fit:contain}
.bn-thumb[aria-current=true]{border-color:var(--bn-accent);background:#fff}

.bn-panel[data-panel=video]{display:flex;flex-direction:column;min-height:0;padding:var(--bn-scene-gutter) 0}
.bn-video{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;padding:15px;background:transparent}
.bn-video video{width:auto;max-width:100%;height:auto;min-height:50px;max-height:calc(100% - 35px);border-radius:12px;box-shadow:0 18px 44px #0003}
.bn-video p{margin:0;padding:0;color:var(--bn-muted);text-align:center;font:12px/1.3 Arial,sans-serif}

.bn-flip-mode{min-height:44px;padding:11px 16px;border:1px solid var(--bn-accent);border-radius:12px;background:var(--bn-accent);color:#fff;box-shadow:inset 0 1px 0 #fff8,0 8px 22px #17202d14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:600 13px/1.2 Arial,sans-serif}
.bn-flip-mode:hover{border-color:#a92733;background:#a92733;color:#fff}
.bn-flip-video-tab{min-height:44px;padding:10px 15px;border:1px solid rgba(255,255,255,.64);border-radius:12px;background:rgba(255,255,255,.30);color:var(--bn-ink);font:600 13px Arial,sans-serif}
.bn-flip-video-tab[aria-pressed=true]{border-color:#333;background:#333;color:#fff}
.bn-flip-help{min-height:15px;margin:7px 0 0;padding:0;color:var(--bn-muted);text-align:center;font:11px/1.3 Arial,sans-serif}
.bn-panel[data-panel=book] .bn-flip-help{flex:0 0 auto}

.bn-flip-book-link{margin-top:24px!important}
.bn-flip-cover-button{position:relative;isolation:isolate;padding:0!important;overflow:visible;border:0!important;border-radius:16px!important;background:transparent!important}
.bn-flip-cover-button .bn-flip-info-image{filter:drop-shadow(0 22px 20px rgba(18,24,31,.22));transition:transform .28s cubic-bezier(.22,.74,.18,1);will-change:transform}
.bn-flip-cover-button:hover .bn-flip-info-image,.bn-flip-cover-button:focus-visible .bn-flip-info-image{filter:drop-shadow(0 22px 20px rgba(18,24,31,.22));transform:translateY(-7px) scale(1.025)}
.bn-flip-cover-hint{position:absolute;bottom:10px;left:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:32px;padding:0 13px;border:1px solid #fff9;border-radius:999px;background:var(--bn-accent);color:#fff;box-shadow:0 8px 22px #0003;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translateX(-50%);transition:transform .22s ease,background .22s ease;font:700 11px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.bn-flip-cover-button:hover .bn-flip-cover-hint,.bn-flip-cover-button:focus-visible .bn-flip-cover-hint{background:#b92d39;transform:translateX(-50%) translateY(-3px)}

body.bn-flip-open{overflow:hidden}
body.bn-flip-open [data-bn-flip-card] .pushcorner{display:none}
.bn-flip-trigger.is-active{opacity:1!important}
.bn-flip-shell:fullscreen{height:100dvh;padding:0}
.bn-flip-shell:fullscreen .bn-flip-dialog{width:100%;max-width:none;height:100%;min-height:0;max-height:none;border-radius:0}

@media(max-width:767px){
  .bn-flip-heading{max-width:60vw}
  .bn-reader-controls{gap:3px}
  .bn-page-status{min-width:76px}
}

@media(max-width:667px){
  .bn-flip-shell{padding:0}
  .bn-flip-dialog{padding:max(10px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));background:rgba(122,122,122,.45);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .bn-flip-header{gap:8px;padding-bottom:8px}
  .bn-flip-heading{max-width:70vw;font-size:18px}
  .bn-fullscreen{display:none}
  .bn-flip-close{width:42px;height:42px;min-width:42px}
  .bn-flip-scenes{--bn-scene-gutter:8px}
  .bn-details-stage{display:block;padding:12px 10px}
  .bn-flip-info{display:block}
  .bn-flip-info-cover{float:none;width:100%;max-width:240px;margin:0 auto 16px}
  .bn-flip-info-image{max-height:34dvh}
  .bn-flip-info-title{text-align:center;font-size:25px}
  .bn-flip-author{margin-bottom:13px;text-align:center}
  .bn-flip-description{font-size:17px;line-height:1.45}
  .bn-flip-info-copy .bn-flip-format{text-align:center}
  .bn-flip-book-link{display:table!important;width:auto!important;max-width:100%;margin:24px auto 0!important;text-align:center;font-size:13px!important}
  .bn-flip-footer{min-height:58px;padding-top:8px}
  .bn-reader-controls{gap:4px;min-height:34px}
  .bn-reader-controls button,.bn-reader-controls .bn-flip-mode{flex-basis:34px;width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;line-height:34px}
  .bn-reader-control-icon{width:17px;height:17px}
  .bn-page-status{min-width:58px}
  .bn-flip-help{margin-top:5px;font-size:10px}
  .bn-pages{max-height:112px;padding:8px}
  .bn-thumb img{height:60px}
  .bn-flip-cover-hint{bottom:8px;min-width:108px;font-size:10px}
  .bn-panel[data-panel=book].is-prepainting{visibility:visible!important;opacity:.001!important;pointer-events:none!important;transition:none!important;transform:translateZ(0);will-change:opacity}
}

@media(max-width:390px){
  .bn-reader-controls{gap:3px}
  .bn-reader-controls button,.bn-reader-controls .bn-flip-mode{flex-basis:31px;width:31px;min-width:31px;max-width:31px;height:31px;min-height:31px;line-height:31px}
  .bn-reader-control-icon{width:16px;height:16px}
  .bn-page-status{min-width:54px;font-size:11px}
}

@media(max-height:510px) and (min-width:668px){
  .bn-flip-shell{padding:0}
  .bn-flip-dialog{width:100%;max-width:none;height:100%;padding:8px 15px}
  .bn-flip-header{padding:0 0 6px}
  .bn-flip-heading{font-size:18px}
  .bn-flip-status,.bn-flip-help{display:none}
  .bn-flip-scenes{--bn-scene-gutter:6px}
  .bn-flip-footer{min-height:44px;padding-top:4px}
  .bn-reader-controls{min-height:36px}
  .bn-reader-controls button,.bn-reader-controls .bn-flip-mode{height:36px;min-height:36px;line-height:36px}
  .bn-flip-mode{min-height:36px;padding:8px 12px}
  .bn-flip-info-image{max-height:250px}
  .bn-flip-description{font-size:17px}
}

@media(prefers-reduced-motion:reduce){.bn-flip-shell *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* V43: browse books inside the same glass shell. The native page reader is unchanged. */
.bn-flip-shell .bn-flip-info-title .bn-flip-title-link{color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none}
.bn-flip-shell .bn-flip-info-title .bn-flip-title-link:hover,
.bn-flip-shell .bn-flip-info-title .bn-flip-title-link:focus-visible{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.bn-book-nav{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 6px;pointer-events:none}
/* Approved subtle chevrons. The hit area is invisible in every pointer state. */
.bn-flip-shell .bn-book-arrow{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:88px;min-width:48px;min-height:88px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;color:rgba(224,231,234,.55);box-shadow:none;filter:none;pointer-events:auto;transition:color .18s ease}
.bn-flip-shell .bn-book-arrow:hover:not(:disabled),
.bn-flip-shell .bn-book-arrow:focus-visible{background:transparent;border:0;box-shadow:none;color:rgba(240,244,246,.85)}
.bn-flip-shell .bn-book-arrow:disabled{opacity:.25;pointer-events:none}
.bn-book-arrow .bn-book-arrow-icon{display:block;width:32px;height:76px;margin:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.bn-book-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bn-details-stage{position:relative;touch-action:pan-y pinch-zoom}
.bn-details-stage.is-book-switching{overflow:hidden}
.bn-book-entering{animation:bn-book-enter .28s cubic-bezier(.22,.74,.18,1) both;will-change:transform}
.bn-book-leaving{animation:bn-book-leave .28s cubic-bezier(.22,.74,.18,1) both;will-change:transform;pointer-events:none}
@keyframes bn-book-enter{from{transform:translate3d(var(--bn-book-in-x),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes bn-book-leave{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--bn-book-out-x),0,0)}}
.bn-flip-shell.is-closing-without-cover.is-closing.is-animating .bn-flip-dialog{transform:none;opacity:0;transition:opacity .25s ease-out}
@media(pointer:coarse){.bn-book-nav{display:none}}
@media(prefers-reduced-motion:reduce){.bn-book-entering,.bn-book-leaving{animation:none;will-change:auto}}
