:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef4ff;background:#07101e}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#07101e,#0b1422 42%,#08111d);color:#eef4ff}button,textarea,input{font:inherit}.app-shell{width:min(860px,100%);margin:0 auto;padding:18px 18px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.brand-button{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;padding:0;text-align:left;cursor:pointer}.brand-button b{display:block;font-size:17px}.brand-dot{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#0a1422;font-weight:900}.top-actions{display:flex;align-items:center;gap:8px}.status{font-size:11px;color:#9eb3ca}.ghost,.icon-btn,.back,.tiny,.action-chip,.term-btn{border:1px solid #263a54;background:#0f1b2c;color:#dfe9f5;border-radius:12px;cursor:pointer}.ghost{padding:10px 13px}.ghost.compact{padding:8px 11px;font-size:12px}.screen{display:none}.screen.active{display:block}.home-screen{padding-top:10px}.welcome{text-align:center;padding:24px 10px 18px}.welcome h1{font-size:clamp(34px,7vw,54px);letter-spacing:-1.7px;line-height:1.05;margin:0 0 10px}.welcome p{max-width:620px;margin:0 auto;color:#99acc4;line-height:1.55}.chat-shell{background:#0d1726;border:1px solid #1d314a;border-radius:24px;box-shadow:0 18px 65px rgba(0,0,0,.22);overflow:hidden}.chat{min-height:180px;max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:18px}.bubble{max-width:86%;border-radius:18px;padding:12px 14px;line-height:1.48}.bubble.ai{align-self:flex-start;background:#142238;border:1px solid #223854}.bubble.me{align-self:flex-end;background:#2d6cdf}.bubble small{display:block;color:#9cb1c9;margin-top:5px;font-size:12px}.composer{border-top:1px solid #1d314a;padding:12px;background:#0a1422}.composer textarea{width:100%;resize:none;border:0;outline:none;background:transparent;color:#fff;font-size:16px;min-height:58px;padding:8px}.composer textarea::placeholder{color:#6f829a}.composer-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-left{display:flex;gap:8px}.icon-btn{padding:9px 11px}.send-btn{border:0;background:#fff;color:#0a1422;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer}.home-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0}.action-chip{padding:10px 13px}.action-chip.premium{border-color:#6355b9;background:#1a1936;color:#eeeaff}.level-row{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px;color:#8499b3;font-size:12px}.level-row button{border:1px solid #263a54;background:#0f1b2c;color:#cdd9e8;border-radius:999px;padding:7px 10px;cursor:pointer}.level-row button.selected{background:#2b6bdc;border-color:#2b6bdc;color:white}.screen-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.screen-head h2{margin:4px 0 0;font-size:30px;letter-spacing:-.6px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#76c8ff}.back{width:38px;height:38px;display:grid;place-items:center;padding:0}.card{background:#0d1726;border:1px solid #1d314a;border-radius:22px;padding:18px}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.catalog-tools input{flex:1;border:1px solid #263a54;background:#08111d;color:white;border-radius:13px;padding:11px 13px;outline:none}.muted{color:#8ea4bd;line-height:1.5}.catalog-grid{display:grid;gap:14px}.catalog-group{border:1px solid #1f334d;background:#0a1422;border-radius:18px;padding:15px}.catalog-group h3{margin:0 0 4px}.catalog-group p{margin:0 0 12px;color:#8fa5bf;font-size:13px}.catalog-group>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.lesson-tile{border:1px solid #233b58;background:#102139;color:white;border-radius:13px;padding:12px;text-align:left;cursor:pointer}.lesson-tile span{display:block;font-weight:800}.lesson-tile small{display:block;color:#8ea4bd;margin-top:5px;line-height:1.3}.practice-progress{margin:12px 0 18px}.practice-progress>span{font-size:12px;color:#8fa5bf}.practice-progress>div{height:7px;background:#08111d;border-radius:999px;overflow:hidden;margin-top:7px}.practice-progress i{display:block;height:100%;background:#2f7df4}.vi-guide{background:#15253a;border:1px solid #28435f;color:#dce9f7;border-radius:16px;padding:13px;line-height:1.5;margin-bottom:14px}.word-card{text-align:center;border:1px solid #264363;background:#0a1422;border-radius:22px;padding:28px 18px}.word-group{font-size:10px;letter-spacing:.1em;color:#78c9ff;text-transform:uppercase}.word{font-size:clamp(28px,7vw,48px);font-weight:900;letter-spacing:-1.2px;margin:8px 0}.translation{color:#c5d4e6}.example{color:#8da3bd;margin-top:10px;line-height:1.5}.feedback{margin-top:14px;background:#0d2039;border:1px solid #27476c;border-radius:16px;padding:16px;line-height:1.55}.feedback b,.feedback span{display:block}.feedback b{font-size:18px}.feedback span{margin-top:6px;color:#cbd8e9}.practice-actions,.footer-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:16px}.round-mic{width:66px;height:66px;border-radius:50%;border:1px solid #35629b;background:#13335d;color:white;font-size:24px;cursor:pointer}.round-mic.listening,.mic-button.listening{box-shadow:0 0 0 8px rgba(47,125,244,.15)}.heard{text-align:center;color:#91a7c2;font-size:13px;margin-top:9px}.hidden{display:none!important}.situation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.situation{border:1px solid #24405f;background:#102139;color:white;border-radius:16px;padding:16px;text-align:left;font-size:24px}.situation span{display:block;font-size:15px;font-weight:800;margin-top:8px}.situation small{display:block;color:#8fa6c2;font-size:11px;margin-top:4px}.phrase{padding:13px 0;border-bottom:1px solid #1e334d}.phrase>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.phrase span{display:block;color:#9fb2cc;font-size:13px;margin-top:4px}.tiny{padding:5px 8px}.session-chat{min-height:260px}.plans{display:grid;grid-template-columns:1fr;gap:12px}.plan{background:#0a1422;border:1px solid #223a56;border-radius:18px;padding:16px}.premium-plan{border-color:#554b9f}.plan-top{display:flex;justify-content:space-between;gap:14px}.plan-top h3{margin:0}.plan-top p{margin:4px 0 0;color:#8fa5bf;font-size:12px}.plan-top>b{font-size:18px;text-align:right}.plan-top>b span{display:block;font-size:10px;color:#8fa5bf}.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.term-btn{display:flex;min-height:82px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:13px;text-align:left}.term-btn span{color:#a8bad0}.term-btn b{font-size:20px}.plan li{color:#a8bad0;margin:7px 0;font-size:13px}.demo-note,.fine-print{display:block;color:#7489a3;font-size:11px;line-height:1.45}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats div{background:#0a1422;border:1px solid #1e334d;border-radius:15px;padding:16px;text-align:center}.stats b{display:block;font-size:25px}.stats span{font-size:11px;color:#8ea5c0}.weakness{margin-top:14px;background:#0a1422;border-radius:15px;padding:14px}.weakness b,.weakness span{display:block}.weakness span{color:#91a7c2;margin-top:6px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-box,.account-card,.checkout-summary{display:grid;gap:12px;background:#0a1422;border:1px solid #223a56;border-radius:18px;padding:18px}.auth-box h3{margin:0}.auth-box input{width:100%;border:1px solid #263a54;background:#08111d;color:white;border-radius:12px;padding:12px;outline:none}.account-card span{color:#9fb2cc}.order-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #1e334d;padding:12px 0}.checkout-summary dl{display:grid;grid-template-columns:120px 1fr;gap:8px}.checkout-summary dt{color:#8ea4bd}.checkout-summary dd{margin:0}.price-big{font-size:34px;font-weight:900}.payment-qr{display:block;width:min(330px,100%);aspect-ratio:1;margin:6px auto 12px;background:white;border-radius:18px;padding:10px}.payment-note{text-align:center;color:#cbd8e9;line-height:1.55}.payment-status{text-align:center;border-radius:14px;padding:11px;background:#102139;color:#a9bdd5}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.copy-btn{border:0;border-radius:10px;padding:7px 10px;cursor:pointer;font-weight:700}.site-footer{display:flex;justify-content:space-between;align-items:center;margin-top:34px;color:#70849e;font-size:11px}.site-footer button{border:0;background:none;color:#8ea4bd;cursor:pointer;padding:0}.legal-copy h3{margin-top:22px}.legal-copy p{color:#a7b8cd;line-height:1.65}.free-uses{font-size:12px;font-weight:800;color:#b7e3ff;background:#10243a;border:1px solid #284d6f;border-radius:999px;padding:7px 10px}.free-uses.paid{color:#c6ffd8;border-color:#2f6b48;background:#10291b}@media(max-width:700px){.catalog-group>div{grid-template-columns:repeat(2,1fr)}.auth-grid{grid-template-columns:1fr}.checkout-summary dl{grid-template-columns:1fr}.top-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:560px){.free-uses{display:none}.app-shell{padding-left:12px;padding-right:12px}.welcome h1{font-size:38px}.situation-grid{grid-template-columns:1fr}.catalog-tools{align-items:stretch;flex-direction:column}.catalog-group>div{grid-template-columns:1fr 1fr}.bubble{max-width:94%}.terms{grid-template-columns:1fr 1fr}}

/* Mobile teacher readability + encouraging learner model */
.learner-model{margin-top:10px;padding:12px 13px;border-radius:14px;background:#eef6ff;color:#07101e;border:2px solid #76c8ff;box-shadow:0 0 0 3px rgba(118,200,255,.10)}.learner-model span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#315d83;margin-bottom:5px}.learner-model b{display:block;font-size:18px;line-height:1.4;color:#07101e}.bubble.ai>small{font-size:13px;line-height:1.55;color:#c5d6e9}@media(max-width:560px){.app-shell{padding:8px 8px 40px}.chat{padding:10px;gap:8px;max-height:52vh}.bubble{max-width:98%;padding:11px 12px}.bubble.ai>div:first-child{font-size:17px}.bubble.ai>small{font-size:13px}.learner-model{padding:13px}.learner-model b{font-size:20px}.composer{padding:9px}.composer textarea{min-height:48px}.home-actions{margin:9px 0}.welcome{padding-top:10px}}

.teacher-replay{margin-top:10px;border:1px solid #76c8ff;background:#102a46;color:#eaf6ff;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}.teacher-replay:active{transform:scale(.98)}@media(max-width:560px){.teacher-replay{width:100%;font-size:16px;padding:11px 12px}}
