:root{color:#17384c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17384c;--muted:#6c8492;--paper:#fff;--sky:#e8f7ff;--blue:#2e89c8;--coral:#ff675d;--yellow:#ffd75e;--green:#43b88b;--line:#dcecf4;--shadow:0 18px 50px #26608021;background:#f5fbff;font-family:Avenir Next,SF Pro Rounded,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{touch-action:manipulation;background:#f5fbff;min-width:320px}body{touch-action:manipulation;background:radial-gradient(circle at 10% 4%,#ffd75e33,#0000 20rem),radial-gradient(circle at 92% 14%,#4fbeeb29,#0000 24rem),#f5fbff;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a,summary{touch-action:manipulation}button{color:inherit}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,label:focus-within{outline-offset:3px;outline:3px solid #2e89c852}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.app-shell{min-height:100vh}.lesson-workspace{min-height:100vh;padding-bottom:7rem}.lesson-workspace.point-mode{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:0;padding-bottom:0;display:grid;overflow:hidden}.point-mode main{min-height:0;overflow:hidden}.point-mode .point-read-view{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;padding-top:.35rem;padding-bottom:.55rem;display:grid}.point-mode .worksheet-shell{place-items:center;min-height:0;max-height:none;display:grid;overflow:hidden;container-type:size}.point-mode .worksheet{width:min(100cqw, calc(100cqh * var(--worksheet-ratio,.707)));max-width:100%;aspect-ratio:var(--worksheet-ratio,3473 / 4912);flex:none}.point-mode .worksheet-shell.multiple-pages{flex-direction:column;justify-content:flex-start;align-items:center;gap:.75rem;display:flex;overflow-y:auto}.point-mode .multiple-pages .worksheet{width:100%;max-width:40rem}.point-mode .worksheet>img{object-fit:contain;width:100%;height:100%}.point-mode .bottom-nav{display:none}.point-mode .app-header{height:4rem;padding-top:max(.45rem, env(safe-area-inset-top));padding-bottom:.35rem}.point-mode .point-read-view .section-heading{align-items:center;margin-bottom:.45rem}.point-mode .point-read-view .section-intro,.point-mode .point-read-view .eyebrow{display:none}.point-mode .point-read-view .section-heading h2{white-space:nowrap;font-size:clamp(1.18rem,4.7vw,1.6rem)}.point-title-group{align-items:center;gap:.65rem;min-width:0;display:flex}.point-exit{border:1px solid var(--line);width:2.6rem;height:2.6rem;color:var(--blue);cursor:pointer;background:#ffffffe6;border-radius:.85rem;flex:none;place-items:center;padding:0;display:grid;box-shadow:0 6px 18px #26608014}.point-exit svg{width:1.15rem}.heading-now-reading{border:1px solid var(--line);width:min(44%,16rem);min-width:11rem;min-height:3.3rem;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:1rem;grid-template-columns:2.3rem minmax(0,1fr) 1.25rem;align-items:center;gap:.55rem;padding:.4rem .65rem .4rem .4rem;display:grid;box-shadow:0 8px 24px #2660801a}.heading-now-reading .mini-speaker{border-radius:.7rem;width:2.3rem;height:2.3rem}.heading-now-reading .mini-speaker svg{width:1.15rem}.heading-reading-copy{min-width:0;display:grid}.heading-reading-copy small{color:var(--muted);font-size:.56rem}.heading-reading-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.heading-now-reading .replay-icon{width:1.1rem;color:var(--blue)}.heading-now-reading:active{transform:scale(.98)}.app-header{width:min(100%,980px);height:5.4rem;padding:max(.8rem, env(safe-area-inset-top)) 1.25rem .7rem;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.brand,.lesson-switch{cursor:pointer;background:0 0;border:0}.brand{text-align:left;align-items:center;gap:.7rem;padding:0;display:flex}.brand>span:last-child{display:grid}.brand b{letter-spacing:-.02em;font-family:Arial Rounded MT Bold,SF Pro Rounded,sans-serif;font-size:1.1rem}.brand small{color:var(--muted);letter-spacing:.05em;font-size:.68rem}.brand-mark{background:var(--coral);border-radius:50% 50% 44% 56%;place-items:center;width:2.7rem;height:2.7rem;display:grid;position:relative;transform:rotate(-5deg);box-shadow:inset -5px -5px #b7302e24,0 6px 16px #ff675d3b}.brand-mark i{transform-origin:bottom;background:#fff;border-radius:2rem;width:.22rem;position:absolute}.brand-mark i:first-child{height:.7rem;transform:translate(-.45rem)rotate(-35deg)}.brand-mark i:nth-child(2){height:1rem;transform:translateY(-.1rem)}.brand-mark i:nth-child(3){height:.7rem;transform:translate(.45rem)rotate(35deg)}.lesson-switch{border:1px solid var(--line);background:#ffffffc7;border-radius:999px;align-items:center;gap:.3rem;max-width:46%;padding:.65rem .8rem .65rem 1rem;display:flex;box-shadow:0 5px 18px #26608012}.lesson-switch span{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;overflow:hidden}.lesson-switch svg{flex:none;width:1rem}.view-panel{width:min(100% - 2rem,760px);margin:0 auto;padding:1.2rem 0 2rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.2rem;display:flex}.eyebrow{color:var(--blue);letter-spacing:.17em;text-transform:uppercase;margin:0 0 .3rem;font-size:.72rem;font-weight:800}h1,h2,h3,p{overflow-wrap:anywhere}.section-heading h2,.importer-header h1,.upload-intro h2,.review-title h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-family:Arial Rounded MT Bold,SF Pro Rounded,PingFang SC,sans-serif;font-size:clamp(1.55rem,5vw,2.15rem);line-height:1.12}.progress-pill,.tap-hint{color:var(--blue);background:#e8f5fb;border-radius:999px;flex:none;padding:.45rem .7rem;font-size:.75rem;font-weight:800}.number-picker{flex:none;position:relative}.number-picker summary{cursor:pointer;list-style:none}.number-picker summary::-webkit-details-marker{display:none}.number-picker .progress-pill{align-items:center;gap:.28rem;min-height:2.75rem;display:flex}.number-picker .progress-pill svg{width:.9rem;height:.9rem;transition:transform .2s}.number-picker[open] .progress-pill{background:var(--blue);color:#fff}.number-picker[open] .progress-pill svg{transform:rotate(180deg)}.number-picker-panel{z-index:30;border:1px solid var(--line);background:#fff;border-radius:1rem;width:min(22rem,100vw - 2.5rem);max-height:min(27rem,70dvh);padding:.9rem;position:absolute;top:calc(100% + .65rem);right:0;overflow:auto;box-shadow:0 16px 38px #17384c33}.number-picker-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.7rem;display:flex}.number-picker-heading strong{font-size:.88rem}.number-picker-heading small{color:var(--muted);font-size:.66rem}.number-grid{grid-template-columns:repeat(6,minmax(2.75rem,1fr));gap:.45rem;display:grid}.number-grid button{border:1px solid var(--line);min-width:0;min-height:3.2rem;color:var(--ink);cursor:pointer;background:#f7fbfd;border-radius:.75rem;align-content:center;place-items:center;gap:.05rem;padding:.3rem;display:grid}.number-grid button span{font-size:.82rem;font-weight:900}.number-grid button small{color:var(--muted);font-size:.52rem}.number-grid button.active{border-color:var(--blue);background:var(--blue);color:#fff}.number-grid button.active small{color:#ffffffd1}.filter-row{scrollbar-width:none;gap:.55rem;margin-bottom:1rem;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.item-strip::-webkit-scrollbar{display:none}.filter-row button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffffd6;border-radius:999px;flex:none;padding:.55rem .9rem;font-size:.78rem;font-weight:700}.filter-row button.active{border-color:var(--ink);background:var(--ink);color:#fff}.filter-row button:disabled{cursor:not-allowed;opacity:.45}.media-filter-row{margin-top:-.25rem}.learning-stage{min-height:27rem;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 38%,#fffffff0 0 7rem,#e8f7ffd9 7.1rem 12rem,#0000 12.2rem),linear-gradient(150deg,#effaff,#fffdfa);border:1px solid #cae4f1e6;border-radius:2.2rem;align-content:center;place-items:center;padding:2.2rem 1.4rem 1.5rem;display:grid;position:relative;overflow:hidden}.swipe-enabled{touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain}.learning-stage.swipe-next .hero-card{animation:.3s cubic-bezier(.22,.8,.3,1) practice-swipe-next}.learning-stage.swipe-previous .hero-card{animation:.3s cubic-bezier(.22,.8,.3,1) practice-swipe-previous}.learning-stage.swipe-next .word-line,.learning-stage.swipe-next .listen-status,.learning-stage.swipe-previous .word-line,.learning-stage.swipe-previous .listen-status{animation:.3s cubic-bezier(.22,.8,.3,1) swipe-copy-in}.slideshow-art.swipe-next .slide-media-frame{animation:.3s cubic-bezier(.22,.8,.3,1) media-swipe-next}.slideshow-art.swipe-previous .slide-media-frame{animation:.3s cubic-bezier(.22,.8,.3,1) media-swipe-previous}@keyframes practice-swipe-next{0%{opacity:.45;transform:translate(9%)rotate(-1deg)scale(.985)}to{opacity:1;transform:translate(0)rotate(-1deg)scale(1)}}@keyframes practice-swipe-previous{0%{opacity:.45;transform:translate(-9%)rotate(-1deg)scale(.985)}to{opacity:1;transform:translate(0)rotate(-1deg)scale(1)}}@keyframes media-swipe-next{0%{opacity:.45;transform:translate(7%)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes media-swipe-previous{0%{opacity:.45;transform:translate(-7%)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes swipe-copy-in{0%{opacity:.35;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.learning-stage:before,.learning-stage:after{content:"";background:var(--yellow);opacity:.8;border-radius:50%;position:absolute}.learning-stage:before{width:.55rem;height:.55rem;top:17%;left:11%;box-shadow:0 0 0 5px #ffd75e26}.learning-stage:after{background:var(--green);width:.36rem;height:.36rem;bottom:28%;right:14%;box-shadow:0 0 0 5px #43b88b1f}.hero-card{z-index:2;cursor:pointer;background:#fff;border:0;border-radius:1.7rem;place-items:center;width:min(82%,24rem);min-height:13rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:grid;position:relative;transform:rotate(-1deg);box-shadow:0 12px 30px #2c698926,inset 0 2px #fffc}.hero-card:active{transform:scale(.97)rotate(-1deg);box-shadow:0 5px 18px #2c698921}.hero-card .crop-image{width:min(100%,17rem)}.hero-card .crop-image img{filter:saturate(.98)}.hero-card .direct-card-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:min(100%,20rem);max-height:20rem;display:block}.crop-image{isolation:isolate;position:relative;overflow:hidden}.crop-image img{-webkit-user-select:none;user-select:none;pointer-events:none;height:auto;position:absolute}.play-badge{background:var(--coral);color:#fff;border:5px solid #fff;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;display:grid;position:absolute;bottom:-.65rem;right:-.65rem;box-shadow:0 8px 18px #ff675d4d}.play-badge svg{fill:currentColor;stroke:none;width:1.3rem;transform:translate(1px)}.sound-orbit{z-index:1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.sound-orbit i{opacity:0;border:2px solid #2e89c82e;border-radius:50%;width:17rem;height:17rem;position:absolute}.status-playing .sound-orbit i,.status-following .sound-orbit i{animation:2.1s ease-out infinite sound-orbit}.sound-orbit i:nth-child(2){animation-delay:.55s!important}.sound-orbit i:nth-child(3){animation-delay:1.1s!important}@keyframes sound-orbit{0%{opacity:.7;transform:scale(.68)}to{opacity:0;transform:scale(1.4)}}.word-line{z-index:2;text-align:center;justify-content:center;align-items:center;gap:.7rem;margin-top:1.5rem;display:flex;position:relative}.word-line h3{letter-spacing:-.035em;margin:0;font-family:Arial Rounded MT Bold,SF Pro Rounded,sans-serif;font-size:clamp(1.6rem,7vw,2.5rem);line-height:1.08}.item-number{color:var(--coral);letter-spacing:.08em;align-self:flex-start;font-size:.68rem;font-weight:900}.listen-status{z-index:2;min-height:1.4rem;color:var(--muted);margin:.55rem 0 0;font-size:.84rem;font-weight:700;position:relative}.status-following .listen-status{color:var(--coral);font-size:1rem}.inline-error{z-index:2;color:#b93636;margin:.4rem 0 0;font-size:.76rem;position:relative}.transport{justify-content:center;align-items:center;gap:1.2rem;margin:1.3rem 0;display:flex}.round-button,.main-play{cursor:pointer;border:0}.round-button{background:#fff;border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;display:grid;box-shadow:0 6px 18px #2660801a}.round-button svg{width:1.25rem}.main-play{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:8.5rem;height:3.7rem;font-weight:800;display:flex;box-shadow:0 8px 20px #17384c38}.main-play svg{fill:currentColor;stroke:none;width:1.3rem}.practice-settings{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}.practice-settings button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fffc;border-radius:1rem;align-items:center;gap:.5rem;min-width:0;padding:.7rem;display:flex}.practice-settings button.selected{background:#eaf7fd;border-color:#2e89c866;box-shadow:inset 0 0 0 1px #2e89c81f}.setting-icon{font-size:1.15rem}.practice-settings button>span:last-child{min-width:0;display:grid}.practice-settings b{font-size:.78rem}.practice-settings small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.61rem;overflow:hidden}.item-strip{scroll-snap-type:x proximity;scrollbar-width:none;gap:.55rem;margin-top:1rem;padding:.25rem .1rem .8rem;display:flex;overflow-x:auto}.item-strip button{border:1px solid var(--line);max-width:13rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;scroll-snap-align:start;cursor:pointer;background:#ffffffb3;border-radius:.8rem;flex:none;padding:.6rem .8rem;font-size:.73rem;font-weight:700;overflow:hidden}.item-strip button span{color:var(--blue);margin-right:.4rem;font-size:.6rem}.item-strip button.active{border-color:var(--coral);color:var(--ink);background:#fff1ef}.bottom-nav{z-index:20;left:50%;bottom:max(.7rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #d1e5efe6;border-radius:1.45rem;grid-template-columns:repeat(3,1fr);width:min(100% - 1.5rem,31rem);padding:.45rem;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px 35px #18455b2b}.bottom-nav button{color:#8295a0;cursor:pointer;background:0 0;border:0;border-radius:1rem;place-items:center;gap:.12rem;padding:.45rem;font-size:.66rem;font-weight:800;display:grid}.bottom-nav button.active{background:var(--sky);color:var(--blue)}.bottom-nav svg{width:1.3rem;height:1.3rem}.section-intro{color:var(--muted);margin:-.4rem 0 1rem;font-size:.82rem;line-height:1.65}.tap-hint{color:var(--green);background:#eaf8f2;align-items:center;gap:.4rem;display:flex}.tap-hint i{background:currentColor;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 0 4px #43b88b24}.worksheet-shell{border:1px solid var(--line);min-height:20rem;max-height:calc(100dvh - 22rem);box-shadow:var(--shadow);background:#deedf4;border-radius:1.5rem;padding:.5rem;overflow:auto}.worksheet{background:#fff;border-radius:1rem;width:100%;position:relative;overflow:hidden}.worksheet>img{width:100%;height:auto;display:block}.hotspot{cursor:pointer;background:0 0;border:1.5px dashed #0000;border-radius:.4rem;place-items:start end;padding:.2rem;display:grid;position:absolute}.hotspot span{color:#fff;opacity:.32;background:#2e89c8c7;border-radius:50%;place-items:center;min-width:1.05rem;height:1.05rem;font-size:clamp(.38rem,1.5vw,.65rem);font-weight:800;transition:opacity .2s,transform .2s;display:grid}.hotspot:hover,.hotspot:focus-visible{background:#47afdd14;border-color:#2e89c873}.hotspot:hover span,.hotspot.active span{opacity:1;transform:scale(1.15)}.hotspot.active{border:2px solid var(--coral);background:#ff675d14}.hotspot.active span{background:var(--coral)}.now-reading{z-index:1;border:1px solid var(--line);background:#fff;border-radius:1.2rem;align-items:center;gap:.7rem;margin:1rem auto 0;padding:.75rem;display:flex;position:relative;box-shadow:0 10px 30px #2660801f}.mini-speaker{width:2.5rem;height:2.5rem;color:var(--coral);background:#fff0ee;border-radius:.8rem;flex:none;place-items:center;display:grid}.mini-speaker svg{width:1.3rem}.now-reading>div{flex:1;min-width:0;display:grid}.now-reading small{color:var(--muted);font-size:.62rem}.now-reading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.now-reading button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:.7rem;flex:none;padding:.55rem .7rem;font-size:.7rem;font-weight:800}.slideshow-card,.full-audio-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:1.8rem;overflow:hidden}.slideshow-card{grid-template-columns:1.1fr .9fr;min-height:23rem;display:grid}.slideshow-art{cursor:pointer;background:linear-gradient(145deg,#e9f9ff,#fff7da);place-items:center;height:23rem;min-height:0;padding:1.4rem;display:grid;position:relative}.slide-media-frame{background:#fff;border-radius:1.2rem;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 12px 28px #26608024}.slideshow-art .direct-card-image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;max-height:none;display:block;position:absolute;inset:0}.slideshow-art .fixed-crop-image{stroke:none;width:100%;height:100%;max-height:none;display:block;position:absolute;inset:0}.slide-count{color:#fff;background:#17384cd1;border-radius:999px;padding:.4rem .65rem;font-size:.68rem;font-weight:800;position:absolute;bottom:1rem;left:1rem}.slideshow-copy{align-content:center;padding:1.7rem;display:grid}.slideshow-copy p,.full-audio-copy p{color:var(--blue);letter-spacing:.1em;margin:0 0 .35rem;font-size:.68rem;font-weight:800}.slideshow-copy h3,.full-audio-copy h3{margin:0;font-family:Arial Rounded MT Bold,SF Pro Rounded,sans-serif;font-size:clamp(1.5rem,5vw,2.3rem);line-height:1.05}.slideshow-copy h3{align-items:center;min-height:2.1em;display:flex}.pause-selector{justify-content:space-between;align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.pause-selector>span{color:var(--muted);flex:none;font-size:.68rem;font-weight:800}.pause-selector>div{gap:.3rem;display:flex}.pause-selector button{border:1px solid var(--line);min-width:2.6rem;color:var(--muted);cursor:pointer;background:#f7fbfd;border-radius:.65rem;padding:.36rem .42rem;font-size:.64rem;font-weight:800}.pause-selector button.active{border-color:var(--blue);background:var(--blue);color:#fff}.slide-controls{justify-content:center;align-items:center;gap:.5rem;margin-top:1.2rem;display:flex}.slide-controls button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;place-items:center;min-width:2.7rem;height:2.7rem;font-weight:900;display:grid}.slide-controls .listen-button{border-color:var(--coral);background:var(--coral);color:#fff;grid-auto-flow:column;gap:.35rem;min-width:8.5rem}.slide-controls .listen-button.playing{border-color:var(--ink);background:var(--ink)}.listen-button svg{fill:currentColor;stroke:none;width:1rem}.full-audio-card{grid-template-columns:12rem 1fr;align-items:center;gap:1rem;margin-top:1rem;padding:1.2rem;display:grid}.record-art{background:#19394c;border-radius:1.2rem;place-items:center;min-height:10rem;display:grid;position:relative;overflow:hidden}.record{z-index:2;background:repeating-radial-gradient(circle,#17384c 0 5px,#284f64 6px 8px);border-radius:50%;place-items:center;width:7rem;height:7rem;animation:9s linear infinite spin;display:grid;box-shadow:0 8px 25px #0000004d}.record span{background:var(--yellow);width:2.3rem;height:2.3rem;color:var(--coral);border-radius:50%;place-items:center;display:grid}.record-art>i{border:1px solid #66d1f633;border-radius:50%;position:absolute}.record-art>i:first-of-type{width:9rem;height:9rem}.record-art>i:nth-of-type(2){width:12rem;height:12rem}.record-art>i:nth-of-type(3){width:15rem;height:15rem}@keyframes spin{to{transform:rotate(360deg)}}.full-audio-copy audio{width:100%;margin-top:1.1rem}.coming-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.coming-grid article{background:#ffffff8c;border:1px dashed #bfd7e3;border-radius:1.1rem;align-items:center;gap:.8rem;padding:1rem;display:flex}.coming-grid article>span{font-size:1.5rem}.coming-grid article>div{display:grid}.coming-grid b{font-size:.82rem}.coming-grid small{color:var(--muted);font-size:.65rem}.sheet-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102a395c;align-items:end;display:grid;position:fixed;inset:0}.library-sheet{width:min(100%,46rem);max-height:88vh;padding:.7rem 1.1rem max(1.5rem, env(safe-area-inset-bottom));background:#f9fdff;border-radius:2rem 2rem 0 0;margin:0 auto;overflow:auto;box-shadow:0 -15px 50px #0b283738}.sheet-grabber{background:#c8dce6;border-radius:999px;width:3rem;height:.28rem;margin:.1rem auto 1.2rem}.sheet-title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sheet-title h2{margin:0;font-family:Arial Rounded MT Bold,PingFang SC,sans-serif;font-size:1.45rem}.sheet-title>button{width:2.4rem;height:2.4rem;color:var(--muted);cursor:pointer;background:#eaf3f7;border:0;border-radius:50%;font-size:1.5rem}.lesson-list{gap:.65rem;margin:1.2rem 0;display:grid}.lesson-row{border:1px solid var(--line);background:#fff;border-radius:1.1rem;width:100%;position:relative}.lesson-row.active{background:#f0faff;border-color:#2e89c880}.lesson-select{border-radius:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:4.5rem 1fr auto;align-items:center;gap:.8rem;width:100%;padding:.7rem 2.7rem .7rem .7rem;display:grid}.lesson-delete{color:#b63f3b;cursor:pointer;background:#fff0ef;border:0;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:1rem;line-height:1;display:grid;position:absolute;top:.65rem;right:.65rem}.lesson-cover{background:var(--sky);border-radius:.75rem;height:3.6rem;overflow:hidden}.lesson-cover img{object-fit:cover;object-position:center 10%;width:100%;height:100%}.lesson-info{min-width:0;display:grid}.lesson-info b{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.lesson-info small{color:var(--muted);font-size:.66rem}.lesson-check{color:var(--blue);font-weight:900}.add-lesson-button{text-align:left;cursor:pointer;background:#eaf8fe;border:1px dashed #96c7dc;border-radius:1.1rem;align-items:center;gap:.8rem;width:100%;padding:1rem;display:flex}.add-lesson-button>span{background:var(--blue);color:#fff;border-radius:.8rem;flex:none;place-items:center;width:2.5rem;height:2.5rem;font-size:1.6rem;display:grid}.add-lesson-button>div{display:grid}.add-lesson-button b{font-size:.9rem}.add-lesson-button small{color:var(--muted);font-size:.68rem}.sheet-enter-active,.sheet-leave-active{transition:opacity .25s}.sheet-enter-active .library-sheet,.sheet-leave-active .library-sheet{transition:transform .3s cubic-bezier(.22,.8,.3,1)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .library-sheet,.sheet-leave-to .library-sheet{transform:translateY(100%)}.importer-page{min-height:100vh;padding-bottom:3rem}.importer-header{width:min(100% - 2rem,820px);padding:max(1rem, env(safe-area-inset-top)) 0 1rem;align-items:center;gap:1rem;margin:0 auto;display:flex}.importer-header>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;width:2.8rem;height:2.8rem;display:grid}.importer-header h1{font-size:1.5rem}.importer-main{width:min(100% - 2rem,820px);margin:0 auto}.upload-panel,.review-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe0;border-radius:2rem;padding:clamp(1.1rem,4vw,2rem)}.upload-intro{text-align:center;max-width:38rem;margin:0 auto 1.8rem}.magic-mark{background:var(--yellow);color:#b05b25;border-radius:1.2rem;place-items:center;width:3.6rem;height:3.6rem;margin:0 auto 1rem;font-size:1.65rem;display:grid;transform:rotate(-5deg);box-shadow:0 10px 24px #ffd75e59}.upload-intro h2{font-size:clamp(1.55rem,5vw,2.2rem)}.upload-intro p{color:var(--muted);margin:.8rem auto 0;font-size:.82rem;line-height:1.7}.file-drop{cursor:pointer;background:#f7fcff;border:1.5px dashed #b8d6e4;border-radius:1.15rem;grid-template-columns:3.3rem 1fr auto;align-items:center;gap:.8rem;margin:.75rem 0;padding:1rem;display:grid;position:relative}.file-drop.ready{background:#f2fbf7;border-style:solid;border-color:#43b88b73}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-icon{color:#fff;border-radius:.9rem;place-items:center;width:3.1rem;height:3.1rem;font-size:.75rem;font-weight:900;display:grid}.file-icon.pdf{background:var(--coral)}.file-icon.audio{background:var(--blue);font-size:1.4rem}.file-drop>span:nth-of-type(2){min-width:0;display:grid}.file-drop b{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.file-drop small{color:var(--muted);font-size:.65rem}.file-drop em{color:var(--blue);font-size:.7rem;font-style:normal;font-weight:800}.analyze-button,.save-lesson{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:1rem;justify-content:center;align-items:center;gap:.6rem;width:100%;min-height:3.6rem;margin-top:1.1rem;font-weight:800;display:flex;box-shadow:0 10px 22px #17384c33}.analyze-button:disabled{box-shadow:none;cursor:not-allowed;background:#bdccd3}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1.15rem;height:1.15rem;animation:.8s linear infinite spin}.local-note{color:var(--muted);text-align:center;margin:1rem 0 0;font-size:.65rem}.import-error,.review-warning{color:#a83935;background:#fff0ef;border-radius:.8rem;padding:.75rem;font-size:.75rem;line-height:1.5}.review-title{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.2rem;display:flex}.confidence{color:#a06a1b;background:#fff3dc;border-radius:999px;flex:none;padding:.45rem .65rem;font-size:.66rem;font-weight:800}.confidence.high{color:#278364;background:#e7f8f1}.title-field{gap:.35rem;margin-bottom:1rem;display:grid}.title-field span,.review-list label span{color:var(--muted);font-size:.64rem;font-weight:700}.title-field input,.review-list input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:.7rem}.title-field input{padding:.75rem;font-weight:700}.import-preview{background:#fff;border:.5rem solid #e1eef4;border-radius:1.2rem;width:min(100%,34rem);margin:0 auto 1rem;position:relative;overflow:hidden}.import-preview img{width:100%;height:100%;display:block}.import-preview>span{color:#fff;background:#ff675d0d;border:1px solid #ff675db3;place-items:start end;padding:.12rem;font-size:clamp(.35rem,1.5vw,.6rem);font-weight:800;display:grid;position:absolute}.import-preview>span:before{content:"";background:var(--coral);z-index:-1;border-radius:50%;width:1em;height:1em;position:absolute;top:.1rem;right:.1rem}.review-help{color:var(--muted);font-size:.75rem}.review-list{gap:.55rem;max-height:28rem;padding-right:.25rem;display:grid;overflow:auto}.review-list article{border:1px solid var(--line);background:#fbfdfe;border-radius:.9rem;grid-template-columns:2.3rem 1.7rem minmax(8rem,1fr) 5rem 5rem;align-items:end;gap:.45rem;padding:.65rem;display:grid}.preview-audio{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-size:.7rem;display:grid}.review-number{color:var(--blue);text-align:center;align-self:center;font-size:.7rem;font-weight:900}.review-list label{gap:.2rem;min-width:0;display:grid}.review-list input{height:2.3rem;padding:.4rem .5rem;font-size:.75rem}.review-actions{grid-template-columns:.65fr 1.35fr;gap:.7rem;margin-top:1rem;display:grid}.review-actions button{cursor:pointer;border-radius:1rem;min-height:3.4rem;font-weight:800}.back-edit{border:1px solid var(--line);background:#fff}.save-lesson{background:var(--green);border:0;margin:0;box-shadow:0 9px 22px #43b88b38}@media (width<=620px){.app-header{height:4.7rem;padding-left:1rem;padding-right:1rem}.brand small{display:none}.brand-mark{width:2.35rem;height:2.35rem}.lesson-switch{max-width:53%;padding-left:.75rem}.view-panel{width:min(100% - 1.25rem,760px);padding-top:.7rem}.learning-stage{border-radius:1.7rem;min-height:24rem;padding:1.8rem .8rem 1.2rem}.hero-card{width:88%;min-height:12rem}.practice-settings{grid-template-columns:1fr 1fr}.practice-settings button{min-height:3.6rem}.slideshow-card{grid-template-columns:1fr}.slideshow-art{height:18rem;min-height:0}.slideshow-copy{padding:1.2rem}.slide-controls{margin-top:1rem}.pause-selector{flex-wrap:wrap;justify-content:flex-start}.full-audio-card{grid-template-columns:7.5rem 1fr;gap:.8rem}.record-art{min-height:8rem}.record{width:5.7rem;height:5.7rem}.coming-grid{grid-template-columns:1fr}.worksheet-shell{min-height:18rem;max-height:calc(100dvh - 21.5rem)}.review-title{flex-direction:column;align-items:flex-start}.review-list article{grid-template-columns:2.2rem 1.5rem 1fr 4.4rem}.review-list article .time-field:last-child{grid-column:4}.review-list article .time-field:nth-last-child(2){grid-column:3}}@media (width<=420px){.point-mode .point-read-view .section-heading{gap:.5rem}.point-mode .point-read-view .section-heading h2{white-space:nowrap;font-size:1.22rem}.point-title-group{gap:.4rem}.point-exit{border-radius:.75rem;width:2.3rem;height:2.3rem}.heading-now-reading{grid-template-columns:2rem minmax(0,1fr) 1rem;gap:.35rem;width:9.6rem;min-width:0;min-height:2.8rem;padding:.3rem .45rem .3rem .3rem}.heading-now-reading .mini-speaker{width:2rem;height:2rem}.heading-reading-copy small{display:none}.heading-reading-copy strong{font-size:.68rem}.section-heading h2{font-size:1.45rem}.progress-pill{padding:.4rem .55rem}.number-picker-panel{width:calc(100vw - 1.25rem);right:-.15rem}.number-grid{grid-template-columns:repeat(5,minmax(2.75rem,1fr))}.learning-stage{min-height:22.5rem}.hero-card{min-height:10.5rem}.word-line h3{font-size:1.65rem}.full-audio-card{grid-template-columns:1fr}.record-art{display:none}.file-drop{grid-template-columns:2.7rem 1fr auto;padding:.8rem}.file-icon{width:2.6rem;height:2.6rem}.review-list article{grid-template-columns:2.2rem 1.5rem 1fr}.review-list article label:first-of-type{grid-column:3}.review-list article .time-field:nth-last-child(2){grid-column:2/span 1}.review-list article .time-field:last-child{grid-column:3}.review-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
