:root{--wine:#793b52;--wine-dark:#5f2b40;--gold:#c69c5a;--green:#526b5d;--ink:#302a2d;--muted:#746a6e;--cream:#fbf8f4;--paper:#fff;--line:#eadfe1;--shadow:0 18px 55px rgba(64,37,47,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Tahoma,"Arial",sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}.skip-link{position:absolute;right:1rem;top:-5rem;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:.5rem;z-index:10}.skip-link:focus{top:1rem}.site-header{min-height:84px;padding:14px clamp(20px,6vw,88px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;color:var(--wine);background:#f3e8e9;border-radius:16px}.brand-mark svg{width:34px;height:34px}.brand strong{display:block;font-size:1.3rem;letter-spacing:.02em;color:var(--wine-dark)}.brand small{display:block;font-size:.72rem;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:20px;font-size:.9rem}.header-actions>a:not(.button){color:var(--muted)}.header-actions form{margin:0}.link-button{background:none;border:0;padding:0;color:var(--muted);cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;background:var(--wine);color:white;border:1px solid var(--wine);border-radius:12px;font-weight:700;box-shadow:0 7px 18px #793b5224;transition:.18s ease}.button:hover{background:var(--wine-dark);transform:translateY(-1px)}.button-secondary{background:white;color:var(--wine);box-shadow:none}.button-small{padding:9px 15px;font-size:.85rem}.page-main{min-height:calc(100vh - 150px)}.site-footer{display:flex;justify-content:space-between;gap:16px;padding:24px clamp(20px,6vw,88px);border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.flash{max-width:1120px;margin:18px auto 0;padding:12px 16px;background:#eaf1ec;color:#365540;border-radius:10px}
.hero{max-width:1240px;margin:auto;padding:64px clamp(20px,6vw,88px) 54px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:.85rem;font-weight:700}.eyebrow:before{content:"";width:8px;height:8px;background:var(--gold);border-radius:50%}.hero h1{margin:18px 0 14px;font-size:clamp(2.2rem,5vw,4.1rem);line-height:1.3;letter-spacing:-.04em;color:var(--wine-dark)}.hero h1 span{color:var(--green)}.hero-copy{max-width:580px;color:var(--muted);font-size:1.07rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-art{min-height:390px;display:grid;place-items:center;position:relative}.book-scene{position:relative;width:min(100%,440px);height:340px;border-radius:38% 62% 60% 40%/52% 38% 62% 48%;background:radial-gradient(circle at 62% 33%,#ead7c1 0,transparent 44%),linear-gradient(145deg,#eee3db,#eadbdd);display:grid;place-items:center}.open-book{width:230px;height:160px;filter:drop-shadow(0 18px 18px #61364620);position:relative}.open-book:before,.open-book:after{content:"";position:absolute;top:8px;width:112px;height:142px;background:#fffdf9;border:1px solid #dfd0c7}.open-book:before{right:4px;border-radius:6px 22px 12px 4px;transform:skewY(5deg)}.open-book:after{left:4px;border-radius:22px 6px 4px 12px;transform:skewY(-5deg)}.book-line{position:absolute;z-index:1;height:3px;background:#d9c7bd;border-radius:3px;top:52px;right:25px;width:67px;box-shadow:0 16px #d9c7bd,0 32px #d9c7bd}.book-line.left{right:auto;left:25px}.step{position:absolute;border-radius:50%;background:#fffdf7;box-shadow:var(--shadow);display:grid;place-items:center;color:var(--wine);font-size:1.3rem}.step-one{width:58px;height:58px;top:45px;right:50px}.step-two{width:48px;height:48px;bottom:54px;left:50px;color:var(--green)}.art-note{position:absolute;bottom:25px;right:30px;background:#fffdf9;padding:12px 17px;border-radius:14px;color:var(--green);font-size:.84rem;box-shadow:var(--shadow)}
.section{max-width:1240px;margin:auto;padding:22px clamp(20px,6vw,88px) 72px}.section-heading{text-align:center;max-width:650px;margin:0 auto 28px}.section-heading h2{font-size:1.8rem;color:var(--wine-dark);margin:0 0 8px}.section-heading p{color:var(--muted);margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card,.panel,.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 5px 22px #40252f08}.feature-icon{width:44px;height:44px;border-radius:13px;background:#f5ece8;color:var(--wine);display:grid;place-items:center;font-size:1.15rem}.feature-card h3{margin:14px 0 5px;font-size:1.05rem}.feature-card p{margin:0;color:var(--muted);font-size:.9rem}
.auth-wrap{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:36px 20px}.auth-card{width:min(460px,100%);padding:clamp(24px,5vw,38px);background:var(--paper);border:1px solid var(--line);border-radius:23px;box-shadow:var(--shadow)}.auth-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#f5ece8;color:var(--wine);font-size:1.45rem}.auth-card h1{color:var(--wine-dark);font-size:1.65rem;margin:19px 0 5px}.auth-card>p{margin:0 0 21px;color:var(--muted);font-size:.92rem}.field{margin:16px 0}.field label{display:block;font-weight:700;font-size:.86rem;margin-bottom:7px}.field input{width:100%;padding:13px 14px;border:1px solid #d9cbd0;border-radius:11px;background:#fff;color:var(--ink);outline:none}.field input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #793b521a}.auth-card .button{width:100%;margin-top:8px}.auth-foot{margin-top:18px!important;text-align:center}.auth-foot a{color:var(--wine);font-weight:700}.error-list{padding:11px 14px;border-radius:10px;background:#fff1f0;color:#9a3942;font-size:.9rem;margin-bottom:15px}
.dashboard{max-width:1180px;margin:auto;padding:40px clamp(20px,5vw,64px) 64px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.dashboard-head h1{margin:6px 0 0;color:var(--wine-dark);font-size:clamp(1.7rem,4vw,2.4rem)}.dashboard-head p{margin:4px 0 0;color:var(--muted)}.role-tag{display:inline-flex;padding:6px 12px;border-radius:99px;background:#efe5e5;color:var(--wine);font-size:.78rem;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{padding:20px}.stat-label{color:var(--muted);font-size:.82rem}.stat-number{font-size:1.7rem;font-weight:700;color:var(--wine-dark);margin-top:7px}.dashboard-lower{display:grid;grid-template-columns:1.2fr .8fr;gap:17px;margin-top:18px}.panel h2{font-size:1.08rem;margin:0 0 7px;color:var(--wine-dark)}.panel p{color:var(--muted);margin:0}.panel-note{display:flex;align-items:flex-start;gap:12px}.panel-note .feature-icon{flex:none}.progress-track{height:10px;background:#efe9e4;border-radius:20px;margin:16px 0 8px;overflow:hidden}.progress-fill{height:100%;width:0;background:var(--green);border-radius:20px}.empty-state{text-align:center;padding:32px 16px;border:1px dashed #d9cbd0;border-radius:14px;margin-top:17px;color:var(--muted)}.empty-state strong{display:block;color:var(--wine-dark);margin-bottom:5px}.empty-icon{font-size:1.8rem;margin-bottom:6px}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:16px;padding-top:45px}.hero-art{min-height:300px;order:-1}.book-scene{height:280px;max-width:380px}.open-book{transform:scale(.82)}.feature-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-lower{grid-template-columns:1fr}}
@media(max-width:520px){.site-header{min-height:72px;padding:12px 16px}.brand small{display:none}.header-actions{gap:11px;font-size:.8rem}.header-actions .button{padding:8px 10px}.hero{padding:38px 20px 32px}.hero-art{min-height:230px}.book-scene{height:220px}.step-one{right:18px;top:18px}.step-two{left:18px;bottom:25px}.art-note{right:8px;bottom:3px}.dashboard{padding-top:29px}.dashboard-head{display:block}.role-tag{margin-top:12px}.dashboard-grid{grid-template-columns:1fr}.site-footer{padding:18px 20px;display:block}.site-footer span{display:block}.site-footer span+span{margin-top:5px}}

.library-page{padding-top:30px}.motion-toggle{border:1px solid var(--line);background:#fff;color:var(--wine);border-radius:10px;padding:9px 14px;cursor:pointer;font-size:.84rem}.motion-toggle:hover{border-color:var(--wine)}
.story-stage{height:440px;position:relative;overflow:hidden;border:1px solid #eadfe1;border-radius:26px;background:linear-gradient(180deg,#f2e9e6 0%,#f5eee4 72%,#e6e2d3 100%);box-shadow:var(--shadow);isolation:isolate}.stage-sun{position:absolute;width:88px;height:88px;left:15%;top:46px;border-radius:50%;background:#e6c68d;box-shadow:0 0 0 16px #e6c68d25}.stage-cloud{position:absolute;width:90px;height:24px;top:78px;background:#fffaf3;border-radius:30px;opacity:.85}.stage-cloud:before,.stage-cloud:after{content:"";position:absolute;bottom:6px;background:inherit;border-radius:50%}.stage-cloud:before{width:36px;height:36px;right:18px}.stage-cloud:after{width:26px;height:26px;right:43px}.cloud-one{right:18%;top:82px}.cloud-two{right:48%;top:132px;transform:scale(.65);opacity:.58}.stage-hill{position:absolute;width:75%;height:190px;bottom:-106px;border-radius:50% 50% 0 0}.hill-back{right:-12%;background:#b9c3aa;transform:rotate(-6deg)}.hill-front{left:-12%;width:80%;bottom:-126px;background:#829578;transform:rotate(5deg)}.stage-bird{position:absolute;width:65px;top:102px;left:-90px;animation:bird-flight 13s linear infinite;z-index:1}.guide-character{position:absolute;width:210px;height:245px;right:19%;bottom:35px;padding:0;border:0;background:transparent;cursor:pointer;z-index:2;filter:drop-shadow(0 12px 8px #54314418);transition:filter .2s}.guide-character:hover,.guide-character:focus-visible{filter:drop-shadow(0 14px 12px #54314433);outline:0}.guide-character:focus-visible svg{outline:3px solid var(--gold);outline-offset:6px;border-radius:40%}.guide-character svg{width:100%;height:100%;overflow:visible}.guide-body{transform-box:fill-box;transform-origin:center;animation:guide-bob 2.8s ease-in-out infinite}.tiny-book{transform-box:fill-box;transform-origin:center;animation:book-wiggle 3.4s ease-in-out infinite}.character-speech{position:absolute;right:calc(19% + 170px);bottom:210px;max-width:300px;padding:13px 17px;border-radius:17px 17px 4px 17px;background:#fffdf9;color:var(--wine-dark);font-size:.92rem;box-shadow:var(--shadow);z-index:3}.character-speech:after{content:"";position:absolute;bottom:-9px;right:20px;border:10px solid transparent;border-bottom:0;border-top-color:#fffdf9}.stage-caption{position:absolute;left:30px;bottom:28px;color:#fffdf9;font-size:.95rem;font-weight:700;text-shadow:0 2px 5px #34433b88;z-index:2}.library-empty{display:flex;align-items:center;gap:15px;margin-top:20px}.library-empty h2{margin:0 0 3px;color:var(--wine-dark);font-size:1.05rem}.library-empty p{margin:0;color:var(--muted);font-size:.9rem}
@keyframes guide-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes book-wiggle{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes bird-flight{0%{transform:translateX(0) translateY(0)}45%{transform:translateX(48vw) translateY(-25px)}100%{transform:translateX(115vw) translateY(8px)}}.motion-paused .guide-body,.motion-paused .tiny-book,.motion-paused .stage-bird{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-enabled) .guide-body,body:not(.motion-enabled) .tiny-book,body:not(.motion-enabled) .stage-bird{animation:none!important}.button{transition:none}}
@media(max-width:700px){.library-page{padding-top:24px}.story-stage{height:390px}.guide-character{width:165px;height:205px;right:13%;bottom:26px}.character-speech{right:8%;bottom:230px;max-width:240px}.stage-caption{left:17px;bottom:20px;font-size:.82rem}.stage-sun{width:64px;height:64px;top:42px}.library-empty{align-items:flex-start}}
@media(max-width:420px){.dashboard-head{position:relative;padding-bottom:46px}.motion-toggle{position:absolute;right:0;bottom:0}.story-stage{height:360px}.guide-character{width:145px;height:182px;right:10%;bottom:28px}.character-speech{right:6%;bottom:218px;max-width:205px;font-size:.83rem}.cloud-one{right:8%}}
.motion-paused *{scroll-behavior:auto}

.text-link{align-self:center;color:var(--wine);font-size:.9rem;font-weight:700;padding:8px 4px}.text-link:hover{text-decoration:underline}

.management-page{padding-top:30px}.management-grid{align-items:start}.management-page .field small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem}.management-page .panel>.field:first-child{margin-top:12px}.person-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.person-avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;background:#f3e8e9;color:var(--wine);font-weight:700}.student-avatar{background:#eaf0e8;color:var(--green)}.person-row>span:nth-child(2){min-width:0}.person-row strong,.person-row small{display:block}.person-row strong{font-size:.9rem}.person-row small{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.person-info{flex:1}.count-pill{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;background:#f3e8e9;color:var(--wine);border-radius:20px;font-size:.75rem}.reset-code-button{border:1px solid var(--line);background:#fff;color:var(--wine);border-radius:9px;padding:7px 10px;font:inherit;font-size:.78rem;cursor:pointer}.reset-code-button:hover{border-color:var(--wine)}.new-code-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#f0f4ee;border:1px solid #dce8d9;border-radius:17px;padding:20px 22px;margin-bottom:18px}.new-code-card h2{margin:9px 0 3px;color:#365540;font-size:1.13rem}.new-code-card p{margin:0;color:var(--muted);font-size:.86rem}.student-code{display:inline-block;background:white;border:1px dashed #90a28b;padding:12px 15px;border-radius:10px;color:#354d3b;font-size:1.05rem;font-weight:700;letter-spacing:.08em}.new-code-card .button{box-shadow:none}@media(max-width:780px){.new-code-card{grid-template-columns:1fr}.student-code{width:max-content;max-width:100%}}@media(max-width:520px){.management-page .dashboard-head{padding-bottom:0}.person-row{gap:8px}.reset-code-button{padding:7px}.student-code{font-size:.9rem;letter-spacing:.04em}}

.management-page textarea,.management-page select{width:100%;padding:12px 14px;border:1px solid #d9cbd0;border-radius:11px;background:#fff;color:var(--ink);font:inherit;line-height:1.8;resize:vertical}.management-page textarea:focus,.management-page select:focus{outline:2px solid #793b5233;border-color:var(--wine)}.student-picker{border:1px solid var(--line);border-radius:13px;padding:14px;margin:16px 0}.student-picker legend{font-size:.9rem;font-weight:700;color:var(--wine-dark);padding:0 5px}.student-picker p{margin:0 0 10px;color:var(--muted);font-size:.8rem}.student-picker option{padding:8px}.story-admin-card{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.story-admin-card:last-child{border:0}.story-cover{width:48px;height:54px;display:grid;place-items:center;background:#f4ebdf;border-radius:12px;font-size:1.35rem;flex:none}.story-admin-copy h3{margin:0;color:var(--wine-dark);font-size:.98rem}.story-admin-copy p{margin:3px 0;color:var(--muted);font-size:.83rem}.story-admin-copy small{color:var(--green);font-size:.74rem}.story-management-grid{grid-template-columns:1.1fr .9fr}.assigned-story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.assigned-story{display:block;background:white;border:1px solid var(--line);border-radius:17px;padding:19px;transition:transform .2s,box-shadow .2s}.assigned-story:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.assigned-story h2{margin:10px 0 4px;color:var(--wine-dark);font-size:1.05rem}.assigned-story p{margin:0;color:var(--muted);font-size:.84rem}.assigned-story-top{display:flex;align-items:center;justify-content:space-between}.assigned-story-icon{width:44px;height:44px;display:grid;place-items:center;background:#f4ebdf;border-radius:13px;font-size:1.2rem}.story-progress-label{display:flex;justify-content:space-between;margin-top:13px;color:var(--muted);font-size:.77rem}.story-progress{height:7px;background:#eee8e2;border-radius:9px;margin-top:6px;overflow:hidden}.story-progress span{display:block;height:100%;background:var(--green);border-radius:9px}.reader-page{max-width:850px;margin:0 auto;padding:34px 20px 60px}.reader-back{color:var(--wine);font-weight:700;font-size:.9rem}.reader-heading{text-align:center;padding:22px 0 12px}.reader-heading h1{margin:10px 0 4px;color:var(--wine-dark);font-size:clamp(1.7rem,5vw,2.5rem)}.reader-heading p{color:var(--muted);margin:0}.library-stories-heading{margin-top:32px}.library-stories-heading h2{color:var(--wine-dark);margin-bottom:3px}.library-stories-heading p{color:var(--muted);margin:0}.demo-note{margin-top:20px}.@media(max-width:780px){.story-management-grid{grid-template-columns:1fr}.assigned-story-grid{grid-template-columns:1fr}}@media(max-width:500px){.reader-page{padding:23px 16px 40px}}


/* Role dashboard refresh */
.dashboard-home{max-width:1120px;padding-top:48px}
.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;padding:28px 32px;background:linear-gradient(115deg,#fff 0%,#f7eeeb 100%);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 28px #40252f08}
.dashboard-welcome h1{margin:10px 0 5px;color:var(--wine-dark);font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.3}
.dashboard-welcome p{margin:0;color:var(--muted)}
.dashboard-welcome>.button{flex:none}
.dashboard-shortcuts{gap:16px}
.shortcut-card{position:relative;display:flex;min-height:142px;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 22px;transition:transform .18s,border-color .18s,box-shadow .18s}
.shortcut-card:hover{transform:translateY(-3px);border-color:#d6b8c2;box-shadow:var(--shadow)}
.shortcut-icon{position:absolute;top:19px;left:20px;width:42px;height:42px;display:grid;place-items:center;background:#f7eeeb;border-radius:14px;font-size:1.15rem}
.shortcut-card .stat-label{margin-bottom:5px}
.shortcut-card strong{font-size:1.2rem;color:var(--wine-dark)}
.shortcut-arrow{position:absolute;bottom:18px;left:22px;color:var(--wine);font-size:1.2rem;transition:transform .18s}
.shortcut-card:hover .shortcut-arrow{transform:translateX(-4px)}
.dashboard-owner-lower{grid-template-columns:1.65fr .75fr;gap:16px}
.dashboard-main-panel{padding:26px}
.panel-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.panel-heading-row .eyebrow{margin-bottom:3px}
.panel-heading-row h2{font-size:1.3rem;margin:0}
.panel-heading-icon{width:42px;height:42px;display:grid;place-items:center;background:#f7eeeb;border-radius:14px}
.owner-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.owner-workflow a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 14px;background:#fcfaf8;border:1px solid var(--line);border-radius:14px;transition:border-color .18s,background .18s}
.owner-workflow a:hover{background:#fff;border-color:#d6b8c2}
.owner-workflow a>span{display:grid;place-items:center;width:28px;height:28px;margin-bottom:6px;border-radius:50%;background:#f0e4e7;color:var(--wine);font-weight:700}
.owner-workflow b{font-size:.9rem;color:var(--wine-dark)}
.owner-workflow small{color:var(--muted);font-size:.76rem}
.privacy-panel{padding:24px}
.privacy-panel h2{margin:13px 0 6px}
.privacy-panel p{font-size:.88rem}
.dashboard-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.student-dashboard-card{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:24px;padding:26px 30px;background:linear-gradient(110deg,#fff 0%,#f3eee4 100%);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 28px #40252f08}
.student-dashboard-art{position:relative;display:grid;place-items:center;width:140px;height:140px;background:#f3e8e9;border-radius:42% 58% 60% 40%;font-size:4rem}
.student-dashboard-art span{position:absolute;right:0;bottom:3px;font-size:1.8rem}
.student-dashboard-card h2{margin:8px 0 5px;color:var(--wine-dark);font-size:1.35rem}
.student-dashboard-card p{max-width:600px;margin:0 0 17px;color:var(--muted)}
@media(max-width:800px){.dashboard-owner-lower{grid-template-columns:1fr}.privacy-panel{display:flex;align-items:flex-start;gap:14px}.privacy-panel h2{margin:3px 0 6px}.privacy-panel p{margin:0}.privacy-panel .feature-icon{flex:none}.owner-workflow{grid-template-columns:1fr}.owner-workflow a{display:grid;grid-template-columns:32px 1fr;align-items:center;column-gap:10px}.owner-workflow a>span{grid-row:span 2;margin:0}.student-dashboard-card{grid-template-columns:115px 1fr;gap:18px}.student-dashboard-art{width:110px;height:110px;font-size:3.2rem}}
@media(max-width:520px){.dashboard-home{padding-top:25px}.dashboard-welcome{display:block;padding:22px;margin-bottom:17px}.dashboard-welcome>.button{margin-top:17px}.dashboard-shortcuts{grid-template-columns:1fr}.shortcut-card{min-height:112px;padding:16px 18px}.shortcut-icon{top:15px;left:16px}.shortcut-arrow{bottom:14px;left:18px}.dashboard-main-panel{padding:20px}.owner-workflow{margin-top:15px}.privacy-panel{padding:19px}.student-dashboard-card{grid-template-columns:1fr;padding:21px}.student-dashboard-art{width:90px;height:90px;font-size:2.7rem}.student-dashboard-card h2{font-size:1.18rem}}
@media(prefers-reduced-motion:reduce){.shortcut-card,.shortcut-arrow,.owner-workflow a{transition:none}}

/* Keep navigation links grouped on the right beside the brand in RTL */
@media(min-width:801px){.site-header{justify-content:flex-start}.header-actions{margin-right:28px}}
@media(max-width:800px){.site-header{flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}}


/* Signed-in layout with a right-side navigation panel */
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);direction:rtl}
.site-sidebar{position:sticky;top:0;height:100vh;min-height:560px;display:flex;flex-direction:column;padding:24px 17px 16px;background:#fff;border-left:1px solid var(--line);box-shadow:-6px 0 25px #40252f06;z-index:5}
.sidebar-brand{padding:0 4px 22px;border-bottom:1px solid var(--line)}
.sidebar-caption{padding:22px 10px 10px;color:#a09297;font-size:.73rem;font-weight:700}
.sidebar-nav{display:grid;gap:5px}
.sidebar-nav a{display:flex;align-items:center;gap:11px;min-height:45px;padding:9px 11px;border-radius:11px;color:var(--muted);font-size:.88rem;font-weight:700;transition:background .16s,color .16s}
.sidebar-nav a>span{width:29px;height:29px;display:grid;place-items:center;flex:none;background:#f7f1ee;border-radius:9px;color:var(--wine);font-size:1.05rem}
.sidebar-nav a:hover,.sidebar-nav a.active{background:#f3e8e9;color:var(--wine-dark)}
.sidebar-nav a.active{box-shadow:inset -3px 0 var(--wine)}
.sidebar-account{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px 10px;border-top:1px solid var(--line)}
.account-avatar{width:38px;height:38px;display:grid;place-items:center;flex:none;background:#f3e8e9;color:var(--wine);border-radius:12px;font-weight:700}
.account-copy{min-width:0}
.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-copy strong{font-size:.82rem;color:var(--ink)}
.account-copy small{font-size:.73rem;color:var(--muted)}
.sidebar-logout{margin:0}
.sidebar-logout button{width:100%;display:flex;align-items:center;gap:11px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;text-align:right;cursor:pointer}
.sidebar-logout button:hover{background:#fbf1f0;color:#9a3942}
.app-content{min-width:0;display:flex;flex-direction:column}
.app-content>.page-main{flex:1}
.app-content>.flash{width:calc(100% - 48px)}
.app-content>.site-footer{margin-top:30px}
@media(max-width:800px){.app-shell{grid-template-columns:1fr}.site-sidebar{position:relative;height:auto;min-height:0;padding:13px 18px;border-left:0;border-bottom:1px solid var(--line);box-shadow:0 5px 20px #40252f08}.sidebar-brand{padding:0 0 12px;border-bottom:0}.sidebar-brand .brand-mark{width:40px;height:40px;border-radius:13px}.sidebar-brand .brand-mark svg{width:29px;height:29px}.sidebar-caption{display:none}.sidebar-nav{display:flex;gap:6px;overflow-x:auto;padding:5px 0 9px;border-top:1px solid var(--line)}.sidebar-nav a{min-height:40px;flex:none;padding:7px 10px;font-size:.8rem}.sidebar-nav a>span{width:25px;height:25px}.sidebar-nav a.active{box-shadow:inset 0 -3px var(--wine)}.sidebar-account{position:absolute;top:12px;left:18px;margin:0;padding:0;border:0}.account-avatar{width:36px;height:36px}.account-copy,.sidebar-logout{display:none}.app-content>.flash{width:calc(100% - 32px)}}
@media(max-width:520px){.site-sidebar{padding:11px 14px}.sidebar-brand small{display:block}.sidebar-account{left:14px}.sidebar-nav{margin-top:3px}.sidebar-nav a{gap:7px}.app-content>.site-footer{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.sidebar-nav a{transition:none}}


/* Reading journey map and three-question checkpoints */
.journey-heading{margin:34px 0 18px;text-align:center}
.journey-heading h2{margin:5px 0;color:var(--wine-dark);font-size:1.7rem}
.journey-heading>p{margin:0;color:var(--muted)}
.map-legend{display:flex;justify-content:center;gap:18px;margin-top:14px;color:var(--muted);font-size:.78rem}
.map-legend span{display:inline-flex;align-items:center;gap:6px}
.map-legend i{width:10px;height:10px;border-radius:50%;background:#9ba995}
.map-legend .legend-locked{background:#d4c9c9}.map-legend .legend-done{background:var(--green)}
.reading-map{position:relative;max-width:780px;margin:28px auto 50px}
.quiz-form-heading{margin:25px 0 4px;padding-top:20px;border-top:1px solid var(--line);color:var(--wine-dark)}
.quiz-form-intro{margin:0 0 13px!important;font-size:.84rem}
.question-editor{margin:13px 0;padding:14px 15px;border:1px solid var(--line);border-radius:14px}
.question-editor legend{padding:0 7px;color:var(--wine);font-weight:700;font-size:.9rem}
.question-editor .field{margin:10px 0}
.option-field{display:inline-block;width:calc(50% - 8px);vertical-align:top}
.option-field:nth-of-type(even){margin-left:12px}
.quiz-page form{margin-top:20px}
.quiz-question{margin:0 0 16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 18px #40252f06}
.quiz-question legend{width:100%;padding:0 0 12px}
.quiz-question legend span,.quiz-question legend strong{display:block}
.quiz-question legend span{margin-bottom:5px;color:var(--green);font-size:.78rem;font-weight:700}
.quiz-question legend strong{color:var(--wine-dark);font-size:1.08rem}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quiz-option{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;cursor:pointer;color:var(--ink);transition:background .15s,border-color .15s}
.quiz-option:has(input:checked){background:#f4ebed;border-color:#c79aa9}
.quiz-option input{accent-color:var(--wine);width:17px;height:17px;flex:none}
.quiz-option span{font-size:.9rem}
.quiz-submit-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0 25px}
.quiz-submit-row>span{color:var(--muted);font-size:.83rem}
.quiz-feedback{margin:15px 0;padding:13px 16px;background:#fff5e7;border:1px solid #ead8b7;border-radius:11px;color:#775323}
@media(max-width:650px){.quiz-options{grid-template-columns:1fr}.quiz-submit-row{align-items:stretch;flex-direction:column}.quiz-submit-row .button{width:100%}.question-editor{padding:10px}.option-field{width:100%;display:block;margin-left:0!important}}
@media(prefers-reduced-motion:reduce){.quiz-option{transition:none}}






/* Treasure map: student reading journey */
.treasure-frame{--tm-ink:#6b4a35;max-width:880px;margin:8px auto 12px;filter:drop-shadow(0 14px 26px rgba(80,52,30,.18))}
.treasure-map{position:relative;padding:58px 6% 48px;color:#4a3426;background:radial-gradient(ellipse at 18% 12%,rgba(196,150,90,.28) 0,transparent 32%),radial-gradient(ellipse at 84% 58%,rgba(196,150,90,.22) 0,transparent 30%),radial-gradient(ellipse at 30% 86%,rgba(170,120,70,.2) 0,transparent 26%),linear-gradient(180deg,#f5e8cb,#efdcb6);box-shadow:inset 0 0 70px rgba(140,95,50,.35);clip-path:polygon(0 2%,4% 0,9% 1.5%,15% 0,22% 1%,30% 0,37% 1.8%,45% .4%,53% 1.6%,61% 0,69% 1.2%,77% .2%,85% 1.7%,92% .3%,100% 1.4%,99% 8%,100% 16%,98.6% 25%,100% 34%,99% 43%,100% 52%,98.8% 61%,100% 70%,99.2% 79%,100% 88%,99% 95%,100% 99%,94% 100%,87% 98.6%,79% 100%,71% 98.8%,63% 100%,55% 98.5%,47% 100%,39% 98.9%,31% 100%,23% 98.6%,15% 100%,8% 98.8%,2% 100%,0 97%,1% 89%,0 80%,1.3% 71%,0 62%,1% 53%,0 44%,1.4% 35%,0 26%,1% 17%,0 9%)}
.tm-compass{position:absolute;top:20px;right:5%;width:92px;fill:none;stroke:var(--tm-ink);stroke-width:1.6}
.tm-compass text{fill:var(--tm-ink);stroke:none;font-size:11px;font-weight:700;font-family:Tahoma,Arial,sans-serif}
.tm-compass-star{fill:#f8eed8}.tm-compass-shade{fill:var(--tm-ink)}
.tm-stops{list-style:none;margin:0;padding:0}
.tm-row{position:relative;padding-bottom:90px}
.tm-card,.tm-spot{position:relative;z-index:1;display:block;width:58%}
.is-right>.tm-card,.is-right>.tm-spot{margin-left:auto}.is-left>.tm-card,.is-left>.tm-spot{margin-right:auto}
.tm-link{position:absolute;left:0;bottom:6px;width:100%;height:78px;overflow:visible;fill:none;stroke:#8a5a3c;stroke-width:3.5;stroke-dasharray:10 9;stroke-linecap:round}
.tm-link path{vector-effect:non-scaling-stroke}.tm-link.is-walked{stroke:var(--green)}.tm-link-narrow{display:none}
.tm-card{padding:28px 20px 16px;background:#fffaf0;border:2px solid #dcc59f;border-radius:18px;box-shadow:0 8px 20px rgba(90,60,30,.12);transition:transform .18s,border-color .18s}
a.tm-card:hover{transform:translateY(-3px) rotate(-.4deg);border-color:var(--gold)}
a.tm-card:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.tm-pin{position:absolute;top:-23px;left:50%;transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;border:4px solid #f5e8cb;border-radius:50%;background:var(--wine);color:#fff;font-weight:700;box-shadow:0 0 0 2px #c9a87c}
.is-done .tm-pin{background:var(--green)}.is-locked .tm-pin{background:#d9cfc4;color:#6f6258;font-size:.85rem}
.is-current .tm-pin{animation:tm-pulse 1.8s ease-in-out infinite}
@keyframes tm-pulse{0%,100%{box-shadow:0 0 0 2px #c9a87c,0 0 0 0 rgba(121,59,82,.4)}50%{box-shadow:0 0 0 2px #c9a87c,0 0 0 13px rgba(121,59,82,0)}}
.tm-here{position:absolute;top:-13px;right:16px;padding:1px 11px;border-radius:999px;background:var(--gold);color:#3d2a1c;font-size:.72rem;font-weight:700}
.tm-card-body{display:flex;align-items:flex-start;gap:14px}
.tm-cover{width:62px;height:78px;flex:none;object-fit:cover;border:2px solid #e7d5b5;border-radius:10px;background:#f5ece8}
.tm-book-icon{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:14px;background:#f3e6cc;font-size:1.45rem}
.tm-copy{min-width:0;flex:1}
.tm-status{color:var(--green);font-size:.75rem;font-weight:700}
.tm-copy h3{margin:2px 0 4px;color:var(--wine-dark);font-size:1.08rem;line-height:1.5}
.tm-copy p{margin:0;color:#6d5d55;font-size:.84rem}
.tm-progress{display:inline-block;margin-top:6px;color:#8b7768;font-size:.76rem}
.tm-action{display:block;margin-top:12px;padding-top:10px;border-top:1px dashed #e0cba8;color:var(--wine);font-size:.85rem;font-weight:700;text-align:end}
.is-locked .tm-card{background:#f3ead8;border-style:dashed;box-shadow:none;filter:grayscale(.5)}.is-locked .tm-status{color:#867c7e}
.tm-landmark,.tm-ship,.tm-chest{fill:none;stroke:var(--tm-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tm-landmark{position:absolute;top:0;width:min(30%,170px);opacity:.8}
.is-right>.tm-landmark{left:4%}.is-left>.tm-landmark{right:4%}
.tm-fill-light{fill:#fbf3e2}.tm-fill-wood{fill:#b07f55}.tm-fill-sand{fill:#ecd6a4}.tm-fill-gold{fill:#e8c26e}
.tm-spot{text-align:center;color:var(--tm-ink)}.tm-spot strong{display:block;font-size:.98rem}.tm-spot small{display:block;margin-top:2px;color:#8b7768;font-size:.8rem}
.tm-ship{display:block;width:120px;margin:0 auto}
.tm-treasure{padding-bottom:0}
.tm-x{display:block;color:#b2453a;font-size:2rem;font-weight:700;line-height:1}
.tm-chest{display:block;width:132px;margin:2px auto 4px}
.is-found .tm-chest{filter:drop-shadow(0 0 14px rgba(232,194,110,.95))}.is-found strong{color:var(--green)}
body.motion-paused .tm-pin{animation:none!important}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .tm-pin{animation:none!important}a.tm-card{transition:none}}
@media(max-width:600px){.treasure-map{padding:74px 4% 38px}.tm-compass{top:16px;width:58px}.tm-card,.tm-spot{width:82%}.tm-row{padding-bottom:72px}.tm-link{height:60px}.tm-link-wide{display:none}.tm-link-narrow{display:inline}.tm-landmark{display:none}.tm-card{padding:26px 14px 14px}.tm-cover{width:52px;height:66px}.tm-copy h3{font-size:.98rem}.tm-copy p{font-size:.8rem}}

/* Book reader (PDF picture books) */
.book-reader{position:relative;margin:22px 0 16px;padding:12px;background:radial-gradient(ellipse at 50% 0,#4a3039 0,#2d1f25 70%);border-radius:24px;box-shadow:0 24px 60px rgba(45,25,33,.28)}
.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 12px;color:#f3e6dc}
.book-count{font-size:.92rem;color:#e7d6cb}.book-count b{color:#fff;font-variant-numeric:tabular-nums}
.book-tools{display:flex;gap:8px}
.book-tool{width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.07);color:#f3e6dc;cursor:pointer;transition:background .15s}
.book-tool:hover{background:rgba(255,255,255,.16)}.book-tool:focus-visible,.book-nav:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.book-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.book-stage{position:relative;height:min(74vh,860px);min-height:460px;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 50% 45%,rgba(255,240,225,.09) 0,transparent 65%)}
.book-spread{flex:1;min-width:0;height:100%;display:grid;place-items:center}
.book-sheet{display:flex;flex-direction:row;filter:drop-shadow(0 18px 30px rgba(0,0,0,.4))}
.book-page{display:block;background:#fff;border-radius:6px}
.book-sheet.is-spread .book-page:first-child{border-radius:0 6px 6px 0}
.book-sheet.is-spread .book-page:last-child{border-radius:6px 0 0 6px}
.book-sheet.is-spread{position:relative}
.book-sheet.is-spread:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:46px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.16) 45%,rgba(0,0,0,.22) 50%,rgba(0,0,0,.16) 55%,transparent);pointer-events:none}
.turn-next{animation:book-in-next .38s cubic-bezier(.2,.7,.3,1)}
.turn-prev{animation:book-in-prev .38s cubic-bezier(.2,.7,.3,1)}
@keyframes book-in-next{from{opacity:0;transform:translateX(-34px) rotateY(8deg)}to{opacity:1;transform:none}}
@keyframes book-in-prev{from{opacity:0;transform:translateX(34px) rotateY(-8deg)}to{opacity:1;transform:none}}
.book-nav{position:relative;z-index:2;flex:none;width:52px;height:52px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#fbf3ea;color:var(--wine-dark);box-shadow:0 8px 20px rgba(0,0,0,.3);cursor:pointer;transition:transform .15s,opacity .15s}
.book-nav:hover:not(:disabled){transform:scale(1.07)}
.book-nav:disabled{opacity:.25;cursor:default}
.book-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.book-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:#e7d6cb;font-size:.95rem}
.book-loading[hidden],.book-fallback[hidden]{display:none}
.book-spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);border-radius:50%;animation:book-spin .9s linear infinite}
@keyframes book-spin{to{transform:rotate(360deg)}}
.book-fallback{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.is-fallback .book-nav,.is-fallback .book-progress,.is-fallback .book-hint,.is-fallback .book-count{visibility:hidden}
.book-progress{height:5px;margin:12px 8px 0;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}
.book-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#e8c26e);transition:width .3s}
.book-hint{margin:9px 8px 2px;color:#bfa99f;font-size:.78rem;text-align:center}
.book-reader.is-fullscreen{margin:0;padding:16px;border-radius:0;display:flex;flex-direction:column}
.book-reader.is-fullscreen .book-stage{flex:1;height:auto}
.book-finish{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:border-color .2s,box-shadow .2s}
.book-finish p{margin:0;color:var(--muted);font-size:.9rem}
.book-finish .button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.book-finish.is-ready{border-color:#cdb07a;background:#fffaf0;box-shadow:0 10px 26px rgba(198,156,90,.18)}
.book-finish.is-ready p{color:var(--green);font-weight:700}
@media(prefers-reduced-motion:reduce){.turn-next,.turn-prev{animation:none}.book-spinner{animation-duration:2.5s}}
@media(max-width:600px){.book-reader{margin:16px -8px 14px;padding:8px;border-radius:18px}.book-toolbar{padding:2px 4px 8px}.book-stage{height:calc(100svh - 230px);min-height:380px;gap:0}.book-spread{padding-bottom:62px}.book-nav{position:absolute;bottom:8px;width:46px;height:46px}.book-prev{right:10px}.book-next{left:10px}.book-finish{flex-direction:column;align-items:stretch}.book-finish .button{width:100%}}
.reader-page.is-book{max-width:1180px;padding-top:20px}
.is-book .reader-heading{padding:8px 0 0}.is-book .reader-heading .role-tag{display:none}
.is-book .reader-heading h1{margin:4px 0 2px;font-size:clamp(1.35rem,3vw,1.85rem)}
.is-book .reader-heading p{font-size:.88rem}
.is-book .book-stage{height:max(460px,min(calc(100svh - 300px),880px))}
@media(max-width:600px){.is-book .reader-heading p{display:none}.is-book .book-stage{height:calc(100svh - 210px)}}

/* Flip book (picture + text pages) */
.flip-reader .book-stage.flip-stage{height:auto;min-height:0;padding:18px 0 24px;gap:clamp(10px,3vw,34px);perspective:2200px;overflow:visible}
.flipbook{--w:min(520px,calc(100vw - 420px),calc((100svh - 290px) / 1.42));position:relative;flex:none;width:var(--w);aspect-ratio:1/1.42;transform-style:preserve-3d;cursor:pointer;user-select:none;-webkit-user-select:none}
.flipbook:before{content:"";position:absolute;inset:0;border-radius:16px 4px 4px 16px;background:#eadcc6;transform:translate(-7px,7px);box-shadow:-3px 3px 0 #dccab0,0 22px 44px rgba(0,0,0,.38)}
.leaf{position:absolute;inset:0;transform-origin:right center;transform-style:preserve-3d}
.leaf.is-turned{visibility:hidden;transform:rotateY(180deg)}
.leaf-face{position:absolute;inset:0;overflow:hidden;border-radius:16px 4px 4px 16px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.leaf-front{display:flex;flex-direction:column;background:#fffaf2}
.leaf-front:after{content:"";position:absolute;top:0;right:0;bottom:0;width:7%;background:linear-gradient(270deg,rgba(80,50,30,.18),transparent);pointer-events:none}
.leaf-back{transform:rotateY(180deg);background:linear-gradient(90deg,#efe3d1,#fbf5ec 60%)}
.turning-next{visibility:visible;animation:leaf-next .8s cubic-bezier(.45,.05,.3,1) forwards}
.turning-prev{visibility:visible;animation:leaf-prev .8s cubic-bezier(.45,.05,.3,1) forwards}
@keyframes leaf-next{0%{transform:rotateY(0)}85%{opacity:1}100%{transform:rotateY(180deg);opacity:0}}
@keyframes leaf-prev{0%{transform:rotateY(180deg);opacity:0}15%{opacity:1}100%{transform:rotateY(0)}}
.leaf-art{flex:none;margin:0;aspect-ratio:1;overflow:hidden;background:#f1e6d6}
.leaf-art img{display:block;width:100%;height:100%;object-fit:cover}
.leaf-text{flex:1;display:grid;place-items:center;padding:3% 9% 8%;text-align:center;color:#3a2a30;font-family:"Noto Naskh Arabic",Tahoma,serif;font-weight:700;font-size:calc(var(--w) * .066);line-height:1.85}
.leaf-text p{margin:0}
.is-text-only .leaf-text{font-size:calc(var(--w) * .082)}
.leaf-number{position:absolute;bottom:2.2%;left:6%;color:#a08a7d;font-family:"Noto Naskh Arabic",Tahoma,serif;font-size:calc(var(--w) * .042)}
.leaf-cover .leaf-front{background:var(--wine-dark)}
.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-band{position:absolute;right:0;bottom:0;left:0;padding:16% 8% 8%;text-align:center;color:#fff;background:linear-gradient(transparent,rgba(60,25,40,.9) 42%)}
.cover-band span{font-size:calc(var(--w) * .034);opacity:.85}
.cover-band h2{margin:2px 0 4px;font-family:"Noto Naskh Arabic",Tahoma,serif;font-size:calc(var(--w) * .09);line-height:1.45}
.cover-band small{font-size:calc(var(--w) * .032);opacity:.85}
.leaf-end .leaf-front{align-items:center;justify-content:center;gap:10px;padding:10%;text-align:center;background:radial-gradient(circle at 50% 32%,#fff3d2,#fffaf2 62%)}
.end-badge{font-size:calc(var(--w) * .15);line-height:1}
.leaf-end h2{margin:0;color:var(--wine-dark);font-family:"Noto Naskh Arabic",Tahoma,serif;font-size:calc(var(--w) * .085)}
.leaf-end p{margin:0 0 8px;color:var(--muted)}
.flip-again{margin-top:4px;padding:6px;border:0;background:none;color:var(--wine);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer}
.flip-reader:not(.is-flipping) .flipbook{aspect-ratio:auto}
.flip-reader:not(.is-flipping) .leaf{position:relative;height:calc(var(--w) * 1.42);margin-bottom:16px}
.flip-reader:not(.is-flipping) .leaf-back,.flip-reader:not(.is-flipping) .book-nav{display:none}
@media(prefers-reduced-motion:reduce){.turning-next,.turning-prev{animation:none}}
@media(max-width:600px){.flipbook{--w:min(calc(100vw - 44px),calc((100svh - 270px) / 1.42))}.flip-reader .book-stage.flip-stage{padding:10px 0 68px}}
