:root{--bg:#0a0e10;--panel:#141a1d;--panel2:#1b2327;--ink:#f5f7f2;--muted:#9aa6a2;--line:#293438;--lime:#caff67;--cyan:#70e6de;--red:#ff8077;--radius:24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#1b302d 0,transparent 32%),radial-gradient(circle at 90% 18%,#17282d 0,transparent 30%),var(--bg);background-attachment:fixed}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.72}
#app{max-width:820px;margin:auto;min-height:100vh;padding:env(safe-area-inset-top) 18px calc(88px + env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 2px 18px}h1{font-size:28px;line-height:1.05;margin:7px 0 0;letter-spacing:-.04em}.eyebrow{color:var(--lime);font-weight:800;font-size:11px;letter-spacing:.14em}.icon{border:1px solid var(--line);background:var(--panel);color:var(--ink);width:44px;height:44px;border-radius:50%;font-size:22px}
.hero{background:linear-gradient(135deg,#202b29,#182120);border:1px solid #35443f;border-radius:28px;padding:24px;margin-bottom:16px}.hero h2{font-size:23px;margin:0 0 8px}.muted{color:var(--muted);line-height:1.45}.primary,.secondary,.chip{border:0;border-radius:14px;padding:13px 17px;font-weight:750}.primary{background:var(--lime);color:#11160d}.secondary{background:var(--panel2);color:var(--ink);border:1px solid var(--line)}.row{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:12px 0;box-shadow:0 18px 48px rgba(0,0,0,.16)}.course{display:grid;grid-template-columns:1fr auto;align-items:center}.course h3,.card h3{margin:0 0 6px}.badge{color:var(--cyan);font-size:12px;font-weight:800}.progress{height:6px;background:#293233;border-radius:10px;margin-top:13px;overflow:hidden}.progress i{display:block;height:100%;background:var(--lime)}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;background:#101617;color:var(--ink);padding:14px;margin:7px 0 13px;outline:none}textarea{min-height:100px;resize:vertical}label{font-size:13px;color:var(--muted)}nav{position:fixed;z-index:5;bottom:12px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),780px);display:flex;background:rgba(20,27,28,.93);backdrop-filter:blur(18px);border:1px solid var(--line);padding:7px;border-radius:18px}nav button{flex:1;background:none;border:0;color:var(--muted);padding:11px 5px;border-radius:12px;font-weight:700}nav button.active{background:var(--panel2);color:var(--ink)}.contract ul{padding-left:20px}.node{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.node:last-child{border:0}.dot{width:13px;height:13px;border-radius:50%;background:#3a4647}.dot.familiar{background:var(--cyan)}.dot.mastered{background:var(--lime);box-shadow:0 0 16px #baff4a66}
.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.course-status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.compact{padding:9px 12px;border-radius:12px}.lesson-card{position:relative;padding:clamp(22px,5vw,38px);margin:18px 0;border-color:#2c393d;background:linear-gradient(155deg,rgba(24,32,35,.98),rgba(17,23,26,.98));overflow:hidden;animation:up .25s ease-out}.lesson-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--cyan);opacity:.85}.lesson-card.example:before{background:#8ca8ff}.lesson-card.visual:before{background:#d19aff}.lesson-card.recap:before{background:#ffc96b}.lesson-card.quiz:before,.lesson-card.checkpoint:before{background:var(--lime)}
.card-kicker{display:flex;align-items:center;gap:10px;margin-bottom:14px}.step-number{display:grid;place-items:center;width:31px;height:31px;border:1px solid #344247;border-radius:10px;color:var(--muted);font-size:11px;font-weight:800}.lesson-card h3{font-size:clamp(21px,4.6vw,29px);line-height:1.18;letter-spacing:-.025em;margin:0 0 20px}.lesson-copy{color:#e5eae5;font-size:16px;line-height:1.72}.lesson-copy p{margin:0 0 17px}.lesson-copy p:last-child{margin-bottom:0}.lesson-copy ul{margin:8px 0 18px;padding-left:22px}.lesson-copy li{margin:8px 0;padding-left:4px}.lesson-card.example{background:linear-gradient(145deg,rgba(26,31,43,.98),rgba(17,22,27,.98))}.lesson-card.visual{background:linear-gradient(145deg,rgba(31,28,42,.98),rgba(18,23,27,.98))}.lesson-card.recap{background:linear-gradient(145deg,rgba(37,33,24,.98),rgba(18,23,26,.98))}.lesson-card.quiz,.lesson-card.checkpoint{margin-top:30px;background:linear-gradient(145deg,rgba(29,38,27,.98),rgba(17,24,23,.98));border-color:#3a4938}
.options{margin-top:24px;display:grid;gap:10px}.option{display:flex;width:100%;align-items:flex-start;gap:12px;text-align:left;margin:0;padding:15px 16px;line-height:1.45;background:rgba(8,13,15,.62);border:1px solid var(--line);color:var(--ink);border-radius:12px;transition:border-color .16s,transform .16s,background .16s}.option:not(:disabled):active{transform:scale(.99)}.option>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid #39474b;border-radius:8px;font-size:11px;font-weight:850;color:var(--muted)}.option.correct{border-color:var(--lime);color:var(--lime);background:rgba(202,255,103,.08)}
.learner-message{max-width:85%;margin:16px 0 16px auto;padding:13px 16px;border-radius:18px 18px 5px 18px;background:#243034;border:1px solid #334247}.learner-message span{color:var(--cyan);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.learner-message p{margin:5px 0 0;line-height:1.5}.lesson-intro{padding:26px}.composer{position:sticky;z-index:4;bottom:76px;background:linear-gradient(transparent,var(--bg) 25%);padding-top:30px;display:grid;grid-template-columns:1fr auto auto;gap:8px}.composer input{height:52px;margin:0;padding-inline:17px;background:rgba(15,21,23,.96);box-shadow:0 12px 35px rgba(0,0,0,.25)}.composer button{width:52px;height:52px;padding:0;border-radius:14px}.sources{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.empty{text-align:center;padding:60px 16px}.spinner{width:24px;height:24px;border:3px solid #344;border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite;margin:25px auto}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes up{from{opacity:0;transform:translateY(8px)}}@media(min-width:700px){h1{font-size:36px}.hero{padding:30px}}@media(max-width:540px){#app{padding-inline:13px}.course-toolbar{align-items:flex-start}.course-status{justify-content:flex-end;flex-wrap:wrap}.lesson-card{border-radius:20px}.lesson-copy{font-size:15.5px;line-height:1.68}.learner-message{max-width:92%}}
