:root{--purple:#7350b2;--ink:#263d46;--muted:#62747b;--line:#e8e5ef}html{scroll-behavior:auto}body{margin:0;background:#f8f7fc;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.55}body>header.app-header{max-width:none;background:#fff;border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1160px)/2));display:flex;gap:24px;align-items:center;justify-content:space-between;position:relative;z-index:10}.app-header .brand{font:800 21px/1.15 system-ui;letter-spacing:-.5px;white-space:nowrap;color:#62409e;display:flex;align-items:center;gap:10px}.brand-symbol{display:grid;place-items:center;background:#eee6fc;border-radius:12px;width:39px;height:42px;font-size:24px}.app-header nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.app-header nav a{padding:10px 14px;border-radius:13px;text-decoration:none;color:#5a6774;font-size:14px;font-weight:650}.app-header nav a[aria-current=page]{background:#eee7fa;color:#62409e}.app-header nav a:hover{background:#f3f0f8}main{max-width:1160px;padding:34px 24px;margin:auto}h1{font:800 clamp(30px,4vw,46px)/1.15 system-ui;letter-spacing:-1.5px;margin:8px 0 15px}h2{font:750 26px/1.25 system-ui;letter-spacing:-.7px}h3{font:750 20px/1.3 system-ui}p{color:var(--muted);line-height:1.65}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#7a609c;font-weight:800}button,.button,.outline{font-family:inherit;border-radius:14px;box-shadow:none;min-height:44px}button:hover,.button:hover{transform:none;filter:brightness(.98)}.button,button{background:var(--purple)}.outline{background:white;color:#5f467f;border:1px solid #d9cee8}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a48ad0;outline-offset:3px}select,input,textarea{font-family:inherit}label{font-size:14px}footer{border-top:1px solid var(--line);padding:24px;max-width:1112px;margin:35px auto 0;font-size:13px}footer a{color:#655282}.app-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.intro-note{background:#eee8f9;border-radius:16px;padding:15px 20px;color:#634b8c;font-size:14px}.home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 35px}.home-action{background:var(--card);border:1px solid #ffffff;border-radius:22px;padding:25px;text-decoration:none;color:var(--ink);box-shadow:0 5px 15px #2d1c4906;transition:box-shadow .2s}.home-action:hover{box-shadow:0 5px 20px #2d1c4914}.home-action .action-icon{font-size:36px;display:block;margin-bottom:18px}.home-action h2{margin:0 0 10px}.home-action p{font-size:14px;margin-bottom:20px}.home-action strong{font-size:14px;color:#674a97}.compact-section{margin:30px 0;padding:24px;background:white;border:1px solid var(--line);border-radius:22px}.compact-section .section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.compact-section .section-head p{font-size:13px}.compact-section .courses{gap:14px}.compact-section .course{box-shadow:none;border:0;border-radius:17px;padding:18px}.compact-section .course .letter{font-size:22px;min-height:32px}.compact-section .course h3{font-size:20px}.compact-section .course p{font-size:12px}.compact-section .course label{font-size:12px}.compact-section .course button{background:white;color:#5f467f}.compact-section .course select{border:1px solid #ded9e7;font-size:13px}.progress-line{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0;font-size:14px}.progress-line p{margin:0}.progress-track{width:180px;height:9px;flex:none}.drawing-details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:24px 0}.drawing-details summary{cursor:pointer;font-weight:700;color:#594370}.drawing-details canvas{margin:15px 0;max-width:650px}.membership-note{display:flex;justify-content:space-between;gap:20px;border-radius:18px;padding:20px;background:#f0edf7;font-size:14px}.membership-note p{margin:0}.membership-note a{white-space:nowrap}.book-filters{background:#eee9f6;border:0;border-radius:18px;padding:16px 20px;gap:18px}.bookshelf{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fun-book{border:1px solid #ffffff;border-left:7px solid #ffffffb0;box-shadow:0 4px 12px #3f2b6009;border-radius:10px 20px 20px 10px;padding:22px 18px}.fun-book:hover{transform:none}.fun-book h2{font-size:21px}.cover-emoji{font-size:44px;margin-bottom:15px}.fun-book .button{margin-top:auto;background:white;color:#624987;text-align:center;display:block}.book-label{font-size:10px}.shelf-description{max-width:760px}.game-directory-grid{grid-template-columns:repeat(3,1fr);gap:12px}.game-directory button{text-align:left;padding:18px;border-radius:16px;font-size:15px}.playhouse{max-width:1112px;margin:0 auto;padding:34px 24px}.playhouse>header{display:none}.game-settings{background:white;border:1px solid var(--line);padding:18px;border-radius:17px}.game-directory{padding:24px;border:1px solid var(--line);box-shadow:none}.playhouse .mini-panel{box-shadow:none;border:1px solid var(--line);border-radius:20px}.focus-game .game-modes{display:none}.game-back{margin:10px 0 20px;background:white;color:#674b8f;border:1px solid #d8cde7}.playhouse [hidden]{display:none!important}.academy-select{background:#eee9f6;border:0;border-radius:18px}.class-list article{border:1px solid var(--line);box-shadow:none;border-radius:20px}.reader-main{max-width:900px;padding-top:25px}.reader-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.reader-meta p{margin:0;font-size:13px}.reader-meta a{font-size:14px}.book-document{padding:30px;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:0 8px 28px #34204d08}.book-document h1{font-size:32px}.book-page{min-height:400px;padding:10px 0;scroll-margin-top:20px}.book-page-title{font-size:12px;font-weight:750;letter-spacing:1px;color:#7e699a;text-transform:uppercase}.book-page .scene-icon{font-size:58px;padding:10px}.book-page .reader-target{font-size:clamp(26px,4vw,36px);padding:26px;background:#f1edf9;border-radius:18px;margin:18px 0}.audio-guide{border:1px solid #e6e0ed;background:#faf8fd;border-radius:17px;padding:16px;margin:20px 0}.audio-guide label{display:block;font-weight:700;margin:0 0 10px}.audio-guide audio{width:100%;height:48px}.audio-guide small{display:block;color:#7d7188;font-size:12px}.audio-options{display:flex;align-items:center;gap:15px;margin:10px 0 0}.audio-options label{margin:0;font-weight:500}.audio-options select{width:auto;padding:6px 12px;display:inline-block;margin:0 0 0 5px}.book-page details{padding:15px 18px;background:#edf6ef;border-radius:15px;color:#425b4b}.book-page summary{cursor:pointer;font-weight:650}.book-page textarea{min-height:170px}.book-page .book-answers button{background:#eee7f9;color:#574171}.reader-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px}.reader-pagination a{min-width:100px;text-align:center}.reader-pagination [aria-disabled=true]{pointer-events:none;opacity:.45}.reader-page-links{display:flex;gap:6px;margin:20px 0}.reader-page-links a{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#efebf6;color:#715892;text-decoration:none;font-size:13px}.reader-page-links a[aria-current=page]{background:#7751b4;color:white}#readerStatus{color:#5c467f;font-size:14px}#readerStatus:empty{display:none}.book-note{font-size:12px}.reader-lang-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:13px}[hidden]{display:none!important}@media(max-width:900px){.bookshelf{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-section .courses{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){body>header.app-header{display:block;padding:15px 20px}.app-header nav{margin-top:14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.app-header nav a{display:block!important;text-align:center;padding:10px 4px;font-size:12px}.app-header .brand{font-size:20px}.app-intro{display:block}.intro-note{display:none}.home-actions{gap:12px}.home-action{padding:20px 15px}.home-action h2{font-size:21px}.home-action p{font-size:12px}.home-action .action-icon{font-size:29px}.bookshelf{grid-template-columns:1fr 1fr}.book-document{padding:20px}.reader-meta{display:block}.reader-meta p{margin-top:10px}.game-directory-grid{grid-template-columns:1fr 1fr}.game-directory button{font-size:13px;padding:15px}.membership-note{display:block}.membership-note a{display:inline-block;margin-top:10px}.compact-section{padding:18px}.compact-section .section-head{display:block}.progress-line{display:block}.progress-track{width:100%;margin-top:10px}.book-filters{grid-template-columns:1fr 1fr}.book-document h1{font-size:27px}}@media(max-width:450px){main,.playhouse{padding:25px 16px}.home-actions{grid-template-columns:1fr}.home-action{display:grid;grid-template-columns:50px 1fr;gap:0 10px;padding:18px}.home-action .action-icon{grid-row:span 3;margin:0;font-size:32px}.home-action h2{font-size:22px}.home-action p{margin:5px 0 8px}.bookshelf{gap:12px}.fun-book{padding:18px 12px}.fun-book h2{font-size:18px}.fun-book p{font-size:12px}.cover-emoji{font-size:36px}.compact-section .courses{grid-template-columns:1fr}.book-filters{grid-template-columns:1fr}.reader-pagination a{min-width:80px}.book-document{padding:17px}.book-page{min-height:360px}}

/* Language switch stays outside the five-column navigation on phones. */
body>header.app-header{flex-wrap:wrap}.app-header .language-switch-row,.language-switch-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;width:100%;box-sizing:border-box;margin:8px 0 0;padding:0}.language-switch-row span{font-size:14px;font-weight:700}.language-switch-row a.change-language{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:auto;min-height:44px;max-width:100%;margin:0;padding:10px 16px;white-space:nowrap;word-break:normal;overflow-wrap:normal;border:1px solid #d9cdeb;border-radius:24px;background:#f0e9fb;color:#593b83;text-decoration:none;font-size:14px;line-height:1.3}.welcome-card h1:focus{outline:none}@media(max-width:700px){.app-header .language-switch-row{justify-content:flex-start;margin-top:12px}}
