/* ΑΝΕΙΠΩΤΟ — responsive literary reader / fine Greek typography.
   Works atop folio-finish.css; dedicated to quiet, comfortable reading. */
:root{--book:"GFS Artemisia","Noto Serif",Georgia,serif;--touch-size:46px}
html{scroll-padding-top:16px}
.story-content,.quote-text,.room-stage blockquote,.last-words{font-kerning:normal;text-rendering:optimizeLegibility}
.story-content{font-family:var(--book);text-align:start}
.story-content p{orphans:3;widows:3;max-width:70ch}
.story-content p:first-child::first-letter{font-family:var(--display);font-size:2.9em;line-height:.81;padding-right:.06em;color:#dbbda4}
.daily-panel .quote-text{font-family:var(--book);letter-spacing:-.008em}
.room-stage blockquote,.last-words{font-family:var(--book)}
.manifesto-body p{font-family:var(--book)}
.room-card,.compass-result,.story-sheet,.daily-panel,.room-stage{min-width:0;max-width:100%}
.room-card .room-name{overflow-wrap:anywhere;word-break:normal}
.room-card[aria-pressed="true"]{box-shadow:inset 0 3px 0 var(--accent);background:#282324}
.compass-result-verse{font-family:var(--book);line-height:1.65;overflow-wrap:break-word}
.compass-field input{font-size:max(16px,1em)}
button, input{touch-action:manipulation}
button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(min-width:761px) and (max-width:990px){
 .site-shell{width:calc(100% - 62px)}
 .experience{grid-template-columns:minmax(0,1.35fr) minmax(220px,.68fr)}
 .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .story-body{padding-inline:clamp(35px,5.5vw,68px)}
}
@media(max-width:760px){
 .intro h1{line-height:1.095}
 .quote-text{font-family:var(--book)}
 .story-content{font-family:var(--book);font-size:clamp(18px,2.75vw,21px);line-height:1.89}
 .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .room-card{min-height:146px}
 .room-stage blockquote{line-height:1.55}
 .compass-field input{font-size:19px}
 .compass-result-verse{font-family:var(--book)}
 .story-body h3{text-wrap:balance}
}
@media(max-width:560px){
 .site-shell{width:calc(100% - 34px)}
 .site-header{min-height:70px}
 .intro{padding-top:55px}
 .intro h1{font-size:clamp(42px,10.7vw,57px);line-height:1.10;letter-spacing:-.026em}
 .intro-description{font-family:var(--book);font-size:17px;line-height:1.75}
 .intro-meta{gap:7px 15px}
 .hero-artwork{opacity:.15;pointer-events:none}
 .midnight-stamp{gap:8px;padding:13px 11px}
 .midnight-copy strong{font-family:var(--book);font-size:13px}
 .sky-text{line-height:1.44}
 .daily-panel .quote-text{font-size:clamp(30px,7.9vw,39px);line-height:1.5;padding:74px 20px 43px}
 .quote-header{gap:7px 13px}
 .story-content{font-size:18.5px;line-height:1.85;hyphens:auto}
 .story-content p:first-child::first-letter{font-size:2.55em}
 .story-body{padding:29px 20px}
 .story-body h3{font-size:clamp(36px,8.8vw,49px);line-height:1.14}
 .story-lead,.rooms-head>p,.compass-heading>p{font-family:var(--book);font-size:17px;line-height:1.72}
 .rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .room-card{min-height:143px;padding:14px 12px}
 .room-card .room-name{font-size:clamp(21px,5.6vw,28px);max-width:100%;line-height:1.2}
 .room-card .room-number{letter-spacing:.04em}
 .room-stage{padding:26px 19px 22px}
 .room-stage blockquote{font-size:clamp(29px,7.2vw,37px);line-height:1.52}
 .room-stage-actions button{min-height:var(--touch-size)}
 .compass-field button{min-height:var(--touch-size)}
 .compass-field input{font-size:17px}
 .compass-result-verse{font-size:21px;line-height:1.58}
 .imprint-frame{height:268px}
 .imprint-controls button{min-height:var(--touch-size)}
 .last-words{font-size:clamp(31px,8vw,43px);line-height:1.55}
 .manifesto-body p{font-size:17px;line-height:1.84}
}
@media(max-width:370px){
 .site-shell{width:calc(100% - 26px)}
 .intro h1{font-size:clamp(39px,10.8vw,44px);line-height:1.1}
 .midnight-stamp{display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px}
 .midnight-time{display:none}
 .room-card{min-height:137px;padding:12px 10px}
 .room-card .room-name{font-size:21px}
 .daily-panel .quote-text{font-size:29px;padding-inline:16px}
 .room-stage blockquote{font-size:27px}
 .story-content{font-size:18px}
 .story-body{padding:25px 16px}
 .imprint-frame{height:238px}
}
@media(max-width:310px){
 .rooms-grid{grid-template-columns:1fr}
 .room-card{min-height:98px}
 .intro h1{font-size:35px}
 .story-body h3{font-size:33px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}
}

/* Issue 31: longer story paragraphs, enriched Greek lyric breaks. */
:root{--book:"GFS Artemisia","Noto Serif",Georgia,serif}
.story-content p{overflow-wrap:break-word;word-break:normal;hyphens:auto;hyphenate-limit-chars:7 3 3}
.story-content p+p{margin-top:1.38em}
.quote-text,.room-stage blockquote,.last-words{word-break:normal;overflow-wrap:break-word}
.room-stage blockquote{white-space:pre-line;max-width:100%;text-wrap:pretty}
.story-content{font-optical-sizing:auto;letter-spacing:.002em;font-variant-ligatures:common-ligatures}
button,.room-card,.compass-suggestions button{min-height:44px;-webkit-tap-highlight-color:transparent}
@media (max-width:760px){
 .story-content{max-width:67ch;margin-inline:auto}
 .story-body{overflow:clip}
 .rooms-grid{align-items:stretch}
 .room-card{display:flex;flex-direction:column;justify-content:space-between}
 .room-card .room-name{hyphens:auto;text-wrap:balance}
 .story-body h3{overflow-wrap:break-word;word-break:normal}
 .room-stage-actions{display:flex;flex-wrap:wrap;gap:10px 22px}
 .room-stage-actions button{white-space:normal}
}
@media (max-width:560px){
 .site-shell{max-width:100%;min-width:0}
 .intro{padding-block:48px 35px}
 .intro h1{margin-block:22px 18px;text-wrap:balance}
 .intro-description{max-width:42ch;font-size:clamp(16px,4.45vw,18px)}
 .story-content{font-size:clamp(18px,4.7vw,20px);line-height:1.86}
 .story-content p{margin-bottom:1.55em}
 .story-content p:first-child::first-letter{font-size:2.35em;float:left;padding-right:.08em;line-height:.9}
 .daily-panel .quote-text{font-size:clamp(29px,7.55vw,38px);line-height:1.44;text-wrap:pretty}
 .room-stage blockquote{font-size:clamp(27px,6.6vw,35px);line-height:1.47}
 .room-card{min-height:138px}
 .room-card .room-name{font-size:clamp(20px,5.2vw,26px)}
 .compass-field{max-width:100%;display:flex;flex-wrap:wrap}
 .compass-field input{min-width:0;width:100%;max-width:100%}
 .compass-field button{min-height:48px}
 .story-colophon{overflow-wrap:anywhere}
 .manifesto-dialog{max-width:calc(100vw - 22px);max-height:calc(100dvh - 22px)}
 .manifesto-dialog-inner{max-height:calc(100dvh - 25px);overflow-y:auto}
}
@media (max-width:340px){
 .site-shell{width:calc(100% - 26px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .rooms-grid{grid-template-columns:1fr}
 .room-card{min-height:103px;padding:12px 17px}
 .room-card .room-name{font-size:22px}
 .story-body{padding:24px 14px}
 .intro h1{font-size:clamp(33px,11.5vw,40px)}
}
@media (orientation:landscape) and (max-height:500px){
 .intro{padding-block:38px 24px}
 .hero-artwork{opacity:.08}
 .manifesto-dialog{max-height:calc(100dvh - 16px)}
}
