:root{--bg:#fffefa;--paper:#fff;--ink:#242829;--muted:#646e70;--line:#e5e9e3;--mint:#d9ebe3;--pink:#f9e7e8;--peach:#f8ede0;--blue:#e5eef4;--accent:#39685c}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg)}body{font-family:var(--ds-font-text,system-ui),-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{border:0;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}.page{width:94%;max-width:950px;margin:auto;padding-bottom:32px}.page header{min-height:69px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-family:var(--ds-font-display,Georgia),serif;font-size:21px;padding:8px 0}.brand-dot{font-size:13px;margin-left:8px;color:var(--accent)}.progress-link{color:var(--muted);font-size:12px;padding:10px;border-radius:12px;background:var(--mint)}.search{height:48px;border:1px solid var(--line);border-radius:14px;background:var(--paper);display:flex;align-items:center;gap:9px;padding:0 13px;margin:18px 0 24px;color:var(--muted)}.search span{font-size:23px}.search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}.search button{font-size:12px;color:var(--accent)}main{min-height:65vh}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--accent);font-weight:700}.hero{position:relative;overflow:hidden;min-height:400px;border-radius:25px;padding:46px 5%;background:linear-gradient(120deg,#f0f7ef,#f9eeee 56%,#fcf6e9)}h1,h2,strong{font-family:var(--ds-font-display,Georgia),Georgia,serif;font-weight:400}h1{font-size:clamp(36px,7vw,64px);letter-spacing:-.045em;line-height:1.07;margin:16px 0}h1 i{font-weight:400;color:var(--accent)}.hero h1,.hero p,.hero .eyebrow,.hero .primary{position:relative;z-index:2}.hero .lede{max-width:500px}.lede{font-size:16px;line-height:1.65;color:#4e5957;margin:12px 0 22px}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--accent);color:#fff;border-radius:13px;min-height:48px;padding:0 18px;font-weight:600}.hero-art{position:absolute;right:-46px;bottom:-90px;width:47%;height:430px;opacity:.65;pointer-events:none}.sun{position:absolute;top:12%;left:22%;width:125px;height:125px;border-radius:50%;background:#fff7dc;box-shadow:0 0 0 35px #fff9e780}.arch{position:absolute;border-radius:50% 50% 0 0;bottom:0;border:18px solid transparent;border-bottom:0}.a1{height:280px;width:220px;right:0;background:#e1eae0}.a2{height:235px;width:190px;right:100px;background:#d1e5de}.a3{height:185px;width:155px;right:210px;background:#f0cfcf}.section-title{margin:42px 0 20px}.section-title h2{font-size:35px;margin:5px 0}.section-title p{color:var(--muted);line-height:1.5;margin:4px 0}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.course-card{min-height:215px;text-align:left;padding:22px;border:1px solid var(--line);border-radius:19px;background:#fff;display:flex;flex-direction:column;gap:8px}.course-card:nth-child(4n+1){background:#f2f8f3}.course-card:nth-child(4n+2){background:#fcf2f1}.course-card:nth-child(4n+3){background:#f9f5ea}.course-card:nth-child(4n+4){background:#f0f5f9}.course-icon{font-size:25px;color:var(--accent)}.course-card strong{font-size:24px}.course-card>span:not(.eyebrow):not(.course-icon){font-size:14px;line-height:1.45;color:var(--muted)}.course-card small{margin-top:auto;color:var(--accent);font-weight:600}.course-card small b{float:right}.scope{padding:18px;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:13px;line-height:1.55;margin-top:24px}.back{color:var(--accent);min-height:42px;padding:0;margin-bottom:24px}.list{display:flex;flex-direction:column;gap:9px;margin:25px 0}.row{display:flex;align-items:center;gap:14px;width:100%;min-height:70px;text-align:left;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:15px}.row>small{margin-left:auto;color:var(--muted)}.row-num{color:var(--accent);font-family:Georgia,serif;font-size:21px}.row-main{flex:1;font-weight:600}.row-main small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px}.modes{display:flex;gap:8px;margin:28px 0 19px}.modes button{flex:1;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px}.modes button.active{background:var(--mint);border-color:#a7c8b9;color:#245549;font-weight:700}.parts{display:flex;flex-direction:column;gap:10px}.part{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.part h2{font-size:26px;margin:12px 0}.part p{font-size:16px;line-height:1.7;margin:0 0 15px}.evidence{display:inline-block;color:var(--muted);background:#f3f6f4;border-radius:30px;font-size:11px;padding:6px 10px}.complete{display:block;margin-top:19px;border:1px solid #b6d1c3;color:var(--accent);border-radius:10px;min-height:43px;padding:0 14px}.complete.checked{background:var(--mint)}.practice{background:var(--peach);padding:23px;border-radius:18px;margin:17px 0}.practice p{line-height:1.65;margin-bottom:0}.study{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0}.study>button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;min-height:58px;font-weight:600}.study>div{font-size:13px;line-height:1.6;color:var(--muted);padding-bottom:18px}.study a{display:block;padding:4px 0}.bottom-nav{display:flex;justify-content:space-between;gap:12px}.bottom-nav button{color:var(--accent);min-height:44px;font-weight:600}.audio{padding:36px 24px;background:var(--blue);border-radius:20px;text-align:center}.audio-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#fff;margin:auto;color:var(--accent);font-size:32px}.audio h2{font-size:28px}.audio p{color:var(--muted);line-height:1.6}.audio .note{display:block;margin:12px}.note{font-size:12px;color:var(--muted);line-height:1.5}.error{background:#fff1ee;color:#8a312d;border-radius:8px;padding:12px}.stage{aspect-ratio:16/10;border-radius:18px;background:linear-gradient(145deg,#dcece2,#f7e9e5);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:7%;min-height:260px}.orb{position:absolute;border-radius:50%;filter:blur(1px);animation:float 6s ease-in-out infinite}.orb1{width:270px;height:270px;background:#fff9e9;left:-60px;bottom:-100px}.orb2{width:220px;height:220px;background:#f8dcd5;right:-80px;top:-60px;animation-delay:2s}.stage-content{position:relative;z-index:1;text-align:center;max-width:100%;animation:fadein .8s ease-out}.stage-kicker{font-size:12px;color:var(--accent);font-weight:700}.stage h2{font-size:clamp(24px,5vw,38px);margin:12px}.stage p{font-size:clamp(14px,2.3vw,18px);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px}.controls button{min-height:44px;padding:0 15px;background:var(--mint);border-radius:11px}.controls button:disabled{opacity:.35}.animation .note{text-align:center}.page footer{border-top:1px solid var(--line);margin-top:45px;padding:18px 0;color:var(--muted);font-size:12px}.page footer button{color:var(--accent)}@keyframes float{50%{transform:translate(20px,-20px)}}@keyframes fadein{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.course-grid{grid-template-columns:1fr}.hero{min-height:380px;padding:35px 6%}.hero-art{opacity:.36;width:70%;right:-80px}.course-card{min-height:165px}.page{width:95%}.part{padding:19px}.row{padding:12px}.row>small{font-size:11px}}@media(prefers-reduced-motion:reduce){.orb,.stage-content{animation:none}}.animation,.stage{max-width:100%;min-width:0}.stage{width:100%;overflow:hidden}.stage-content{width:100%;min-width:0}.stage h2,.stage p{overflow-wrap:anywhere}.stage .orb{pointer-events:none}@media(max-width:600px){.stage h2{font-size:25px}.stage{padding:7% 6%;min-height:285px}.stage p{font-size:14px;line-height:1.45}}.audio audio{display:block;width:100%;max-width:550px;margin:20px auto 0;accent-color:var(--accent)}.stage .scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;filter:saturate(.75);pointer-events:none}.stage .orb{opacity:.3}.stage-content{background:#fffdf9d9;border-radius:18px;padding:13px;max-height:95%;overflow:auto}.lesson-figure{margin:14px 0 24px;border-radius:20px;overflow:hidden;background:#f1f6f1}.lesson-figure img{display:block;width:100%;max-height:310px;object-fit:cover;object-position:center}.lesson-figure figcaption{font-size:12px;color:var(--muted);padding:9px 12px;background:#f7f9f6}.part p{white-space:pre-line;line-height:1.72}.part h2{margin-bottom:18px}.stage{height:auto;min-height:360px;aspect-ratio:auto;padding:36px 6%}.stage-content{width:100%;max-height:none}.stage p{display:block;overflow:visible;line-height:1.62;white-space:normal;font-size:clamp(15px,2vw,18px)}.stage h2{font-size:clamp(23px,4vw,34px)}.format-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0 22px}.format-nav button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;padding:8px}.format-nav .selected{background:var(--mint);border-color:#a7c8b9;color:#245549;font-weight:700}.guide-studio{background:#fbf9f4;border:1px solid var(--line);border-radius:22px;padding:24px}.guide-heading{text-align:center;max-width:560px;margin:0 auto 20px}.guide-heading h2,.pathways h2{font-size:32px;margin:10px 0}.guide-heading p{color:var(--muted);line-height:1.55}.guide-stage{display:grid;grid-template-columns:minmax(190px,.8fr) 1.2fr;gap:18px;align-items:center}.guide-portrait{border-radius:22px;background:radial-gradient(circle at 50% 35%,#fff 12%,#e7f1e8 75%);display:flex;align-items:center;justify-content:center;position:relative;min-height:300px;overflow:hidden}.guide-portrait img{max-width:96%;max-height:280px;object-fit:contain;filter:drop-shadow(0 10px 18px #8e9d8c55);animation:guide-breathe 4s ease-in-out infinite}.guide-listening{position:absolute;bottom:10px;right:12px;background:#fffdf5e9;color:var(--accent);padding:7px 11px;border-radius:20px;font-size:12px}.guide-message{background:#fff;padding:24px;border:1px solid var(--line);border-radius:18px}.guide-message h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:10px 0}.guide-message p{line-height:1.65}.guide-caveat{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.guide-steps{display:flex;gap:8px;margin:20px 0 12px;flex-wrap:wrap}.guide-steps button{border:1px solid var(--line);background:#fff;padding:10px;border-radius:9px;font-size:12px;min-height:44px}.guide-steps .active{background:#e5f2ed;border-color:#abc9bb;font-weight:600}.guide-bottom{display:flex;justify-content:space-between}.guide-bottom button{color:var(--accent);min-height:44px}.guide-bottom button:disabled{opacity:.4}.pathways{margin:30px 0}.pathways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pathways-grid button{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:10px;min-height:155px}.pathways-grid strong{font-size:22px}.pathways-grid span{color:var(--muted);font-size:13px;line-height:1.4}.pathways-grid img{width:45px;height:45px;object-fit:contain;margin-bottom:-3px}@keyframes guide-breathe{50%{transform:translateY(-5px)}}@media(max-width:600px){.guide-studio{padding:15px}.guide-stage{grid-template-columns:1fr}.guide-portrait{min-height:245px}.guide-portrait img{max-height:230px}.format-nav{gap:5px}.format-nav button{font-size:12px;padding:6px}.pathways-grid{grid-template-columns:1fr}.pathways-grid button{min-height:100px}}@media(prefers-reduced-motion:reduce){.guide-portrait img{animation:none}}.film-heading{text-align:center;margin:12px auto 20px;max-width:680px}.film-heading h2{font-size:31px;margin:10px}.film-heading p{color:var(--muted);line-height:1.5}.film{height:min(68vw,500px);min-height:380px;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,#ebf5ed 5%,#fef9ee 48%,#f9e9e7);border:1px solid #dfe9df;isolation:isolate}.film-sky,.film-world{position:absolute;inset:0}.film-sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#fff6d2;top:10%;right:16%;box-shadow:0 0 0 35px #fff6d24d}.film-star{position:absolute;color:#dcb779;font-size:30px;opacity:.65}.star-a{top:8%;left:20%}.star-b{top:21%;right:10%}.star-c{top:37%;left:10%}.film-path{position:absolute;width:85%;height:68%;border:14px solid #c5dccd;border-left:0;border-bottom:0;border-radius:70% 80% 0 0;bottom:-34%;left:-5%;transform:rotate(-18deg)}.path-b{width:68%;height:52%;left:49%;bottom:-23%;border-color:#eddac6;transform:rotate(-36deg)}.film-person{position:absolute;left:23%;bottom:16%;width:100px;height:165px;z-index:2;filter:drop-shadow(0 9px 8px #8ca09266)}.film-head{position:absolute;top:0;left:24px;width:61px;height:65px;background:#eed2bf;border-radius:49% 48% 45% 50%;box-shadow:inset 0 15px #72594b}.film-body{position:absolute;top:61px;left:12px;width:86px;height:104px;border-radius:45% 45% 25% 25%;background:#8daea5}.film-thought{position:absolute;border:2px solid #bfd2c4;background:#fffdf8d9;border-radius:50%;width:63px;height:63px;display:grid;place-items:center;color:#638579;font-family:Georgia,serif;font-size:28px;box-shadow:0 5px 20px #71928625}.thought-a{left:42%;top:16%}.thought-b{left:56%;top:29%;width:45px;height:45px}.thought-c{left:73%;top:39%;width:35px;height:35px;font-size:18px}.film-sprout{position:absolute;right:17%;bottom:18%;height:110px;width:90px;z-index:2}.film-sprout b{position:absolute;width:7px;height:95px;background:#719c75;bottom:0;left:42px;border-radius:10px}.film-sprout i{position:absolute;left:5px;top:29px;width:45px;height:24px;background:#91bd91;border-radius:80% 0;transform:rotate(28deg);z-index:1}.film-sprout i+i{left:39px;top:7px;transform:scaleX(-1) rotate(28deg)}.film-doodle{position:absolute;width:130px;height:130px;border-radius:50%;border:2px dashed #d6b6a5;opacity:.6}.doodle-a{left:49%;top:10%}.doodle-b{right:13%;bottom:13%;width:80px;height:80px}.film-caption{position:absolute;z-index:3;bottom:20px;left:50%;transform:translate(-50%);width:min(88%,630px);padding:14px 22px;background:#fffef8f2;border:1px solid #e5e9e3;border-radius:16px;text-align:center;box-shadow:0 8px 28px #748b801f}.film-caption span{color:#3a6a5c;font-size:11px;font-weight:700;letter-spacing:.08em}.film-caption h3{font:400 clamp(20px,3vw,28px)/1.15 Georgia,serif;margin:6px}.film-caption p{font-size:clamp(14px,2vw,17px);line-height:1.4;margin:0}.film-progress{position:absolute;bottom:0;left:0;right:0;height:5px;background:#e3eae1;z-index:4}.film-progress i{display:block;height:100%;background:#77ae96}.film-v1{background:linear-gradient(155deg,#f6eee9,#ecf4f7 55%,#f1f6e7)}.film-v1 .film-person{left:59%;transform:scale(.9)}.film-v1 .film-sprout{right:62%}.film-v2{background:linear-gradient(160deg,#f9f2e9,#e7f3ed 70%,#e1ebf3)}.film-v2 .film-person{left:38%;transform:scale(.8)}.film-v2 .film-thought{opacity:.6}.film-v3{background:linear-gradient(150deg,#e9f2f3,linen 60%,#f5e5e8)}.film-v3 .film-person{left:18%;transform:scale(.95)}.film-v3 .film-sprout{right:35%}.film.is-playing .film-person{animation:step-forward 3s ease-in-out infinite}.film.is-playing .film-thought{animation:drift-away 5s ease-in-out infinite}.film.is-playing .thought-b{animation-delay:.7s}.film.is-playing .thought-c{animation-delay:1.4s}.film.is-playing .film-sprout{animation:grow-in 4s ease-in-out infinite}.film.is-playing .film-star{animation:twinkle 2s ease-in-out infinite}.film.is-playing .star-b{animation-delay:.6s}.film.is-playing .star-c{animation-delay:1.2s}.film.is-playing .film-sun{animation:sunrise 6s ease-in-out infinite}.film.is-playing .film-doodle{animation:turn 9s linear infinite}.film.is-playing .film-caption{animation:caption-enter 1s both}.film.is-playing .film-progress i{animation:scene-timer 8s linear both;width:100%!important}@keyframes step-forward{50%{translate:28px -8px}}@keyframes drift-away{50%{translate:20px -25px;opacity:.25}}@keyframes grow-in{50%{transform:scale(1.18);transform-origin:center bottom}}@keyframes twinkle{50%{scale:1.5;opacity:1}}@keyframes sunrise{50%{translate:0 -16px;box-shadow:0 0 0 48px #fff6d247}}@keyframes turn{to{rotate:360deg}}@keyframes caption-enter{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes scene-timer{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@media(max-width:600px){.film{height:520px;min-height:0}.film-person{left:12%;bottom:28%;transform:scale(.65);transform-origin:bottom left}.film-v1 .film-person{left:54%;transform:scale(.65)}.film-v2 .film-person{left:27%;transform:scale(.65)}.film-v3 .film-person{left:12%;transform:scale(.65)}.film-sprout{right:10%;bottom:29%;transform:scale(.7);transform-origin:bottom}.film-v1 .film-sprout{right:65%}.film-v3 .film-sprout{right:32%}.film-thought{top:15%;left:43%}.thought-b{top:26%;left:65%}.thought-c{top:36%;left:80%}.film-caption{bottom:17px;padding:12px}.film-caption h3{font-size:21px}.film-caption p{font-size:14px}}@media(prefers-reduced-motion:reduce){.film.is-playing *{animation:none!important}.film .controls{display:none}}.lesson-practice{margin:20px 0 0;background:#f6faf6;border:1px solid #d7e9dd;border-radius:15px;overflow:hidden}.practice-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:11px 15px;color:#326452;font-weight:600;text-align:left}.practice-inside{padding:0 15px 16px}.practice-inside>p:first-child{font-size:14px;color:#566461;margin:4px 0 15px}.practice-questions{display:grid;gap:8px;margin:0 0 15px}.practice-question{background:#fff;border-radius:9px;padding:10px 12px;font-size:14px;line-height:1.5}.lesson-practice textarea{display:block;resize:vertical;width:100%;min-height:110px;border:1px solid #cbded2;border-radius:10px;padding:12px;background:#fff;font:inherit;color:var(--ink);line-height:1.5}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.practice-actions button{min-height:44px;background:#e2eee7;border-radius:9px;padding:8px 13px;color:#285c4a;font-size:13px}.practice-actions button:first-child{background:#39685c;color:#fff}.practice-actions button:disabled{opacity:.45}.practice-hint{padding:12px;border-radius:10px;background:#fff8ec;font-size:13px;line-height:1.5}
