:root{font-family:Segoe UI,Arial,sans-serif;color:#172c34;background:#f5f4ee;--teal:#14685e;--coral:#c65339;--line:#dce2db}*{box-sizing:border-box}body{margin:0}a{color:var(--teal)}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:12px 18px;background:var(--teal);color:white;min-height:44px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b95031;outline-offset:4px}.secondary{background:#e7eee9;color:#174e46}.text-button{background:transparent;color:var(--teal);padding:8px 0;text-align:left}.skip{position:absolute;top:-60px;background:white;padding:15px;z-index:50}.skip:focus{top:0}header{height:90px;display:flex;align-items:center;gap:25px;padding:0 5%;border-bottom:1px solid var(--line);background:#fffdf8}.brand{font-size:29px;text-decoration:none;display:flex;gap:12px;align-items:center}.brand span{font-size:19px}.brand b{display:block;font-size:12px;letter-spacing:3px;text-transform:uppercase}.edition{margin-left:auto;color:#61726e;font-size:13px}header button{font-size:12px;background:#e8efe8;color:var(--teal)}.layout{max-width:1450px;margin:auto;display:grid;grid-template-columns:290px minmax(0,1fr);gap:48px;padding:42px 5%}aside{min-width:0}.eyebrow{color:var(--teal);font-size:11px;font-weight:700;letter-spacing:2px}aside h2{font-size:32px;line-height:1.12;font-weight:600;margin:14px 0}.muted,.save-note{color:#62736d;font-size:13px;line-height:1.6}nav{display:grid;gap:10px;margin-top:30px}nav button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:#526760;border:1px solid transparent;font-size:14px;padding:13px 10px;line-height:1.35}nav button.active{background:#e0eae0;color:#174b43;border-color:#c7d8c8}nav .num{border:1px solid #b9c9bc;border-radius:50%;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center}nav .label{flex:1}.done{font-size:11px}.save-note{margin:35px 0 14px}.about{font-size:12px;line-height:1.5}.about summary{cursor:pointer;min-height:44px;padding:12px 0}main{min-width:0}.route-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:#66786f;margin-bottom:12px}.progress-bar{height:5px;background:#dce6dd;border-radius:10px;overflow:hidden;margin-bottom:25px}.progress-bar span{display:block;background:var(--teal);height:100%;transition:width .3s}article{background:#fffdf8;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 12px 40px #1b493a06}h1{font-size:clamp(25px,3vw,36px);line-height:1.2;font-weight:600;margin:12px 0}h3{font-size:18px;margin:0 0 15px}.lead{color:#61706a;margin:0 0 22px;font-size:15px;line-height:1.5}.pill{font-size:11px;border-radius:15px;background:#ebefe4;color:#5b7144;padding:6px 10px;display:inline-block}.scene{background:#eef3e9;border-radius:18px;position:relative;overflow:hidden;min-height:260px;display:flex;align-items:center;justify-content:center}.scene svg{width:100%;height:auto;max-height:340px}.scene-caption{font-size:11px;color:#69786b;margin:8px 0 14px}.controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.controls label{display:grid;gap:5px;font-size:12px;color:#456359;flex:1;min-width:125px}.controls input[type=range]{width:100%;min-height:44px;accent-color:var(--teal)}select,input[type=text]{padding:11px;border:1px solid #b8c8bc;border-radius:10px;max-width:100%;background:white;min-height:44px;color:#172c34}.readout{padding:14px 18px;background:#e4ede2;border-radius:12px;font-weight:650;font-size:16px;margin-top:14px;overflow-wrap:anywhere}.beats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}.beats button{background:#f0eee5;color:#4d6357;font-size:12px}.beats button.active{background:var(--teal);color:white}.short-explain{font-size:17px;line-height:1.55;margin:12px 0}.explain-detail{font-size:14px;line-height:1.65;background:#f3f4ed;border-radius:12px;padding:15px;margin-top:15px}.explain-detail summary{cursor:pointer;min-height:44px}.explain-detail img{max-width:100%;max-height:340px;display:block;margin:15px auto;background:white}.check{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.options{display:grid;gap:8px}.option{background:#f3f4ed;color:#294b40;text-align:left;border:1px solid #dce4d9;font-size:14px}.feedback{margin-top:12px;font-size:14px;line-height:1.6;border-radius:12px;padding:15px;background:#e7eee0}.feedback.error{background:#fff0df}.guide{display:flex;align-items:center;gap:12px;margin:20px 5px;color:#49695a;font-size:13px;line-height:1.5}.avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:#dce9d9;border-radius:15px;font-size:26px}.guide p{margin:0}.lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0}.lesson-footer span{font-size:12px;color:#66796f}.math-line{font-size:19px;font-family:Cambria,Georgia,serif;line-height:1.6;overflow-wrap:anywhere}.exercise-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.exercise-head select{flex:1;min-width:0}.answer-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.answer-row input{flex:1;min-width:120px}.answer-row select{width:100px}.hint{margin:10px 0;padding:12px;background:#fff0df;border-radius:10px;font-size:14px;line-height:1.6}.guide[hidden]{display:none}.badges{display:flex;flex-wrap:wrap;gap:10px}.badge{background:#e7efdb;color:#3c6329;padding:10px;border-radius:15px}.warning{background:#fff0df;padding:12px;border-radius:12px;font-size:13px;line-height:1.5}.story{padding:24px;text-align:center;width:100%}.story .big{font-size:clamp(24px,4vw,42px);color:#14685e;line-height:1.3;margin:12px 0}.story .symbols{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.symbol{border-radius:14px;background:white;padding:18px;min-width:95px;border:1px solid #d1dfd1;font-size:17px}.video-note{font-size:12px;color:#69786b;margin:10px 0}.summary-grid{display:grid;gap:12px}.summary-grid button{text-align:left}.screen-status{font-size:12px;color:#677264}@media(max-width:1000px){.layout{gap:22px;grid-template-columns:220px minmax(0,1fr);padding:28px 3%}article{padding:24px}header{padding:0 3%;gap:15px}}@media(max-width:700px){header{height:auto;min-height:74px;flex-wrap:wrap;padding:14px 18px;gap:10px}.brand{font-size:22px}.brand span{font-size:16px}.edition{display:none}header button{margin-left:auto;padding:10px;font-size:11px}.layout{display:block;padding:20px 14px}aside h2,aside>.muted,aside>.eyebrow{display:none}nav{margin:0 0 18px;grid-template-columns:1fr;gap:5px}nav button{min-height:44px;padding:9px 10px}nav .num{width:26px;height:26px}aside .save-note{margin:8px 0;font-size:11px}.about{margin-bottom:15px}article{padding:19px 15px;border-radius:18px}.scene{min-height:190px}.short-explain{font-size:16px}.lesson-footer{position:static}.lesson-footer button{padding:12px}.controls{gap:10px}.controls label{min-width:115px}.route-top{align-items:flex-start}h1{font-size:26px}.story{padding:20px 10px}.option{font-size:13px}.lesson-footer span{max-width:85px;text-align:center}.exercise-head{flex-wrap:wrap}.exercise-head select{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
select{min-width:0;width:100%}.controls label{overflow:hidden}.scene svg{min-width:0}

#menu-toggle{display:none}@media(max-width:700px){#menu-toggle{display:block;width:100%;margin-bottom:8px}aside nav{display:none}aside.menu-open nav{display:grid}.scene svg .scene-label{display:none}.scene svg .symbol-text{font-size:36px}.scene-caption{font-size:12px}}
