:root{
  --bg:#f5f7fb;--surface:#fff;--surface-2:#f0f1f7;--text:#17172a;--muted:#70738b;
  --primary:#6c4cff;--primary-2:#8c74ff;--primary-soft:#ece8ff;--green:#29b36a;--green-soft:#e5f8ee;
  --orange:#ff9e2c;--red:#ff4d6d;--blue:#2e92ff;--border:#e6e8f0;--shadow:0 14px 34px rgba(36,31,77,.10);
  --radius:22px;--sidebar:230px;--topbar:74px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;z-index:30}.brand{border:0;background:none;display:flex;align-items:center;gap:12px;padding:5px 8px 24px;text-align:left;color:var(--text)}.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),#9e75ff);color:#fff;font-size:23px;font-weight:900;box-shadow:0 9px 18px rgba(108,76,255,.28)}.brand-mark.mini{width:34px;height:34px;border-radius:11px;font-size:18px}.brand-copy{display:grid;line-height:1.05}.brand-copy b{font-size:20px}.brand-copy small{font-weight:700;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:10px}.main-nav{display:grid;gap:7px}.nav-item{display:flex;gap:13px;align-items:center;border:0;background:transparent;color:var(--muted);padding:13px 14px;border-radius:15px;text-align:left}.nav-item span{font-size:22px;width:25px;text-align:center}.nav-item b{font-size:14px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.ghost-btn,.promise-link{border:1px solid var(--border);background:var(--surface);padding:11px 12px;border-radius:13px;color:var(--text);font-weight:750}.promise-link{border:0;color:var(--primary);background:transparent;font-size:13px}.main-area{margin-left:var(--sidebar);min-height:100vh}.topbar{position:sticky;top:0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(245,247,251,.88);backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid rgba(230,232,240,.75)}.mobile-brand{display:none;border:0;background:none;align-items:center;gap:8px}.level-switch{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);padding:5px;border-radius:15px}.level-chip{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:900;padding:8px 11px;border-radius:10px}.level-chip.active{background:var(--primary);color:#fff}.level-chip.locked{opacity:.45}.top-stats{display:flex;align-items:center;gap:8px}.stat-pill{display:flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);padding:8px 10px;border-radius:13px}.stat-pill b{font-size:13px}.avatar{border:0;width:38px;height:38px;border-radius:13px;background:var(--text);color:#fff;font-weight:900}.view{width:min(1180px,100%);margin:0 auto;padding:30px 34px 90px;outline:none}.bottom-nav{display:none}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{margin:0 0 7px;color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.page-head h1,.hero-copy h1{margin:0;font-size:clamp(28px,4vw,45px);line-height:1.04;letter-spacing:-.04em}.page-head p{margin:8px 0 0;color:var(--muted)}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1.3fr .7fr}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:0 3px 0 rgba(30,31,55,.025)}.hero{min-height:310px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;overflow:hidden;background:linear-gradient(135deg,#17172a 0%,#2f226f 58%,#6544ee 100%);color:#fff;border:0;position:relative}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px)}.hero:before{width:260px;height:260px;background:rgba(255,255,255,.08);right:-55px;top:-85px}.hero:after{width:180px;height:180px;background:rgba(155,246,201,.12);right:150px;bottom:-90px}.hero-copy{z-index:2}.hero-copy p{max-width:620px;color:#d8d5ef;line-height:1.6}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.primary-btn,.secondary-btn,.danger-btn{border:0;border-radius:15px;padding:13px 18px;font-weight:900;transition:.18s transform,.18s box-shadow}.primary-btn{background:var(--primary);color:#fff;box-shadow:0 8px 0 #4931c7}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 10px 0 #4931c7}.primary-btn:active{transform:translateY(4px);box-shadow:0 4px 0 #4931c7}.primary-btn.light{background:#fff;color:#33247c;box-shadow:0 8px 0 rgba(10,8,29,.25)}.secondary-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.danger-btn{background:#ffe6eb;color:#c22546}.hero-orbit{z-index:2;display:grid;place-items:center;min-height:240px;position:relative}.orb-main{width:155px;height:155px;border-radius:45px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#dcd4ff);color:#4e35d5;font-size:70px;font-weight:1000;transform:rotate(-7deg);box-shadow:0 25px 55px rgba(0,0,0,.25)}.float-badge{position:absolute;background:#fff;color:var(--text);padding:11px 13px;border-radius:14px;font-weight:900;box-shadow:var(--shadow);animation:float 3s ease-in-out infinite}.float-badge.one{top:28px;right:22px}.float-badge.two{bottom:28px;left:18px;animation-delay:.8s}.float-badge.three{bottom:10px;right:20px;animation-delay:1.3s}@keyframes float{50%{transform:translateY(-8px)}}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 13px}.section-title h2{margin:0;font-size:21px}.section-title button{border:0;background:none;color:var(--primary);font-weight:850}.mission-list{display:grid;gap:12px}.mission{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:13px;border:1px solid var(--border);border-radius:16px}.mission-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);font-size:21px}.mission b{display:block}.mission small{color:var(--muted)}.mini-progress{width:72px;height:9px;border-radius:99px;background:var(--surface-2);overflow:hidden}.mini-progress i,.progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#9f78ff)}.progress-wrap{margin-top:18px}.progress-label{display:flex;justify-content:space-between;font-size:13px;font-weight:800;margin-bottom:8px}.progress-bar{height:13px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}.progress-bar.light{background:var(--surface-2)}.progress-bar.green i{background:var(--green)}.kpi-card{display:flex;gap:14px;align-items:center}.kpi-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:23px;background:var(--primary-soft)}.kpi-card strong{font-size:25px;display:block}.kpi-card small{color:var(--muted)}.daily-card{background:linear-gradient(145deg,#fff,#f8f6ff)}.daily-header{display:flex;justify-content:space-between;align-items:start}.day-badge{background:var(--green-soft);color:#16864c;padding:7px 10px;border-radius:99px;font-size:12px;font-weight:900}.lesson-preview{display:grid;gap:10px;margin:18px 0}.preview-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border)}.preview-row:last-child{border:0}.preview-row span{width:34px;height:34px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center}.level-cards{grid-template-columns:repeat(4,1fr)}.level-card{position:relative;overflow:hidden}.level-card h3{font-size:26px;margin:4px 0}.level-card p{color:var(--muted);min-height:42px}.level-card .level-number{position:absolute;right:-5px;top:-18px;font-size:90px;font-weight:1000;color:rgba(108,76,255,.07)}.level-card.current{border:2px solid var(--primary)}.level-card.locked{filter:grayscale(.5);opacity:.62}.tag{display:inline-flex;padding:6px 9px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:900}.path-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.path-map{position:relative;padding:28px 10px}.path-map:before{content:"";position:absolute;left:50%;top:30px;bottom:30px;width:8px;border-radius:99px;background:#e2e3eb;transform:translateX(-50%)}.path-node{position:relative;display:flex;justify-content:center;margin:0 0 25px}.path-node:nth-child(even){transform:translateX(72px)}.path-node:nth-child(odd){transform:translateX(-72px)}.node-btn{position:relative;width:84px;height:72px;border-radius:26px;border:0;background:var(--surface);box-shadow:0 8px 0 #d9dbe5;color:var(--text);font-weight:950;display:grid;place-items:center;z-index:1}.node-btn.complete{background:var(--green);color:#fff;box-shadow:0 8px 0 #16894c}.node-btn.current{background:var(--primary);color:#fff;box-shadow:0 8px 0 #4931c7;animation:pulse 2s infinite}.node-btn.locked{background:#e6e7ed;color:#9ca0af;box-shadow:0 8px 0 #d4d5dc;cursor:not-allowed}.node-label{position:absolute;top:16px;width:170px;font-size:12px}.path-node:nth-child(odd) .node-label{left:calc(50% + 58px);text-align:left}.path-node:nth-child(even) .node-label{right:calc(50% + 58px);text-align:right}.node-label b{display:block}.node-label small{color:var(--muted)}@keyframes pulse{50%{filter:brightness(1.12);transform:scale(1.04)}}.sticky-card{position:sticky;top:96px;height:max-content}.focus-list{display:grid;gap:10px}.focus-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:var(--surface-2)}.focus-item span{font-size:21px}.game-grid{grid-template-columns:repeat(3,1fr)}.game-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:20px;text-align:left;min-height:190px;transition:.2s}.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cfc6ff}.game-icon{font-size:36px}.game-card h3{margin:16px 0 7px}.game-card p{color:var(--muted);font-size:14px;line-height:1.5}.game-card .tag{margin-top:10px}.review-empty{text-align:center;padding:45px 20px}.review-empty .big{font-size:60px}.review-list{display:grid;gap:10px}.review-word{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:13px;border:1px solid var(--border);border-radius:14px;align-items:center}.review-word small{color:var(--muted)}.chart{display:flex;align-items:end;gap:10px;height:180px;padding-top:20px}.chart-col{flex:1;display:grid;justify-items:center;gap:7px;height:100%;align-content:end}.chart-bar{width:min(38px,100%);min-height:5px;border-radius:10px 10px 4px 4px;background:linear-gradient(var(--primary-2),var(--primary))}.chart-col small{font-size:10px;color:var(--muted)}.skill-row{display:grid;grid-template-columns:100px 1fr 42px;gap:10px;align-items:center;margin:12px 0}.skill-row b{font-size:13px}.achievement-grid{grid-template-columns:repeat(4,1fr)}.achievement{text-align:center}.achievement .medal{width:64px;height:64px;margin:auto;border-radius:22px;display:grid;place-items:center;font-size:30px;background:var(--primary-soft)}.achievement.locked{opacity:.4;filter:grayscale(1)}.achievement h4{margin:11px 0 4px;font-size:13px}.achievement small{color:var(--muted)}.profile-grid{display:grid;grid-template-columns:310px 1fr;gap:20px}.profile-card{text-align:center}.big-avatar{width:100px;height:100px;margin:0 auto 15px;border-radius:32px;background:linear-gradient(145deg,var(--primary),#9c74ff);color:#fff;display:grid;place-items:center;font-size:42px;font-weight:1000}.form-grid{display:grid;gap:14px}.field label{display:block;font-size:12px;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--surface);padding:12px 13px;border-radius:13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--border)}.toggle{width:48px;height:27px;border:0;border-radius:99px;background:#cfd1dc;padding:3px}.toggle i{display:block;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.toggle.on{background:var(--primary)}.toggle.on i{transform:translateX(21px)}.modal-backdrop{position:fixed;inset:0;background:rgba(17,17,35,.6);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:100;padding:18px}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modal.wide{width:min(950px,100%)}.modal.full{width:min(980px,100%);height:min(780px,94vh);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:18px}.close-btn{border:0;background:var(--surface-2);width:36px;height:36px;border-radius:11px}.modal-body{padding:22px}.lesson-modal .modal-body{padding:0;display:flex;flex:1;min-height:0}.lesson-shell{display:flex;flex-direction:column;width:100%;min-height:0}.lesson-top{padding:17px 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;border-bottom:1px solid var(--border)}.lesson-top .progress-bar{height:11px}.lesson-content{flex:1;overflow:auto;padding:34px clamp(20px,7vw,80px);display:flex;flex-direction:column}.lesson-content h2{font-size:clamp(24px,4vw,36px);margin:0 0 9px;letter-spacing:-.03em}.lesson-content>p{color:var(--muted);margin:0 0 25px;line-height:1.55}.lesson-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface)}.question-card{display:grid;gap:13px}.choice{width:100%;display:flex;align-items:center;gap:13px;text-align:left;border:2px solid var(--border);background:var(--surface);padding:14px;border-radius:16px;font-weight:800}.choice:hover{border-color:#b9adff;background:#faf9ff}.choice.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.choice.correct{border-color:var(--green);background:var(--green-soft);color:#117a43}.choice.wrong{border-color:var(--red);background:#fff0f3;color:#b92442}.choice-key{width:30px;height:30px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center;font-size:12px}.answer-input{width:100%;border:2px solid var(--border);border-radius:16px;padding:16px;font-size:18px;outline:none}.answer-input:focus{border-color:var(--primary)}.word-bank,.sentence-zone{display:flex;gap:9px;flex-wrap:wrap;min-height:58px;padding:12px;border:2px dashed var(--border);border-radius:16px}.word-token{border:1px solid var(--border);border-bottom-width:4px;background:var(--surface);padding:10px 13px;border-radius:12px;font-weight:850}.sentence-zone .word-token{background:var(--primary-soft);border-color:#c3b7ff}.listen-btn,.speak-btn{width:110px;height:110px;border-radius:36px;border:0;background:var(--primary);color:#fff;font-size:42px;box-shadow:0 10px 0 #4931c7;margin:10px auto 20px}.listen-btn.listening,.speak-btn.listening{animation:pulse 1s infinite;background:var(--red);box-shadow:0 10px 0 #b72c48}.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match-btn{border:2px solid var(--border);background:var(--surface);padding:13px;border-radius:14px;min-height:54px;font-weight:800}.match-btn.selected{border-color:var(--primary);background:var(--primary-soft)}.match-btn.matched{border-color:var(--green);background:var(--green-soft);color:#127342;opacity:.68}.feedback{border-radius:16px;padding:13px 15px;font-weight:800}.feedback.good{background:var(--green-soft);color:#147a45}.feedback.bad{background:#ffe8ed;color:#b42643}.flashcard{min-height:250px;border-radius:24px;background:linear-gradient(145deg,#1d1938,#5c43d4);color:#fff;display:grid;place-items:center;text-align:center;padding:25px;position:relative}.flashcard .word{font-size:44px;font-weight:1000}.flashcard .translation{font-size:20px;color:#d9d4ff;margin-top:8px}.flashcard .example{margin-top:25px;color:#d9d4ff}.flash-nav{display:flex;justify-content:center;gap:8px;margin-top:15px}.score-circle{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;margin:15px auto;background:conic-gradient(var(--green) var(--score),var(--surface-2) 0);position:relative}.score-circle:before{content:"";position:absolute;inset:13px;background:var(--surface);border-radius:50%}.score-circle b{position:relative;font-size:31px}.celebrate{text-align:center}.celebrate .emoji{font-size:70px}.certificate{border:8px double #33247c;padding:38px;text-align:center;background:#fff;color:#17172a}.certificate h1{font-family:Georgia,serif;font-size:40px}.certificate .name{font-size:30px;font-weight:900;border-bottom:1px solid #777;display:inline-block;padding:0 40px 7px}.certificate small{display:block;margin-top:30px;color:#555}.toast{position:fixed;right:22px;bottom:22px;background:#17172a;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:var(--shadow);z-index:200;animation:toastIn .25s ease}.toast.good{background:#167f49}.toast.bad{background:#bc2747}@keyframes toastIn{from{transform:translateY(18px);opacity:0}}.onboarding{display:grid;grid-template-columns:.8fr 1.2fr;min-height:540px}.onboarding-art{background:linear-gradient(145deg,#1b1738,#6c4cff);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between}.onboarding-art .logo-big{font-size:80px;font-weight:1000}.onboarding-form{padding:40px}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.select-card{border:2px solid var(--border);background:var(--surface);padding:14px;border-radius:15px;text-align:left}.select-card.active{border-color:var(--primary);background:var(--primary-soft)}.timer{font-size:22px;font-weight:1000;color:var(--red)}.game-stage{text-align:center}.game-word{font-size:42px;font-weight:1000;margin:35px 0}.speed-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:300}.confetti i{position:absolute;top:-20px;width:10px;height:18px;background:hsl(var(--h),80%,60%);animation:fall var(--d) linear forwards}@keyframes fall{to{transform:translate(var(--x),110vh) rotate(800deg)}}
@media(max-width:1000px){:root{--sidebar:88px}.brand-copy,.nav-item b,.sidebar-bottom{display:none}.brand{justify-content:center}.nav-item{justify-content:center}.nav-item span{font-size:25px}.grid-2,.profile-grid{grid-template-columns:1fr}.level-cards{grid-template-columns:repeat(2,1fr)}.path-shell{grid-template-columns:1fr}.sticky-card{position:static}.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){:root{--topbar:64px}.sidebar{display:none}.main-area{margin-left:0}.topbar{padding:0 14px}.mobile-brand{display:flex}.level-switch{display:none}.top-stats .stat-pill:nth-child(2){display:none}.view{padding:20px 14px 92px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid var(--border);z-index:40;padding:7px 4px calc(7px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;color:var(--muted);display:grid;gap:2px;justify-items:center}.bottom-nav button span{font-size:21px}.bottom-nav button small{font-size:10px;font-weight:850}.bottom-nav button.active{color:var(--primary)}.hero{grid-template-columns:1fr;min-height:auto;padding:24px}.hero-orbit{display:none}.grid-3,.level-cards,.game-grid,.achievement-grid{grid-template-columns:1fr 1fr}.page-head{align-items:start}.path-node:nth-child(n){transform:none}.path-map:before{left:44px}.path-node{justify-content:flex-start}.path-node .node-label,.path-node:nth-child(n) .node-label{left:108px;right:auto;text-align:left;top:15px}.node-btn{margin-left:0}.modal-backdrop{padding:0;align-items:end}.modal,.modal.full{border-radius:24px 24px 0 0;width:100%;max-height:96vh;height:auto}.modal.full{height:96vh}.lesson-content{padding:25px 18px}.lesson-top{padding:14px}.lesson-footer{padding:13px 15px}.onboarding{grid-template-columns:1fr}.onboarding-art{display:none}.onboarding-form{padding:25px}.match-grid,.speed-options{grid-template-columns:1fr}.review-word{grid-template-columns:1fr auto}.review-word small{display:none}}
@media(max-width:430px){.grid-3,.level-cards,.game-grid,.achievement-grid{grid-template-columns:1fr}.top-stats{gap:4px}.stat-pill{padding:7px}.hero-actions{display:grid}.hero-actions button{width:100%}.option-grid{grid-template-columns:1fr}.page-head h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Tabloora English 2.0 expanded content */
.main-nav{overflow:auto;min-height:0}.nav-item{padding:11px 13px}.content-banner{display:grid;grid-template-columns:1fr 230px;gap:28px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#f0ecff 100%);overflow:hidden}.content-banner h2{font-size:clamp(24px,3vw,38px);margin:3px 0 10px;letter-spacing:-.035em}.content-banner p{color:var(--muted);line-height:1.65}.content-pills{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}.content-pills span,.exam-hints span{padding:7px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:850}.content-total{min-height:230px;border-radius:28px;background:linear-gradient(145deg,#1b1738,#6c4cff);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;box-shadow:0 18px 45px rgba(73,49,199,.25)}.content-total strong{font-size:56px;line-height:1}.content-total b{font-size:27px;margin-top:18px}.content-total small{color:#d6d0ff}.can-do-quote{font-size:18px;line-height:1.65;padding:16px;border-left:4px solid var(--primary);background:var(--primary-soft);border-radius:0 16px 16px 0}.condition-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.condition-row:last-child{border-bottom:0}.condition-row>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-weight:1000}.condition-row.ok>span{background:var(--green-soft);color:var(--green)}.condition-row.wait>span{background:var(--surface-2);color:var(--muted)}.condition-row div{display:grid;gap:2px}.condition-row small{color:var(--muted)}.exit-gate{display:grid;grid-template-columns:.7fr 1.3fr;gap:25px;align-items:center}.condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.library-toolbar{margin-top:18px;padding:15px}.library-toolbar input{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 15px;outline:none}.library-toolbar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.filter-strip{display:flex;gap:7px;overflow:auto;padding-top:12px;scrollbar-width:thin}.filter-chip{white-space:nowrap;border:1px solid var(--border);background:var(--surface);padding:8px 11px;border-radius:99px;font-size:12px;font-weight:850;color:var(--muted)}.filter-chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.library-results{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-card{text-align:left;border:1px solid var(--border);transition:.18s;min-height:210px;display:flex;flex-direction:column}.library-card:hover{transform:translateY(-3px);border-color:#bdb1ff;box-shadow:0 16px 36px rgba(54,44,113,.13)}.library-card.done{border-color:#9fdabb;background:linear-gradient(180deg,#fff,#f0fff7)}.library-card h3{margin:16px 0 7px}.library-card p{color:var(--muted);line-height:1.5;flex:1}.library-card-top,.library-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.library-card-foot{border-top:1px solid var(--border);padding-top:13px}.library-card-foot b{font-size:12px;color:var(--primary)}.library-icon{width:42px;height:42px;border-radius:14px;background:var(--primary-soft);display:grid;place-items:center;font-size:21px}.rich-lesson{line-height:1.6}.library-complete-bar{position:sticky;bottom:-22px;background:linear-gradient(transparent,var(--surface) 25%);padding:30px 0 4px;margin-top:20px}.library-complete-bar button{width:100%}.vocab-bank{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vocab-bank article{border:1px solid var(--border);border-radius:16px;padding:13px;display:grid;grid-template-columns:1fr auto;align-items:start}.vocab-bank article div{display:grid}.vocab-bank article small{color:var(--muted)}.vocab-bank article button{border:0;background:var(--primary-soft);width:34px;height:34px;border-radius:10px}.vocab-bank article p{grid-column:1/-1;margin:9px 0 0;color:var(--muted);font-size:13px}.grammar-guide{display:grid;gap:13px}.grammar-guide h2{font-size:26px}.grammar-form{padding:15px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}.grammar-form p{margin:7px 0 0;line-height:1.65}.reader{max-width:720px;margin:0 auto 18px;padding:28px;border-radius:22px;background:#fffdf6;border:1px solid #eee5cb;font-family:Georgia,serif}.reader h2{font-family:inherit;font-size:30px}.reader p{font-size:18px;line-height:1.9;color:#343034}.news-reader{background:#f4f8ff;border-color:#d9e6ff}.source-note{font-size:12px;color:var(--muted)}.episode-list{display:grid;gap:14px}.episode-list .card{box-shadow:none}.transcript{border:1px solid var(--border);border-radius:16px;padding:14px}.transcript summary{font-weight:850;cursor:pointer}.writing-meter{display:grid;gap:10px;margin-top:12px}.role-card{padding:16px;border-radius:17px;background:var(--primary-soft);margin-top:15px}.checklist{display:grid;gap:10px}.checklist label,.rubric-grid label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border);border-radius:13px;padding:11px}.project-steps{display:grid;gap:9px;line-height:1.55}.rubric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.reference-links{display:flex;gap:9px;flex-wrap:wrap}.reference-links a{padding:10px 13px;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-weight:850;text-decoration:none}.assessment-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skill-card{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:start}.skill-card h3{margin:2px 0 5px}.skill-card p{margin:0;color:var(--muted);line-height:1.5}.skill-card>strong{font-size:21px;color:var(--primary)}.skill-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--primary-soft);font-size:23px}.score-bars{display:grid;gap:12px}.score-bars>div{display:grid;grid-template-columns:minmax(115px,1fr) 2fr 44px;gap:10px;align-items:center}.score-bars span{font-size:12px;font-weight:850}.score-bars b{text-align:right}.exam-hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.preline{white-space:pre-line}.exam-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:20px 0}.exam-result-grid article{display:grid;justify-items:center;gap:5px;padding:13px;border:1px solid var(--border);border-radius:15px}.exam-result-grid span{font-size:24px}.exam-result-grid b{font-size:12px}.exam-result-grid strong.pass{color:var(--green)}.exam-result-grid strong.fail{color:var(--red)}
@media(max-width:1000px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-banner{grid-template-columns:1fr}.content-total{min-height:180px}.exit-gate{grid-template-columns:1fr}}
@media(max-width:720px){.bottom-nav{grid-template-columns:repeat(6,1fr)}.bottom-nav button small{font-size:9px}.assessment-overview{grid-template-columns:1fr}.library-grid{grid-template-columns:1fr}.vocab-bank{grid-template-columns:1fr}.content-banner{padding:20px}.condition-grid{grid-template-columns:1fr}.exam-result-grid{grid-template-columns:1fr 1fr}.skill-card{grid-template-columns:auto 1fr}.skill-card>strong{grid-column:2}.rubric-grid{grid-template-columns:1fr}.score-bars>div{grid-template-columns:100px 1fr 40px}}
@media(max-width:430px){.bottom-nav button span{font-size:18px}.bottom-nav button small{font-size:8px}.content-total strong{font-size:44px}.reader{padding:20px}.reader p{font-size:16px}.exam-result-grid{grid-template-columns:1fr}}

/* Tabloora English 3.0 — speaking-first experience */
.speak-nav{background:linear-gradient(135deg,#efeaff,#e5fff3);border:1px solid #d9d0ff}
.speak-nav span{filter:none}
.speaking-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;margin-bottom:20px;padding:30px;border-radius:32px;background:radial-gradient(circle at 85% 20%,rgba(102,255,197,.24),transparent 30%),linear-gradient(135deg,#101128 0%,#312374 54%,#6950ff 100%);color:#fff;box-shadow:0 25px 70px rgba(34,26,91,.25);overflow:hidden;position:relative}
.speaking-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;bottom:-150px;background:rgba(255,255,255,.08)}
.speaking-hero-copy,.speaking-hero-stats{position:relative;z-index:1}
.speaking-hero .eyebrow{color:#9ff1ca}
.speaking-hero h1{font-size:clamp(34px,5vw,62px);line-height:.98;letter-spacing:-.055em;margin:0 0 14px;max-width:760px}
.speaking-hero p{color:#dad8ee;line-height:1.65;max-width:760px}
.speak-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.speak-meta span{padding:8px 11px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:850}
.mega-speak-btn{display:inline-flex;align-items:center;gap:14px;border:0;border-radius:20px;padding:18px 26px;background:linear-gradient(135deg,#64efad,#bcff6b);color:#10251a;font-size:20px;font-weight:1000;box-shadow:0 10px 0 #2ba66c,0 22px 45px rgba(28,217,133,.24);transition:.18s transform,.18s box-shadow}
.mega-speak-btn span{font-size:27px}
.mega-speak-btn:hover{transform:translateY(-2px);box-shadow:0 12px 0 #2ba66c,0 25px 50px rgba(28,217,133,.3)}
.mega-speak-btn:active{transform:translateY(6px);box-shadow:0 4px 0 #2ba66c}
.rescue-note{margin-top:18px;color:#c9c5e4;font-size:12px;max-width:650px}
.speaking-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start;padding:4px}
.speaking-hero-stats>div{display:grid;gap:4px;padding:14px;border-radius:17px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px)}
.speaking-hero-stats small{color:#c8c5df;font-size:11px}
.speaking-hero-stats strong{font-size:19px}
.speaking-hero-stats .weekly-speaking{grid-column:1/-1}
.speaking-hero-stats .weekly-speaking b{margin-bottom:7px}
.daily-mission-card{margin-bottom:18px}
.daily-mission-head{display:flex;justify-content:space-between;gap:20px;align-items:center}
.daily-mission-head h2{font-size:clamp(24px,3vw,36px);margin:0 0 7px}
.daily-mission-head p:not(.eyebrow){color:var(--muted);margin:0}
.mission-ring{width:96px;height:96px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--mission),var(--surface-2) 0);position:relative}
.mission-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}
.mission-ring b{position:relative;z-index:1;font-size:22px}
.mission-v3-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}
.mission-v3{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;border:1px solid var(--border);border-radius:17px;padding:13px;background:var(--surface-2)}
.mission-v3>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--surface);font-size:19px}
.mission-v3>div{display:grid;gap:4px;min-width:0}
.mission-v3 b{font-size:12px}
.mission-v3 small{font-size:10px;color:var(--muted)}
.mission-v3 .progress-bar{height:7px}
.mission-v3.done{border-color:#9bd8ba;background:#effff7}
.mission-complete{margin-top:14px;padding:13px;border-radius:14px;background:var(--green-soft);color:#147c48;font-weight:900;text-align:center}
.speaking-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}
.quick-mode{text-align:left;display:grid;gap:7px;min-height:150px;transition:.18s}
.quick-mode:hover{transform:translateY(-3px);border-color:#bdb1ff;box-shadow:var(--shadow)}
.quick-mode>span{font-size:29px}
.quick-mode b{font-size:17px}
.quick-mode small{color:var(--muted);line-height:1.45}
.weekly-errors{margin-bottom:18px}
.error-preview-row{display:grid;grid-template-columns:34px minmax(160px,1fr) minmax(180px,1fr);gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.error-preview-row:last-child{border-bottom:0}
.error-preview-row>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#fff0f3;color:#c22546;font-weight:1000}
.error-preview-row div{display:grid;gap:2px}
.error-preview-row small{color:var(--muted)}
.error-preview-row em{font-style:normal;font-size:12px;color:var(--muted)}
.speaking-page-head{margin-top:10px}
.speaking-filter{margin:0 0 16px;padding:0 0 5px}
.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.scenario-card{text-align:left;min-height:250px;display:flex;flex-direction:column;transition:.18s;border:1px solid var(--border)}
.scenario-card:hover{transform:translateY(-3px);border-color:#b9acff;box-shadow:var(--shadow)}
.scenario-card>div:first-child{display:flex;justify-content:space-between;align-items:center}
.scenario-card h3{margin:16px 0 8px;font-size:18px}
.scenario-card p{color:var(--muted);line-height:1.55;flex:1}
.scenario-card>b{color:var(--primary);font-size:12px;margin-top:14px}
.scenario-category{text-transform:capitalize;color:var(--muted);font-size:11px;font-weight:850}
.scenario-patterns{display:flex;gap:5px;flex-wrap:wrap}
.scenario-patterns span{font-size:10px;padding:5px 7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--border)}
.scenario-count-note{margin-top:17px}
.conversation-modal .modal{background:#f4f5fb}
.conversation-shell{min-height:100%;display:grid;grid-template-rows:auto 5px 1fr auto auto auto;background:#f4f5fb}
.conversation-top{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:18px 22px;background:var(--surface);border-bottom:1px solid var(--border)}
.conversation-top h2{margin:0;font-size:20px}
.conversation-top .eyebrow{margin:0 0 3px}
.conversation-timer,.exam-clock{padding:8px 11px;border-radius:12px;background:var(--text);color:#fff;font-weight:900;font-variant-numeric:tabular-nums}
.conversation-progress{background:#e1e3ec;overflow:hidden}
.conversation-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--green));width:0;transition:.3s}
.conversation-log{overflow:auto;padding:24px;display:flex;flex-direction:column;gap:12px}
.chat-bubble{max-width:min(720px,84%);padding:14px 16px;border-radius:18px;box-shadow:0 4px 14px rgba(27,26,50,.06)}
.chat-bubble b{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.chat-bubble p{margin:5px 0 0;line-height:1.6}
.chat-bubble.ai{align-self:flex-start;background:#fff;border-bottom-left-radius:5px}
.chat-bubble.user{align-self:flex-end;background:linear-gradient(135deg,#6c4cff,#8f73ff);color:#fff;border-bottom-right-radius:5px}
.conversation-rescue{display:flex;gap:7px;overflow:auto;padding:10px 18px;background:var(--surface);border-top:1px solid var(--border)}
.conversation-rescue button{white-space:nowrap;border:1px solid var(--border);background:var(--surface-2);border-radius:99px;padding:8px 10px;font-size:11px;font-weight:850}
.conversation-input{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:12px 18px;background:var(--surface)}
.conversation-input textarea{resize:none;border:1px solid var(--border);border-radius:14px;padding:12px;font:inherit;outline:none}
.mega-record-btn{border:0;border-radius:15px;background:linear-gradient(135deg,#ff4f78,#ff7c57);color:#fff;padding:0 19px;font-weight:950;box-shadow:0 6px 0 #cc3154}
.rescue-answer,.conversation-score{margin:0 18px 10px;padding:11px 13px;border-radius:13px;background:#fff7d7;border:1px solid #f2df91;font-size:13px}
.conversation-score{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;background:var(--surface);border-color:var(--border)}
.conversation-score>b{grid-row:1/3;font-size:24px;color:var(--primary)}
.conversation-score small{color:var(--muted)}
.conversation-score.bad>b{color:var(--red)}
.conversation-result{display:grid;justify-items:center;text-align:center;padding:42px 24px;max-width:900px;margin:auto}
.conversation-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;margin:20px 0}
.conversation-result-grid>div{display:grid;gap:5px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.conversation-result-grid small{color:var(--muted)}
.error-table-card{margin-top:18px}
.error-table{display:grid;margin-top:14px}
.error-row{display:grid;grid-template-columns:56px 1.2fr 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--border);align-items:start}
.error-row:last-child{border-bottom:0}
.error-count{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#ffe9ee;color:#bd2344;font-size:20px;font-weight:1000}
.error-row h3{margin:8px 0 4px}
.error-row p{margin:4px 0;color:var(--muted);line-height:1.5}
.ai-feedback{display:grid;grid-template-columns:130px 1fr;gap:18px;margin-top:15px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f1edff,#f0fff8);border:1px solid #dcd4ff}
.ai-score{display:grid;place-content:center;text-align:center;border-radius:18px;background:#fff;min-height:120px}
.ai-score strong{font-size:38px;color:var(--primary)}
.ai-score span{font-size:10px;color:var(--muted)}
.ai-feedback ul{margin:6px 0 12px;padding-left:18px;line-height:1.55}
.long-reader{max-height:330px;overflow:auto}
.listen-limit{display:block;color:var(--muted);margin:8px 0}
.prep-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border-radius:16px;background:var(--primary-soft);margin:12px 0}
.v3-results{grid-template-columns:repeat(4,1fr)}

@media(max-width:1120px){
  .speaking-hero{grid-template-columns:1fr}
  .speaking-hero-stats{grid-template-columns:repeat(4,1fr)}
  .speaking-hero-stats .weekly-speaking{grid-column:span 2}
  .mission-v3-grid{grid-template-columns:repeat(3,1fr)}
  .scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .speaking-quick-grid{grid-template-columns:1fr 1fr}
  .speaking-hero-stats{grid-template-columns:1fr 1fr}
  .mission-v3-grid{grid-template-columns:1fr 1fr}
  .scenario-grid{grid-template-columns:1fr}
  .conversation-result-grid{grid-template-columns:1fr 1fr}
  .error-row{grid-template-columns:48px 1fr}
  .error-row>div:last-child{grid-column:2}
  .v3-results{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .bottom-nav{grid-template-columns:repeat(7,1fr);overflow-x:auto}
  .bottom-nav button{min-width:50px}
  .speaking-hero{padding:22px;border-radius:24px}
  .speaking-hero h1{font-size:38px}
  .mega-speak-btn{width:100%;justify-content:center}
  .daily-mission-head{align-items:flex-start}
  .mission-ring{width:78px;height:78px}
  .mission-v3-grid{grid-template-columns:1fr}
  .speaking-quick-grid{grid-template-columns:1fr 1fr}
  .conversation-top{grid-template-columns:auto 1fr}
  .conversation-timer{grid-column:2}
  .conversation-input{grid-template-columns:1fr 1fr}
  .conversation-input textarea{grid-column:1/-1}
  .error-preview-row{grid-template-columns:30px 1fr}
  .error-preview-row em{grid-column:2}
  .ai-feedback{grid-template-columns:1fr}
}
@media(max-width:480px){
  .speaking-quick-grid{grid-template-columns:1fr}
  .speaking-hero-stats{grid-template-columns:1fr 1fr}
  .speaking-hero-stats>div{padding:11px}
  .speaking-hero-stats strong{font-size:15px}
  .conversation-result-grid{grid-template-columns:1fr 1fr}
  .v3-results{grid-template-columns:1fr}
}
