/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--ink:#0f3460;--muted:#4b7186;--cream:#dcf9ff;--paper:#fff;--coral:#ff6b6b;--teal:#21c8d3;--sky:#29baff;--sky-soft:#81bee9;--sun:gold;--orange:#ff9500;--night:#1a1a2e;--night-mid:#16213e;--line:#0f34601f;--shadow:0 24px 70px #0f346024;--font-body:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{color:var(--ink);background:radial-gradient(circle at 6% 3%, #29baff3d, transparent 28rem), radial-gradient(circle at 92% 28%, #21c8d333, transparent 25rem), var(--cream);font-family:var(--font-body);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{min-height:100vh;overflow:hidden}.topbar{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:104px;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--coral);width:49px;height:49px;font:800 19px var(--font-display), sans-serif;border-radius:17px 17px 17px 6px;place-items:center;display:grid;transform:rotate(-3deg);box-shadow:0 7px #c3483129}.brand strong,.brand small{display:block}.brand strong{font:800 21px/1.05 var(--font-display), sans-serif}.brand small{color:var(--muted);letter-spacing:.02em;margin-top:3px;font-size:12px}.status-pill{color:#216c60;background:#ffffff85;border:1px solid #258c7c3d;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.status-pill span{background:#48ab8d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #48ab8d24}.status-pill.offline{color:#8a5a21;border-color:#c27f303d}.status-pill.offline span{background:#d69545;box-shadow:0 0 0 4px #d6954524}.hero{width:min(1180px,100% - 48px);min-height:535px;box-shadow:var(--shadow);isolation:isolate;background:linear-gradient(115deg,#ffffffd1,#fffdf4a3),#fde9c7;border-radius:42px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:36px;margin:16px auto 0;padding:62px 72px;display:grid;position:relative}.hero:after{content:"";pointer-events:none;border:1px dashed #7a623324;border-radius:29px;position:absolute;inset:18px}.kicker{color:var(--coral);letter-spacing:.15em;text-transform:uppercase;margin:0 0 13px;font-size:12px;font-weight:900}.hero h1{max-width:640px;font:800 clamp(48px, 6.2vw, 82px)/.99 var(--font-display), sans-serif;letter-spacing:-.055em;margin:0}.hero-text{color:#53666a;max-width:530px;margin:27px 0 30px;font-size:18px;line-height:1.65}.continue-button{color:#fff;background:var(--ink);cursor:pointer;text-align:left;border:0;border-radius:20px;align-items:center;gap:14px;min-height:67px;padding:12px 22px 12px 12px;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 13px 30px #18323a38}.continue-button:hover{transform:translateY(-2px);box-shadow:0 17px 35px #18323a42}.play-dot{width:43px;height:43px;color:var(--ink);background:#ffd96b;border-radius:14px;place-items:center;font-size:13px;display:grid}.continue-button small,.continue-button strong{display:block}.continue-button small{color:#c1d0d1;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800}.continue-button strong{text-overflow:ellipsis;white-space:nowrap;max-width:340px;font-size:14px;overflow:hidden}.hero-art{height:390px;position:relative;transform:rotate(-2deg)}.sun{background:#ffcf63;border-radius:50%;width:260px;height:260px;position:absolute;top:8px;right:33px;box-shadow:0 0 0 18px #ffcf6321,0 0 0 37px #ffcf6314}.stack-book{border:5px solid var(--ink);height:92px;color:var(--ink);font:900 20px var(--font-display), sans-serif;letter-spacing:.08em;border-radius:10px 21px 21px 8px;align-items:center;padding:0 31px;display:flex;position:absolute;right:0;box-shadow:9px 11px #18323a1c}.stack-book:after{content:"";background:#18323a38;border-radius:99px;height:4px;position:absolute;bottom:14px;left:25px;right:25px}.stack-one{background:#9bd7ca;width:375px;bottom:10px;transform:rotate(-2deg)}.stack-two{background:#f39a81;width:330px;bottom:93px;right:19px;transform:rotate(3deg)}.stack-three{background:#f8df89;width:287px;bottom:176px;right:67px;transform:rotate(-4deg)}.pencil{border:4px solid var(--ink);background:#f17f66;border-radius:6px 6px 2px 2px;width:20px;height:175px;position:absolute}.pencil:after{content:"";border-left:10px solid #0000;border-right:10px solid #0000;border-top:27px solid var(--ink);position:absolute;bottom:-27px;left:-4px}.pencil-one{top:14px;right:20px;transform:rotate(14deg)}.pencil-two{background:#6fbca9;height:124px;top:-2px;right:92px;transform:rotate(-8deg)}.star{color:var(--coral);font-size:72px;position:absolute;top:45px;left:32px;transform:rotate(17deg)}.library-section{width:min(1180px,100% - 48px);margin:105px auto 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.section-heading h2,.offline-explainer h2{font:800 clamp(32px, 4vw, 48px)/1 var(--font-display), sans-serif;letter-spacing:-.04em;margin:0}.section-heading>span{color:var(--muted);padding-bottom:6px;font-size:14px;font-weight:800}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 25px;display:grid}.book-card{min-width:0}.cover-button{cursor:pointer;background:0 0;border:0;border-radius:8px 18px 18px 8px;width:100%;padding:0}.cover-backdrop{aspect-ratio:.72;background:#fff;border-radius:7px 17px 17px 6px;place-items:center;width:min(100%,224px);margin:0 auto;padding:0;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:-5px 7px #18323a14,0 20px 35px #2a3b3733}.cover-backdrop img{object-fit:cover;filter:none;width:106%;max-width:none;height:106%;transition:transform .18s;transform:scale(1.03)}.cover-button:hover .cover-backdrop{transform:translateY(-6px)rotate(-.5deg);box-shadow:-7px 9px #18323a14,0 27px 45px #2a3b373d}.cover-button:hover img{transform:scale(1.07)}.teacher-tag{color:#fff;background:var(--ink);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:900;position:absolute;top:14px;left:14px}.workbook-tag{background:linear-gradient(135deg,#bf6d1d,#e8a72f)}.guide-reader-shell{background:#182637;grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.guide-reader-header{min-height:66px;padding:9px max(14px, env(safe-area-inset-right)) 9px max(14px, env(safe-area-inset-left));color:#fff;z-index:2;background:#0f2230fa;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid;box-shadow:0 8px 25px #00000038}.guide-reader-header button,.guide-reader-header a{color:#fff;min-height:42px;font:800 13px/1 var(--font-display), sans-serif;cursor:pointer;background:#ffffff17;border:1px solid #ffffff29;border-radius:14px;padding:9px 13px;text-decoration:none}.guide-reader-header>div{text-align:center;min-width:0}.guide-reader-header small,.guide-reader-header strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.guide-reader-header small{color:#9edff0;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:800}.guide-reader-header strong{font:800 16px/1.2 var(--font-display), sans-serif}.guide-frame{background:#202b37;border:0;width:100%;height:100%}@media (width<=650px){.guide-reader-header{gap:8px;min-height:58px}.guide-reader-header button,.guide-reader-header a{padding:8px 10px;font-size:11px}.guide-reader-header strong{font-size:13px}.guide-reader-header small{font-size:9px}}.book-meta{padding:18px 4px 0}.book-meta p{min-height:18px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:900}.book-meta h3{min-height:52px;font:800 19px/1.3 var(--font-display), sans-serif;letter-spacing:-.02em;margin:0}.card-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.card-footer button{cursor:pointer;background:0 0;border:0}.card-footer>button:first-child{color:var(--teal);padding:0;font-size:13px;font-weight:900}.mini-favorite{border-radius:12px;width:36px;height:36px;font-size:19px;border:1px solid var(--line)!important}.offline-explainer{background:#e0f1eb;border:1px solid #258c7c2e;border-radius:31px;grid-template-columns:auto 1.2fr .8fr;align-items:center;gap:30px;width:min(1180px,100% - 48px);margin:110px auto;padding:43px 48px;display:grid}.offline-icon{color:#fff;background:var(--teal);border-radius:24px;place-items:center;width:74px;height:74px;font-size:49px;font-weight:300;display:grid;transform:rotate(45deg)}.offline-explainer h2{max-width:620px;font-size:clamp(26px,3vw,38px)}.offline-explainer>p{color:#536c68;margin:0;font-size:15px;line-height:1.6}footer{border-top:1px solid var(--line);width:min(1180px,100% - 48px);color:var(--muted);justify-content:space-between;gap:30px;margin:0 auto;padding:34px 0 42px;font-size:12px;display:flex}footer p{margin:0}footer a{color:var(--ink);flex:none;font-weight:900;text-decoration:none}.loading-screen{text-align:center;place-content:center;gap:17px;min-height:100vh;display:grid}.loading-mark{color:#fff;background:var(--coral);width:76px;height:76px;font:900 27px var(--font-display), sans-serif;border-radius:25px 25px 25px 8px;place-items:center;margin:auto;animation:1.2s ease-in-out infinite alternate float;display:grid}.loading-screen p{color:var(--muted);font-weight:800}.reader-shell{color:#fff;isolation:isolate;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(circle at 50% 45%,#3c4140 0%,#232726 56%,#151817 100%);width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.reader-shell:after{content:"";z-index:-1;pointer-events:none;opacity:.14;background-image:radial-gradient(#ffffff40 .7px,#0000 .7px);background-size:5px 5px;position:absolute;inset:0}.reader-overlay{opacity:0;pointer-events:none;transition:opacity .24s,transform .24s;transform:translateY(-18px)}.controls-visible .reader-overlay{opacity:1;pointer-events:auto;transform:translateY(0)}.reader-header{min-height:74px;padding:max(12px, env(safe-area-inset-top)) 20px 10px;z-index:20;color:#fff;background:linear-gradient(#0a0d0ce0,#0a0d0c00);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid;position:absolute;top:0;left:0;right:0}.back-button,.bookmark-top-button{cursor:pointer;background:0 0;border:0}.back-button{color:#fff;justify-self:start;align-items:center;gap:9px;padding:12px;font-weight:900;display:flex}.back-button span{font-size:22px}.reader-title{text-align:center;max-width:min(50vw,520px)}.reader-title span,.reader-title strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.reader-title span{color:#ffffffa3;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.reader-title strong{font:800 17px var(--font-display), sans-serif;margin-top:2px}.bookmark-top-button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff38;border-radius:15px;justify-self:end;width:46px;height:46px;font-size:24px}.is-bookmarked{color:#ffd35f!important}.reader-stage{width:100%;height:100dvh;padding:max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));place-items:center;display:grid;position:relative}.page-spread{perspective:1800px;justify-content:center;align-items:center;gap:0;max-width:100%;height:100%;display:flex}.page-spread.one-page{width:min(100%,980px)}.page-leaf{place-items:center;max-width:100%;height:min(100%,1200px);display:grid;position:relative}.book-page{object-fit:contain;background:#fff;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 20px);display:block;box-shadow:0 24px 80px #0000007a}.two-pages .page-leaf:first-child .book-page{transform-origin:100%;transform:perspective(1700px)rotateY(.8deg);box-shadow:-22px 24px 75px #0006,inset -16px 0 26px #00000014}.two-pages .page-leaf:last-child .book-page{transform-origin:0;transform:perspective(1700px)rotateY(-.8deg);box-shadow:22px 24px 75px #0006,inset 16px 0 26px #00000014}.gesture-hint{left:50%;bottom:max(132px, calc(env(safe-area-inset-bottom) + 116px));z-index:4;color:#ffffffc7;letter-spacing:.03em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080b0a94;border-radius:999px;margin:0;padding:9px 15px;font-size:11px;font-weight:800;transition:opacity .24s,transform .24s;position:absolute;transform:translate(-50%,10px)}.controls-visible .gesture-hint{opacity:1;transform:translate(-50%)}.page-error{width:min(460px,90vw);color:var(--ink);text-align:center;background:#fff;border-radius:24px;padding:42px 32px;box-shadow:0 24px 80px #0000006b}.page-error>span{color:var(--teal);font-size:62px;display:block}.page-error h2{font:800 28px var(--font-display), sans-serif;margin:10px 0}.page-error p{color:var(--muted);line-height:1.6}.page-error a{color:#fff;background:var(--ink);border-radius:14px;margin-top:12px;padding:13px 18px;font-weight:900;text-decoration:none;display:inline-flex}.reader-controls{width:min(820px,100% - 28px);min-height:104px;left:50%;bottom:max(16px, env(safe-area-inset-bottom));z-index:20;color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0c100fd1;border:1px solid #ffffff29;border-radius:25px;grid-template-columns:48px 1fr 48px;align-items:center;gap:13px;padding:13px 15px 11px;display:grid;position:absolute;transform:translate(-50%,24px);box-shadow:0 18px 65px #0000005c}.controls-visible .reader-controls{transform:translate(-50%)}.page-button{width:48px;height:48px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:15px;font-size:23px}.page-button:disabled{opacity:.24;cursor:default}.page-progress{min-width:0}.progress-copy{color:#ffffffb8;justify-content:center;align-items:center;gap:8px;margin-bottom:7px;font-size:12px;font-weight:800;display:flex}.progress-copy input{color:#fff;text-align:center;background:#ffffff1a;border:1px solid #ffffff24;border-radius:11px;width:70px;height:36px;font-weight:900}.progress-track{background:#ffffff1f;border-radius:99px;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;height:100%;transition:width .22s;display:block}.reader-actions{grid-column:1/-1;justify-content:center;align-items:center;gap:7px;display:flex}.reader-actions button{color:#ffffffd6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff21;border-radius:11px;align-items:center;gap:6px;min-height:34px;padding:7px 11px;font-size:10px;font-weight:900;display:inline-flex}.reader-actions button span{font-size:15px}.bookmark-drawer{z-index:30;color:#fff;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0e1211eb;border:1px solid #ffffff21;border-radius:25px;width:min(360px,100% - 28px);max-height:min(560px,100dvh - 120px);padding:21px;transition:opacity .22s,transform .22s;position:absolute;top:78px;right:14px;overflow:auto;transform:translate(24px);box-shadow:0 24px 80px #00000075}.bookmark-drawer.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.bookmark-drawer-header{border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:20px;padding-bottom:14px;display:flex}.bookmark-drawer-header span,.bookmark-drawer-header strong{display:block}.bookmark-drawer-header span{color:#ffffff8c;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.bookmark-drawer-header strong{font:800 22px var(--font-display), sans-serif;margin-top:2px}.bookmark-drawer-header button,.remove-bookmark{color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;width:38px;height:38px;font-size:22px}.bookmark-list{gap:8px;padding:14px 0 4px;display:grid}.bookmark-row{grid-template-columns:1fr auto;align-items:center;gap:7px;display:grid}.bookmark-row>button:first-child{color:#fff;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;min-width:0;padding:12px 13px}.bookmark-row span,.bookmark-row strong{display:block}.bookmark-row span{color:#ffffff85;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.bookmark-row strong{margin-top:2px;font-size:13px}.remove-bookmark{color:#ffffffb3;width:36px;height:36px;font-size:18px}.empty-bookmarks{color:#ffffff94;text-align:center;padding:34px 16px 25px}.empty-bookmarks>span{color:#ffd35f;font-size:38px;display:block}.empty-bookmarks p{max-width:220px;margin:9px auto 0;font-size:13px;line-height:1.5}.offline-reader-status{color:#ffffff80;border-top:1px solid #ffffff1a;margin:15px 0 0;padding-top:14px;font-size:10px;line-height:1.45}.brand-mark,.loading-mark{background:linear-gradient(145deg, var(--sky), var(--teal));box-shadow:0 7px #0f346021}.status-pill{color:#087581;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffad;border-color:#21c8d352;box-shadow:0 8px 24px #0f346012}.status-pill span{background:#4caf50;box-shadow:0 0 0 4px #4caf5029}.hero{color:#fff;background:radial-gradient(circle at 83% 17%,#ffffff47,#0000 15rem),radial-gradient(circle at 10% 105%,#21c8d3d1,#0000 32rem),linear-gradient(135deg,#29baff 0%,#268ee2 58%,#1774ce 100%);box-shadow:0 26px 75px #0f346038}.hero:after{border-color:#ffffff47}.hero .kicker{color:#fff;letter-spacing:.11em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff42;border-radius:999px;margin-bottom:19px;padding:8px 13px;display:inline-flex}.hero h1{color:#fff;text-shadow:0 4px 18px #0f34603d}.hero-text{color:#ffffffe6}.continue-button{color:var(--ink);background:#fff;box-shadow:0 14px 32px #0f346038}.continue-button:hover{box-shadow:0 18px 38px #0f346047}.play-dot{color:#7a4900;background:linear-gradient(145deg, var(--sun), var(--orange))}.continue-button small{color:#5b8298}.sun{background:var(--sun);box-shadow:0 0 0 18px #ffd7002b,0 0 0 37px #ffffff17}.stack-book{color:#fff;text-shadow:0 2px 5px #0f346038;border-color:#fff;box-shadow:9px 11px #0f346024}.stack-book:after{background:#ffffff75}.stack-one{background:#21c8d3}.stack-two{background:#ff6b6b}.stack-three{background:#7b2ca8}.pencil{background:var(--orange);border-color:#fff}.pencil:after{border-top-color:#fff}.pencil-two{background:var(--teal)}.star{color:var(--sun);text-shadow:0 3px 10px #0f34602e}.section-heading .kicker{color:#0f91d4}.book-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #ffffffdb;border-radius:22px;padding:16px 14px 14px;transition:transform .18s,box-shadow .18s;box-shadow:0 16px 40px #0f346017}.book-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px #0f346021}.cover-backdrop{box-shadow:-5px 7px #0f346014,0 20px 35px #0f346033}.teacher-tag{background:linear-gradient(135deg, var(--sky), var(--teal))}.card-footer>button:first-child{color:#098fa8}.mini-favorite{background:#ffffffc2!important}.is-favorite{color:var(--orange)!important}.offline-explainer{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 95% 0,#21c8d338,#0000 22rem),#ffffffb3;border-color:#29baff38;box-shadow:0 20px 55px #0f34601a}.offline-icon{background:linear-gradient(145deg, var(--sky), var(--teal))}.offline-explainer>p{color:var(--muted)}.reader-shell{background:radial-gradient(circle at 50% 42%, #174b78 0%, var(--night-mid) 52%, var(--night) 100%)}.reader-header{background:linear-gradient(#0f3460eb,#0f346000)}.bookmark-top-button,.reader-controls,.bookmark-drawer{background:#0f3460c7;border-color:#81bee93d}.page-button{color:#fff;background:linear-gradient(145deg, var(--sky), var(--teal))}.progress-track span{background:linear-gradient(90deg, var(--sky), var(--teal))!important}.reader-actions button:hover,.bookmark-row>button:first-child:hover{background:#29baff33}.is-bookmarked,.empty-bookmarks>span{color:var(--sun)!important}.page-error a{background:linear-gradient(135deg, var(--sky), var(--teal))}@keyframes float{to{transform:translateY(-8px)rotate(2deg)}}@media (width<=900px){.hero{grid-template-columns:1fr;min-height:auto;padding:54px 45px 45px}.hero-art{height:330px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offline-explainer{grid-template-columns:auto 1fr}.offline-explainer>p{grid-column:2}}@media (width<=650px){.topbar,.hero,.library-section,.offline-explainer,footer{width:min(100% - 28px,1180px)}.topbar{height:88px}.brand small{display:none}.status-pill{padding:9px 11px;font-size:11px}.hero{border-radius:31px;margin-top:6px;padding:43px 28px 34px}.hero:after{border-radius:23px;inset:11px}.hero h1{font-size:clamp(46px,14vw,66px)}.hero-text{font-size:16px}.hero-art{transform-origin:bottom;height:275px;transform:scale(.88)rotate(-2deg)}.stack-one{width:100%}.stack-two{width:88%}.stack-three{width:77%}.library-section{margin-top:75px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 14px}.cover-backdrop{border-radius:5px 13px 13px 5px;width:100%;padding:0}.book-meta h3{min-height:57px;font-size:17px}.book-meta p{font-size:9px}.offline-explainer{grid-template-columns:1fr;margin:75px auto;padding:29px 25px}.offline-icon{border-radius:18px;width:58px;height:58px}.offline-explainer>p{grid-column:auto}footer{flex-direction:column}.reader-header{grid-template-columns:auto 1fr auto;min-height:76px;padding:10px 12px}.back-button{white-space:nowrap;gap:20px;width:45px;overflow:hidden}.reader-title{max-width:55vw}.reader-title strong{font-size:14px}.reader-stage{padding:8px}.reader-controls{width:calc(100% - 24px)}.reader-actions{gap:5px}.reader-actions button{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;padding:7px 6px;font-size:9px}.reader-actions button span{display:none}.gesture-hint{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 42px);overflow:hidden}.bookmark-drawer{top:72px;right:12px}}@media (orientation:landscape){.page-spread.two-pages{width:min(100%,1760px);height:100dvh}.two-pages .page-leaf{width:50%;max-width:50%;height:100%}.two-pages .book-page{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100dvh}.reader-header{min-height:64px;padding-top:max(8px, env(safe-area-inset-top))}.reader-controls{min-height:98px;bottom:max(10px, env(safe-area-inset-bottom))}.gesture-hint{bottom:max(122px, calc(env(safe-area-inset-bottom) + 108px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero.hero-picture{background:var(--sky);min-height:0;padding:0;display:block;overflow:hidden}.hero-picture:after{display:none}.hero-main-image{aspect-ratio:1731/909;object-fit:cover;width:100%;height:auto;display:block}.hero-resume-bar{min-height:94px;color:var(--ink);background:#fffffff0;justify-content:space-between;align-items:center;gap:22px;padding:15px 20px 15px 28px;display:flex}.hero-resume-bar>div>span,.hero-resume-bar>div>strong{display:block}.hero-resume-bar>div>span{color:#0f91d4;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:900}.hero-resume-bar>div>strong{font:800 18px var(--font-display)}.hero-picture .continue-button{color:#fff;background:linear-gradient(135deg, var(--sky), var(--teal));flex:0 auto;box-shadow:0 12px 28px #0f34602e}.hero-picture .continue-button small{color:#ffffffc7}@media (width<=650px){.hero.hero-picture{border-radius:25px;padding:0}.hero-resume-bar{flex-direction:column;align-items:stretch;gap:12px;min-height:0;padding:16px}.hero-resume-bar>div>strong{font-size:16px}.hero-picture .continue-button{width:100%}}.topbar-actions{align-items:center;gap:10px;display:flex}.passport-pill{min-height:43px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #ff95004d;border-radius:999px;grid-template-rows:auto auto;grid-template-columns:30px auto;align-items:center;column-gap:7px;padding:7px 13px 7px 9px;display:grid;box-shadow:0 8px 24px #0f346012}.passport-pill>span{color:#7a4900;background:linear-gradient(145deg, var(--sun), var(--orange));border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.passport-pill strong,.passport-pill small{text-align:left;display:block}.passport-pill strong{align-self:end;font-size:13px;line-height:1}.passport-pill small{color:var(--muted);align-self:start;font-size:9px;font-weight:800;line-height:1.1}.passport-backdrop{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f346080;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.passport-panel{width:min(840px,100%);max-height:min(840px,100dvh - 48px);color:var(--ink);background:radial-gradient(circle at 100% 0,#21c8d333,#0000 24rem),#f7fdff;border:1px solid #ffffffe6;border-radius:32px;padding:29px;overflow:auto;box-shadow:0 30px 100px #0f34604d}.passport-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.passport-header span,.passport-section-heading span{color:#0f91d4;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.passport-header h2{font:900 clamp(27px, 4vw, 40px)/1 var(--font-display);letter-spacing:-.04em;margin:3px 0 0}.passport-header button{width:42px;height:42px;color:var(--ink);cursor:pointer;background:#0f346014;border:0;border-radius:14px;flex:none;font-size:25px}.passport-identity{color:#fff;background:radial-gradient(circle at 90% 0%, #ffffff38, transparent 12rem), linear-gradient(135deg, var(--sky), var(--teal));border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:24px;padding:20px;display:grid;box-shadow:0 18px 38px #29baff33}.passport-avatar{background:#fff3;border:2px solid #ffffff6b;border-radius:23px;place-items:center;width:70px;height:70px;font-size:37px;display:grid}.passport-level>span,.passport-level>strong,.passport-level>small,.passport-stars>span,.passport-stars>strong,.passport-stars>small{display:block}.passport-level>span{color:#ffffffc2;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:900}.passport-level>strong{font:900 19px var(--font-display);margin-top:3px}.passport-level>small{color:#ffffffbd;margin-top:6px;font-size:9px;font-weight:700}.passport-level-track{background:#0f346033;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.passport-level-track span{border-radius:inherit;background:linear-gradient(90deg, var(--sun), var(--orange));height:100%;transition:width .3s;display:block}.passport-stars{text-align:center;border-left:1px solid #ffffff47;min-width:86px;padding-left:18px}.passport-stars>span{color:var(--sun);font-size:24px}.passport-stars>strong{margin-top:-3px;font-size:27px}.passport-stars>small{color:#ffffffbd;text-transform:uppercase;font-size:9px;font-weight:900}.passport-section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:28px 2px 13px;display:flex}.passport-section-heading h3{font:900 23px var(--font-display);margin:2px 0 0}.passport-section-heading>small{color:var(--muted);font-size:10px;font-weight:800}.mission-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mission-card{background:#ffffffd1;border:1px solid #0f346017;border-radius:18px;grid-template-columns:auto 1fr;gap:11px;min-width:0;padding:15px;display:grid}.mission-icon{background:#29baff1f;border-radius:12px;place-items:center;width:37px;height:37px;font-size:20px;display:grid}.mission-card strong,.mission-card small,.mission-card em{display:block}.mission-card strong{font-size:12px}.mission-card small{min-height:27px;color:var(--muted);margin-top:3px;font-size:9px;line-height:1.35}.mission-card em{color:#0f91d4;text-align:right;margin-top:4px;font-size:9px;font-style:normal;font-weight:900}.mission-track{background:#0f346017;border-radius:99px;height:6px;margin-top:9px;overflow:hidden}.mission-track span{border-radius:inherit;background:linear-gradient(90deg, var(--sky), var(--teal));height:100%;display:block}.badge-heading{margin-top:25px}.badge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.badge-card{color:#8aa0ad;text-align:center;filter:grayscale();background:#0f346009;border:1px dashed #0f346029;border-radius:18px;min-width:0;padding:15px 11px}.badge-card.is-unlocked{color:var(--ink);filter:none;background:linear-gradient(145deg,#fffdf1,#fff5d1);border-style:solid;border-color:#ff950040;box-shadow:0 10px 24px #ff950017}.badge-card>span,.badge-card>strong,.badge-card>small{display:block}.badge-card>span{font-size:29px}.badge-card>strong{margin-top:6px;font-size:11px}.badge-card>small{margin-top:4px;font-size:8px;line-height:1.35}.passport-privacy{color:var(--muted);text-align:center;margin:20px 0 0;font-size:10px;font-weight:800}.achievement-toast{width:min(470px,100% - 28px);top:max(88px, calc(env(safe-area-inset-top) + 74px));z-index:50;color:var(--ink);background:linear-gradient(145deg,#fffef4,#fff1ae);border:1px solid #ffd70061;border-radius:18px;align-items:center;gap:12px;padding:14px 18px;animation:.42s both achievement-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #00000042}.achievement-toast span{font-size:28px}.achievement-toast strong{font-size:12px;line-height:1.4}@keyframes achievement-in{0%{opacity:0;transform:translate(-50%,-14px)scale(.96)}}@media (width<=760px){.passport-backdrop{padding:10px}.passport-panel{border-radius:25px;max-height:calc(100dvh - 20px);padding:21px 17px}.passport-identity{grid-template-columns:auto 1fr;padding:16px}.passport-stars{border-top:1px solid #ffffff40;border-left:0;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;padding:12px 0 0;display:flex}.passport-stars>strong{margin:0}.mission-list{grid-template-columns:1fr}.mission-card small{min-height:0}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-section-heading>small{display:none}}@media (width<=560px){.topbar-actions{gap:7px}.passport-pill{padding-right:9px}.passport-pill small,.status-pill{display:none}.passport-pill strong{grid-row:1/3;align-self:center}}
