:root{--navy:#083968;--deep:#042d57;--blue:#0872c7;--teal:#13b883;--teal-d:#078a67;--mint:#d6fff0;--orange:#ff941b;--ink:#152f48;--muted:#6d8093;--line:#e3edf3;--bg:#f4f8fc;--shadow:0 12px 32px rgba(7,47,84,.075);--rad:20px;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4dabff;outline-offset:2px}.loading{min-height:100vh;display:grid;align-content:center;justify-content:center;justify-items:center;gap:16px;color:var(--navy);font-weight:800}.loader{width:35px;height:35px;border:4px solid #d5e8ed;border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100vh;display:flex}.sidebar{width:245px;flex:none;position:sticky;top:0;height:100vh;padding:28px 19px 21px;background:#fff;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:7px;color:var(--navy);font-size:23px;font-weight:950;letter-spacing:-1.1px}.brand img{width:54px;height:54px;object-fit:contain}.brand small{font-size:10px;display:block;font-weight:600;letter-spacing:0;color:#758ba1;margin-top:-3px}.green{color:#0ca774}.side-caption{font-size:10px;color:#97a9b6;font-weight:800;letter-spacing:1.4px;margin:33px 12px 13px}.side-nav{display:grid;gap:5px}.side-nav button{background:none;border:0;border-radius:12px;text-align:left;padding:13px 15px;color:#51697e;display:flex;align-items:center;gap:14px;font-size:14px;font-weight:720}.side-nav button.active{background:#e7f7f2;color:#06885f}.side-nav .glyph{font-size:19px}.side-bottom{margin-top:auto;font-size:12px;color:#94a4b0;display:grid;gap:24px;padding:0 8px}.side-bottom a{color:#788fa1;overflow-wrap:anywhere}.side-tip{border-radius:18px;background:linear-gradient(145deg,#e4fcf2,#f1f9ff);padding:18px 14px;color:var(--deep);font-size:12px}.side-tip p{font-size:11px;line-height:1.6;font-weight:400;color:#6a8492;margin:7px 0 0}.spark{font-size:24px;color:var(--orange);display:block}.content-shell{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;padding:0 clamp(20px,4vw,54px);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar-desktop{font-size:12px;color:#8496a5;font-weight:650;letter-spacing:.4px}.top-actions{display:flex;align-items:center;gap:13px}.version-label{font-size:11px;color:var(--teal-d);font-weight:800;background:#ddfaee;padding:6px 10px;border-radius:50px}.account-chip{background:#eef6fb;border:2px solid #fff;box-shadow:0 0 0 1px #d4e3ea;border-radius:50%;height:40px;width:40px;font-size:18px}.mini-brand{display:none;align-items:center;gap:5px;font-size:18px;color:var(--navy);font-weight:950;letter-spacing:-1px}.mini-brand img{width:37px;height:37px}.main{width:min(1100px,100%);padding:38px clamp(20px,4vw,54px) 50px;margin:0 auto;flex:1}.footnote{font-size:11px;color:#92a5b3;text-align:center;padding:15px}.footnote a{color:#718b9d}.bottom-nav{display:none}.eyebrow{font-size:11px;letter-spacing:1px;color:var(--teal-d);font-weight:850;text-transform:uppercase}.page-title{font-size:clamp(25px,3vw,35px);line-height:1.24;color:var(--deep);font-weight:850;letter-spacing:-.7px;margin:6px 0 8px}.muted{color:var(--muted);line-height:1.65}.small{font-size:12px}.intro{margin-bottom:24px}.intro .muted{margin:0}.hero{background:linear-gradient(111deg,#0b477f 4%,#075e85 65%,#058d92 100%);position:relative;overflow:hidden;border-radius:24px;min-height:230px;padding:33px 32px;color:#fff;display:flex;align-items:center;box-shadow:0 13px 32px rgba(5,74,117,.19)}.hero h2{font-size:29px;line-height:1.34;margin:4px 0 8px;letter-spacing:-.45px;max-width:420px}.hero p{font-size:14px;color:#d7f2fa;margin:0 0 18px}.hero .hero-content{z-index:2;position:relative;max-width:60%}.hero .hero-tag{font-size:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);padding:5px 12px;display:inline-block;border-radius:40px;font-weight:800;letter-spacing:.8px}.hero-art{position:absolute;right:-15px;bottom:-35px;width:45%;height:110%;display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);filter:drop-shadow(0 9px 12px rgba(0,0,0,.1))}.hero-globe{font-size:138px;position:relative;z-index:1;filter:saturate(.8)}.hero-plane{position:absolute;top:2%;right:23%;font-size:63px;transform:rotate(-12deg);z-index:2}.hero-bubbles{position:absolute;right:2%;bottom:3%;font-size:36px;z-index:2}.pill{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:30px;background:#e9f8f5;color:#068866;font-size:12px;font-weight:800}.btn{border:0;border-radius:13px;background:linear-gradient(110deg,#0b80d2,#0865bc);color:#fff;font-weight:780;min-height:43px;padding:10px 18px;display:inline-flex;gap:8px;align-items:center;justify-content:center;box-shadow:0 5px 12px rgba(5,104,187,.15)}.btn:hover{filter:brightness(1.035)}.btn-orange{background:linear-gradient(115deg,#ffa12f,#fa7213);box-shadow:0 5px 16px rgba(234,119,25,.2)}.btn-teal{background:linear-gradient(105deg,#10c991,#0ba577);box-shadow:0 5px 12px rgba(10,174,126,.18)}.btn-outline{background:#fff;color:var(--navy);border:1px solid #cfdfec;box-shadow:none}.btn-ghost{background:#eff8fc;color:var(--navy);box-shadow:none}.btn-danger{background:#fff1f1;color:#bf4444;box-shadow:none}.btn-wide{width:100%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:27px 0 14px}.section-head h3{font-size:20px;margin:0;color:#112f49}.section-head a,.section-head button{font-size:12px;font-weight:750;color:#0a86ad;background:none;border:0}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:#fff;border:1px solid #e6eff3;border-radius:var(--rad);padding:22px;box-shadow:var(--shadow)}.quick-card{padding:20px 14px;text-align:center;cursor:pointer;transition:transform .15s}.quick-card:hover,.country-card:hover,.lesson-card:hover{transform:translateY(-2px)}.quick-card .ico{font-size:27px;display:block;margin-bottom:9px}.quick-card strong{font-size:14px;display:block;color:#183955}.quick-card small{display:block;color:#7890a3;margin-top:5px;font-size:11px}.banner-sub{margin-top:20px;padding:17px 22px;background:#e9f7f6;border:1px solid #d6efee;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.banner-sub p{font-size:12px;line-height:1.5;color:#618694;margin:5px 0 0}.progress-track{height:9px;border-radius:12px;background:#e6eff5;overflow:hidden}.progress-fill{height:100%;border-radius:12px;background:linear-gradient(90deg,#0cbaa2,#38d5a0)}.country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.country-card{border:1px solid #e2ebf1;box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:16px;cursor:pointer;display:flex;gap:13px;align-items:center;text-align:left;transition:.15s}.country-card.selected{border:2px solid #12b981;background:#f2fffa;padding:15px}.flag{font-size:31px;background:#eff7fb;border-radius:12px;width:55px;height:55px;display:grid;place-items:center;flex:none}.country-card strong{display:block;color:var(--navy);font-size:14px}.country-card small{display:block;color:#75909d;margin-top:4px;font-size:11px}.card-arrow{margin-left:auto;font-size:17px;color:#9aacb8}.form-control{width:100%;border:1px solid #dae6ed;border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink);min-height:46px}.form-label{display:block;font-size:12px;font-weight:750;color:#49627a;margin-bottom:7px}.form-group{margin:0 0 15px}.course-list{display:grid;gap:14px}.course-card{padding:18px 20px;display:flex;align-items:center;gap:16px}.course-symbol{font-size:35px;background:linear-gradient(120deg,#c9fff0,#f5fbff);border-radius:15px;min-width:68px;height:68px;display:grid;place-items:center}.course-card h3{font-size:17px;margin:0 0 4px}.course-card p{color:#70889c;font-size:12px;margin:0 0 7px}.course-card .badge{margin-left:auto}.course-card > div:nth-child(2){flex:1}.badge{border-radius:20px;padding:6px 10px;white-space:nowrap;font-size:11px;background:#eaf7f4;color:#0b9874;font-weight:800}.badge.ghost{background:#f0f3f5;color:#8a9caa}.lesson-list{display:grid;gap:10px}.lesson-card{width:100%;display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;text-align:left;transition:.15s}.lesson-number{height:47px;width:47px;border-radius:14px;background:#e8f2fa;display:grid;place-items:center;color:var(--blue);font-weight:950;flex:none}.lesson-number.done{background:#d8f8ea;color:#0a9a75}.lesson-card strong{font-size:14px;color:#173a56}.lesson-card p{font-size:11px;margin:4px 0 0;color:#8293a4}.lesson-card .right{margin-left:auto;color:#7c92a4;font-size:12px;text-align:right;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:19px}.lesson-main{padding:27px}.phrase-box{background:#f2f9fd;padding:21px;border-radius:16px;border:1px solid #e0edf6;margin:19px 0}.phrase-language{font-size:21px;line-height:1.55;font-weight:850;color:var(--navy);overflow-wrap:anywhere}.roman{font-size:13px;margin:10px 0;color:#5b7c91;line-height:1.5}.translation{font-size:13px;color:#298a77;border-top:1px solid #dceae9;padding-top:11px;margin-top:12px}.lesson-actions{display:flex;gap:9px;flex-wrap:wrap}.guide-steps{margin:10px 0 0;padding-left:22px;color:#668091;font-size:13px;line-height:2.2}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{text-align:center;padding:19px 10px}.stat-card strong{font-size:25px;color:var(--navy);display:block}.stat-card small{font-size:11px;color:#7b8c9f}.roleplay{background:#081f39;color:#fff;border-radius:20px;min-height:390px;padding:24px;display:flex;flex-direction:column;gap:18px}.roleplay h3{color:#fff;margin:0}.roleplay .subline{font-size:12px;color:#a5bdce}.chat-log{flex:1;display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:430px;min-height:190px}.bubble{font-size:13px;line-height:1.7;max-width:85%;border-radius:16px;padding:10px 14px;background:#23445f;align-self:flex-start;overflow-wrap:anywhere}.bubble.mine{background:#056d84;align-self:flex-end}.mic-ring{width:83px;height:83px;border-radius:50%;border:7px solid #1b5d75;background:#0cc89b;color:white;font-size:32px;display:grid;place-items:center;box-shadow:0 0 0 8px #093951;margin:0 auto}.mic-ring.on{animation:pulse 1.5s infinite}@keyframes pulse{50%{box-shadow:0 0 0 18px #144b5a}}.roleplay-controls{text-align:center}.roleplay-controls p{font-size:12px;color:#b6d3dd}.warning{padding:13px;border:1px solid #f8e8b8;background:#fff9e8;color:#9e722f;border-radius:13px;font-size:12px;line-height:1.7}.demo-status{border-radius:12px;background:#e5f9f2;color:#0a8767;font-size:12px;padding:12px}.test-result{padding:14px;border-radius:15px;background:#fff;box-shadow:var(--shadow);margin-top:14px}.test-result strong{color:var(--blue)}.split-btn{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-wrap{position:fixed;inset:0;background:rgba(5,27,47,.65);z-index:70;display:grid;place-items:center;padding:16px}.auth-card{background:#fff;width:min(430px,100%);max-height:95vh;overflow-y:auto;border-radius:25px;padding:28px;position:relative;box-shadow:0 20px 70px rgba(0,0,0,.16)}.auth-card h2{margin:6px 0;color:var(--navy)}.auth-card p{color:#7891a3;font-size:13px;line-height:1.6}.auth-card .close{position:absolute;right:16px;top:12px;border:0;background:#eaf3f8;color:#4b677e;border-radius:50%;height:31px;width:31px}.auth-logo{width:84px;height:84px;object-fit:cover;margin:auto;display:block}.auth-switch{text-align:center;font-size:12px;margin:15px 0 0}.auth-switch button{background:none;border:0;color:var(--blue);font-weight:750}.toast{background:#073b61;color:#fff;padding:14px 19px;border-radius:13px;box-shadow:0 6px 22px rgba(0,0,0,.15);font-size:13px;max-width:340px;line-height:1.5}.toast.error{background:#a32f3b}#toast-root{position:fixed;bottom:85px;right:22px;z-index:100}.empty{padding:50px 15px;text-align:center;color:#7a91a4}.empty strong{color:var(--navy)}.fake-flag{font-size:45px}.h-spaced{display:flex;align-items:center;justify-content:space-between;gap:12px}.voice-time{font-variant-numeric:tabular-nums;font-weight:800;color:#30e0b4}.micro-tag{font-size:10px;letter-spacing:.45px;color:#73909f}.fade-in{animation:in .25s ease}@keyframes in{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1000px){.sidebar{width:210px}.main{padding:30px 25px}.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{display:none}.topbar{height:64px;padding:0 16px}.mini-brand{display:flex}.topbar-desktop,.version-label{display:none}.main{padding:21px 15px 95px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fff;box-shadow:0 -3px 26px #071e3812;border-top:1px solid #e6eff2;justify-content:space-around;padding:8px max(5px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom));gap:4px}.bottom-nav button{background:none;border:0;min-width:60px;flex:1;padding:5px 2px;border-radius:9px;color:#9aafbe;display:grid;justify-items:center;gap:3px;font-weight:700;font-size:10px}.bottom-nav .glyph{font-size:22px}.bottom-nav button.active{color:#078e9b}.footnote{padding-bottom:85px}.hero{min-height:245px;padding:25px 23px}.hero h2{font-size:25px}.hero .hero-content{max-width:70%}.hero-art{right:-55px;width:62%}.hero-globe{font-size:105px}.hero-plane{font-size:48px}.cards-grid{grid-template-columns:repeat(3,1fr);gap:9px}.quick-card{padding:16px 6px}.quick-card strong{font-size:11px}.quick-card small{font-size:10px}.quick-card .ico{font-size:24px}.detail-grid,.profile-grid{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:17px 8px}.banner-sub{align-items:flex-start;flex-direction:column}.country-grid{gap:9px}.country-card{padding:12px;gap:8px}.flag{width:43px;height:43px;font-size:25px}.country-card strong{font-size:12px}.country-card small{font-size:10px}.course-card{padding:14px;gap:10px}.course-symbol{min-width:52px;height:52px;font-size:26px}.course-card h3{font-size:14px}.course-card p{font-size:11px}.course-card .badge{font-size:10px;padding:5px}.auth-card{padding:23px}.page-title{font-size:27px}}@media(max-width:370px){.hero .hero-content{max-width:80%}.hero-art{opacity:.6}.country-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}}
[hidden]{display:none!important}
