@import url("fast-ambient.css?v=20261109.2") screen;
/* FAST Adventures - unified public application styles.
   Base CSS followed by account/pets CSS, preserving original cascade order. */
/* FAST Adventures V11 — stylesheet consolidated in cascade order. */

/* == Core == */
:root{--ink:#2b2c59;--purple:#7255d8;--purpleDark:#5335b9;--peach:#ffcaab;--yellow:#ffe084;--green:#2da881;--red:#dc607b;--paper:#ffffff;--muted:#64668a;--line:#e8e5f2;--shadow:0 19px 50px rgba(75,55,141,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f4edff 0%,#fffbf3 55%,#edfff6 100%);font-family:'Trebuchet MS','Segoe UI',Verdana,sans-serif;color:var(--ink);font-size:16px;line-height:1.54;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--purpleDark)}.app-shell{width:min(1100px,94vw);margin:auto;position:relative;z-index:2}.decor{position:fixed;font-size:140px;opacity:.16;pointer-events:none}.decor-one{top:90px;left:-40px;color:#9a69ef;transform:rotate(17deg)}.decor-two{bottom:20px;right:-15px;color:#eeae5c;transform:rotate(-20deg)}.topbar{min-height:90px;display:flex;align-items:center;gap:24px;justify-content:space-between}.brand{text-decoration:none;font-weight:900;color:#5636ad;font-size:clamp(18px,2vw,25px);letter-spacing:-.5px;white-space:nowrap}.brand-sun{filter:drop-shadow(0 2px 2px #ffcc72)}.top-note{font-size:.89rem;color:#797493;font-weight:700}.parents-link{font-size:.85rem;font-weight:700;text-decoration:none;background:#fff;padding:10px 14px;border-radius:30px;border:1px solid #ede7fc;white-space:nowrap}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.3px;line-height:1.15}h2{letter-spacing:-.5px;line-height:1.2}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;padding:52px 44px;background:linear-gradient(128deg,#7860df,#9873e7);border-radius:34px;box-shadow:0 30px 60px rgba(101,66,195,.2);color:white;position:relative;overflow:hidden}.hero::after{content:'☆  ✧   ☆';position:absolute;color:#ffffff45;font-size:100px;letter-spacing:30px;right:-140px;top:-60px;transform:rotate(15deg)}.hero h1{font-size:clamp(35px,4.9vw,56px);margin:14px 0 18px}.hero p{font-size:1.1rem;max-width:560px;color:#f8f3ff}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:900;font-size:.79rem;color:#ffefb4}.hero-illustration{position:relative;text-align:center;font-size:clamp(112px,16vw,195px);line-height:1;filter:drop-shadow(0 20px 25px #3d237f50);transform:rotate(-5deg)}.planet-ring{position:absolute;border:9px solid #ffe9a7;border-radius:50%;width:80%;height:38%;left:8%;top:36%;transform:rotate(-16deg);z-index:-1}.section-intro{margin:40px 0 20px;text-align:center}.section-intro h2{font-size:clamp(25px,3.2vw,35px);margin-bottom:8px}.section-intro p{color:var(--muted)}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.subject-card{border:3px solid transparent;background:white;border-radius:27px;padding:29px 26px;box-shadow:var(--shadow);text-align:left;position:relative;min-height:216px;transition:transform .18s,border .18s,box-shadow .18s}.subject-card:hover,.subject-card:focus-visible{transform:translateY(-5px);box-shadow:0 26px 55px #5940a925;outline:none}.subject-card.selected{border-color:var(--purple);background:#fdfbff}.subject-card .big-icon{font-size:52px;display:block;margin-bottom:12px}.subject-card strong{font-size:1.52rem;display:block}.subject-card small{display:block;color:var(--muted);font-size:.95rem;margin-top:4px}.subject-card .pill{position:absolute;right:20px;top:20px;background:#f0ebff;color:#6844b8;padding:6px 12px;font-size:.75rem;font-weight:bold;border-radius:20px}.subject-card.math{background-image:radial-gradient(circle at 95% 88%,#fff0ca 0 55px,transparent 56px)}.subject-card.reading{background-image:radial-gradient(circle at 95% 88%,#e1fcf4 0 55px,transparent 56px)}.setup-panel{margin:24px auto 0;padding:28px 32px;max-width:750px;background:#ffffffdd;border:2px solid #eee6ff;border-radius:25px;box-shadow:var(--shadow)}.setup-panel h3{font-size:1.3rem;margin-bottom:10px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-panel label,.parent-form label{font-weight:800;font-size:.92rem;display:block;color:#444475}input,select,textarea{display:block;width:100%;padding:13px 15px;border:2px solid #e4dcf4;border-radius:13px;background:#fff;margin-top:7px;color:#2b2c59;outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#9275df;outline-color:#ddd0ff}.hint{color:#777891;font-size:.84rem;margin:9px 0}.btn{border:none;border-radius:17px;padding:13px 24px;font-weight:900;transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:disabled{opacity:.54;cursor:not-allowed}.btn.primary{background:linear-gradient(130deg,#8c61ea,#6449d7);color:#fff;box-shadow:0 8px 18px #8155d535}.btn.outline{background:#fff;border:2px solid #d7ccf6;color:#5e3eb8}.btn.coral{background:#feaa86;color:#583323}.start-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}.home-bottom{display:flex;justify-content:center;margin:27px auto 5px}.history-button,.text-button{background:transparent;border:0;font-weight:800;color:#7049c0;text-decoration:underline;text-underline-offset:5px;padding:8px}.site-footer{text-align:center;color:#87819f;padding:35px 10px;font-size:.78rem}.loading-card{text-align:center;background:#fff;padding:60px 20px;margin:70px auto;border-radius:28px;max-width:650px}.spinner{width:46px;height:46px;border:6px solid #eee7fb;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
/* Juego */
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 18px}.back-link{color:#6c57aa;text-decoration:none;font-weight:900}.progress-label{font-weight:900;color:#696481}.quiz-title{font-size:1.5rem;margin:0}.progress-track{background:#e9e4f5;border-radius:100px;height:15px;overflow:hidden;box-shadow:inset 0 2px 2px #a8a1bd35}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#4bcda5,#a6da73);border-radius:100px;transition:width .4s}.quiz-layout{display:grid;grid-template-columns:1fr;gap:22px;margin-top:25px}.quiz-layout.with-reading{grid-template-columns:1fr 1fr;align-items:start}.question-card,.reading-panel,.result-card,.history-card,.sheet{background:white;border-radius:28px;padding:32px;box-shadow:var(--shadow)}.question-card{border:2px solid #f0eaff}.reading-panel{background:#fffef9;border:2px solid #ffe6bf}.reading-panel h2{font-size:1.32rem;color:#765091}.reading-panel .passage-body{white-space:pre-wrap;font-size:1.065rem;line-height:1.85;color:#343a56}.tag{display:inline-block;background:#f0ebff;color:#7051c0;font-size:.77rem;font-weight:900;padding:6px 12px;border-radius:100px;margin-bottom:14px}.question-text{font-size:clamp(1.35rem,2.6vw,1.78rem);font-weight:900;line-height:1.42;white-space:pre-wrap;letter-spacing:-.35px;margin-bottom:22px}.choices{display:grid;gap:13px}.choice{display:flex;gap:14px;align-items:center;text-align:left;border:2px solid #e9e4f4;border-radius:16px;background:#fcfbff;padding:15px 17px;min-height:62px;color:#37345b;font-weight:800;font-size:1.035rem;transition:border-color .15s,background .15s}.choice:not(:disabled):hover{background:#f4efff;border-color:#bea7ee}.choice.is-picked{border-color:#8a6bde;background:#f0eaff;box-shadow:0 0 0 2px #e1d3fe}.choice.is-wrong{border-color:#ef9ba9;background:#fff2f4}.choice.is-right{border-color:#52bd95;background:#eafff5}.choice .letter{display:inline-grid;place-items:center;border-radius:11px;background:#ece7fa;color:#6e53a9;width:37px;height:37px;flex:0 0 37px}.choice.is-right .letter{background:#beecd9;color:#166c4f}.feedback{padding:16px 18px;border-radius:18px;margin:22px 0 0;font-weight:700}.feedback.good{background:#e7fff4;color:#1a7957;border:2px solid #b1efd2}.feedback.try{background:#fff8dc;color:#886422;border:2px solid #ffe5a0}.feedback.bad{background:#ffeff1;color:#a74461;border:2px solid #ffced8}.feedback .feedback-title{font-weight:900;font-size:1.16rem;margin-bottom:5px}.feedback small{display:block;font-size:.95rem;line-height:1.55}.question-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.question-actions .btn{min-width:185px}.points-strip{font-weight:900;color:#7456bb}.result-card{max-width:830px;text-align:center;margin:36px auto;border:3px solid #fff}.result-icon{font-size:92px;line-height:1.2}.result-title{font-size:clamp(31px,4vw,47px);margin:8px 0 9px}.result-subtitle{color:var(--muted);font-size:1.06rem}.score-big{font-weight:900;font-size:clamp(48px,8vw,82px);color:#7652d8;line-height:1.2;margin:16px auto 8px}.score-big small{font-size:.34em;color:#78718b}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:center;margin:24px 0}.score-stat{padding:20px 12px;border-radius:18px;background:#f6f3ff}.score-stat strong{font-size:1.95rem;display:block}.score-stat:nth-child(2){background:#ecfff4}.score-stat:nth-child(3){background:#fff2ec}.score-stat span{font-size:.77rem;color:#666781;font-weight:800}.category-list{text-align:left;margin-top:18px}.cat-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ebe6f2;padding:12px 0;gap:12px;font-size:.91rem}.cat-row b{white-space:nowrap}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}.history-card{margin:30px auto;max-width:860px}.history-list{display:grid;gap:10px}.history-item{border:2px solid #f1edf8;border-radius:16px;padding:16px 18px;display:flex;justify-content:space-between;gap:10px}.history-item strong{display:block}.history-item small{color:var(--muted)}.history-score{font-size:1.3rem;color:#7251d1;font-weight:900;white-space:nowrap}
/* Padres */
.parent-layout{max-width:870px;margin:30px auto 0}.parent-layout>.back-link{display:inline-block;margin-bottom:19px}.sheet h1{font-size:2rem}.sheet>p{color:var(--muted)}.parent-form{display:grid;gap:19px;margin-top:24px}.parent-form .btn{justify-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tiny{font-size:.81rem;color:var(--muted);margin-top:20px}.notice{padding:13px 18px;border-radius:13px;font-weight:800}.notice.error{background:#ffe8ee;color:#9d3453}.notice.success{background:#e4fff1;color:#1b7454}.stat-chip{display:inline-block;margin:7px 8px 0 0;border-radius:15px;padding:7px 11px;background:#f0ebff;color:#6244af;font-weight:900}.mini-stat-row{margin:10px 0}.logout-form{margin-top:20px;text-align:right}
@media(max-width:800px){.hero{padding:36px 26px;grid-template-columns:1fr}.hero-illustration{font-size:110px}.quiz-layout.with-reading{grid-template-columns:1fr}.reading-panel{order:0}.question-card{order:1}.top-note{display:none}.topbar{gap:8px}.quiz-top{align-items:start}.question-card,.reading-panel,.result-card,.history-card,.sheet{padding:24px}}@media(max-width:620px){.subject-grid,.setup-grid,.form-grid{grid-template-columns:1fr}.hero h1{font-size:2rem}.hero-illustration{display:none}.hero{padding:30px 24px}.subject-card{min-height:170px;padding:22px}.subject-card .big-icon{font-size:42px}.question-actions .btn{min-width:0;width:100%}.topbar{min-height:76px}.parents-link{font-size:.72rem;padding:7px 9px}.brand{font-size:18px}.score-grid{gap:7px}.score-stat{padding:14px 4px}.score-stat strong{font-size:1.4rem}.score-stat span{font-size:.64rem}.quiz-title{font-size:1.2rem}.question-card,.reading-panel{padding:21px}.choice{font-size:.98rem;padding:11px 12px}.category-list{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
/* Books: kid-friendly offline reading library */
.app-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-nav>a:not(.parents-link){text-decoration:none;font-size:.92rem;font-weight:900;border-radius:20px;padding:9px 12px;background:#ffffffb9;color:#5a468a}.app-nav>a[aria-current="page"]{background:#e8deff;border:1px solid #bca9fa}.app-nav>a:focus-visible{outline:3px solid #7651cf;outline-offset:2px}.books-hero{background:linear-gradient(124deg,#7460ce,#9e77e0 74%,#e5a6ce);color:#fff;border-radius:28px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow)}.books-hero h1{font-size:clamp(33px,4vw,52px);margin:8px 0 10px}.books-hero p{max-width:570px;margin:0;font-size:1.04rem}.books-hero-icon{font-size:105px;filter:drop-shadow(0 9px 13px #422a7855)}.books-profile{background:#fff;border-radius:20px;margin:22px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 22px;box-shadow:0 7px 26px #6147a516}.books-profile strong{font-size:1.18rem}.books-profile .tiny{margin:3px 0 0}.reader-form{display:flex;gap:8px;flex-wrap:wrap}.reader-form input{min-width:175px;width:210px;border:2px solid #dad0f5;border-radius:12px;padding:10px 12px}.books-overview{display:flex;gap:18px;justify-content:space-between;margin:12px 3px;color:#594e81;font-weight:900}.book-filters{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 18px}.btn.book-filter{border:2px solid #dfd8ef;background:#fff;color:#5f4e8f;font-size:.9rem;padding:8px 14px}.btn.book-filter.active{color:#fff;background:#7651ca;border-color:#7651ca}.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:35px}.book-card{min-width:0;overflow:hidden;border-radius:23px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.book-cover{--cover:#8b72cb;min-height:198px;background:linear-gradient(155deg,var(--cover),#ffffff11),linear-gradient(35deg,#6558a8,#bda7e5);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center;gap:9px;position:relative}.book-cover:before{content:'✦';position:absolute;top:10px;left:12px;font-size:33px;color:#fff5}.cover-icon{font-size:61px;line-height:1.15}.book-cover strong{font-size:1.29rem;line-height:1.2;text-shadow:0 2px 3px #3c34694f}.cover-level{align-self:flex-end;font-size:.72rem;font-weight:900;border-radius:20px;background:#ffffff42;padding:4px 9px}.book-card-info{padding:18px 20px 7px;flex:1}.book-genre{text-transform:uppercase;font-size:.69rem;letter-spacing:1px;font-weight:900;color:#7559b0}.book-summary{color:#5f617e;font-size:.91rem;margin:9px 0 14px;min-height:64px}.book-progress-track{height:9px;border-radius:50px;background:#e9e4f6;overflow:hidden}.book-progress-track>div{height:100%;background:linear-gradient(90deg,#6acaab,#826ce6);border-radius:inherit}.book-progress-label{display:block;margin-top:7px;color:#776c88;font-size:.77rem;font-weight:bold}.book-card>.btn{margin:9px 19px 20px}.reader-top{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:18px 0}.reader-count{font-weight:900;color:#6b598c}.reader-head{--cover:#856fc5;display:flex;align-items:center;gap:21px;padding:22px 30px;border-radius:25px;color:#fff;background:linear-gradient(120deg,var(--cover),#8361c8);box-shadow:var(--shadow)}.reader-icon{font-size:66px}.reader-head h1{font-size:clamp(25px,3vw,37px);margin:6px 0}.reader-head p{margin:0;font-size:1.04rem}.reader-level{font-size:.77rem;font-weight:900;text-transform:uppercase;letter-spacing:1px}.reader-progress{margin:18px 4px;height:13px}.reader-tools{display:flex;align-items:center;gap:10px;margin:13px 2px;justify-content:flex-end}.reader-tools>span{margin-right:auto;font-size:.87rem;font-weight:800;color:#6c6291}.reader-tools .btn{min-width:54px;padding:5px 11px}.reader-paper{background:#fffdf9;border-radius:22px;border:2px solid #eee6e0;box-shadow:0 10px 28px #8673a52a;max-width:810px;margin:10px auto;max-height:min(63vh,680px);overflow-y:auto;overscroll-behavior:contain;padding:40px 52px;font-family:Georgia,'Times New Roman',serif;line-height:1.86;color:#29334d;scrollbar-color:#9c82dd #f1ecfb}.reader-paper h2{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-size:1.35em;margin-bottom:1.2em;color:#6847a8}.reader-paper p{margin:0 0 1.25em;white-space:pre-wrap}.reader-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin:20px auto}.reader-actions .btn{min-width:180px}.book-status{text-align:center;color:#416f66;min-height:1.5em;margin-top:11px;font-weight:800}.reader-hint{font-size:.88rem;color:#6d6182;text-align:center;margin-bottom:45px}.books-home-promo{background:linear-gradient(100deg,#fff3cb,#f8eaff);border-radius:23px;padding:24px 30px;margin:23px 0;text-align:center;box-shadow:0 8px 22px #624ab01b}.books-home-promo h2{margin:0 0 7px}.books-home-promo p{color:#635f85;margin-bottom:13px}.books-home-promo a{display:inline-block;text-decoration:none}
@media(max-width:900px){.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.app-nav{gap:3px}.app-nav>a:not(.parents-link){font-size:.78rem;padding:7px}.books-hero{padding:27px 21px}.books-hero-icon{display:none}.books-profile{display:block}.reader-form{margin-top:13px}.books-grid{grid-template-columns:1fr}.reader-head{padding:21px}.reader-icon{font-size:47px}.reader-paper{padding:26px 21px;max-height:64vh}.reader-actions .btn{width:100%}.book-cover{min-height:175px}.book-summary{min-height:0}}

/* == Books, navigation == */
/* FAST Adventures v4 - original animal friends and illustrated PDF library. */
.app-nav{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.app-nav a{white-space:nowrap}
.lib-hero{background:linear-gradient(125deg,#6243cf,#966be9 55%,#e276d0);color:#fff;padding:40px 34px;border-radius:29px;box-shadow:0 20px 45px rgba(79,50,156,.17);margin:28px 0 20px;position:relative;overflow:hidden}
.lib-hero:after{content:'📚';position:absolute;right:36px;top:26px;font-size:98px;opacity:.24;transform:rotate(-8deg)}
.lib-hero h1{font-size:clamp(30px,5vw,48px);margin:8px 0;color:white}
.lib-hero p{font-size:17px;max-width:600px;line-height:1.55;color:#fff}
.lib-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.86}
.lib-profile,.lib-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.lib-profile{padding:14px 18px;border-radius:16px;background:#fff;box-shadow:0 5px 20px #6852aa18}
.lib-profile label{font-weight:800}.lib-profile input,.lib-filter input,.pdf-page-label input{border:2px solid #ddd5f4;border-radius:12px;padding:12px;font:inherit;max-width:230px}
.lib-filter input{flex:1;min-width:240px;max-width:none}.lib-hint{color:#6c6b80;font-size:13px;margin:8px 0 18px}
.lib-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin-bottom:45px}
.lib-book{background:#fff;border:1px solid #e8e5f1;border-radius:24px;overflow:hidden;box-shadow:0 14px 35px #6054a015;transition:transform .18s,box-shadow .18s}.lib-book:hover{transform:translateY(-4px);box-shadow:0 18px 36px #6054a02a}
.lib-cover{height:192px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:9px;background:radial-gradient(circle at 27% 24%,#ffffff78,transparent 45%),linear-gradient(125deg,var(--book-color),#7451c2);position:relative;color:#fff;padding:19px}
.lib-cover:before{content:'';position:absolute;inset:13px;border:2px solid #ffffff7a;border-radius:14px;pointer-events:none}.lib-cover-emoji{font-size:68px;filter:drop-shadow(0 5px 6px #392f4a38)}.lib-cover strong{font-size:21px;line-height:1.12;max-width:98%;text-shadow:0 2px 4px #29204b50}.lib-level{position:absolute;right:17px;top:16px;background:#ffffffd9;color:#59459c;padding:5px 10px;border-radius:25px;font-weight:900;font-size:11px}
.lib-book-info{padding:18px}.lib-genre{font-size:11px;color:#714ca3;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lib-author{font-size:12px;color:#77738a;margin:7px 0}.lib-book-info>p:not(.lib-author){font-size:14px;line-height:1.5;min-height:63px;margin:8px 0}.lib-state{display:block;font-weight:800;color:#594798;margin:12px 0}.lib-card-actions{display:flex;gap:8px;flex-wrap:wrap}.lib-card-actions small{font-size:11px;color:#7a738d}.lib-card-actions .btn{font-size:13px}
.lib-reader-head{display:flex;align-items:center;gap:25px;margin:26px 0 16px}.lib-reader-head h1{margin:5px 0;font-size:clamp(21px,4vw,34px);color:#382958}.lib-reader-head p{font-size:13px;color:#6b6c82;margin:0}
.pdf-reader-shell{border:1px solid #d6d1ed;border-radius:21px;overflow:hidden;background:#fff;box-shadow:0 15px 42px #56479d20;margin-bottom:40px}.pdf-tools{padding:12px 18px;background:#f4eeff;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center}.pdf-page-label{font-weight:800;color:#5e4a81;display:flex;align-items:center;gap:6px}.pdf-page-label input{width:78px;padding:9px;text-align:center}
.pdf-iframe{width:100%;height:min(77vh,920px);min-height:560px;border:0;display:block;background:#e8e8ef}.pdf-bottom{display:flex;align-items:center;gap:12px;padding:16px;flex-wrap:wrap;justify-content:center}.lib-save{font-size:14px;color:#53487a;text-align:center;padding:0 24px 12px}.lib-credit{font-size:11px;color:#65647d;background:#f7f6fc;padding:12px 20px;margin:0}
.pet-main{max-width:1060px;margin:0 auto;padding-bottom:50px}.pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.pet-choice{appearance:none;background:#fff;border:3px solid #eee8fc;border-radius:24px;padding:18px 12px;cursor:pointer;text-align:center;box-shadow:0 12px 24px #8a75bb1a;transition:transform .2s,border-color .2s}.pet-choice:hover{transform:translateY(-5px)}.pet-choice.chosen{border-color:#b264e6;box-shadow:0 15px 30px #b264e63c}.pet-choice img{height:160px;max-width:100%;object-fit:contain;border-radius:19px}.pet-choice strong,.pet-choice small{display:block}.pet-choice strong{font-size:20px;margin:9px 0 4px;color:#42316a}.pet-choice small{color:#757288}.pet-chooser{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#f3ecff;padding:20px;border-radius:22px}.pet-chooser label{font-weight:800}.pet-chooser input{display:block;border:2px solid #d4c5f1;padding:11px;border-radius:12px;margin-top:6px}
.buddy-widget{position:fixed;left:14px;bottom:13px;display:flex;align-items:center;gap:4px;z-index:1000;background:#ffffffee;border:2px solid #ccb9f1;border-radius:21px;padding:5px 7px 5px 4px;box-shadow:0 9px 30px #56469e4b;max-width:195px;cursor:pointer;backdrop-filter:blur(8px)}.buddy-widget img{height:67px;width:67px;object-fit:contain}.buddy-info{display:flex;flex-direction:column;gap:2px;line-height:1.15}.buddy-info strong{color:#6240a7;font-size:13px}.buddy-info span{font-size:10px;color:#716482;font-weight:700}.buddy-sound{background:#e5d9fa;border:0;border-radius:100%;font-size:15px;padding:5px;cursor:pointer;align-self:start}.buddy-hop{animation:buddyhop .5s ease}@keyframes buddyhop{0%{transform:translateY(0)}40%{transform:translateY(-15px)}100%{transform:translateY(0)}}
.manage-book{padding:18px 0;border-top:1px solid #e0dbea}.manage-book h3{margin:0 0 7px}.library-upload-form{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.manage-book form{margin:12px 0}.manage-book p{line-height:1.5}
.books-home-promo .btn{margin-top:8px}
@media(max-width:720px){.lib-hero{padding:28px 20px}.lib-hero:after{right:-4px;top:54px;font-size:67px}.lib-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.lib-cover{height:165px;padding:9px}.lib-cover-emoji{font-size:45px}.lib-cover strong{font-size:16px}.lib-book-info{padding:12px}.lib-book-info>p:not(.lib-author){font-size:12px}.lib-card-actions .btn{font-size:11px}.pet-grid{grid-template-columns:repeat(2,1fr);gap:10px}.pet-choice img{height:118px}.pdf-iframe{height:67vh;min-height:420px}.pdf-tools .btn{font-size:11px;padding:10px}.buddy-widget{left:6px;bottom:6px;max-width:115px;border-radius:16px;padding:2px}.buddy-widget img{width:45px;height:45px}.buddy-info{display:none}.buddy-sound{font-size:12px}}

/* == Game world == */
/* FAST Adventures V5: illustrated child-facing screens; server-side parental PIN unchanged. */
body:not(.parent-zone){--world-image:url('themes/fairy-meadow.webp');background-image:linear-gradient(180deg,rgba(206,235,255,.12),rgba(243,234,255,.25)),var(--world-image);background-attachment:fixed;background-size:cover;background-position:center;}
body:not(.parent-zone)::before{content:'';position:fixed;inset:0;background:linear-gradient(180deg,rgba(225,245,255,.10) 0%,rgba(255,255,255,.14) 48%,rgba(255,242,255,.37) 100%);pointer-events:none;z-index:0;}
.app-shell{width:min(1300px,95vw)}.decor{display:none}
.topbar{margin:15px 0 16px;min-height:74px;padding:10px 15px;border:2px solid #ffffffbb;border-radius:26px;background:#ffffffdc;box-shadow:0 7px 25px #58317a33;backdrop-filter:blur(12px)}
.brand{font-size:clamp(19px,2vw,26px);text-shadow:0 2px 0 #fff;color:#6134aa}
.app-nav{gap:5px}.app-nav>a:not(.parents-link){background:#f7efffe0;font-size:.82rem;padding:8px 11px;border:1px solid #e7d4ff}
.app-nav>.parents-link{background:#efe6ff;color:#5c399e;font-size:.8rem}
.site-footer{margin:25px auto;background:#fffdf6d8;border-radius:16px;padding:12px;max-width:770px;font-weight:800;color:#70618a}
.world-home{position:relative;border-radius:36px;border:4px solid #fffefa;background:linear-gradient(160deg,#ffffff66,#ffffff22 50%,#f0e6ff50);padding:22px 22px 18px;box-shadow:0 24px 50px #46288755, inset 0 0 40px #ffffff55;overflow:hidden;isolation:isolate}
.world-welcome{text-align:center;position:relative;z-index:2;margin:0 auto 18px}.world-kicker{display:inline-block;color:#6f3da6;background:#fffdf5e8;padding:4px 14px;border-radius:100px;letter-spacing:.12em;font-size:.76rem;font-weight:1000;border:2px solid #d9bdff}
.world-welcome h1{font-size:clamp(31px,4.4vw,62px);margin:9px 0 5px;color:#fffdf5;text-shadow:-3px -3px 0 #6d3caf,3px 3px 0 #6d3caf,0 5px 14px #4524a2;letter-spacing:-1.8px}
.world-intro{font-size:clamp(.95rem,2vw,1.27rem);font-weight:900;color:#3f3077;text-shadow:0 2px 7px #ffffff;margin-bottom:0}
.world-stage{display:grid;grid-template-columns:minmax(170px,25%) minmax(0,1fr);align-items:end;gap:16px}
.world-pet{display:flex;flex-direction:column;justify-content:end;align-items:center;text-decoration:none;min-height:260px;color:#573e9c;text-align:center}
.world-pet img{display:block;width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 17px 9px #252d7c30);animation:pet-float 3.3s ease-in-out infinite}
.world-pet strong{padding:5px 16px;color:#fff;background:linear-gradient(140deg,#9a6ee9,#6842c6);border:3px solid #fff;border-radius:25px;box-shadow:0 4px 0 #4c348e;font-size:1.25rem}
.world-pet > span:not(.fast-life-stage){font-size:.75rem;font-weight:900;color:#473278;background:#fffcf3e8;border-radius:16px;padding:3px 10px;margin-top:8px}
.world-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch;margin-bottom:15px}
.world-main-card{min-height:305px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 12px;border-radius:32px;border:4px solid #fff;text-align:center;text-decoration:none;color:#fff;cursor:pointer;position:relative;transition:transform .2s,box-shadow .2s;box-shadow:0 9px 0 #5f418b88, 0 15px 20px #59429a49, inset 0 4px 12px #ffffffa5}
.world-main-card.reading{background:linear-gradient(142deg,#ff97d0,#ff52b2 48%,#d73aaf);text-shadow:0 3px 0 #a5337b}
.world-main-card.math{background:linear-gradient(142deg,#70deff,#1d9aee 48%,#0f69ce);text-shadow:0 3px 0 #165bb0}
.world-main-card.books{background:linear-gradient(142deg,#c0f77b,#62c94e 48%,#2da36c);text-shadow:0 3px 0 #3d8c39}
.world-main-card:hover,.world-main-card:focus-visible{transform:translateY(-7px);box-shadow:0 15px 0 #5f418b88,0 20px 35px #59429a55,inset 0 4px 12px #ffffffa5;outline:3px solid #fff6b2}
.world-main-card[aria-pressed=true]{outline:6px solid #ffdf77;outline-offset:2px}
.world-card-icon{font-size:clamp(50px,8vw,105px);line-height:1.06;filter:drop-shadow(0 7px 5px #55206b3b)}
.world-main-card strong{font-size:clamp(25px,3.6vw,44px);line-height:1.04;text-shadow:0 3px 0 #58368866}
.world-main-card small{display:block;max-width:170px;font-weight:900;font-size:.86rem;line-height:1.25;color:#fffbec;min-height:2.35em}
.world-card-cta{background:#fffcee;border:2px solid #ffffff;border-radius:100px;padding:7px 12px;font-size:.85rem;font-weight:1000;color:#4d4492;text-shadow:none;box-shadow:0 3px 6px #40306c33}
.world-extras{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.world-extra{background:linear-gradient(150deg,#fff,#ffe8fb);border:3px solid #fff;border-radius:22px;display:flex;justify-content:center;gap:10px;align-items:center;padding:13px 8px;box-shadow:0 5px 0 #cbb2ec,0 8px 19px #583d8d4d;text-decoration:none;color:#6744ad}
.world-extra:nth-child(2){background:linear-gradient(140deg,#fff,#e6f5ff)}.world-extra:nth-child(3){background:linear-gradient(140deg,#fff,#ecfff0)}.world-extra:nth-child(4){background:linear-gradient(140deg,#fff,#fff0c8)}
.world-extra span{font-size:27px}.world-extra strong{font-size:clamp(.78rem,1.7vw,1.1rem);white-space:nowrap}
.world-progress{display:flex;justify-content:space-between;align-items:center;gap:20px;border:3px solid #fff;border-radius:24px;background:#fdf9ffea;padding:14px 24px}.world-progress h2{color:#633eb5;font-size:1.25rem;margin:0}.world-progress p{font-size:.82rem;margin:3px 0 0;color:#66517f}
.world-progress-chips{display:flex;gap:8px;flex-wrap:wrap}.world-progress-chips span{border-radius:14px;background:#eadbff;padding:8px 12px;font-size:.81rem;color:#513393;font-weight:900}
.world-parent-row{text-align:right;display:flex;justify-content:space-between;gap:12px;margin:18px 10px 0;flex-wrap:wrap}.world-parents,.world-link{background:#fff8eae6;color:#60408e;padding:8px 12px;border-radius:14px;font-weight:900;text-decoration:none;font-size:.81rem}.world-link{background:#e9f8ffdd}
.world-setup{border:4px solid #fff;box-shadow:0 10px 30px #593a8f44;max-width:950px;margin:20px auto}
.world-setup h2{text-align:center;color:#6845ae}.home-bottom{gap:12px;flex-wrap:wrap}
@keyframes pet-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.buddy-widget{z-index:1000}.lib-book,.sheet,.pdf-reader-shell,.pet-choice,.books-hero,.pet-chooser,.question-card,.reading-panel,.result-card,.history-card,.books-profile,.book-card,.lib-hero{box-shadow:0 12px 33px #422b7b40}
.world-heading{text-align:center;background:#fff8f9eb;border:4px solid white;border-radius:27px;padding:26px;margin:20px auto 18px;box-shadow:0 10px 30px #54339845}
.world-heading h1{color:#5d3aaf;font-size:clamp(30px,4vw,48px);margin:8px 0}.world-heading p{color:#6c5d8e;margin:0;font-weight:800}
.theme-toolbar{margin:15px auto;max-width:600px;border-radius:20px;background:#fffefaee;padding:12px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 19px #422e8c33}.theme-toolbar label{font-weight:900;color:#6843ad}.theme-toolbar select{margin:0;width:auto;flex:1}
.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:20px auto}
.theme-choice{display:flex;flex-direction:column;padding:7px;text-align:left;background:#fff8f8;border:4px solid #fff;border-radius:22px;box-shadow:0 6px 16px #49317654;transition:transform .2s,border-color .2s;overflow:hidden}
.theme-choice:hover,.theme-choice:focus-visible{transform:translateY(-5px);outline:3px solid #ffe797}.theme-choice.theme-selected{border-color:#ffc845}
.theme-thumb{display:block;background-size:cover;background-position:center;border-radius:14px;aspect-ratio:1.5;width:100%;background-color:#a2d7f0}.theme-title{color:#513694;font-size:1rem;font-weight:900;margin:8px 6px 1px}.theme-tag{color:#6f6a8b;font-size:.79rem;font-weight:900;margin:2px 6px 6px}.theme-selected .theme-tag{color:#158053}
.theme-action{text-align:center;background:#fffeffe9;border:3px solid #fff;padding:16px;margin:19px auto 30px;max-width:600px;border-radius:20px}.theme-action .btn{font-size:1.12rem}.theme-action p{margin:10px 0 0;font-size:.9rem;color:#76569e;font-weight:900}
@media(max-width:1150px){.world-stage{grid-template-columns:180px 1fr}.world-pet img{height:200px}.world-main-card{min-height:240px}.world-card-icon{font-size:66px}}
@media(max-width:850px){.world-stage{grid-template-columns:1fr}.world-pet{min-height:auto;flex-direction:row;gap:8px;justify-content:center}.world-pet img{width:88px;height:100px}.world-pet > span:not(.fast-life-stage){display:none}.world-actions{gap:8px}.world-main-card{min-height:205px}.world-main-card strong{font-size:clamp(21px,3vw,34px)}.world-card-icon{font-size:55px}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.topbar{flex-wrap:wrap;gap:6px}.app-nav{justify-content:center}.app-nav>a{font-size:.73rem!important;padding:5px 7px!important}.world-home{padding:14px 10px}.world-welcome h1{font-size:31px}.world-actions{grid-template-columns:1fr;gap:12px}.world-main-card{min-height:110px;display:grid;grid-template-columns:80px 1fr;grid-template-rows:auto auto;gap:2px;text-align:left;padding:12px 19px}.world-card-icon{font-size:57px;grid-row:span 3}.world-main-card strong{font-size:31px}.world-main-card small{min-height:0}.world-card-cta{display:none}.world-extras{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.world-extra{padding:9px}.world-progress{flex-direction:column;align-items:flex-start}.world-parent-row{text-align:center;justify-content:center}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.theme-toolbar{display:block}.theme-toolbar select{width:100%;margin-top:9px}.theme-title{font-size:.88rem}.theme-action .btn{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.world-pet img{animation:none}}

body.home-screen .buddy-widget{display:none}

/* V5.1: ensure the selected wallpaper is visible behind the entire application. */
body:not(.parent-zone){background-color:#d9eaff;background-repeat:no-repeat;background-position:center center;background-size:cover;}

/* == Large PDF reader == */
/* FAST Adventures 6.0 - immersive book reader, real PDF first-page covers */
.lib-book{isolation:isolate}
.lib-cover.has-pdf{padding:0;overflow:hidden;position:relative;background:linear-gradient(145deg,#f3dcff,#c9dafa);height:205px}
.lib-cover.has-pdf:before{display:none}
.lib-pdf-cover-frame{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none;background:transparent}
.lib-pdf-cover-fallback{font-size:72px;position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(115deg,var(--book-color,#8c73d4),#c5aaf0);color:#fff}
.lib-cover-title{position:absolute;z-index:2;bottom:0;left:0;right:0;line-height:1.28;padding:20px 12px 10px;background:linear-gradient(transparent,rgba(39,27,74,.87));font-size:16px;font-weight:900;color:white;text-align:center;text-shadow:0 1px 4px #3339}
.lib-cover.has-pdf .lib-level{z-index:3;right:9px;top:9px;font-size:11px}
.lib-cover-open{position:absolute;z-index:4;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border:0}
.lib-cover-open:focus-visible{opacity:1;outline:4px solid #ffc937;outline-offset:-5px;color:#fff;background:rgba(60,30,122,.58);font-size:24px;font-weight:900}
.lib-book:hover .lib-pdf-cover-frame{filter:saturate(1.06)}
.lib-filter .lib-filter-active{background:#6949bd;color:white;border-color:#6949bd}
body.fast-reader-open{overflow:hidden}
.fast-reader-modal{position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:22px;width:min(96vw,1500px);max-width:none;height:min(96dvh,1050px);max-height:none;overflow:hidden;background:#faf7ff;box-shadow:0 32px 140px #100935a8;color:#312a52}
.fast-reader-modal::backdrop{background:rgba(19,12,55,.78);backdrop-filter:blur(6px)}
.fast-reader-layout{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.fast-reader-modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 23px;background:linear-gradient(95deg,#6242bb,#9266e3 70%,#c27ded);color:#fff}
.fast-reader-modal-heading{min-width:0}
.fast-reader-modal-heading h2{font-size:clamp(18px,2.3vw,25px);line-height:1.24;overflow-wrap:anywhere;color:white;margin:0 0 4px}
.fast-reader-modal-heading small{font-size:12px;opacity:.95}
.fast-reader-modal .fast-close-reader{color:#4e328e;background:#fff;border:2px solid #f2eaff;border-radius:15px;white-space:nowrap;font-size:14px;font-weight:900;padding:11px 15px}
.fast-reader-modal .fast-close-reader:hover{background:#fff1ff}
.fast-reader-display{min-height:180px;flex:1;background:linear-gradient(120deg,#efeaf8,#f8f5ff);overflow:hidden;display:flex;justify-content:center}
.fast-reader-frame{width:100%;height:100%;border:0;display:block;flex:1;min-height:0;background:#e1dfea}
.fast-reader-extra{flex-shrink:0;background:#fff;border-top:2px solid #ede3fc;padding:9px 16px 10px;display:grid;gap:7px}
.fast-reader-nav,.fast-reader-buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:center}
.fast-reader-nav .btn,.fast-reader-buttons .btn{font-size:13px;padding:8px 12px;min-height:38px}
.fast-reader-page-field{display:flex;align-items:center;gap:8px;font-weight:900;color:#62469d}
.fast-reader-page-field input{width:75px;max-width:85px;border:2px solid #d9c8f2;background:#fff;border-radius:12px;padding:7px;font-size:15px;font-weight:900;text-align:center;color:#3b2a63}
.fast-reader-status{min-height:18px;text-align:center;color:#654ca0;font-size:12px;font-weight:800;margin:0}
.fast-reader-credits{text-align:center;font-size:11px;line-height:1.3;color:#776989;margin:0}
.fast-reader-modal .btn:focus-visible{outline:3px solid #ffcd35;outline-offset:2px}
@media(max-width:700px){
  .lib-cover.has-pdf{height:172px}
  .fast-reader-modal{width:100vw;height:100dvh;border-radius:0}
  .fast-reader-modal-header{padding:8px 12px;gap:8px}
  .fast-reader-modal-heading h2{font-size:17px}
  .fast-reader-modal-heading small{font-size:10px}
  .fast-reader-modal .fast-close-reader{font-size:12px;padding:8px 9px}
  .fast-reader-extra{gap:5px;padding:6px 7px 9px}
  .fast-reader-nav,.fast-reader-buttons{gap:5px}
  .fast-reader-nav .btn,.fast-reader-buttons .btn{font-size:11px;padding:7px 8px;min-height:32px}
  .fast-reader-page-field{font-size:12px;gap:4px}
  .fast-reader-page-field input{padding:5px;width:58px;font-size:12px}
  .fast-reader-credits{display:none}
}
@media(prefers-reduced-motion:reduce){.fast-reader-modal,.lib-book{animation:none!important;transition:none!important}}

/* == Short reads == */
/* Short Reads V7 - full-height reading modal, condensed title, fixed navigation. */
.short-reader-modal { width:min(95vw,1240px); height:min(96dvh,1100px); }
.short-reader-layout { height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.short-reader-top { padding:9px 19px; display:flex; align-items:center; gap:16px; justify-content:space-between; background:linear-gradient(95deg,#6545bb,#a776e9); color:#fff; flex-shrink:0; }
.short-reader-heading { min-width:0; overflow:hidden; }
.short-reader-heading h2 { color:#fff; margin:0; font-size:clamp(18px,2.5vw,24px); line-height:1.2; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.short-reader-subtitle { display:block; margin-top:2px; font-size:12px; line-height:1.25; opacity:.96; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.short-reader-exit { background:white; color:#55359a; padding:9px 14px; border:2px solid #f4eafa; border-radius:12px; font-weight:900; font-size:14px; white-space:nowrap; cursor:pointer; }
.short-reader-tools { flex-shrink:0; padding:7px 19px; display:flex; gap:9px; align-items:center; background:#f0eafb; color:#65489d; font-size:13px; font-weight:800; }
.short-reader-tools-spacer { flex:1; }
.short-reader-tools .btn { min-width:49px; padding:6px 10px; font-size:14px; }
.short-reader-paper { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:clamp(18px,2.5vw,33px) clamp(20px,5vw,65px); margin:0; border:0; border-radius:0; background:#fffdf7; box-shadow:inset 0 2px 8px #6c538f10; font-family:Georgia,'Times New Roman',serif; line-height:1.72; color:#29334d; scrollbar-color:#ab8de2 #f3edf8; }
.short-reader-paper h3 { font:800 1.20em/1.35 'Trebuchet MS','Segoe UI',sans-serif; color:#6949a5; margin:0 0 1.15em; }
.short-reader-paper p { white-space:pre-wrap; margin:0 0 1.2em; max-width:78ch; }
.short-reader-footer { flex-shrink:0; background:#fff; border-top:2px solid #eee6f9; padding:9px 14px 8px; }
.short-reader-controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; }
.short-reader-controls .btn { padding:9px 14px; min-height:40px; font-size:14px; }
.short-reader-controls .btn[hidden] { display:none; }
.short-reader-status { font-size:12px; font-weight:800; color:#68529d; margin:6px 0 0; min-height:14px; text-align:center; }
@media(max-width:700px) {
 .short-reader-modal { width:100vw; height:100dvh; border-radius:0; }
 .short-reader-top { padding:8px 11px; }
 .short-reader-heading h2 { font-size:17px; }
 .short-reader-subtitle { font-size:11px; }
 .short-reader-exit { padding:8px 10px; font-size:12px; }
 .short-reader-tools { padding:6px 9px; gap:6px; font-size:12px; }
 .short-reader-tools .btn { min-width:42px; padding:5px 7px; }
 .short-reader-paper { padding:18px 19px; }
 .short-reader-controls { gap:6px; }
 .short-reader-controls .btn { font-size:12px; padding:8px; min-height:36px; }
}

/* V8 - illustrated story cards, in-chapter artwork, and comprehension practice. */
.book-cover { padding:0; min-height:214px; isolation:isolate; overflow:hidden; align-items:stretch; justify-content:flex-end; gap:0; }
.book-cover:before { display:none; }
.book-cover .short-card-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.book-cover:after { content:''; position:absolute; z-index:-1; inset:40% 0 0; background:linear-gradient(0deg,#282044d9 0%,#32246450 78%,transparent); }
.book-cover strong { color:white; position:relative; margin:0 18px 17px; font-size:1.30rem; text-shadow:0 2px 10px #33264c; text-align:center; }
.book-cover .cover-level { align-self:flex-end; background:#fff9; color:#4a3484; margin:12px 13px auto 0; padding:5px 11px; font-weight:900; }
.short-reader-paper .short-story-hero { display:flex; align-items:center; border-radius:22px; background:linear-gradient(112deg,#f2eaff,#fff4fa); padding:12px 16px; gap:20px; max-width:900px; margin:0 auto 22px; border:1px solid #e7d8fc; font-family:'Trebuchet MS','Segoe UI',sans-serif; }
.short-reader-paper .short-hero-cover { width:clamp(132px,24vw,270px); height:clamp(95px,15vw,153px); object-fit:cover; flex-shrink:0; border-radius:16px; box-shadow:0 6px 16px #7453a23b; }
.short-reader-paper .short-story-heading { min-width:0; }
.short-reader-paper .short-story-heading h3 { font-size:clamp(18px,2.2vw,26px); margin:4px 0 7px; color:#6442a0; }
.short-story-eyebrow { display:block; color:#8254b6; letter-spacing:2px; font-size:11px; font-weight:900; }
.short-story-instructions { display:block; color:#66627f; font-size:13px; font-weight:700; line-height:1.35; }
.short-reader-paper .short-story-text { max-width:74ch; margin:0 auto; }
.short-reader-paper .short-story-text p { margin:0 0 18px; line-height:1.72; }
.short-story-figure { max-width:770px; margin:22px auto 25px; padding:10px 10px 12px; border-radius:20px; background:#fff; border:1px solid #e3d9f0; box-shadow:0 8px 23px #5d418d1c; }
.short-story-figure .short-chapter-image { width:100%; height:auto; aspect-ratio:5/3; max-height:min(32vh,350px); object-fit:cover; border-radius:14px; display:block; }
.short-story-figure figcaption { margin:6px auto 0; color:#77678d; font:700 12px/1.4 'Trebuchet MS',sans-serif; text-align:center; }
.short-story-questions { margin:26px auto 0; max-width:810px; padding:21px 23px; background:linear-gradient(155deg,#f2e9ff,#e8f7fc); border:2px solid #d7c2f6; border-radius:23px; font-family:'Trebuchet MS','Segoe UI',sans-serif; }
.short-reader-paper .short-story-questions h3 { margin:0 0 6px; color:#6941a7; font-size:clamp(20px,2.8vw,27px); }
.short-quiz-intro { color:#62577b; font:700 14px/1.45 'Trebuchet MS',sans-serif; margin:0 0 14px!important; }
.short-quiz-loading,.short-quiz-count { color:#6a4a9a; font-size:13px; font-weight:800; }
.short-quiz-count { display:inline-block; padding:5px 12px; background:#fff; border-radius:999px; margin:0 0 13px; }
.short-quiz-card { background:#fff; border:1px solid #ded4f2; padding:15px 16px 12px; border-radius:16px; margin:0 0 12px; box-shadow:0 4px 14px #57437c0d; }
.short-quiz-card h4 { font-size:clamp(15px,1.6vw,18px); line-height:1.35; margin:0 0 11px; color:#3f3863; }
.short-quiz-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.short-quiz-choice { font:700 14px/1.4 'Trebuchet MS','Segoe UI',sans-serif; display:flex; gap:9px; text-align:left; align-items:flex-start; border:2px solid #e5def2; border-radius:12px; background:#faf9ff; color:#3f3b62; padding:10px 11px; cursor:pointer; min-height:49px; }
.short-quiz-choice:not(:disabled):hover,.short-quiz-choice:focus-visible { border-color:#8a6bd0; background:#f3edff; outline:none; }
.short-quiz-choice:disabled { cursor:default; opacity:.72; }
.short-quiz-letter { display:inline-grid; flex:none; place-items:center; width:24px; height:24px; border-radius:50%; background:#e6dcfc; color:#5e4295; font-weight:900; font-size:13px; }
.short-quiz-choice.is-right { background:#e8f9ee; border-color:#55b87a; opacity:1; }
.short-quiz-choice.is-right .short-quiz-letter { background:#65c784; color:#144e30; }
.short-quiz-choice.is-wrong { background:#fff2f2; border-color:#e3a1a8; }
.short-quiz-feedback { font:700 13px/1.45 'Trebuchet MS',sans-serif; color:#67567f; margin:9px 2px 0!important; min-height:18px; white-space:normal!important; }
.short-quiz-finish { background:#fff6bd; border-radius:12px; padding:12px; font:900 14px/1.4 'Trebuchet MS',sans-serif; color:#69520d; text-align:center; }
@media(max-width:700px) {
 .book-cover { min-height:185px; }
 .short-reader-paper .short-story-hero { gap:10px; padding:8px; margin-bottom:15px; border-radius:14px; }
 .short-reader-paper .short-hero-cover { width:108px; height:98px; border-radius:10px; }
 .short-story-instructions { font-size:11px; }
 .short-story-eyebrow { font-size:9px; letter-spacing:1px; }
 .short-reader-paper .short-story-heading h3 { font-size:16px; }
 .short-story-figure { margin:14px auto 19px; }
 .short-story-figure .short-chapter-image { max-height:230px; }
 .short-story-questions { padding:14px 10px; }
 .short-quiz-card { padding:12px 9px; }
 .short-quiz-choices { grid-template-columns:1fr; gap:7px; }
 .short-quiz-choice { padding:9px; }
}
@media(prefers-reduced-motion:reduce) { .short-quiz-choice { transition:none; } }

/* == Visual design == */
/* FAST Adventures V9 - genuine game-style presentation, actual HTML/CSS, not a baked mockup */
:root{--v9-purple:#5829bd;--v9-deep:#33136f;--v9-lilac:#bb8aff;--v9-pink:#ff76c9;--v9-blue:#4cb2ff;--v9-cream:#fffafa;--v9-text:#35245b}
body{font-family:'Trebuchet MS','Segoe UI',Verdana,sans-serif;color:var(--v9-text)}
body:not(.parent-zone)::before{background:linear-gradient(180deg,rgba(30,41,117,.05),rgba(228,181,255,.07) 35%,rgba(24,20,83,.12));}
.app-shell{width:min(1500px,97vw);position:relative;z-index:1}
/* Glossy top game bar: shared by ALL child screens */
.topbar{min-height:83px;margin:10px auto 18px;padding:9px 16px;border:3px solid #f6d3ff;border-radius:28px;background:linear-gradient(180deg,#a75bea 0%,#7541d6 46%,#5422ae 100%);box-shadow:0 5px 0 #3e168d,0 13px 29px #2a126d80,inset 0 3px 0 #ffffff9c;display:flex;gap:12px;align-items:center;justify-content:space-between;position:relative;z-index:5}
.topbar .brand{font-size:clamp(19px,2.2vw,29px);font-weight:1000;line-height:1.06;color:white!important;text-shadow:0 3px 0 #48239f,0 4px 10px #190955;letter-spacing:-.8px;flex-shrink:0;text-decoration:none;max-width:290px}
.brand strong{color:#ffe66e;text-shadow:0 2px 0 #6e2e97}.brand-sun{font-size:1.2em}
.app-nav{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.app-nav>a:not(.parents-link),.app-nav>a.parents-link{display:inline-flex;align-items:center;justify-content:center;border:2px solid #e2b7ff!important;min-height:43px;padding:8px 13px!important;border-radius:17px!important;background:linear-gradient(180deg,#9b79ed,#6b3bbf)!important;box-shadow:inset 0 2px 0 #ffffff78,0 4px 0 #482188;color:#fff!important;font-weight:1000;text-shadow:0 1px 2px #2f185e;text-decoration:none;font-size:clamp(11px,.95vw,14px)!important;transition:transform .15s,filter .15s}
.app-nav>a[aria-current='page'],.app-nav>a:hover{background:linear-gradient(180deg,#ffd665,#f7a932)!important;color:#45225e!important;text-shadow:none!important;border-color:#fff1b7!important;transform:translateY(-1px)}
.app-nav>a.parents-link{background:linear-gradient(180deg,#fff,#dcd2ff)!important;color:#482894!important;text-shadow:none!important}
.app-nav>a:focus-visible,.btn:focus-visible,.world-main-card:focus-visible{outline:3px solid #ffef66;outline-offset:3px}
.site-footer{background:#4a2398de;color:#fff9e9;font-weight:800;text-shadow:0 1px 2px #39117f;border:2px solid #d8bdff;box-shadow:0 7px 0 #432189}
/* Homepage, close to the supplied illustrated reference */
.world-home{border:4px solid #e9d1ff;border-radius:32px;background:linear-gradient(180deg,#9a69e16b,#ffffff15 48%,#482bad25);padding:22px;box-shadow:0 12px 0 #5b269d6b,0 24px 55px #29176775}
.world-welcome{margin-bottom:14px}.world-kicker{background:linear-gradient(#fffce4,#ffe1a0);border:2px solid #f8f2cf;color:#64339d;box-shadow:0 3px 0 #c99477}
.world-welcome h1{font-size:clamp(37px,4vw,65px);color:#fff3a8;text-shadow:-3px -3px 0 #5425a9,3px 3px 0 #5425a9,0 7px 0 #401a81,0 10px 20px #250a57;font-weight:1000}
.world-intro{color:#fff;text-shadow:0 2px 4px #321065,0 0 10px #351673;font-size:1.17rem}
.world-stage{grid-template-columns:minmax(150px,22%) minmax(0,1fr);align-items:stretch;gap:18px}
.world-pet{justify-content:end;min-height:300px;filter:drop-shadow(0 15px 10px #34205b60)}.world-pet img{height:260px}.world-pet strong{background:linear-gradient(#b282f6,#6739c9);font-size:1.18rem}
.world-actions{align-items:stretch;gap:15px;margin:0}.world-main-card{min-height:295px;border-radius:30px;border:4px solid #fff8ef;box-shadow:0 8px 0 #532e92,0 17px 23px #2411676b,inset 0 5px 5px #fff9, inset 0 -6px 14px #41277a3d;overflow:hidden}
.world-main-card:before{content:'';position:absolute;left:6%;right:6%;top:4%;height:42%;background:linear-gradient(#ffffff75,#ffffff00);border-radius:45% 45% 35% 35%;pointer-events:none}
.world-main-card.reading{background:linear-gradient(160deg,#ffaadd,#f45caf 52%,#c925a2)}.world-main-card.math{background:linear-gradient(160deg,#95e9ff,#2faaf2 50%,#0860c8)}.world-main-card.books{background:linear-gradient(160deg,#b6fd95,#4ed475 52%,#179d75)}
.world-main-card strong{font-size:clamp(29px,3vw,43px);text-shadow:0 4px 0 #4e258a77,0 6px 7px #21104966;color:#fffdf8;z-index:1}.world-card-icon{font-size:clamp(66px,7.5vw,118px);filter:drop-shadow(0 5px 3px #532d8777);z-index:1}
.world-main-card small{z-index:1;font-size:.92rem}.world-card-cta{background:linear-gradient(#fffde7,#ffd986);border:2px solid #fff8dc;color:#62308d;z-index:1;box-shadow:0 4px 0 #b87553}
.world-extra{border:3px solid #fff;border-radius:22px;background:linear-gradient(160deg,#f5eaff,#c8acff)!important;box-shadow:0 5px 0 #6335a3,0 11px 22px #28126066;color:#4c218a;padding:14px 7px}.world-extra:nth-child(2){background:linear-gradient(#d9f2ff,#7fcbff)!important}.world-extra:nth-child(3){background:linear-gradient(#fcdbfc,#ffb3d9)!important}.world-extra:nth-child(4){background:linear-gradient(#fff0ab,#ffc85f)!important}
.world-progress,.world-setup{border:3px solid #e4bdff;box-shadow:0 6px 0 #9b72ce,0 11px 25px #29186555;background:#fefafff5}.world-progress h2,.world-setup h2{color:#6328b6}
/* Shared playful paper panels on all secondary screens */
.books-hero,.lib-hero,.world-heading,.pet-main .books-hero{border:3px solid #eac9ff!important;background:linear-gradient(130deg,#924ee5,#6f3bd0 52%,#dc68cc)!important;box-shadow:0 7px 0 #552c9c,0 14px 28px #2b135f6a!important;color:#fff!important;padding:20px 30px!important;border-radius:25px!important}
.books-hero h1,.lib-hero h1,.world-heading h1{color:#fff9da!important;text-shadow:0 2px 0 #4d208c,0 4px 8px #3a196e;margin:2px 0 6px;font-size:clamp(28px,3vw,43px)}
.books-hero p,.lib-hero p,.world-heading p{color:#fff9f9!important;font-weight:800}
.books-hero-icon{font-size:55px}.world-heading{margin:12px auto 18px}
.books-profile,.lib-profile,.books-home-promo,.pet-chooser,.theme-toolbar,.theme-action,.lib-filter{border:3px solid #d9b8ff!important;border-radius:20px!important;background:#fffaffed!important;box-shadow:0 6px 0 #b79be6,0 12px 24px #25125b43!important}
.books-profile,.lib-profile{padding:11px 20px!important;margin:16px 0!important}
.book-filter,.lib-filter .btn{box-shadow:0 3px 0 #8861c8!important;border:2px solid #a98ad9!important}
.book-filter.active,.lib-filter-active{background:linear-gradient(#a66bf0,#6133bf)!important;color:#fff!important}
.books-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:20px}
.book-card,.lib-book,.pet-choice,.theme-choice,.question-card,.reading-panel,.result-card,.history-card,.sheet{border:3px solid #ebd6ff!important;border-radius:23px!important;background:#fffefa!important;box-shadow:0 7px 0 #bda3ea,0 15px 29px #3d218a45!important;overflow:hidden}
.book-card{transition:transform .15s}.book-card:hover,.pet-choice:hover,.theme-choice:hover{transform:translateY(-3px)}
.book-card .book-cover{border-bottom:3px solid #d0aeff}.book-card-info{padding:13px 16px 8px}.book-summary{min-height:45px}.book-card>.btn{margin:10px 15px 16px}
.btn{font-weight:1000;border-radius:15px!important;box-shadow:0 3px 0 #6a47a080;transition:transform .15s,filter .15s}
.btn.primary{background:linear-gradient(180deg,#b884f8,#7140d0);border:2px solid #f1d8ff;color:white}
.btn.coral{background:linear-gradient(180deg,#ffbd69,#ff7c76);border:2px solid #ffe8b8;color:#4a2265}
.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}
.quiz-top{background:linear-gradient(#ac79f7,#6235bf);padding:14px 22px;margin:15px auto;border-radius:22px;border:3px solid #f2d7ff;box-shadow:0 6px 0 #4d258f}.quiz-title,.progress-label{color:white!important;text-shadow:0 2px #4d248d}.quiz-layout{align-items:stretch;margin-top:20px}.reading-panel{background:#fffdf6!important}.reading-panel .passage-body{font-family:Georgia,serif;font-size:1.09rem}.question-card{padding:26px}.question-text{color:#3e2765}.choice{border:2px solid #d9c8f2;background:#fff9ff;box-shadow:0 2px 0 #e4d3fa}.choice.is-picked{background:#f4e4ff;border-color:#934ee0}.choice .letter{background:#dac2ff;color:#542da0}
.result-card,.history-card{padding:32px}
.pet-grid,.theme-grid{gap:14px}.theme-thumb{border:2px solid #fff;box-shadow:0 3px 0 #9f7cc6}.theme-choice{padding:7px!important}
/* Real PDF reader retained; visual presentation matches children's modal */
.fast-reader-modal,.short-reader-modal{border:4px solid #d3a3ff!important;border-radius:25px!important;box-shadow:0 0 0 3px #512e9a,0 28px 85px #10073cb0!important;background:#f7f0ff!important}
.fast-reader-modal::backdrop,.short-reader-modal::backdrop{background:rgba(28,11,70,.78);backdrop-filter:blur(5px)}
.fast-reader-modal-header,.short-reader-top{background:linear-gradient(180deg,#a066ef,#7b42d5 55%,#50259f)!important;border-bottom:3px solid #c49bff;color:#fff}
.fast-reader-modal .fast-close-reader,.short-reader-exit{border:2px solid #f5e6ff!important;background:linear-gradient(#fff,#efdbff);color:#56289d;box-shadow:0 3px 0 #9a72c8}
.fast-reader-extra,.short-reader-footer{background:linear-gradient(#e1c6ff,#c7a0f5);border-top:3px solid #a670d6}
.fast-reader-status,.short-reader-status{color:#4c218c}
/* Short Reads: reference layout - a real sidebar, wide reader and full-photo content */
.short-reader-modal{width:min(98vw,1580px)!important;height:min(97dvh,1100px)!important}
.short-reader-layout{display:flex;flex-direction:column;min-height:0}
.reader-v9-content{flex:1;min-height:0;display:grid;grid-template-columns:218px minmax(0,1fr);overflow:hidden;background:#fff8ff}
.reader-v9-sidebar{min-height:0;overflow-y:auto;padding:12px 10px;background:linear-gradient(175deg,#f2ddff,#e5d7ff);border-right:3px solid #c7a7eb}
.reader-v9-sidebar h3{color:#572b9d;font-size:1.04rem;margin:4px 5px 12px}.reader-v9-switch{display:flex;width:100%;align-items:center;gap:8px;padding:6px;margin:0 0 8px;text-align:left;border:2px solid #dbc6f2;border-radius:15px;background:#fff;color:#3f2668;font:900 .76rem/1.2 'Trebuchet MS',sans-serif;cursor:pointer;min-height:61px;box-shadow:0 3px 0 #bd9ee4}
.reader-v9-switch img{height:48px;width:55px;flex:none;object-fit:cover;border-radius:9px}.reader-v9-switch.is-current{background:#fff0a4;border-color:#d697f4}.reader-v9-switch:hover{border-color:#9b60ed;background:#fff2ff}
.reader-v9-main{min-height:0;display:flex;flex-direction:column;overflow:hidden}
.reader-v9-main .short-reader-paper{border:0;border-radius:0;flex:1;background:#fffdfb;min-height:0;max-width:none;width:100%;padding:18px clamp(19px,3vw,44px);box-shadow:none;font-family:'Trebuchet MS','Segoe UI',sans-serif}
.reader-v9-main .short-reader-paper h3{font-family:'Trebuchet MS',sans-serif}
.short-reader-paper .short-story-hero{max-width:none;margin:0 0 19px;gap:15px;background:linear-gradient(110deg,#ffeefc,#eef5ff);border:2px solid #ead4fa}
.short-reader-paper .short-hero-cover{width:clamp(165px,29vw,320px);height:clamp(135px,18vw,215px);object-fit:cover}
.short-story-photo-credit{font:700 11px/1.5 'Trebuchet MS',sans-serif;color:#785e94;text-align:center;margin-top:6px}
.short-reader-paper .short-story-text{max-width:78ch;margin:0 auto}.short-reader-paper .short-story-text p{font-size:1em;line-height:1.65;color:#2e2350}
.short-story-figure{max-width:840px;margin:12px auto 17px;padding:8px;border:2px solid #e4d0f7;background:#fff}
.short-story-figure .short-chapter-image{max-height:360px;aspect-ratio:16/9;object-fit:cover}
.short-story-questions{background:linear-gradient(120deg,#f2e0ff,#fff0f9);border:3px solid #d4b2f3;border-radius:20px;max-width:900px}
.short-quiz-card{border:2px solid #e5d0fb}.short-quiz-choice{border-radius:14px;background:#fffeff;border:2px solid #dec6fa}.short-quiz-choice:focus-visible{outline:3px solid #f0bc38}
.short-reader-footer{padding:8px 12px}.short-reader-controls .btn{font-size:14px}
.short-reader-tools{background:#eadbff}
.short-reader-heading h2{font-size:clamp(18px,2vw,25px)}
/* parent area gets matching colors, but original PIN logic remains untouched */
body.parent-zone{background:linear-gradient(#d9e4ff,#f3e4ff 42%,#fff4ec);min-height:100vh}
.parent-zone .topbar{max-width:1150px}.parent-zone .sheet{background:#fffefa!important}.parent-zone .parent-layout{max-width:1050px}.parent-zone .parent-layout label{color:#4b2e83;font-weight:900}.parent-zone .parent-layout input,.parent-zone .parent-layout select,.parent-zone .parent-layout textarea{border:2px solid #dac0f1;border-radius:13px}.parent-zone .parent-layout h1{color:#5b2db2}
.parent-zone .manage-book{padding:15px;border:2px solid #e6d4f7;border-radius:17px;margin-bottom:15px;background:#fff8ff}
@media(max-width:1120px){.app-nav>a:not(.parents-link),.app-nav>a.parents-link{font-size:11px!important;min-height:37px;padding:6px 8px!important}.topbar .brand{max-width:195px}.books-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.world-pet img{height:200px}.world-main-card{min-height:250px}}
@media(max-width:760px){.app-shell{width:97vw}.topbar{margin:7px auto 12px;padding:9px;flex-direction:column}.topbar .brand{max-width:none}.app-nav{justify-content:center}.world-stage{grid-template-columns:1fr}.world-pet{min-height:80px;flex-direction:row;align-items:center;justify-content:center}.world-pet img{height:90px;width:90px}.world-actions{gap:8px}.world-main-card{min-height:185px}.world-card-icon{font-size:54px}.world-main-card strong{font-size:25px}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-v9-content{grid-template-columns:1fr}.reader-v9-sidebar{display:flex;flex-wrap:nowrap;overflow:auto;max-height:90px;min-height:90px;padding:9px 8px;border-right:0;border-bottom:2px solid #c7a7eb;align-items:center;gap:6px}.reader-v9-sidebar h3{display:none}.reader-v9-switch{flex:0 0 145px;margin:0;min-height:65px;font-size:.7rem}.reader-v9-switch img{height:44px;width:43px}.short-reader-modal{height:100dvh!important;width:100vw!important;border-radius:0!important}.short-reader-paper .short-story-hero{flex-direction:column;align-items:stretch}.short-reader-paper .short-hero-cover{width:100%;height:130px}.short-story-instructions{font-size:11px}.short-reader-paper .short-story-text p{font-size:1em}.short-reader-footer{padding:6px}.short-reader-controls{gap:5px}.short-reader-controls .btn{font-size:12px;padding:6px 8px}}
@media(max-width:520px){.app-nav>a:not(.parents-link),.app-nav>a.parents-link{font-size:10px!important;padding:5px 7px!important;min-height:35px}.world-main-card{min-height:120px}.world-actions{grid-template-columns:1fr}.world-main-card{grid-template-columns:80px 1fr}.world-main-card strong{font-size:30px}.books-grid{grid-template-columns:1fr}.books-profile{flex-wrap:wrap}.world-progress-chips{justify-content:center}.theme-grid{grid-template-columns:repeat(2,1fr)}.short-reader-top{padding:7px 8px}.short-reader-heading h2{font-size:17px}.reader-v9-sidebar{max-height:78px;min-height:78px}.reader-v9-switch{min-height:55px;flex-basis:130px}.reader-v9-switch img{width:39px;height:39px}}
@media(prefers-reduced-motion:reduce){.world-main-card,.world-pet img,.book-card{transition:none!important;animation:none!important}}

/* V10.3 - Parent tools: no overlapping buttons; use two tidy responsive cards. */
.parent-zone .parent-admin-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin:16px 0 18px}
.parent-zone .parent-admin-actions>.btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 290px;max-width:460px;min-height:54px;margin:0;padding:12px 17px;line-height:1.3;text-align:center;text-decoration:none;white-space:normal;box-sizing:border-box}
.parent-zone .mini-stat-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;align-items:center}
.parent-zone .mini-stat-row .stat-chip{margin:0}
@media(max-width:650px){.parent-zone .parent-admin-actions{gap:10px}.parent-zone .parent-admin-actions>.btn{flex:1 1 100%;max-width:none;min-height:48px;padding:10px 12px;font-size:.94rem}}

/* == Compact layout == */
/* FAST Adventures V10.1 - compact, fast, child-first interface. Override previous spacing only. */
:root{--v10-gap:9px}
html{scroll-padding-top:10px}
.app-shell{width:min(1500px,98vw)!important}
.topbar{min-height:53px!important;max-height:none!important;margin:6px auto 10px!important;padding:5px 10px!important;gap:9px!important;border-radius:18px!important;border-width:2px!important;box-shadow:0 3px 0 #3e168d,0 8px 16px #2a126d55,inset 0 2px 0 #ffffff90!important}
.topbar .brand{font-size:clamp(17px,1.65vw,22px)!important;max-width:none!important;letter-spacing:-.6px!important;line-height:1.06!important}
.app-nav{flex:1;min-width:0;display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-end;gap:5px!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d9beff transparent;overscroll-behavior-x:contain;padding:2px 1px 5px}
.app-nav>a:not(.parents-link),.app-nav>a.parents-link{flex:0 0 auto;min-height:36px!important;padding:6px 9px!important;font-size:clamp(10px,.81vw,13px)!important;border-radius:12px!important;border-width:1.5px!important;white-space:nowrap;box-shadow:inset 0 2px 0 #ffffff78,0 2px 0 #482188!important}
.site-footer{display:block!important;width:100%!important;max-width:770px!important;box-sizing:border-box!important;padding:9px 12px!important;margin:16px auto 10px!important;text-align:center!important;line-height:1.45!important;border-radius:13px!important;font-size:.75rem!important}
/* Headings: one compact banner, not three rows of introductory content. */
.books-hero,.lib-hero,.world-heading,.pet-main .books-hero{margin:5px 0 10px!important;min-height:74px!important;padding:10px 18px!important;border-width:2px!important;border-radius:18px!important;box-shadow:0 4px 0 #552c9c,0 7px 17px #2b135f55!important;gap:12px!important}
.books-hero h1,.lib-hero h1,.world-heading h1{font-size:clamp(23px,2.3vw,32px)!important;margin:0!important;line-height:1.12!important;letter-spacing:-.5px!important}
.books-hero .eyebrow,.books-hero-icon,.lib-kicker,.world-kicker{display:none!important}
.books-hero p,.lib-hero p,.world-heading p{font-size:.83rem!important;margin:3px 0 0!important;line-height:1.2!important}
.books-hero-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:8px 13px!important;font-size:.83rem!important;text-decoration:none!important;min-height:35px}
/* Short Reads: cards are visible within the first screen on desktop. */
.books-home-promo{display:none!important}
.books-profile,.lib-profile{padding:6px 12px!important;margin:7px 0 7px!important;min-height:48px!important;border-width:2px!important;border-radius:15px!important;box-shadow:0 3px 0 #b79be6!important;gap:9px!important}
.books-profile strong{font-size:.91rem!important}.books-profile .tiny{display:none!important}
.reader-form{align-items:center;gap:6px!important}.reader-form input,.lib-profile input{height:34px!important;width:170px!important;min-width:105px!important;font-size:.87rem!important;padding:5px 9px!important;margin:0!important}.reader-form .btn,.lib-profile .btn{padding:7px 11px!important;min-height:35px!important;font-size:.8rem}
.books-overview{margin:5px 3px!important;font-size:.83rem!important;line-height:1.15!important}
.book-filters{margin:7px 0 9px!important;gap:6px!important}.book-filter{padding:6px 11px!important;font-size:.81rem!important}
.books-grid{margin-top:7px!important;row-gap:14px!important}.book-card-info{padding-top:10px!important}
/* Large PDF library: title, one small profile row, search and books immediately below. */
.lib-profile label{margin:0!important;font-size:.84rem!important;white-space:nowrap}.lib-filter{padding:7px 10px!important;margin:6px 0!important;gap:7px!important;border-width:2px!important;border-radius:14px!important;box-shadow:0 3px 0 #b79be6!important}.lib-filter input{margin:0!important;min-height:36px!important;padding:6px 10px!important}.lib-filter .btn{padding:7px 11px!important;min-height:35px!important;font-size:.83rem!important}.lib-hint{font-size:.77rem!important;margin:5px 2px 8px!important}.lib-shelf{margin-top:7px!important}
/* Backgrounds and pets: the choices are now the primary content, not the header. */
.theme-toolbar{padding:9px 13px!important;margin:8px 0!important;gap:8px!important;border-width:2px!important}.theme-toolbar label{font-size:.85rem!important}.theme-toolbar select{max-width:310px!important;margin:0!important;padding:6px 10px!important;min-height:35px!important}
.theme-grid,.pet-grid{margin-top:10px!important;gap:11px!important}.theme-action,.pet-chooser{padding:11px 14px!important;margin:11px auto!important;border-width:2px!important}
.pet-main .books-hero h1{font-size:clamp(23px,2.3vw,32px)!important}
/* Home: show the adventures early without losing the playful look. */
.world-home{padding:13px 16px!important;border-radius:23px!important;border-width:3px!important}
.world-welcome{margin-bottom:7px!important}.world-welcome h1{font-size:clamp(30px,3.2vw,45px)!important;line-height:1.08!important;margin:4px 0 2px!important}
.world-kicker{padding:3px 9px!important;font-size:.72rem!important}.world-intro{font-size:.92rem!important;line-height:1.24!important;margin-bottom:9px!important}
.world-stage{gap:11px!important;grid-template-columns:minmax(115px,17%) minmax(0,1fr)!important}.world-pet{min-height:165px!important}.world-pet img{height:185px!important;max-width:100%!important}
.world-actions{gap:10px!important}.world-main-card{min-height:220px!important;border-radius:23px!important;padding:12px!important}.world-card-icon{font-size:clamp(50px,5.2vw,80px)!important}.world-main-card strong{font-size:clamp(25px,2.5vw,34px)!important}.world-main-card small{font-size:.77rem!important}
.world-extra{padding:9px 6px!important;border-radius:15px!important;font-size:.85rem!important}.world-progress{padding:10px 14px!important;margin:10px auto 0!important}.world-progress h2{font-size:1.05rem!important;margin:0 0 5px!important}.world-parent-row{margin-top:10px!important}.home-bottom{margin:10px 0 0!important}
/* Practice screens: reduce blank gap before question without reducing readability. */
.quiz-top{padding:7px 14px!important;margin:6px 0 8px!important;border-radius:15px!important;box-shadow:0 3px 0 #4d258f!important}
.quiz-title{font-size:1.25rem!important;margin:0!important}.quiz-layout{margin-top:9px!important;gap:12px!important}.question-card{padding:19px!important}.reading-panel{padding:18px!important}
@media(max-width:1100px){.topbar{display:flex!important;flex-direction:row!important}.topbar .brand{flex:0 0 auto;max-width:180px!important}.world-main-card{min-height:187px!important}.world-pet img{height:150px!important}}
@media(max-width:760px){.app-shell{width:98vw!important}.topbar{flex-direction:column!important;align-items:stretch!important;min-height:0!important;margin:4px auto 9px!important;padding:5px 7px!important;gap:3px!important;border-radius:14px!important}.topbar .brand{font-size:18px!important;text-align:center;max-width:none!important}.app-nav{width:100%!important;justify-content:flex-start!important;min-height:41px!important;gap:5px!important}.app-nav>a:not(.parents-link),.app-nav>a.parents-link{font-size:11px!important;min-height:35px!important;padding:5px 9px!important}.books-hero,.lib-hero,.world-heading,.pet-main .books-hero{padding:9px 12px!important;min-height:61px!important;border-radius:14px!important}.books-hero p,.lib-hero p,.world-heading p{display:none!important}.books-hero h1,.lib-hero h1,.world-heading h1{font-size:24px!important}.books-hero-action{font-size:.72rem!important;padding:6px 8px!important}.books-profile{gap:6px!important}.books-profile strong{display:none!important}.reader-form input,.lib-profile input{min-width:100px!important;width:134px!important}.reader-form .btn,.lib-profile .btn{font-size:.72rem!important;padding:6px 9px!important}.books-overview{font-size:.73rem!important}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.book-card-info{padding:9px!important}.book-summary{min-height:0!important}.book-cover{min-height:150px!important}.lib-profile{flex-wrap:wrap!important}.world-home{padding:9px!important}.world-stage{grid-template-columns:1fr!important}.world-pet{flex-direction:row!important;min-height:70px!important;justify-content:center!important}.world-pet img{height:85px!important;width:90px!important}.world-welcome h1{font-size:30px!important}.world-main-card{min-height:140px!important}.world-card-icon{font-size:52px!important}.world-main-card strong{font-size:25px!important}.world-actions{gap:8px!important}.world-progress{padding:8px!important}.world-progress-chips{justify-content:center}.question-card{padding:14px!important}.reading-panel{padding:14px!important}.site-footer{font-size:.64rem!important}}
@media(max-width:480px){.books-profile{justify-content:flex-end!important}.books-profile .reader-form{width:100%;justify-content:space-between}.books-hero-action{max-width:145px!important;text-align:center;line-height:1.1}.book-cover{min-height:123px!important}.book-cover strong{font-size:.98rem!important}.book-card .btn{margin:5px 8px 10px!important;font-size:.76rem!important;padding:7px!important}.book-summary{font-size:.76rem!important;line-height:1.25!important}.world-main-card{min-height:115px!important}.world-main-card strong{font-size:22px!important}}

/* == Six selected themes == */
/* FAST Adventures V10.2: six curated, beautiful local wallpapers. */
.theme-page{max-width:1320px;margin:0 auto}
.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important;margin:10px auto 12px!important}
.theme-choice{position:relative;padding:7px!important;border:3px solid #f5eaff!important;border-radius:19px!important;background:linear-gradient(#fff,#f8f2ff)!important;box-shadow:0 4px 0 #b18bde,0 9px 22px #29216c38!important;cursor:pointer}
.theme-choice.theme-selected{border-color:#ffca46!important;box-shadow:0 4px 0 #e8a527,0 8px 25px #39218c55!important}
.theme-thumb{aspect-ratio:16/9!important;min-height:0!important;border-radius:13px!important;background-size:cover!important;background-position:center!important;box-shadow:inset 0 0 0 2px #ffffffcc!important}
.theme-title{font-size:clamp(.93rem,1.2vw,1.13rem)!important;margin:7px 7px 0!important}
.theme-tag{font-size:.75rem!important;margin:3px 7px 6px!important}
.theme-choice.theme-selected:after{content:'\2713';position:absolute;top:14px;right:14px;display:grid;place-items:center;width:33px;height:33px;border:3px solid white;background:#17ad51;color:white;border-radius:100%;font-size:21px;font-weight:900;box-shadow:0 3px 8px #1b285c6b}
.theme-toolbar{max-width:1000px!important;margin:8px auto 12px!important;padding:9px 13px!important;flex-wrap:wrap;justify-content:center}.theme-toolbar #save-theme{font-size:.85rem!important;padding:10px 16px!important;white-space:nowrap}.theme-toolbar select{min-width:240px}
.themes-local-note{text-align:center;font-size:.76rem;font-weight:800;color:#56318b;background:#fff9f0e3;border:1px solid #e0cafa;border-radius:40px;max-width:390px;padding:5px 9px;margin:0 auto 5px!important}
.theme-action{padding:6px 13px!important;margin:10px auto 17px!important;max-width:700px!important}
.theme-action p{font-size:.79rem!important;margin-top:5px!important}
@media(max-width:850px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}
@media(max-width:480px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.theme-thumb{aspect-ratio:4/3!important}.theme-choice{padding:4px!important}.theme-title{font-size:.78rem!important}.theme-tag{font-size:.66rem!important}.theme-choice.theme-selected:after{width:23px;height:23px;font-size:15px;top:8px;right:8px}.theme-toolbar{padding:7px 10px!important}}

/* V11 visual repairs: parent actions, centered footers and responsive controls. */
.parent-zone .parent-admin-actions {display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;margin:18px 0 20px;}
.parent-zone .parent-admin-actions > .btn {position:relative !important;display:flex !important;align-items:center !important;justify-content:center !important;flex:none !important;width:100% !important;max-width:none !important;min-width:0 !important;min-height:60px !important;margin:0 !important;padding:12px 17px !important;text-align:center !important;line-height:1.35 !important;white-space:normal !important;overflow-wrap:break-word;text-decoration:none;box-sizing:border-box !important;}
.parent-zone .parent-admin-actions > .btn:hover {transform:translateY(-1px);}
.site-footer {display:block !important;float:none !important;clear:both !important;position:relative !important;left:auto !important;right:auto !important;transform:none !important;width:min(100%,770px) !important;max-width:770px !important;margin:16px auto 12px !important;padding:10px 16px !important;text-align:center !important;box-sizing:border-box !important;}
.site-footer::before,.site-footer::after {content:none !important;}
@media(max-width:680px){.parent-zone .parent-admin-actions{grid-template-columns:minmax(0,1fr);gap:11px;}.parent-zone .parent-admin-actions > .btn {min-height:51px !important;padding:10px 12px !important;font-size:.94rem !important;} .site-footer{font-size:.68rem !important;}}

/* V11.2 - Centered Math / Reading setup dialog. */
body.mission-modal-open {
  overflow: hidden !important;
}
.mission-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(35, 20, 83, .70);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.mission-modal-backdrop .mission-modal {
  width: min(100%, 625px);
  max-width: 625px;
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  margin: 0 !important;
  padding: 21px 25px 24px;
  border: 4px solid #fff7df;
  border-radius: 27px;
  background: linear-gradient(170deg, #fffdfc 0%, #f7ecff 100%);
  box-shadow: 0 12px 0 #58319c, 0 25px 70px #120d33a8;
}
.mission-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 17px;
}
.mission-modal-header .mission-modal-title {
  margin: 0;
  color: #6335b8;
  font-size: clamp(1.45rem, 3vw, 1.95rem);
  text-align: left;
}
.mission-modal-x {
  flex: 0 0 auto;
  border: 2px solid #dfcfff;
  border-radius: 50%;
  width: 43px;
  height: 43px;
  padding: 0;
  color: #623da3;
  background: #fff;
  font-size: 1.15rem;
}
.mission-modal .setup-grid { gap: 17px; }
.mission-modal .hint {
  font-size: .89rem;
  font-weight: 700;
  text-align: center;
  margin: 15px 0 5px;
}
.mission-modal .start-row {
  margin-top: 17px;
}
.mission-modal-error {
  margin-top: 12px;
  padding: 10px 13px;
  border-radius: 13px;
  background: #fff0f2;
  color: #a83250;
  font-weight: 800;
  text-align: center;
}
.mission-modal-error[hidden] { display: none; }
@media (max-width: 560px) {
  .mission-modal-backdrop { padding: 12px; }
  .mission-modal-backdrop .mission-modal {
    max-height: calc(100dvh - 24px);
    padding: 16px 17px 20px;
    border-radius: 22px;
  }
  .mission-modal .setup-grid { grid-template-columns: 1fr; gap: 12px; }
  .mission-modal .start-row .btn { min-width: 0; padding: 11px 14px; }
}


/* ==========================================================================
   V11.4 - Spacious reading modals; all controls in the title bar.
   PDFs keep their native viewer controls; Short Reads keep chapter navigation.
   No database or PHP behavior changes.
   ========================================================================== */
.fast-reader-modal {
  width: min(99vw, 1740px);
  height: min(98dvh, 1200px);
}
.fast-reader-modal .fast-reader-layout,
.short-reader-modal .short-reader-layout {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.fast-reader-modal .fast-reader-modal-header,
.short-reader-modal .short-reader-top {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto auto;
  align-items: center;
  gap: 9px;
  flex: none;
  padding: 8px 12px;
}
.fast-reader-modal-heading,
.short-reader-heading {
  min-width: 0;
  overflow: hidden;
}
.fast-reader-modal-heading h2,
.short-reader-heading h2 {
  font-size: clamp(16px, 1.5vw, 21px);
  line-height: 1.2;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.fast-reader-byline,
.short-reader-subtitle {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 11px;
}
.reader-header-status,
.short-reader-status {
  display: block;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  font-size: 10px;
  line-height: 1.2;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff3c4 !important;
}
.fast-reader-header-controls,
.short-reader-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
}
.fast-reader-nav,
.fast-reader-buttons,
.short-reader-controls,
.short-reader-tools {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  min-width: 0;
}
.fast-reader-header-controls .btn,
.short-reader-header-actions .btn {
  min-height: 32px;
  padding: 5px 8px;
  border-radius: 11px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  white-space: nowrap;
}
.fast-reader-header-controls .fast-reader-page-field {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #fff;
  white-space: nowrap;
}
.fast-reader-header-controls .fast-reader-page-field input {
  width: 52px;
  padding: 4px 3px;
  font-size: 12px;
  min-height: 30px;
}
.fast-reader-modal .fast-close-reader,
.short-reader-modal .short-reader-exit {
  justify-self: end;
  flex: 0 0 auto;
  padding: 6px 10px;
  min-height: 33px;
  font-size: 12px;
}
.fast-reader-modal .fast-reader-display {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.fast-reader-modal .fast-reader-frame {
  display: block;
  width: 100%;
  height: 100%;
  flex: 1;
  min-height: 0;
  border: 0;
}
.short-reader-header-actions .short-reader-counter {
  color: #fff;
  font-size: 11px;
  white-space: nowrap;
}
.short-reader-header-actions .short-reader-tools {
  gap: 4px;
}
.short-reader-modal .reader-v9-content {
  flex: 1 1 auto;
  min-height: 0;
}
.short-reader-modal .reader-v9-main,
.short-reader-modal .short-reader-paper {
  min-height: 0;
}
/* At narrower widths, wrap controls in the HEADER, never below the book. */
@media (max-width: 1250px) {
  .fast-reader-modal .fast-reader-modal-header,
  .short-reader-modal .short-reader-top {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: 'heading close' 'controls controls';
    row-gap: 5px;
  }
  .fast-reader-modal-heading,
  .short-reader-heading { grid-area: heading; }
  .fast-reader-header-controls,
  .short-reader-header-actions {
    grid-area: controls;
    justify-content: center;
  }
  .fast-reader-modal .fast-close-reader,
  .short-reader-modal .short-reader-exit { grid-area: close; }
}
@media (max-width: 640px) {
  .fast-reader-modal,
  .short-reader-modal {
    height: 100dvh !important;
    width: 100vw !important;
    border-radius: 0 !important;
  }
  .fast-reader-modal .fast-reader-modal-header,
  .short-reader-modal .short-reader-top {
    padding: 5px 6px;
    gap: 4px;
  }
  .fast-reader-header-controls,
  .short-reader-header-actions {
    gap: 4px;
    flex-wrap: wrap;
  }
  .fast-reader-header-controls .btn,
  .short-reader-header-actions .btn {
    min-height: 30px;
    padding: 5px 6px;
    font-size: 10px;
  }
  .fast-reader-header-controls .fast-reader-page-field {
    gap: 2px;
    font-size: 10px;
  }
  .fast-reader-header-controls .fast-reader-page-field input {
    width: 43px;
  }
  .reader-header-status,
  .short-reader-status { font-size: 9px; }
}

/* Voice replay and mute buttons stay inside the floating mascot widget. */
.buddy-widget{max-width:255px}.buddy-widget .buddy-sound{flex:0 0 auto;min-width:28px;min-height:28px}@media(max-width:720px){.buddy-widget{max-width:155px}.buddy-widget .buddy-sound{min-width:24px;min-height:24px;padding:3px}}


/* Pet selection stays visible while browsing the pet collection. */
.pet-main>.pet-chooser{position:sticky;top:8px;z-index:25;margin:16px 0;max-width:100%;box-sizing:border-box;}
.pet-main>.pet-chooser #pet-notice{flex-basis:100%;margin:0;}
@media(max-width:720px){.pet-main>.pet-chooser{top:4px;padding:10px 12px;gap:7px}.pet-main>.pet-chooser label{font-size:12px}.pet-main>.pet-chooser input{margin-top:3px;padding:7px 9px;max-width:180px}.pet-main>.pet-chooser .btn{padding:8px 10px;font-size:12px}}



/* FAST phase 3: gentle idle motion and event-specific pet reactions. */
@keyframes fastBuddyIdle {
  0%,100% {transform:translateY(0) rotate(-1deg) scale(1)}
  50% {transform:translateY(-5px) rotate(1deg) scale(1.02)}
}
@keyframes fastBuddyYay {
  0%,100% {transform:translateY(0) rotate(0) scale(1)}
  27% {transform:translateY(-14px) rotate(-7deg) scale(1.1)}
  55% {transform:translateY(0) rotate(5deg) scale(.96)}
  78% {transform:translateY(-8px) rotate(-3deg) scale(1.05)}
}
@keyframes fastBuddyCelebrate {
  0%,100% {transform:translateY(0) rotate(0) scale(1);filter:drop-shadow(0 0 0 transparent)}
  28% {transform:translateY(-16px) rotate(-10deg) scale(1.13);filter:drop-shadow(0 0 10px #ffd84a)}
  55% {transform:translateY(0) rotate(12deg) scale(1.04);filter:drop-shadow(0 0 14px #ffadf1)}
  80% {transform:translateY(-9px) rotate(-5deg) scale(1.10);filter:drop-shadow(0 0 8px #ffd84a)}
}
@keyframes fastBuddyNod {
  0%,100% {transform:translateY(0) rotate(0)}
  30% {transform:translateY(2px) rotate(-7deg)}
  62% {transform:translateY(0) rotate(7deg)}
}
.buddy-widget>img {
  animation:fastBuddyIdle 4.3s ease-in-out infinite;
  transform-origin:50% 82%;
  will-change:transform;
}
.buddy-widget.buddy-react-correct>img {animation:fastBuddyYay .85s ease-in-out 1}
.buddy-widget.buddy-react-finished>img {animation:fastBuddyCelebrate 1.35s ease-in-out 1}
.buddy-widget.buddy-react-try>img {animation:fastBuddyNod .72s ease-in-out 1}
@media(prefers-reduced-motion:reduce) {
  .buddy-widget>img, .buddy-widget.buddy-react-correct>img,
  .buddy-widget.buddy-react-finished>img, .buddy-widget.buddy-react-try>img {
    animation:none!important;transform:none!important;
  }
}

/* FAST official rocket wordmark: user-approved reference logo. */
.topbar a.brand.fast-logo-brand{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:171px;max-width:171px!important;padding:0;line-height:0;text-shadow:none!important;letter-spacing:0;min-width:0}
.topbar a.brand.fast-logo-brand img{display:block;width:100%;height:auto;aspect-ratio:213/87;object-fit:contain;border-radius:8px;box-shadow:0 2px 9px #112e6060}
.topbar a.brand.fast-logo-brand:focus-visible{outline:3px solid #ffe075;outline-offset:3px;border-radius:9px}
@media(max-width:760px){.topbar a.brand.fast-logo-brand{align-self:center;justify-content:center;max-width:175px!important;width:175px}.topbar a.brand.fast-logo-brand img{width:175px}}
@media(max-width:390px){.topbar a.brand.fast-logo-brand{max-width:160px!important;width:160px}.topbar a.brand.fast-logo-brand img{width:160px}}
/* Transparent wordmark: the app's purple header is its only background. */
.topbar a.brand.fast-logo-brand,.topbar a.brand.fast-logo-brand img{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.topbar a.brand.fast-logo-brand img{filter:drop-shadow(0 2px 2px #18224f62)}
.fast-account-badge a.account-coins{background:linear-gradient(180deg,#fff1ad,#f3c74f)!important;border:2px solid #fff3cb!important;border-radius:999px!important;padding:5px 9px!important;color:#805011!important;font-weight:1000!important;text-decoration:none!important;white-space:nowrap;box-shadow:0 2px 0 #bd8532}
.fast-account-badge a.account-coins:hover{filter:brightness(1.04)}


/* Home: five child-only secondary module cards, always a single visible row. */
body.home-screen .world-home .world-extras{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%;
  min-width:0;
  margin:17px 0 17px!important;
}
body.home-screen .world-home .world-extra{
  box-sizing:border-box;
  min-width:0;
  min-height:61px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:7px!important;
  padding:9px 5px!important;
  border:3px solid #fff!important;
  border-radius:16px!important;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}
body.home-screen .world-home .world-extra span{
  font-size:clamp(17px,1.8vw,24px)!important;
  line-height:1;
  flex:0 0 auto;
}
body.home-screen .world-home .world-extra strong{
  min-width:0;
  font-size:clamp(11px,1.1vw,15px)!important;
  font-weight:950;
  line-height:1.2;
  white-space:nowrap!important;
}
body.home-screen .world-home .world-extra:nth-child(5){
  background:linear-gradient(140deg,#ddfff6,#9bdfee)!important;
}
body.home-screen .world-home .world-extra:hover,
body.home-screen .world-home .world-extra:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.06);
  outline:3px solid #ffe69a;
  outline-offset:2px;
}
@media(max-width:700px){
  body.home-screen .world-home .world-extras{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    overflow:visible;
  }
  body.home-screen .world-home .world-extra{
    min-height:65px;
    padding:6px 2px!important;
    gap:3px!important;
    border-width:2px!important;
    border-radius:11px!important;
    flex-direction:column;
  }
  body.home-screen .world-home .world-extra span{font-size:19px!important}
  body.home-screen .world-home .world-extra strong{
    font-size:10px!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    line-height:1.12;
  }
}
@media(max-width:365px){
  body.home-screen .world-home .world-extras{gap:3px!important}
  body.home-screen .world-home .world-extra strong{font-size:9px!important}
  body.home-screen .world-home .world-extra span{font-size:17px!important}
}

/* Account, rewards and companion UI */
/* FAST Adventures V12 | Account and Pet Rewards UI
 * All interactive screens use real HTML controls; illustration is only decoration.
 * Color and shape vocabulary follows the approved purple fairytale reference.
 */
:root {
  --fast-plum: #4b1e96;
  --fast-purple: #7436d2;
  --fast-lavender: #f5edff;
  --fast-gold: #ffc747;
  --fast-ink: #38216c;
}

/* Dedicated sign-in and registration pages. */
body.fast-auth-body {
  margin: 0;
  min-height: 100dvh;
  background: linear-gradient(135deg,rgba(56,30,122,.25),rgba(31,121,206,.16)),
    url('themes/fairy-meadow.webp') center center / cover fixed no-repeat;
  font-family: 'Trebuchet MS', 'Segoe UI', Arial, sans-serif;
  color: var(--fast-ink);
}
.fast-auth-layout {
  width: min(1050px, 94vw);
  min-height: 100dvh;
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
  justify-content: center;
  align-items: center;
  gap: clamp(15px,3vw,30px);
  padding: 28px 0;
  box-sizing: border-box;
}
.fast-auth-card, .fast-auth-pet {
  min-width: 0;
  background: linear-gradient(155deg, #fffefe, #f7f0ff 78%, #efe7ff);
  border: 4px solid #fff;
  border-radius: 32px;
  box-shadow: 0 7px 0 #9e74e5, 0 23px 60px #30177666;
  padding: clamp(22px, 3vw, 42px);
  text-align: center;
}
.fast-auth-logo {
  display: grid;
  justify-items: center;
  line-height: .95;
  font-size: clamp(38px, 4.2vw, 57px);
  font-weight: 1000;
  letter-spacing: -2px;
  color: #ffcf38;
  text-shadow: 3px 3px 0 #4b1c9c, -2px -2px 0 #4b1c9c,
    2px -2px 0 #4b1c9c, -2px 2px 0 #4b1c9c, 0 5px 7px #35216b88;
  padding-bottom: 8px;
}
.fast-auth-logo strong {
  font-size: .65em;
  color: #fefaff;
  text-shadow: 3px 3px 0 #6f2bb4, -2px -2px 0 #6f2bb4,
    2px -2px 0 #6f2bb4, -2px 2px 0 #6f2bb4, 0 5px 7px #35216b88;
}
.fast-auth-card h1 {
  font-size: clamp(25px, 3.2vw, 35px);
  line-height: 1.16;
  margin: 22px 0 5px;
  color: #472489;
}
.fast-auth-card p { margin: 0 0 16px; font-weight: 700; }
.fast-auth-form { display: grid; gap: 12px; text-align: left; }
.fast-auth-form label { display: grid; gap: 5px; font-size: 14px; font-weight: 900; }
.fast-auth-form input {
  width: 100%;
  padding: 13px 15px;
  border-radius: 14px;
  border: 2px solid #c5afeb;
  box-sizing: border-box;
  background: white;
  color: #38216c;
  font: 700 16px 'Trebuchet MS','Segoe UI',Arial,sans-serif;
}
.fast-auth-form input:focus-visible {
  outline: 3px solid #ffd34e;
  border-color: #7441d3;
}
.fast-auth-card .fast-auth-tip {
  background: #e4f9e6;
  color: #247345;
  border-radius: 13px;
  font-size: 12px;
  padding: 8px;
  margin: 0;
  text-align: center;
}
.fast-auth-submit {
  width: 100%;
  min-height: 48px;
  margin-top: 5px;
  font: 1000 18px 'Trebuchet MS','Segoe UI',Arial,sans-serif;
  color: white;
  cursor: pointer;
  border: 2px solid #d9b9ff;
  border-radius: 15px;
  background: linear-gradient(180deg, #ac5af2 0%, #7935d0 50%, #5614ac 100%);
  box-shadow: 0 4px 0 #4e1b98, inset 0 2px 0 #ffffff75;
}
.fast-auth-submit:hover { filter: brightness(1.07); }
.fast-auth-submit:active { transform: translateY(2px); box-shadow: 0 2px 0 #4e1b98; }
.fast-auth-card .fast-auth-switch { margin: 21px 0 10px; font-size: 14px; }
.fast-auth-card .fast-auth-parent { margin: 8px 0 0; font-size: 13px; }
.fast-auth-switch a, .fast-auth-parent a { color: #6328ba; font-weight: 1000; }
.fast-auth-error {
  background: #fff0f0;
  color: #a32648;
  border: 2px solid #f1b3cb;
  text-align: left;
  font-size: 14px;
  font-weight: 800;
  padding: 10px 12px;
  border-radius: 14px;
  margin-bottom: 14px;
}
.fast-auth-pet {
  background: linear-gradient(180deg,#fff9e8,#fff 55%,#e9ddff);
  padding: 20px clamp(20px,3vw,38px) 28px;
}
.fast-auth-pet-heading {
  background: linear-gradient(180deg,#ffe56c,#fbb932);
  border: 2px solid #fff6b1;
  box-shadow: 0 4px 0 #b88622;
  color: #53316b;
  font-weight: 1000;
  font-size: 23px;
  border-radius: 19px;
  padding: 10px;
}
.fast-auth-pet img {
  display: block;
  width: min(100%, 300px);
  aspect-ratio: 1;
  object-fit: contain;
  margin: 2px auto 0;
  filter: drop-shadow(0 12px 9px #a28a94aa);
}
.fast-auth-pet strong { display: block; font-size: 23px; color: #5522a5; }
.fast-auth-pet p { margin: 10px 0 16px; line-height: 1.5; font-weight: 700; }
.fast-auth-benefits { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.fast-auth-benefits span {
  color: #613ba3; background: #e9ddff;
  border: 1px solid #ceb4fc;
  border-radius: 20px;
  padding: 8px;
  font-weight: 900;
  font-size: 12px;
}

/* Compact logged-in profile, with logout outside the parent PIN gate. */
.topbar { flex-wrap: wrap; }
.fast-account-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  color: white;
  border-radius: 15px;
  padding: 4px 7px;
  background: #4c2299;
  border: 1px solid #b7a0ff;
  font-size: 12px;
  font-weight: 900;
  flex-wrap: wrap;
  justify-content: center;
}
.fast-account-badge .account-stars {
  background: linear-gradient(180deg,#fdec94,#ffc846);
  border-radius: 12px;
  color: #482b71;
  padding: 5px 8px;
}
.fast-account-badge a, .fast-account-badge button {
  font: 900 12px 'Trebuchet MS',Arial,sans-serif;
  color: #442083;
  background: #fff9ff;
  padding: 6px 9px;
  border: 1px solid #dbc3ff;
  border-radius: 11px;
  text-decoration: none;
  cursor: pointer;
}
.fast-account-badge form { display: inline; margin: 0; }
.fast-dashboard-stats, .fast-pet-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 13px 0 7px;
}
.fast-dashboard-chip, .fast-stat-chip {
  background: linear-gradient(180deg,#fefbff,#ede0ff);
  color: #552995;
  border: 2px solid #fff;
  border-radius: 25px;
  padding: 8px 14px;
  box-shadow: 0 4px 0 #9d76d7;
  font-weight: 1000;
  font-size: 14px;
}

/* Pet shop, based on the approved purple reward card layout. */
.pet-main { max-width: 1420px; }
.pet-main .books-hero {
  padding: 16px 24px;
  border: 3px solid #e6c8ff;
  background: linear-gradient(180deg,#a269ea 0%,#7640ce 45%,#5724a4 100%);
  box-shadow: 0 5px 0 #3b1a7e, 0 10px 25px #41277d55;
}
.pet-main .books-hero h1 { font-size: clamp(26px,3.2vw,39px); margin: 0 0 4px; }
.pet-main .books-hero p { font-size: 15px; }
.fast-pet-stats { margin: 20px auto 8px; }
.fast-pet-grid-note {
  margin: 15px auto 7px;
  text-align: center;
  color: #51268e;
  font-size: 15px;
  background: #fffcf2ed;
  padding: 11px;
  border-radius: 18px;
  border: 2px solid #e6d5ff;
  font-weight: 900;
}
.pet-main .pet-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: clamp(7px,1.2vw,16px);
  margin: 15px 0 20px;
}
.pet-main .pet-choice.fast-reward-pet {
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 9px 14px;
  border: 3px solid #fff;
  background: linear-gradient(180deg,#f8f2ff,#e0d1f5);
  color: #412073;
  border-radius: 23px;
  box-shadow: 0 6px 0 #ad90d7, 0 10px 18px #4f288552;
  transform: none;
}
.pet-main .pet-choice.fast-reward-pet.chosen {
  border-color: #6ee46e;
  box-shadow: 0 6px 0 #45ac52, 0 0 0 3px #aeffaa;
}
.pet-main .pet-choice.fast-reward-pet:hover { transform: translateY(-3px); }
.pet-main .pet-choice.fast-reward-pet img {
  display: block;
  width: 100%;
  height: clamp(106px,15vw,175px);
  border-radius: 13px;
  object-fit: contain;
}
.pet-main .pet-choice.fast-reward-pet.is-locked img { filter: saturate(.6) brightness(.88); }
.pet-main .pet-choice.fast-reward-pet.is-locked {
  background: linear-gradient(180deg,#e2def0,#c3b8d6);
}
.pet-main .pet-choice.fast-reward-pet strong { font-size: clamp(15px,1.4vw,21px); margin: 5px 0 2px; }
.pet-main .pet-choice.fast-reward-pet small { min-height: 32px; font-size: 12px; }
.pet-main .fast-pet-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 32px;
  margin-top: auto;
  font-size: 13px;
  font-weight: 1000;
  color: white;
  border-radius: 10px;
  background: linear-gradient(180deg,#8562c6,#4c2a87);
}
.pet-main .is-owned .fast-pet-price { background: linear-gradient(180deg,#67c75d,#278c43); }
.pet-main .pet-chooser {
  justify-content: center;
  border: 3px solid #ffffffd8;
  background: #f7edffeb;
  box-shadow: 0 5px 0 #b69bd8;
}
.pet-main #pet-notice { min-height: 22px; font-weight: 800; }
@media (max-width: 950px) {
  .pet-main .pet-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .fast-auth-layout { width: min(760px, 94vw); }
}
@media (max-width: 650px) {
  .fast-auth-layout { grid-template-columns: 1fr; padding: 15px 0 25px; }
  .fast-auth-card, .fast-auth-pet { padding: 20px; border-radius: 24px; }
  .fast-auth-pet img { width: 180px; }
  .pet-main .pet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fast-account-badge { margin: auto; }
  .fast-auth-card h1 { font-size: 28px; }
  .fast-dashboard-chip { font-size: 12px; padding: 6px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .fast-reward-pet, .fast-auth-submit { animation: none !important; transition: none !important; }
}

/* Earned achievement badges, based on completed learning activities. */
.fast-badges { display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 8px; }
.fast-badges .fast-badge { background:#fff2c8;border:2px solid #ffe3a4;color:#6b3c85;box-shadow:0 3px 0 #d9a857;border-radius:14px;padding:6px 12px;font-size:12px;font-weight:900; }
.fast-badges p { margin:0;color:#54337d;font-weight:900;font-size:13px;padding:7px; }

/* The selected pet is unambiguously identified, even while a different card is previewed. */
.pet-main .pet-choice.fast-reward-pet.is-current {
  border: 4px solid #087a54;
  background: linear-gradient(180deg,#f4ffed,#caf4de);
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2bbf87, 0 12px 25px #1268494f;
  transform: translateY(-2px);
}
.pet-main .pet-choice.fast-reward-pet.is-current:hover {
  transform: translateY(-4px);
}
.pet-main .pet-choice.fast-reward-pet.chosen:not(.is-current) {
  border: 4px solid #7b47c9;
  box-shadow: 0 0 0 3px #efddff, 0 10px 22px #7445b542;
}
.pet-main .pet-choice.fast-reward-pet.is-current .fast-pet-price {
  background: linear-gradient(180deg,#16855e,#07563b);
}
.pet-main .fast-pet-current-mark {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 9px;
  border-radius: 999px;
  background: #07583c;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 0 3px 9px #123a3180;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .02em;
  pointer-events: none;
}
@media(max-width:650px) {
  .pet-main .fast-pet-current-mark { top: 5px; right: 5px; font-size: 10px; padding: 5px 7px; }
}

/* Extra adventures: premium character cards and polished pet entrances. */
.pet-main .pet-choice.fast-reward-pet.is-premium:not(.is-current) {
 border-color:#edc44b;
 background:linear-gradient(160deg,#fffbed,#f5ddff);
 box-shadow:0 6px 0 #d3a143,0 9px 19px #aa7a4259;
}
.pet-main .pet-choice.fast-reward-pet.is-premium::before {
 content:'👑';
 position:absolute;top:5px;left:6px;z-index:2;
 display:flex;align-items:center;justify-content:center;
 width:27px;height:27px;border-radius:50%;
 background:#fff4c7;border:2px solid #f6c95c;
 font-size:15px;box-shadow:0 2px 4px #806f4066;
}
.pet-main .pet-choice.fast-reward-pet.is-current {
 transition:box-shadow .24s,transform .24s;
}
@keyframes fastPetChosen {
 0% {transform:scale(.92);filter:brightness(1.2)}
 55% {transform:scale(1.06)}
 100% {transform:scale(1)}
}
.pet-main .pet-choice.fast-reward-pet.is-current img {animation:fastPetChosen .75s ease both}
@media(prefers-reduced-motion:reduce) {
 .pet-main .pet-choice.fast-reward-pet.is-current img {animation:none!important}
}


/* A milestone appears as a brief sparkle, without ever spending earned stars. */
@keyframes fastPetUnlock {
  0% {transform:scale(.78) translateY(15px);opacity:.5;filter:brightness(1.8)}
  43% {transform:scale(1.07) translateY(-8px);opacity:1;filter:brightness(1.35)}
  70% {transform:scale(.97) translateY(0);filter:brightness(1.1)}
  100% {transform:scale(1);filter:brightness(1)}
}
.pet-main .pet-choice.fast-reward-pet.just-unlocked {
  animation:fastPetUnlock 1.15s ease-out both;
}
@media(prefers-reduced-motion:reduce) {
  .pet-main .pet-choice.fast-reward-pet.just-unlocked {animation:none!important}
}

.fast-auth-logo img{display:block;width:min(253px,90%);height:auto;aspect-ratio:213/87;object-fit:contain;border-radius:12px;margin:0 auto 8px;box-shadow:0 5px 14px #24337b35}
.fast-auth-logo img{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 2px 2px #18224f50)}


/* Earned Mystery Picture backgrounds are displayed in the existing selector. */
.theme-collection-intro{display:flex;align-items:center;gap:9px 15px;flex-wrap:wrap;
 margin:16px auto 2px;padding:12px 15px;border:2px solid #e7d3fa;
 background:#fffafbe8;border-radius:17px;color:#61438e;font-size:12px;font-weight:840}
.theme-collection-intro span{padding:5px 9px;border-radius:999px;background:#f3e7ff}
.theme-collection-intro a{color:#6541a1;text-decoration:underline;text-underline-offset:2px;font-weight:950}
.theme-access-label{display:block;color:#7d6a92;font-size:11px;font-weight:850;margin:2px 0 4px}
.theme-choice.theme-choice-locked{cursor:not-allowed;border-style:dashed!important;
 background:#f0ecf5!important;opacity:.82;filter:none!important}
.theme-choice.theme-choice-locked:hover,
.theme-choice.theme-choice-locked:focus-visible{transform:none!important;outline:none!important}
.theme-choice-locked .theme-thumb{display:grid;place-items:center;background:repeating-linear-gradient(
  135deg,#a79abd,#a79abd 12px,#bdb2cc 12px,#bdb2cc 24px)!important;
 font-size:clamp(32px,5vw,60px);color:white;text-shadow:0 2px 7px #5b4d75}
.theme-choice-locked .theme-tag{background:#e0d9e9;color:#6b6283}

/* FAST coin: consistent golden graphic icon. */
.fast-coin-icon{display:inline-block;width:1.3em;height:1.3em;vertical-align:-.22em;flex:none;object-fit:contain;filter:drop-shadow(0 1px 1px #70401650)}
.fast-account-badge a.account-coins{display:inline-flex;align-items:center;gap:3px}
.arcade-wallet .fast-coin-icon,.arcade-stage-coin .fast-coin-icon{vertical-align:middle}

/* FAST_HOME_DAILY_REMINDER_STYLES_V61: keep three big cards and six compact links. */
body.home-screen .world-home .world-extras{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  margin:16px 0!important;
}
body.home-screen .world-home .world-extra{min-width:0;min-height:58px;padding:8px 4px!important;gap:4px!important}
body.home-screen .world-home .world-extra strong{font-size:clamp(10px,.98vw,13px)!important;white-space:normal!important;overflow-wrap:anywhere}
body.home-screen .fast-daily-reminder{
  display:flex;align-items:center;gap:12px;max-width:395px;margin:0 0 13px auto;
  border:2px solid #eaa3a0;border-radius:17px;padding:10px 14px;
  text-decoration:none;background:linear-gradient(120deg,#fff9f1,#ffe7e1);
  color:#783c36;box-shadow:0 5px 15px #924a4238;position:relative;z-index:4;
  transition:transform .16s ease,box-shadow .16s ease;
}
body.home-screen .fast-daily-reminder[hidden]{display:none!important}
body.home-screen .fast-daily-reminder:hover,
body.home-screen .fast-daily-reminder:focus-visible{transform:translateY(-2px);outline:3px solid #ffe16a;box-shadow:0 8px 18px #924a4250}
body.home-screen .fast-daily-reminder.is-urgent{background:linear-gradient(120deg,#fff4ec,#ffd1d1);border-color:#d95355}
body.home-screen .fast-daily-pulse{
  display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:50%;
  background:#d12b3b;color:#fff;font-size:25px;font-weight:1000;
  box-shadow:0 0 0 5px #ff8e8f60;animation:fast-daily-glow 2.2s infinite;
}
body.home-screen .fast-daily-message{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
body.home-screen .fast-daily-message strong{font-size:14px;line-height:1.2;color:#983e3a}
body.home-screen .fast-daily-message small{font-size:12px;line-height:1.2;color:#724d49}
body.home-screen .fast-daily-go{font-size:23px;font-weight:900;color:#b7333e}
body.home-screen .fast-daily-coin-icon{display:inline-block;width:17px;height:17px;vertical-align:-.24em;margin-left:3px;object-fit:contain}
@keyframes fast-daily-glow{0%,100%{box-shadow:0 0 0 3px #ff8e8f80}50%{box-shadow:0 0 0 8px #ff8e8f25}}
@media(max-width:700px){
 body.home-screen .world-home .world-extras{
  display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;
  padding-bottom:8px;scroll-snap-type:x mandatory;gap:7px!important;
 }
 body.home-screen .world-home .world-extra{flex:0 0 102px;scroll-snap-align:start;min-width:102px;min-height:64px}
 body.home-screen .world-home .world-extra strong{font-size:11px!important}
 body.home-screen .fast-daily-reminder{max-width:100%;margin:0 auto 12px;padding:10px;gap:8px}
}
@media(prefers-reduced-motion:reduce){body.home-screen .fast-daily-pulse{animation:none}}

/* FAST_HEADER_COMPACT_V11: icon-only navigation and a four-action profile menu. */
.app-nav.fast-icon-nav {
  display:flex!important; align-items:center!important; justify-content:center!important;
  flex:1 1 auto; min-width:0; gap:5px!important; flex-wrap:nowrap!important;
  overflow-x:auto; overflow-y:hidden; scrollbar-width:thin;
  padding:4px 2px 5px; scroll-behavior:smooth;
}
.app-nav.fast-icon-nav>a.fast-nav-icon,
.app-nav.fast-icon-nav>a.fast-nav-icon.parents-link {
  box-sizing:border-box; flex:0 0 39px; width:39px; height:40px;
  min-width:39px; min-height:40px!important; padding:0!important;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Segoe UI Emoji','Apple Color Emoji','Noto Color Emoji',sans-serif!important;
  font-size:23px!important; line-height:1!important; border-radius:12px!important;
  text-decoration:none; text-align:center; white-space:nowrap;
}
.app-nav.fast-icon-nav>a.fast-nav-icon span{display:inline-block;line-height:1;pointer-events:none}
.app-nav.fast-icon-nav>a.fast-nav-icon[aria-current="page"]{
  border-color:#fff1b7!important; box-shadow:0 2px 0 #ad6815!important;
  background:linear-gradient(180deg,#ffe08b,#ffbb3e)!important;
}
.app-nav.fast-icon-nav>a.fast-nav-icon:focus-visible{outline:3px solid #ffef66!important;outline-offset:2px}
.fast-account-badge.fast-account-compact {
  display:flex; flex:0 0 auto; flex-wrap:nowrap; align-items:center; justify-content:flex-end;
  gap:6px; margin-left:auto; padding:5px 6px; border-radius:15px;
  min-width:0; position:relative; z-index:60; overflow:visible;
}
.fast-account-badge.fast-account-compact .fast-profile-shortcut{
  display:inline-flex; align-items:center; gap:4px; min-width:0;
  background:transparent; color:#fff; border:0; box-shadow:none;
  padding:4px 3px; font-size:13px; line-height:1.2; font-weight:900;
  max-width:144px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.fast-account-badge.fast-account-compact .fast-profile-shortcut:hover{text-decoration:underline;text-underline-offset:3px}
.fast-account-badge.fast-account-compact .fast-account-nickname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fast-account-badge.fast-account-compact .account-stars{
  display:inline-flex; align-items:center; min-height:36px; padding:6px 9px;
  white-space:nowrap; font-weight:900; font-size:13px;
}
.fast-account-badge.fast-account-compact a.account-coins{
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
  min-height:36px; padding:5px 8px!important; font-size:13px;
}
.fast-account-badge.fast-account-compact .account-coins .fast-coin-icon{width:20px;height:20px}
.fast-account-compact .fast-account-menu {position:relative;flex:0 0 auto;}
.fast-account-compact .fast-account-menu summary {
  list-style:none; display:grid; place-items:center; cursor:pointer;
  width:38px; height:37px; border-radius:12px; border:2px solid #e7cfff;
  background:linear-gradient(180deg,#fff,#e6d4ff); color:#4d2f92;
  box-shadow:0 2px 0 #b49ad8; user-select:none;
}
.fast-account-compact .fast-account-menu summary::-webkit-details-marker{display:none}
.fast-account-compact .fast-account-menu summary::marker{content:''}
.fast-account-compact .fast-account-menu[open] summary{background:#ffdf87;border-color:#fff3b8}
.fast-account-compact .fast-account-menu summary:focus-visible,
.fast-account-compact .fast-profile-shortcut:focus-visible {outline:3px solid #ffdf65;outline-offset:3px}
.fast-account-compact .fast-account-dropdown {
  position:absolute;right:0;top:calc(100% + 9px);z-index:400;
  box-sizing:border-box;width:min(240px,calc(100vw - 24px));
  background:#fff; color:#3c266a; padding:8px; border-radius:17px;
  border:2px solid #d4b4fb; box-shadow:0 12px 30px #30135f59;
  display:flex;flex-direction:column;gap:3px;
}
.fast-account-compact .fast-account-dropdown::before{
  content:''; position:absolute; right:12px;top:-7px; width:12px;height:12px;
  transform:rotate(45deg);background:#fff; border-top:2px solid #d4b4fb;border-left:2px solid #d4b4fb;
}
.fast-account-badge.fast-account-compact .fast-account-dropdown a,
.fast-account-badge.fast-account-compact .fast-account-dropdown button {
  box-sizing:border-box; display:flex;align-items:center;gap:10px;
  width:100%;padding:11px 12px;margin:0;min-height:43px;border-radius:10px;
  color:#4f2f91!important;background:transparent!important;border:0!important;
  font:800 14px 'Trebuchet MS','Segoe UI',sans-serif;
  text-decoration:none;text-align:left; box-shadow:none!important;
}
.fast-account-badge.fast-account-compact .fast-account-dropdown a:hover,
.fast-account-badge.fast-account-compact .fast-account-dropdown button:hover,
.fast-account-badge.fast-account-compact .fast-account-dropdown a:focus-visible,
.fast-account-badge.fast-account-compact .fast-account-dropdown button:focus-visible {
  color:#351a77!important;background:#efe4ff!important;outline:2px solid #b89af3;outline-offset:-2px;
}
.fast-account-badge.fast-account-compact .fast-account-dropdown form{display:block;margin:0}
.fast-account-badge.fast-account-compact .fast-account-dropdown button{cursor:pointer}
/* Keep all controls reachable without a multi-line desktop header. */
@media(min-width:761px) {
  .topbar{flex-wrap:nowrap!important;gap:7px!important}
  .topbar .brand.fast-logo-brand{flex:0 0 auto}
}
@media(max-width:1180px) and (min-width:761px) {
  .app-nav.fast-icon-nav>a.fast-nav-icon,.app-nav.fast-icon-nav>a.fast-nav-icon.parents-link{
    width:35px;min-width:35px;flex-basis:35px;height:38px;min-height:38px!important;font-size:21px!important;
  }
  .fast-account-badge.fast-account-compact{gap:4px;padding:4px}
  .fast-account-badge.fast-account-compact .fast-profile-shortcut{max-width:88px}
}
@media(max-width:760px){
  .topbar{flex-direction:column!important;align-items:stretch!important;gap:5px!important;}
  .app-nav.fast-icon-nav{order:2;width:100%!important;justify-content:flex-start!important;min-height:44px!important;padding:3px 5px 6px!important}
  .fast-account-badge.fast-account-compact{order:1;align-self:center;margin:0 auto;justify-content:center;max-width:100%;}
  .topbar .brand.fast-logo-brand{order:0;align-self:center}
}
@media(max-width:390px){
  .fast-account-badge.fast-account-compact .fast-profile-shortcut{max-width:83px;font-size:12px}
  .fast-account-badge.fast-account-compact .account-stars{padding:5px 6px;font-size:12px}
  .fast-account-badge.fast-account-compact a.account-coins{padding:4px 6px!important;font-size:12px}
  .app-nav.fast-icon-nav>a.fast-nav-icon,.app-nav.fast-icon-nav>a.fast-nav-icon.parents-link{
    flex-basis:37px;min-width:37px;width:37px;font-size:21px!important;
  }
}
@media(prefers-reduced-motion:reduce){.app-nav.fast-icon-nav{scroll-behavior:auto}}

/* Shared catalog's pre-answer strategy; never contains the answer. */
.question-card .learning-hint:not([hidden]){
 display:block;padding:15px 17px;margin:14px 0 5px;
 border:2px solid #f2d489;border-left:5px solid #d49e38;
 border-radius:16px;background:linear-gradient(120deg,#fff9e9,#fff1c7);
 color:#664516;font:750 15px/1.6 system-ui,sans-serif;
 box-shadow:0 4px 12px #8a602019;
}
.question-card .learning-hint[hidden]{display:none}
.question-card .question-actions{flex-wrap:wrap}
.question-card .question-actions button[hidden]{display:none}
@media(max-width:560px){
 .question-card .question-actions .btn{min-width:0;flex:1 1 155px}
}


/* Daily Challenge reminder: real vector bell, not text placeholders. */
body.home-screen .fast-daily-pulse {
  font-size:0!important;
  background:#d12b3b url('fast-daily-bell.svg') center center / 22px 22px no-repeat;
}
body.home-screen .world-extra[href="daily_challenge.php"] > span:first-child {
  font-size:0!important;
  width:31px;min-width:31px;height:31px;
  display:inline-grid;place-items:center;
  border-radius:50%;
  background:url('fast-daily-bell.svg') center center / 20px 20px no-repeat,linear-gradient(145deg,#8062d2,#633e9d);
}
