:root{--bg: #fff8ee;--card: #ffffff;--ink: #2b2420;--muted: #8a7d72;--line: #efe3d3;--saffron: #f2994a;--saffron-dark: #d9772a;--teal: #127a74;--teal-light: #e3f4f2;--green: #2f9e5b;--green-bg: #e6f6ec;--red: #d64545;--red-bg: #fdeaea;--amber-bg: #fff4d6;--radius: 16px;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme: dark){:root{--bg: #1d1916;--card: #29231f;--ink: #f6eee6;--muted: #b3a597;--line: #3a322b;--teal-light: #183634;--green-bg: #1c3626;--red-bg: #3d2020;--amber-bg: #3a3118}}*{box-sizing:border-box}body{margin:0;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}h1,h2,h3{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.app{max-width:640px;margin:0 auto;min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.page{padding:12px 16px 24px;padding-top:calc(12px + env(safe-area-inset-top))}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;min-height:44px}.topbar h1{font-size:1.6rem}.stats{display:flex;gap:14px;font-weight:700;font-size:1.05rem}.lang-select{font:inherit;font-weight:700;font-size:1.05rem;padding:8px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink)}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}.goal-row{display:flex;justify-content:space-between;margin-bottom:8px}.bar{flex:1;height:14px;background:var(--line);border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--saffron),#f7c35f);border-radius:99px;transition:width .35s ease}.tip{margin:12px 0 0;color:var(--muted);font-size:.92rem}.goal .btn{margin-top:12px}.btn{display:block;width:100%;padding:14px 18px;border:none;border-radius:14px;background:var(--saffron);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.02em;box-shadow:0 4px 0 var(--saffron-dark);transition:transform .05s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--saffron-dark)}.btn:disabled{opacity:.45}.btn-secondary{background:var(--teal-light);color:var(--teal);box-shadow:0 4px #b9ded9}.btn-danger{background:var(--red-bg);color:var(--red);box-shadow:0 4px #f1c3c3}.unit{margin:26px 0 8px}.unit-head{display:flex;gap:12px;align-items:center;background:var(--teal);color:#fff;border-radius:var(--radius);padding:14px 16px}.unit-head h2{font-size:1.2rem}.unit-head p{margin:2px 0 0;opacity:.85;font-size:.9rem}.unit-emoji{font-size:2rem}.path{display:flex;flex-direction:column;align-items:center;gap:18px;padding:22px 0 6px}.node{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;position:relative}.node-dot{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;font-weight:800;background:var(--saffron);color:#fff;box-shadow:0 6px 0 var(--saffron-dark)}.node.done .node-dot{background:var(--teal);box-shadow:0 6px #0b5752}.node.locked .node-dot{background:var(--line);color:var(--muted);box-shadow:0 6px #ddcfbd;font-size:1.2rem}.node.current .node-dot{animation:pulse 1.8s infinite}.node-label{font-weight:700;font-size:.9rem;max-width:130px;text-align:center}.node.locked .node-label{color:var(--muted)}@keyframes pulse{0%,to{outline:0 solid rgba(242,153,74,.45)}50%{outline:10px solid rgba(242,153,74,0)}}.footnote,.empty{text-align:center;color:var(--muted);margin:24px 0}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--card);border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}.tabs button{flex:1;max-width:160px;background:none;border:none;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.75rem;font-weight:700;color:var(--muted)}.tabs button span{font-size:1.4rem;filter:grayscale(1);opacity:.7}.tabs button.active{color:var(--saffron-dark)}.tabs button.active span{filter:none;opacity:1}.lesson{max-width:640px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.lesson-top{display:flex;align-items:center;gap:12px;padding:14px 16px}.icon-btn{background:none;border:none;font-size:1.4rem;color:var(--muted);padding:4px 8px}.lesson-count{font-weight:700;color:var(--muted);min-width:40px;text-align:right}.lesson-body{flex:1;padding:8px 18px 20px;animation:slide .25s ease}@keyframes slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.exercise h3{font-size:1.3rem;margin-bottom:18px}.prompt{display:flex;align-items:center;gap:12px;margin-bottom:22px;min-height:60px}.big{font-size:1.6rem;font-weight:800;line-height:1.25}.script{display:block;color:var(--teal);font-size:1.1rem;margin-top:4px}.options{display:grid;gap:10px}.option{text-align:left;padding:14px 16px;border-radius:14px;border:2px solid var(--line);border-bottom-width:4px;background:var(--card);font-size:1.05rem;font-weight:600}.option.selected{border-color:var(--teal);background:var(--teal-light)}.option.right{border-color:var(--green);background:var(--green-bg)}.option.wrong{border-color:var(--red);background:var(--red-bg)}.option.matched{opacity:.35;border-color:var(--green)}.check{margin-top:22px}.shake{animation:shake .35s}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.intro{text-align:center;padding-top:10px}.pill{display:inline-block;background:var(--amber-bg);color:var(--saffron-dark);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:5px 12px;border-radius:99px;margin-bottom:20px}.intro-main{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:16px}.intro .big{font-size:2.1rem}.meaning{font-size:1.2rem;color:var(--muted);margin:8px 0 20px}.words{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}.word{display:flex;flex-direction:column;background:var(--card);border:2px solid var(--line);border-radius:12px;padding:6px 12px}.word small{color:var(--muted)}.note{background:var(--teal-light);color:var(--teal);border-radius:12px;padding:12px 14px;text-align:left}.speak{border:none;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;box-shadow:0 4px #0b5752;flex-shrink:0}.speak:active{transform:translateY(2px);box-shadow:0 2px #0b5752}.speak-sm{width:40px;height:40px;font-size:1.05rem}.speak-md{width:52px;height:52px;font-size:1.4rem}.speak-lg{width:96px;height:96px;font-size:2.6rem;border-radius:28px}.answer-line{min-height:64px;border-bottom:2px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin-bottom:18px}.bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tile{padding:10px 14px;border-radius:12px;border:2px solid var(--line);border-bottom-width:4px;background:var(--card);font-weight:700;font-size:1.05rem}.tile.ghost{color:transparent;background:var(--line);border-color:var(--line)}.type-input{width:100%;font:inherit;font-size:1.2rem;padding:14px 16px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--ink)}.type-input:focus{outline:none;border-color:var(--teal)}.match{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match .col{display:grid;gap:10px;align-content:start}.match .option{text-align:center;font-size:.98rem;min-height:64px}.feedback{position:sticky;bottom:0;padding:16px 18px calc(16px + env(safe-area-inset-bottom));background:var(--bg);border-top:2px solid var(--line);display:grid;gap:12px}.feedback.correct{background:var(--green-bg);border-color:transparent}.feedback.correct strong{color:var(--green)}.feedback.typo{background:var(--amber-bg);border-color:transparent}.feedback.typo strong{color:var(--saffron-dark)}.feedback.wrong{background:var(--red-bg);border-color:transparent}.feedback.wrong strong{color:var(--red)}.feedback-text{display:grid;gap:4px}.feedback-text strong{font-size:1.2rem}.feedback.correct .btn{background:var(--green);box-shadow:0 4px #237546}.feedback.wrong .btn{background:var(--red);box-shadow:0 4px #a83434}.done{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;text-align:center}.done-emoji{font-size:4.5rem}.done-stats{display:flex;gap:12px;width:100%}.done-stats div{flex:1;border:2px solid var(--line);border-radius:var(--radius);padding:14px 6px;display:flex;flex-direction:column;background:var(--card)}.done-stats b{font-size:1.4rem;color:var(--saffron-dark)}.translator textarea{width:100%;font:inherit;font-size:1.1rem;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical;margin-bottom:12px}.translator textarea:focus{outline:none;border-color:var(--teal)}.dir{display:flex;align-items:center;justify-content:space-between;font-weight:800;margin-bottom:12px}.dir span{flex:1;text-align:center}.swap{border:2px solid var(--line);background:var(--card);border-radius:50%;width:42px;height:42px;font-size:1.2rem}.result-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.result-main{display:flex;gap:14px;align-items:center}.notice{background:var(--amber-bg);padding:12px 14px;border-radius:12px}.toggles{display:grid;gap:6px;margin-bottom:12px;color:var(--muted)}.book h2{font-size:1.1rem;margin-bottom:8px}.book-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.book-row:last-child{border-bottom:none}.book-text{flex:1;display:flex;flex-direction:column;gap:2px}.book-text .script{font-size:1rem;margin:0}.strength{font-size:.8rem;font-weight:800;padding:3px 8px;border-radius:99px}.strength.good{background:var(--green-bg);color:var(--green)}.strength.ok{background:var(--amber-bg);color:var(--saffron-dark)}.strength.weak{background:var(--red-bg);color:var(--red)}.settings h2{font-size:1.1rem;margin-bottom:8px}.settings .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.settings .row input[type=checkbox]{width:22px;height:22px;accent-color:var(--teal)}.settings .btn{margin:14px 0 6px}.hindi{margin-top:14px;text-align:left;border:2px dashed #e7b98a;border-radius:14px;padding:12px 14px;background:var(--amber-bg)}.hindi.same{font-weight:700;color:var(--saffron-dark)}.hindi-flag{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--saffron);color:#fff;font-size:.8rem;font-weight:800;vertical-align:middle;margin-right:4px}.hindi-lead{font-weight:700;margin-bottom:8px}.hindi-pairs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hindi-pair{background:var(--card);border-radius:10px;padding:5px 10px;font-size:1.05rem}.hindi-pair .hi-word{color:var(--muted)}.hindi-pair .arrow{color:var(--saffron-dark);margin:0 2px}.hindi-sentence{color:var(--muted);font-size:.92rem}.hindi-pattern{margin-top:8px;font-size:.9rem;color:var(--teal);font-weight:600}.hindi-toggle{background:none;border:none;padding:0;width:100%;text-align:left}.hindi-toggle h2{margin:0}.cheat{display:grid;grid-template-columns:1fr;margin-top:10px}.cheat-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.cheat-row span:nth-child(2){color:var(--saffron-dark)}.speakcheck{display:flex;gap:16px;align-items:flex-start;margin-top:22px;padding:16px;border:2px solid var(--line);border-radius:var(--radius);background:var(--card)}.speakcheck.compact{margin-top:10px;padding:10px}.mic{flex-shrink:0;width:72px;height:72px;border-radius:50%;border:none;background:var(--saffron);color:#fff;font-size:2rem;box-shadow:0 5px 0 var(--saffron-dark)}.mic.on{background:var(--red);box-shadow:0 5px #a83434;animation:pulse 1.2s infinite}.speak-status{flex:1;display:grid;gap:6px;align-content:center;min-height:72px}.listening{color:var(--teal);font-weight:700}.err{color:var(--red);font-size:.92rem}.score{font-weight:800;font-size:1.15rem}.score.good{color:var(--green)}.score.ok{color:var(--saffron-dark)}.score.weak{color:var(--red)}.said-words{display:flex;flex-wrap:wrap;gap:6px}.said-words span{padding:3px 9px;border-radius:8px;font-weight:700}.w-ok{background:var(--green-bg);color:var(--green)}.w-close{background:var(--amber-bg);color:var(--saffron-dark)}.w-miss{background:var(--red-bg);color:var(--red)}.row-btns{display:flex;gap:10px;align-items:center;margin-top:12px}.row-btns .btn{flex:1}.link{background:none;border:none;color:var(--teal);font-weight:700;padding:6px 0;text-decoration:underline}.skip{display:block;margin:12px auto 0;color:var(--muted)}.center{text-align:center}.gear{background:none;border:none;font-size:1.2rem;padding:0 0 0 4px}.section-h{font-size:1.2rem;margin:18px 0 4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0 8px}.tile-card{text-align:left;display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--radius);border:2px solid var(--line);border-bottom-width:4px;background:var(--card)}.tile-emoji{font-size:1.6rem}.tip-box{margin-top:20px;background:var(--teal-light);color:var(--teal);padding:12px 14px;border-radius:12px}.drill-card{text-align:center;margin-top:12px}.convo-title{flex:1;font-weight:800;text-align:center}.icon-btn.small{font-size:.85rem;font-weight:800;border:2px solid var(--line);border-radius:10px}.chat{display:flex;flex-direction:column;gap:10px}.bubble{max-width:85%;padding:10px 14px;border-radius:18px;position:relative;animation:slide .25s ease}.bubble.them{align-self:flex-start;background:var(--card);border:2px solid var(--line);border-bottom-left-radius:6px}.bubble.me{align-self:flex-end;background:var(--teal);color:#fff;border-bottom-right-radius:6px}.bubble.me .bubble-en{color:#d6f1ee}.bubble.typing{color:var(--muted);font-size:1.4rem;letter-spacing:3px}.bubble-pa{font-weight:700;font-size:1.08rem;display:flex;gap:10px;align-items:center;justify-content:space-between}.bubble-pa .speak{width:30px;height:30px;font-size:.85rem;box-shadow:none}.bubble.me .speak{background:#0b5752}.bubble-en{font-size:.9rem;color:var(--muted);margin-top:2px}.bubble-score{position:absolute;top:-10px;left:-10px;background:var(--saffron);color:#fff;font-size:.75rem;font-weight:800;padding:2px 7px;border-radius:99px}.your-turn{margin-top:10px;padding:14px;border:2px dashed var(--teal);border-radius:var(--radius)}.say-this{font-size:1.15rem;margin:8px 0}.hint{font-weight:800;font-size:1.15rem;display:flex;gap:10px;align-items:center}.convo-done{text-align:center;margin-top:16px;display:grid;gap:10px}.search{width:100%;font:inherit;font-size:1.05rem;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);margin-bottom:14px}.search:focus{outline:none;border-color:var(--teal)}.hb-list{display:grid;gap:8px}.hb-item{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card)}.hb-emoji{font-size:1.4rem}.hb-title{flex:1;font-weight:700}.back{background:none;border:none;font-weight:800;font-size:1.05rem;color:var(--teal);padding:0}.hb-h1{font-size:1.5rem;margin-bottom:8px}.hb-intro{color:var(--muted);margin:0 0 14px}.hb-note b{display:block;margin-bottom:4px}.hb-note p{margin:0}.hb-table-title{font-size:1.05rem;margin-bottom:8px}.hb-head{display:grid;grid-template-columns:1fr 1fr 1.2fr 76px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-bottom:6px;border-bottom:2px solid var(--line)}.hb-row{display:flex;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.hb-row:last-child{border-bottom:none}.hb-cells{flex:1;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:2px 8px;align-items:baseline}.hb-cells.single{grid-template-columns:1fr}.hb-en{font-size:.95rem}.hb-hi{color:var(--muted);font-size:.92rem}.hb-pa{color:var(--teal)}.hb-note-line{grid-column:1 / -1}.hb-actions{display:flex;gap:6px}.mini-mic{width:40px;height:40px;border-radius:50%;border:none;background:var(--saffron);color:#fff;font-size:1rem;box-shadow:0 4px 0 var(--saffron-dark)}@media (max-width: 480px){.hb-head{display:none}.hb-cells{grid-template-columns:1fr}.hb-hi:before{content:"Hindi: "}.hb-pa{font-size:1.05rem;order:-1}}.dlg-line{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.who{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.8rem;color:#fff;flex-shrink:0}.who-A{background:var(--saffron)}.who-B{background:var(--teal)}.dlg-text{flex:1;display:grid;gap:2px}.card .btn{margin-top:12px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{width:100%;max-width:640px;background:var(--bg);border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));position:relative;animation:up .2s ease}@keyframes up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet-x{position:absolute;right:10px;top:8px}.sheet-phrase{display:flex;gap:14px;align-items:center;padding-right:30px}.sheet .big{font-size:1.35rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg);overflow-y:auto;max-width:none}.overlay>*{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.done.overlay{max-width:none}.feedback.correct .btn.btn-secondary,.feedback.wrong .btn.btn-secondary{background:var(--card);color:var(--ink);box-shadow:0 4px 0 var(--line)}
