/* Shared touch and fullscreen shell. Story text and illustrations stay intact. */
.header-actions{display:flex;align-items:center;gap:8px;flex:none}
.fullscreen-button,.shelf-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #cbd5bf;border-radius:999px;background:#e5ecd8;color:#214734;font:inherit;font-size:13px;text-decoration:none;white-space:nowrap;touch-action:manipulation;cursor:pointer}
.shelf-link{background:transparent;border-color:transparent;font-size:12px}
button,a{touch-action:manipulation}
.reader,.book{touch-action:pan-y pinch-zoom}
.fullscreen-button:focus-visible,.shelf-link:focus-visible{outline:3px solid #ad771d;outline-offset:3px}
.page-dot{min-height:44px;min-width:28px}
.page-dot::after{top:20px}
.nav-button,.turn-button,.contents-button,.quiet-button,.read-button,.close-button{min-height:44px}
.close-button{min-width:44px}
.fullscreen-status{position:fixed;z-index:100;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);border-radius:14px;background:#203c30ed;color:#fffaf1;padding:14px 20px;font-size:14px;line-height:1.6;pointer-events:none;text-align:center;box-shadow:0 3px 20px #0002}
.fullscreen-status[hidden]{display:none}
.is-fullscreen,.is-fullscreen body{height:100%;width:100%;overflow:hidden;overscroll-behavior:none}
.is-fullscreen body{position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.is-fullscreen .masthead{height:auto;min-height:58px;padding:4px 12px;width:100%;max-width:none;flex:none;gap:8px}
.is-fullscreen .brand{font-size:15px;letter-spacing:0}
.is-fullscreen .brand svg{width:26px;height:26px}
.is-fullscreen .site-footer,.is-fullscreen .reading-hint,.is-fullscreen .masthead-caption{display:none}
.is-fullscreen main{flex:1;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;margin:0;padding:0 12px}
.is-fullscreen .page-controls,.is-fullscreen .book-navigation{padding:8px 0;min-height:68px;flex:none;gap:10px;margin:0}
.is-fullscreen .page-status{margin:0}
.is-fullscreen .page-dot{min-width:28px}
.is-fullscreen .turn-button,.is-fullscreen .nav-button{min-height:48px}
.is-fullscreen .page-dots{gap:0}
/* Alien diary: illustration and scrollable text share the available spread. */
.is-fullscreen .site-shell{height:100%;display:flex;flex-direction:column;max-width:none;padding:0}
.is-fullscreen .reader{flex:1;min-height:0;grid-template-columns:46% 54%}
.is-fullscreen .copy{min-height:0;overflow:auto;overscroll-behavior:contain;justify-content:flex-start;padding:24px 28px;-webkit-overflow-scrolling:touch}
.is-fullscreen .copy h2{font-size:30px;margin-bottom:14px}
.is-fullscreen .copy h1{font-size:54px}
.is-fullscreen .eyebrow{margin-bottom:12px}
.is-fullscreen .prose{font-size:17px;line-height:1.85}
.is-fullscreen .art-side{min-height:0;padding:24px;overflow:hidden}
.is-fullscreen .art-frame{max-height:80%;display:flex;flex-direction:column;min-height:0;padding:8px 8px 25px}
.is-fullscreen .art-frame img{height:auto;max-height:100%;min-height:0;object-fit:contain;aspect-ratio:3/2}
.is-fullscreen .art-note{font-size:15px;margin-top:20px;line-height:1.7;flex-shrink:0}
.is-fullscreen .art-diary{font-size:16px;padding:12px 18px;margin-top:18px}
/* T-Rex: keep long pages readable without hiding any paragraphs. */
body.trex-reader .header-actions{gap:8px}
body.trex-reader .masthead-caption{display:none}
.is-fullscreen .trex-reader{display:flex;flex-direction:column}
.is-fullscreen .trex-reader main>.eyebrow{display:none}
.is-fullscreen .book{flex:1;min-height:0;overflow:hidden;animation:none}
.is-fullscreen .book.cover{display:grid;grid-template-columns:1fr 1fr}
.is-fullscreen .cover-copy{padding:24px 32px;min-height:0;overflow:auto}
.is-fullscreen .cover-copy h1{font-size:52px;margin:16px 0}
.is-fullscreen .cover-subtitle{font-size:16px;margin-bottom:16px}
.is-fullscreen .author{margin-bottom:18px}
.is-fullscreen .cover-folio{padding-top:16px}
.is-fullscreen .cover-art{height:100%;aspect-ratio:auto}
.is-fullscreen .cover-art>img{object-fit:contain;background:#e9c573}
.is-fullscreen .start-button{position:relative;bottom:auto;right:auto;flex-shrink:0;min-height:48px}
.is-fullscreen .book.story{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr)}
.is-fullscreen .story-heading{grid-column:1/-1;padding:12px 24px;min-height:76px}
.is-fullscreen .story-heading h1{font-size:28px}
.is-fullscreen .chapter-kicker{margin-bottom:4px}
.is-fullscreen .chapter-number{font-size:35px}
.is-fullscreen .reading-actions{flex-direction:row;align-items:center}
.is-fullscreen .story-image{min-height:0;margin:0 12px 12px;display:flex;align-items:center}
.is-fullscreen .story-image img{max-height:100%;height:100%;object-fit:contain;aspect-ratio:auto}
.is-fullscreen .story-image .image-label{bottom:12px;line-height:1.6}
.is-fullscreen .story-copy{overflow:auto;min-height:0;max-width:none;width:100%;height:100%;padding:16px 28px 30px;font-size:20px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.is-fullscreen .story-copy .quote{font-size:21px;margin:18px 0}
.is-fullscreen .story-tail{display:none}
@media(orientation:portrait){
  .is-fullscreen .reader{display:flex;flex-direction:column}
  .is-fullscreen .art-side{order:0;flex:0 0 42%;padding:20px}
  .is-fullscreen .copy{order:1;flex:1;padding:20px 32px}
  .is-fullscreen .art-frame{width:min(100%,420px);max-height:calc(100% - 68px);height:auto;aspect-ratio:3/2}
  .is-fullscreen .art-frame img{height:100%;width:100%}
  .is-fullscreen .art-note,.is-fullscreen .art-diary{display:block;flex-shrink:0;margin-top:12px;font-size:14px;line-height:1.6}
  .is-fullscreen .art-diary{padding:8px 14px}
  .is-fullscreen .book.story{grid-template-columns:1fr;grid-template-rows:auto minmax(0,35%) minmax(0,1fr)}
  .is-fullscreen .story-image{justify-content:center;margin:0 16px}
  .is-fullscreen .story-image img{width:auto;max-width:100%}
  .is-fullscreen .story-copy{padding:20px 32px 30px}
  .is-fullscreen .book.cover{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .shelf-link{display:none}
  .header-actions{gap:2px}
  .fullscreen-button{padding:8px 10px;font-size:12px}
  .page-dots{display:none}
  .is-fullscreen .brand span{display:none}
  .is-fullscreen .masthead{padding:2px 8px;min-height:52px}
  .is-fullscreen main{padding:0 8px}
  .is-fullscreen .copy{padding:18px 22px}
  .is-fullscreen .copy h1{font-size:38px}
  .is-fullscreen .copy h2{font-size:25px}
  .is-fullscreen .prose{font-size:16px}
  .is-fullscreen .page-controls,.is-fullscreen .book-navigation{min-height:64px}
  .is-fullscreen .book.cover{display:flex;flex-direction:column}
  .is-fullscreen .cover-copy{flex:1;padding:16px 24px}
  .is-fullscreen .cover-art{flex:0 0 40%;min-height:0}
  .is-fullscreen .cover-copy h1{font-size:34px;margin:10px 0}
  .is-fullscreen .cover-subtitle{font-size:14px;margin-bottom:10px}
  .is-fullscreen .cover-folio{display:none}
  .is-fullscreen .story-heading{padding:8px 18px;min-height:72px}
  .is-fullscreen .story-heading h1{font-size:22px}
  .is-fullscreen .story-copy{padding:18px 22px;font-size:19px}
}
