:root{color:#132033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#071a2f;--ink-2:#0f2a45;--paper:#fbf8f1;--surface:#fffdf8;--surface-strong:#fff;--line:#e4ddcf;--muted:#66717f;--text:#132033;--teal:#0f8b78;--teal-dark:#086857;--blue:#2563eb;--cyan:#35c9d0;--gold:#c9952f;--good:#13734c;--bad:#b14635;--radius:16px;--shadow:0 18px 45px #071a2f1c;--shadow-strong:0 26px 70px #071a2f38;background:#fbf8f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;overflow-x:hidden}body{background:radial-gradient(circle at 16% 0%, #35c9d029, transparent 28rem), linear-gradient(180deg, #f6efe2 0, var(--paper) 380px, #f9fbf7 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;min-height:48px}button:disabled{cursor:not-allowed;opacity:.62}button,a,input,textarea,select{outline-color:#0000}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #35c9d080}.app-shell{width:min(1180px,100% - 32px);padding:max(20px, env(safe-area-inset-top)) 0 max(48px, env(safe-area-inset-bottom));margin:0 auto}.hero{background:linear-gradient(135deg, #35c9d033, transparent 36%), linear-gradient(145deg, var(--ink) 0%, #0b233b 54%, #102e4d 100%);color:#fff;box-shadow:var(--shadow-strong);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:stretch;gap:24px;padding:clamp(24px,4vw,40px);display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#c9952f3d,#0000 68%);height:220px;position:absolute;inset:auto -12% -48% 52%}.hero>*{z-index:1;position:relative}.hero-meta{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.eyebrow{color:var(--teal-dark);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:850}.hero .eyebrow{color:#7be3d5}.version-label{color:#d6e8f0;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;min-height:26px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}h1{letter-spacing:0;margin:0 0 14px;font-size:clamp(2.45rem,5vw,4.45rem);line-height:.96}h2{letter-spacing:0;color:var(--text);margin:0 0 14px;font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.14}h3{color:var(--text);margin:18px 0 10px;font-size:1.04rem}p{line-height:1.6}.hero-copy{color:#dbe8ef;max-width:760px;margin:0;font-size:1.06rem}.mode-note{color:#d8fff7;background:#0f8b7829;border:1px solid #7be3d53d;border-radius:999px;max-width:100%;margin:18px 0 0;padding:8px 12px;font-size:.9rem;font-weight:850;display:inline-flex}.hero-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffff29,#ffffff14);border:1px solid #fff3;border-radius:18px;flex-direction:column;justify-content:center;gap:10px;min-height:174px;padding:22px;display:flex;box-shadow:inset 0 1px #ffffff29}.hero-card span,.hero-card small{color:#dbe8ef}.hero-card strong{letter-spacing:0;color:#fff;font-size:clamp(2.65rem,5vw,3.5rem);line-height:1}.tabs{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;background:#fbf8f1e6;gap:8px;margin:14px -4px 2px;padding:12px 4px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:#34465a;background:#fffdf8d1;border:1px solid #0f2a4517;border-radius:999px;flex:none;min-width:98px;padding:0 16px;font-weight:850;box-shadow:0 8px 22px #071a2f0f}.tabs button:hover{color:var(--teal-dark);border-color:#0f8b7852}.tabs button.active{background:linear-gradient(135deg, var(--teal), var(--blue));color:#fff;border-color:#0000;box-shadow:0 12px 28px #0f8b783d}.grid{gap:18px;min-width:0;display:grid}.grid.two{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}.grid.lesson-layout{grid-template-columns:260px minmax(0,1fr);align-items:start}.panel{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f2;border:1px solid #e4ddcfe6;padding:clamp(18px,2.5vw,24px)}.panel.large{min-height:500px}.panel.full{grid-column:1/-1}.section-title{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-weight:850;display:flex}.section-title b{min-width:0;color:var(--teal-dark);overflow-wrap:anywhere;text-align:right;background:#e8f7f4;border-radius:999px;padding:6px 11px;font-size:.8rem}.support-note{color:var(--teal-dark);background:linear-gradient(135deg,#e8f7f4,#f3fbf8);border:1px solid #c7ece4;border-radius:12px;margin:0 0 14px;padding:11px 13px;font-weight:780}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.stat,.mini-card,.next-card{background:linear-gradient(#fff,#fffaf0);border:1px solid #e4ddcff2;border-radius:14px;min-height:82px;padding:15px;box-shadow:0 10px 22px #071a2f0d}.next-card{background:linear-gradient(135deg,#eefbf8,#fffdf8);border-color:#c8e9e2}.stat span,.mini-card span,.next-card span{color:var(--muted);font-size:.9rem;line-height:1.42;display:block}.stat strong,.mini-card strong,.next-card strong{color:var(--text);overflow-wrap:anywhere;margin-bottom:4px;display:block}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px;display:grid}.actions{flex-wrap:wrap;gap:10px;margin:16px 0 0;display:flex}.actions button,.quick-actions button,button.primary{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#fff;border-radius:12px;min-height:52px;padding:0 18px;font-weight:850;transition:transform .16s,box-shadow .16s,filter .16s;box-shadow:0 12px 24px #0f8b7833}.actions button:hover,.quick-actions button:hover,button.primary:hover{transform:translateY(-1px);box-shadow:0 16px 30px #0f8b7840}.actions button:active,.quick-actions button:active,button.primary:active{filter:brightness(.96);transform:translateY(0)}.actions button.secondary,.secondary{color:var(--ink-2);box-shadow:none;background:#eef4f2;border:1px solid #cfe1dc}.icon-btn{min-height:42px;color:var(--teal-dark);background:#e8f7f4;border:1px solid #c7ece4;border-radius:999px;padding:0 14px;font-weight:850}.icon-btn:hover{background:#d9f3ee}.text-button{min-height:38px;color:var(--teal-dark);text-align:left;background:0 0;padding:0;font-weight:850}.ring{aspect-ratio:1;border-radius:999px;place-items:center;width:min(220px,62vw);margin:14px auto 22px;display:grid;box-shadow:0 18px 36px #2563eb21}.ring>div{aspect-ratio:1;background:radial-gradient(circle at 50% 20%,#fff,#fff8ee);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;width:70%;display:flex;box-shadow:inset 0 0 0 1px #e4ddcfe6,0 10px 24px #071a2f14}.ring strong{letter-spacing:0;color:var(--ink);font-size:2.35rem;line-height:1}.ring span{color:var(--muted);font-weight:780}.level-band{margin-top:24px}.level-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.level-heading h2{margin:0}.level-heading span{color:var(--muted);font-weight:760}.lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.lesson-card{text-align:left;min-height:164px;color:var(--text);background:#fffdf8;border:1px solid #e4ddcff2;border-radius:15px;flex-direction:column;align-items:flex-start;gap:8px;padding:15px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative;box-shadow:0 10px 24px #071a2f0d}.lesson-card:hover{border-color:#0f8b7873;transform:translateY(-2px);box-shadow:0 16px 32px #071a2f17}.lesson-card span{color:#44515f;background:#eef1f3;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900}.lesson-card.completed{background:linear-gradient(#f5fff8,#fffdf8);border-color:#bce6ca}.lesson-card.completed span{color:var(--good);background:#ddf6e6}.lesson-card.available{background:linear-gradient(#f1fffc,#fffdf8);border-color:#bfece6}.lesson-card.available span{color:var(--teal-dark);background:#dff8f4}.lesson-card.in-progress{background:linear-gradient(#f3f7ff,#fffdf8);border-color:#2563eb52}.lesson-card.in-progress span{color:#1f55bf;background:#e2ebff}.lesson-card.locked{color:#6d716e;box-shadow:none;background:#f4f0e8}.lesson-card.locked span{color:#6b6256;background:#e7e0d3}.lesson-card small,.lesson-card em{color:var(--muted);line-height:1.36}.lesson-steps{gap:8px;display:grid;position:sticky;top:86px}.lesson-steps button{color:#34465a;text-align:left;background:#fff9ee;border:1px solid #e4ddcff2;border-radius:12px;width:100%;padding:8px 13px;font-weight:850}.lesson-steps button.active{background:linear-gradient(135deg, var(--ink-2), var(--teal-dark));color:#fff;border-color:#0000;box-shadow:0 12px 24px #071a2f29}.lesson-steps button small{color:inherit;opacity:.72;font-size:.76rem;font-weight:760;display:block}.list{gap:12px;min-width:0;display:grid}.list-item{background:linear-gradient(#fff,#fffbf4);border:1px solid #e4ddcff2;border-radius:15px;min-width:0;padding:17px;box-shadow:0 10px 22px #071a2f0d}.list-item strong{color:var(--text);display:block}.list-item small{color:var(--muted);margin:4px 0 8px;display:block}.list-item p{color:#314050;white-space:pre-wrap;overflow-wrap:anywhere}.item-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.muted{color:var(--muted)}.example,.warning,.passage,.audio-card{color:#314050;background:#fffbf4;border:1px solid #e4ddcff2;border-radius:15px;margin:16px 0;padding:17px}.audio-card{background:linear-gradient(#fff,#f2fbf8);border-color:#ccece5}.warning{color:#86560f;background:#fff8e8;border-color:#f0c982;font-weight:760}.passage{font-size:1.04rem;line-height:1.75}.phrase-wrap{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.phrase-wrap span{color:var(--teal-dark);background:#e8f7f4;border:1px solid #c7ece4;border-radius:999px;padding:8px 11px;font-size:.9rem;font-weight:760}.rating{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.rating button{min-height:42px;color:var(--ink-2);border:1px solid var(--line);background:#fff7ea;border-radius:999px;padding:0 13px;font-weight:850}.rating button.active{background:linear-gradient(135deg, var(--teal), var(--blue));color:#fff;border-color:#0000}.filters{grid-template-columns:minmax(0,1fr) 150px 220px;gap:10px;margin-bottom:16px;display:grid}input,textarea,select{width:100%;min-height:50px;color:var(--text);background:#fffefb;border:1px solid #d2cabb;border-radius:12px;outline:none;margin:0;padding:13px 14px}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 4px #0f8b7821}ol,ul{color:#314050;padding-left:22px;line-height:1.7}.quiz{gap:14px;margin:14px 0;display:grid}.quiz-item{background:#fffefb;border:1px solid #e4ddcff2;border-radius:15px;padding:15px;box-shadow:0 8px 20px #071a2f0a}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.option-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.option-grid button{text-align:left;min-height:56px;color:var(--text);background:#fffdf8;border:1px solid #d9d2c5;border-radius:13px;padding:13px 14px;font-weight:780;line-height:1.34;box-shadow:0 8px 18px #071a2f0a}.option-grid button:hover{background:#f7fffc;border-color:#0f8b7873}.option-grid button.selected{border-color:var(--teal);color:var(--teal-dark);background:linear-gradient(135deg,#e5faf5,#edf4ff);box-shadow:inset 0 0 0 1px #0f8b782e,0 10px 22px #0f8b781c}.correct-text,.wrong-text{border-radius:12px;margin-top:12px;padding:11px 12px}.correct-text{color:var(--good);background:#eaf8ef;border:1px solid #bfe8cf;font-weight:850}.wrong-text{color:var(--bad);background:#fff1ec;border:1px solid #f2c8bc;font-weight:850}.feedback{border-radius:14px;margin:16px 0;padding:16px}.feedback.good{color:var(--good);background:#eaf8ef;border:1px solid #bfe8cf}.feedback.bad{color:#86560f;background:#fff4e8;border:1px solid #f0c982}.status{color:var(--good);background:#eaf8ef;border:1px solid #bfe8cf;border-radius:12px;padding:13px;font-weight:800}summary{cursor:pointer;min-height:38px;color:var(--teal-dark);font-weight:850}@media (width<=1040px){.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.app-shell{width:min(100% - 20px,1180px);padding-top:max(10px, env(safe-area-inset-top))}.hero,.grid.two,.grid.lesson-layout{grid-template-columns:1fr}.hero{border-radius:20px;padding:22px}.hero-card,.panel.large{min-height:auto}.lesson-steps{position:static}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr}}@media (width<=640px){.app-shell{width:min(100% - 16px,1180px)}.hero{border-radius:18px;padding:18px}.hero-copy{font-size:1rem}.mode-note{border-radius:14px}.panel{border-radius:15px;padding:16px}.section-title,.level-heading{flex-direction:column;align-items:flex-start;gap:8px}.section-title b{text-align:left}.tabs button{min-width:92px;padding-inline:12px}.stat-grid,.card-grid,.quick-actions,.lesson-grid,.option-grid,.option-grid.compact{grid-template-columns:1fr}.actions{grid-template-columns:1fr;display:grid}.actions button{width:100%}.item-head{flex-direction:column}.icon-btn{width:100%}}@media (display-mode:standalone){body{background:var(--paper)}.app-shell{padding-top:max(18px, env(safe-area-inset-top))}}
