:root{--ink:#173e3b;--teal:#155e55;--paper:#f8f6ee;--coral:#c54f35;--mint:#d9eee4;--gold:#f7cf64;--line:#d9ded4;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-size:17px}*{box-sizing:border-box}body{margin:0}button,a,input,select{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer;border:0;border-radius:14px;padding:13px 20px;color:var(--ink);background:#e9eee5;font-weight:700;min-height:48px}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:4px solid #a94326;outline-offset:4px}button:disabled{opacity:.55;cursor:default}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;padding:23px 5vw;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Outfit,sans-serif;font-size:18px;line-height:1.04;letter-spacing:1.8px}.brand b{display:block;font-size:23px}.brand small{font:600 9px 'DM Sans',sans-serif;display:block;margin-top:5px;letter-spacing:2px}.brandmark{font-size:45px;color:var(--coral)}nav{display:flex;gap:8px}nav button{background:transparent;font-size:14px}h1,h2,h3{font-family:Outfit,sans-serif;line-height:1.05;margin:0 0 16px}h1{font-size:clamp(46px,5.5vw,82px);letter-spacing:-3px;font-weight:600}h2{font-size:36px;letter-spacing:-1px}h3{font-size:23px}p{line-height:1.6}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--teal);margin:0 0 18px}.hero{position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden;background:#dfebdc}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf8ed 0%,#faf8edf0 27%,#faf8ed44 55%,transparent 76%)}.hero-copy{position:relative;z-index:1;width:53%;padding:62px 6vw}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:440px}.pill{display:inline-block;border-radius:30px;border:1px solid #70958b;padding:7px 13px;font-size:12px;margin-bottom:22px;font-weight:700}.primary{background:var(--teal);color:white}.coral{background:var(--coral);color:white}.secondary{border:1px solid #91aaa1;background:transparent}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:45px 6vw}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.sectionhead p{margin:0}.grade{display:flex;align-items:center;gap:10px;font-size:14px}.grade select{padding:12px;border-radius:12px;border:1px solid #9ab0a5;background:white;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);background:#fffdf7;border-radius:22px;padding:23px;display:flex;flex-direction:column;align-items:start;text-align:left;box-shadow:0 5px 0 #e6e8df;min-height:240px}.card .icon{background:var(--mint);border-radius:17px;width:55px;height:55px;display:grid;place-items:center;font-size:29px;margin-bottom:20px}.card p{font-weight:400;font-size:14px;margin:0 0 16px}.card small{margin-top:auto;color:#456b62}.crew{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:#173f3a;color:#fffdf1;border-radius:24px;padding:32px;align-items:center}.crew img{width:100%;border-radius:18px}.crew p{color:#e0ece3}.footer{padding:15px 6vw 40px;font-size:12px;color:#4f6c62}.lesson{max-width:1080px;margin:auto;padding:32px 5vw 60px}.lesson-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.lesson-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}.guide{border-radius:24px;background:#e2ece0;overflow:hidden;align-self:start}.guide img{width:100%;height:190px;object-fit:cover;object-position:35% center}.guide>div{padding:20px}.guide p{font-size:14px}.stage{background:#fffdf7;border:1px solid var(--line);border-radius:25px;padding:32px}.scene{font-size:23px;line-height:1.5;margin-top:12px}.choice{width:100%;border:2px solid #bdcdc1;background:white;text-align:left;margin-top:12px;font-weight:500;padding:18px;line-height:1.5}.choice.selected{border-color:var(--teal);background:#e2f1e6}.feedback{background:#edf2e6;border-radius:16px;padding:20px;margin-top:20px;line-height:1.6}.feedback strong{display:block}.stepbar{display:flex;gap:8px;margin:18px 0}.stepbar span{height:7px;flex:1;border-radius:10px;background:#d4ded2}.stepbar .filled{background:var(--teal)}.film{width:100%;border-radius:18px;max-height:360px;background:#dcecdf}.intro-art{position:relative;height:300px;overflow:hidden;border-radius:18px;background:#dcecdf}.intro-art img{width:100%;height:100%;object-fit:cover;animation:drift 10s ease-in-out infinite alternate}.intro-art span{position:absolute;left:20px;bottom:20px;background:#fcf8eae8;padding:14px;border-radius:12px;font-family:Outfit;font-size:25px}.quiet{font-size:13px;color:#49685f}.progress-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}dialog{border:0;border-radius:25px;max-width:540px;width:90%;color:var(--ink);background:var(--paper);padding:30px}dialog::backdrop{background:#163e3bbb}.close{float:right;background:transparent;font-size:24px;padding:0}.setting{display:flex;justify-content:space-between;align-items:center;margin:20px 0;font-weight:700;gap:20px}.setting input{width:24px;height:24px;accent-color:var(--teal)}dialog p{font-size:13px}.large{font-size:20px}.reduce *, .reduce *:before,.reduce *:after{animation:none!important;transition:none!important}.star{font-size:65px;text-align:center;animation:bob 2s ease-in-out infinite}.badge{background:#ffebac;border-radius:30px;padding:8px 14px;font-size:13px;display:inline-block}@keyframes drift{to{transform:scale(1.06)}}@keyframes bob{50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:950px){.grid{grid-template-columns:repeat(2,1fr)}.hero-copy{width:65%}.lesson-layout{grid-template-columns:190px 1fr}.guide img{height:160px}}@media(max-width:620px){header{padding:16px;align-items:start}.brand{font-size:12px}.brand b{font-size:17px}.brandmark{font-size:30px}nav{gap:0;flex-wrap:wrap;justify-content:end}nav button{font-size:11px;padding:7px;min-height:40px}h1{letter-spacing:-2px;font-size:48px}.hero{display:block;padding-top:220px;min-height:0}.hero>img{height:290px;top:0;object-position:60% center}.hero:after{background:linear-gradient(0deg,#faf8ed 0%,#faf8ed 50%,transparent 80%)}.hero-copy{width:100%;padding:30px 24px}.section{padding:32px 22px}.sectionhead{align-items:start;flex-direction:column}h2{font-size:30px}.grid{gap:12px}.card{padding:17px;min-height:250px}.card h3{font-size:21px}.crew{grid-template-columns:1fr;padding:23px}.lesson{padding:24px 18px}.lesson-layout{display:flex;flex-direction:column}.guide{width:100%;display:flex}.guide img{width:110px;height:130px}.guide>div{padding:14px}.guide p{margin:5px 0}.guide h3{font-size:18px}.stage{padding:23px}.scene{font-size:21px}.intro-art{height:230px}.actions button{flex:1}}

h1:focus,h2:focus,h3:focus{outline:none}.guide button{font-size:12px;padding:8px;margin-top:7px}.large .scene{font-size:27px}

.profile-screen{max-width:950px;padding:42px 24px 70px;margin:auto}.profile-screen h1{font-size:clamp(38px,6vw,65px)}.profile-screen input[type=text],#nickname{display:block;width:100%;max-width:470px;margin:8px 0;padding:14px;font:inherit;border:2px solid #65877a;border-radius:12px;background:#fff;color:var(--ink)}.profile-screen fieldset{border:0;padding:18px 0;margin:0}.profile-screen legend{font-weight:700}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.avatar-option{display:flex;align-items:center;gap:10px;border:2px solid #a7bbb0;border-radius:15px;padding:12px;cursor:pointer;min-height:100px;background:#fffdf7}.avatar-option:has(input:checked){border-color:var(--teal);background:#dcefe4}.avatar-option input{width:23px;height:23px;accent-color:var(--teal);margin-left:auto}.avatar-crop{width:64px;height:64px;border-radius:50%;overflow:hidden;display:block;flex-shrink:0;background:var(--mint)}.avatar-crop img{width:100%;height:100%;object-fit:cover;transform:scale(2.7)}.avatar-crop.robot img{transform:scale(1.2);object-position:35% center!important}.profile-shape{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#f9df91;font-size:46px;flex-shrink:0}.saved-profiles{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.saved-profile{display:flex;gap:14px;align-items:center;border:2px solid #87a496;background:white}.profile-notice,.profile-legacy{padding:20px;background:#ffedba;margin:20px;border-radius:14px}.profile-legacy{margin:30px 0}.profile-legacy h2{font-size:25px}#profileError{color:#94371e;min-height:24px}@media(max-width:650px){.avatar-grid{grid-template-columns:repeat(2,1fr)}.avatar-option{flex-wrap:wrap;font-size:14px;padding:10px}.profile-screen{padding:30px 18px}header{flex-wrap:wrap}nav{flex-wrap:wrap}.avatar-crop,.profile-shape{width:54px;height:54px}.saved-profile{width:100%}}
