@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");:root{--bg:#f7f7f3;--surface:#ffffff;--card:#ffffff;--raised:#fbfbf8;--text:#18211d;--muted:#68736d;--faint:#929b96;--border:#e4e7e2;--primary:#176b51;--primary-dark:#10523e;--primary-soft:#e5f3ed;--accent:#e7a83e;--danger:#c94a4a;--danger-soft:#fff0ee;--success:#27825f;--success-soft:#e8f6ef;--warning-soft:#fff7df;--shadow:0 18px 55px rgba(25,46,37,.08);--shadow-sm:0 5px 18px rgba(25,46,37,.06)}:root[data-theme=dark]{--bg:#101512;--surface:#151c18;--card:#19211d;--raised:#1d2621;--text:#edf3ef;--muted:#a5b0aa;--faint:#76817b;--border:#2b352f;--primary:#58bd91;--primary-dark:#77cea7;--primary-soft:#203b30;--accent:#eebd67;--danger:#f08080;--danger-soft:#382322;--success:#67c69c;--success-soft:#203a30;--warning-soft:#382f1e;--shadow:0 18px 55px rgba(0,0,0,.25);--shadow-sm:0 5px 18px rgba(0,0,0,.18)}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;font-family:DM Sans,system-ui,sans-serif;color:var(--text);transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(1.85rem,4vw,2.5rem);line-height:1.15;margin:.2rem 0 1rem}p{line-height:1.6}.eyebrow{display:block;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:.7rem}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.2rem;letter-spacing:-.04em}.brand,.brand-mark{font-family:Manrope;font-weight:800}.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:9px 9px 9px 3px;background:var(--primary);color:white;box-shadow:0 6px 15px color-mix(in srgb,var(--primary) 24%,transparent)}.auth-wrap{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);background:var(--surface)}.auth-story,.auth-wrap{min-height:100dvh;position:relative}.auth-story{padding:clamp(2rem,5vw,5rem);background:var(--primary);color:white;display:flex;flex-direction:column;overflow:hidden}.auth-story:after,.auth-story:before{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.13);width:40vw;height:40vw;right:-18vw;top:-10vw}.auth-story:after{width:24vw;height:24vw;top:auto;bottom:-11vw;left:-8vw}.auth-brand{display:flex;align-items:center;gap:.7rem;font:800 1.25rem Manrope;position:relative;z-index:1}.auth-brand .brand-mark{background:white;color:var(--primary)}.auth-copy{margin:auto 0;max-width:580px;position:relative;z-index:1}.auth-copy .eyebrow{color:#bde8d4}.auth-copy h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:1.02;margin:0 0 1.5rem;letter-spacing:-.06em}.auth-copy p{max-width:520px;color:rgba(255,255,255,.76);font-size:1.08rem}.auth-proof{position:relative;z-index:1;display:flex;gap:1rem;align-items:flex-start;max-width:440px;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem}.auth-proof>span{font-size:1.4rem;color:#ffd989}.auth-proof p{margin:0;color:rgba(255,255,255,.7);font-size:.9rem}.auth-proof strong{color:white}.auth-card{width:min(440px,calc(100% - 3rem));margin:auto;padding:2rem 0}.auth-card h1{margin-bottom:.5rem}.auth-card .sub{margin:0 0 2rem;color:var(--muted)}.auth-mobile-brand{display:none}.auth-theme{position:absolute;right:1.5rem;top:1.5rem;z-index:5}.field{margin-bottom:1.15rem}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:.45rem}.field input,.translate-box{width:100%;padding:.85rem 1rem;border:1px solid var(--border);background:var(--raised);color:var(--text);border-radius:12px;font-size:1rem;transition:.18s}.field input:focus,.translate-box:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent);background:var(--card)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:.72rem 1.15rem;border:0;border-radius:12px;background:var(--primary);color:white;font-weight:700;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 20%,transparent);transition:transform .15s,background .15s,box-shadow .15s}.btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 25%,transparent)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.error{color:var(--danger);font-size:.86rem;margin:.65rem 0}.alt{margin-top:1.35rem;text-align:center;font-size:.9rem;color:var(--muted)}.alt a{color:var(--primary);font-weight:700}.shell{min-height:100dvh;padding-left:250px}.sidebar{width:250px;position:fixed;inset:0 auto 0 0;padding:1.6rem 1.15rem;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:20}.sidebar>.brand{padding:.1rem .6rem 1.8rem}.side-nav{display:flex;flex-direction:column;gap:.3rem}.side-nav a{display:flex;align-items:center;gap:.85rem;padding:.72rem .8rem;color:var(--muted);border-radius:11px;font-weight:600;font-size:.92rem;transition:.15s}.side-nav a:hover{color:var(--text);background:var(--raised)}.side-nav a.active{color:var(--primary);background:var(--primary-soft)}.side-nav .ico{display:grid;place-items:center;width:1.35rem;font-size:1.2rem;font-weight:500}.sidebar-foot{margin-top:auto;display:grid;grid-gap:.35rem;gap:.35rem}.logout-button,.theme-toggle{border:0;background:transparent;display:flex;align-items:center;gap:.75rem;width:100%;padding:.65rem .8rem;border-radius:10px;color:var(--muted);cursor:pointer;font-weight:600}.logout-button:hover,.theme-toggle:hover{background:var(--raised);color:var(--text)}.theme-toggle>span:first-child{width:1.3rem;font-size:1.1rem}.theme-toggle.compact{width:40px;height:40px;padding:0;justify-content:center;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm)}.theme-toggle.compact>span:first-child{width:auto}.topbar{display:none}.content{width:min(100%,1040px);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) clamp(1.25rem,4vw,3.5rem) 5rem}.tabbar{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.6rem}.page-head p{color:var(--muted);margin:.35rem 0 0}.card,.lesson-section{border:1px solid var(--border);border-radius:18px;padding:1.35rem;margin-top:1rem}.card,.lesson-section,.placeholder{background:var(--card);box-shadow:var(--shadow-sm)}.placeholder{border:1px solid var(--border);border-radius:20px;padding:3.5rem 1.5rem;text-align:center;color:var(--muted);margin-top:1.25rem}.placeholder:before{content:"✦";display:grid;place-items:center;width:44px;height:44px;margin:0 auto 1rem;background:var(--primary-soft);color:var(--primary);border-radius:14px;font-size:1.25rem}.placeholder h2{color:var(--text);margin:0 0 .5rem}.dashboard-hero{padding:clamp(1.5rem,4vw,2.5rem);background:var(--primary);color:white;border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.dashboard-hero:after{content:"Hello";position:absolute;right:-1rem;bottom:-2rem;font:800 clamp(4rem,12vw,8rem) Manrope;color:rgba(255,255,255,.06);transform:rotate(-6deg)}.dashboard-hero h1{margin:0 0 .6rem;position:relative;z-index:1}.dashboard-hero p{color:rgba(255,255,255,.75);margin:0;position:relative;z-index:1}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.8rem;gap:.8rem;margin-top:1rem}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.15rem}.stat-card .label{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.stat-card .value{font:800 1.35rem Manrope;margin-top:.3rem}.unit-head{margin:2rem 0 .8rem;display:flex;align-items:center;gap:.7rem}.unit-head h2{margin:0;font-size:1.1rem;letter-spacing:-.02em}.badge{font-size:.7rem;font-weight:800;color:var(--primary);background:var(--primary-soft);border-radius:7px;padding:.25rem .5rem}.topic-card{display:flex;align-items:center;gap:1rem;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;margin-bottom:.65rem;box-shadow:var(--shadow-sm);transition:.18s}.topic-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.topic-card.locked{opacity:.55;box-shadow:none}.topic-card .st{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:11px;background:var(--raised);font-size:1rem}.topic-card .body{flex:1 1}.topic-card .title{font-weight:700}.topic-card .meta{font-size:.78rem;color:var(--muted);margin-top:.2rem}.back-link{color:var(--muted);font-size:.85rem;font-weight:600;display:inline-flex;margin-bottom:1rem}.stage-strip{display:flex;gap:.35rem;margin:1.1rem 0 1.4rem;overflow-x:auto;padding-bottom:.25rem}.stage-chip{flex:0 0 auto;font-size:.72rem;font-weight:600;padding:.38rem .65rem;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--muted)}.stage-chip.current{background:var(--primary);border-color:var(--primary);color:white}.stage-chip.done{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,transparent);color:var(--success)}.objectives{margin:.65rem 0 0;padding-left:1.2rem;color:var(--muted);font-size:.9rem}.objectives li{margin:.4rem 0}.lesson-section h3{margin:0 0 .7rem}.lesson-section p{line-height:1.75;margin:.65rem 0}.example{border-left:3px solid var(--primary);padding:.6rem .85rem;margin:.65rem 0;background:var(--primary-soft);border-radius:0 10px 10px 0}.example .en{font-size:1.04rem;font-weight:700}.example .tr{color:var(--muted);font-size:.9rem;margin-top:.15rem}.mistake{display:flex;gap:.6rem;flex-wrap:wrap;align-items:baseline;background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:12px;padding:.75rem .9rem;margin:.6rem 0;font-size:.92rem}.mistake .wrong{color:var(--danger);text-decoration:line-through}.mistake .right{color:var(--success);font-weight:700}.mistake .why{width:100%;color:var(--muted);font-size:.85rem}.tipbox{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:12px;padding:.75rem .9rem;margin:.6rem 0;font-size:.92rem}.en-term{color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);padding:.05rem .35rem;border-radius:6px;font-weight:700;white-space:nowrap}.video-wrap{margin-top:1rem;border-radius:18px;overflow:hidden;border:1px solid var(--border);aspect-ratio:16/9;background:#000}.video-wrap iframe{width:100%;height:100%;border:0;display:block}.video-placeholder{margin-top:1rem;border:1px dashed var(--border);border-radius:16px;padding:1.2rem;text-align:center;color:var(--muted);font-size:.88rem;background:var(--card)}.quiz-shell{max-width:760px;margin:0 auto}.quiz-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:600}.progress-track{height:7px;background:var(--border);border-radius:99px;margin:.7rem 0 2rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#72cda5);border-radius:99px;transition:width .3s}.quiz-prompt{font:700 clamp(1.25rem,3vw,1.65rem) Manrope;line-height:1.45;margin:1.5rem 0;letter-spacing:-.025em}.quiz-opt{display:flex;align-items:center;width:100%;text-align:left;padding:.9rem 1rem;margin:.6rem 0;border-radius:13px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;transition:.15s;box-shadow:var(--shadow-sm)}.quiz-opt:hover:not(:disabled){border-color:var(--primary);transform:translateX(3px)}.quiz-opt:disabled{cursor:default}.quiz-opt.correct{background:var(--success-soft);border-color:var(--success);font-weight:700}.quiz-opt.wrong{background:var(--danger-soft);border-color:var(--danger)}.feedback{border-radius:14px;padding:1rem 1.1rem;margin-top:1rem}.feedback.ok{background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.feedback.mid{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.feedback.no{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.blank-input{display:inline-block;width:7.5rem;margin:0 .25rem;padding:.4rem .5rem;border:0;border-bottom:2px solid var(--primary);background:var(--primary-soft);color:var(--text);border-radius:7px 7px 0 0;font-size:1.05rem;text-align:center}.blank-input:focus{outline:none}.blank-input.correct{border-color:var(--success);background:var(--success-soft)}.blank-input.wrong{border-color:var(--danger);background:var(--danger-soft)}.order-line{min-height:4rem;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;border:1px dashed var(--border);border-radius:14px;padding:.75rem;margin:.75rem 0;background:var(--raised)}.order-line.ok{border-color:var(--success);background:var(--success-soft)}.order-line.no{border-color:var(--danger);background:var(--danger-soft)}.token-pool{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.token{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:.5rem .75rem;cursor:pointer;box-shadow:var(--shadow-sm)}.token.chosen,.token:hover:not(:disabled){border-color:var(--primary)}.token.chosen{background:var(--primary-soft)}.translate-box{resize:vertical;margin-bottom:.75rem}.result-num{font:800 clamp(3.5rem,10vw,6rem) Manrope;margin:.5rem 0}.result-num.ok{color:var(--success)}.result-num.no{color:var(--danger)}.word-start{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem}.word-start h2{margin:0}.word-start p{margin:.35rem 0 0;color:var(--muted)}.word-start .btn{max-width:210px}.word-session{max-width:680px;margin:0 auto}.word-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:clamp(1.4rem,5vw,2.5rem);box-shadow:var(--shadow)}.word-card small{display:block;color:var(--muted);margin:1.5rem 0 .25rem}.word-card h1{font-size:clamp(2.4rem,8vw,4.5rem)}.word-answer{width:100%;border:0;border-bottom:2px solid var(--border);background:transparent;color:var(--text);font-size:1.4rem;padding:.7rem 0;margin:1rem 0 1.4rem}.word-answer:focus{outline:0;border-color:var(--primary)}.word-finish{max-width:560px;margin:10vh auto;text-align:center}.word-finish>span{font-size:3rem;color:var(--primary)}.word-example{margin-top:1rem;padding-top:.8rem;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent)}.word-example>span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.word-example p{margin:.35rem 0 0}.word-example em{color:var(--muted);font-style:normal}.word-question-example{color:var(--muted);background:var(--raised);border-left:3px solid var(--primary);border-radius:0 10px 10px 0;padding:.7rem .9rem;margin:.2rem 0 1rem;font-size:1.05rem}@media (max-width:760px){.auth-wrap{display:block;background:var(--bg);padding:1.25rem}.auth-story{display:none}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:1.6rem;margin:4rem auto 1rem;width:100%}.auth-mobile-brand{display:flex;align-items:center;gap:.6rem;font:800 1.15rem Manrope;margin-bottom:2.5rem}.auth-theme{top:1.25rem;right:1.25rem}.shell{padding-left:0}.sidebar{display:none}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:15}.topbar .brand{font-size:1.05rem}.topbar .brand-mark{width:1.8rem;height:1.8rem}.content{padding:1.5rem 1rem 6.5rem}.tabbar{position:fixed;display:flex;bottom:.65rem;left:.65rem;right:.65rem;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:18px;z-index:20;padding:.35rem;box-shadow:var(--shadow)}.tabbar a{flex:1 1;text-align:center;padding:.35rem .1rem;font-size:.65rem;color:var(--muted);display:flex;flex-direction:column;gap:.1rem;border-radius:12px}.tabbar a .ico{font-size:1.15rem;line-height:1.2}.tabbar a.active{color:var(--primary);background:var(--primary-soft);font-weight:700}.stat-grid{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:1/-1}.page-head{align-items:flex-start;flex-direction:column}.dashboard-hero{border-radius:20px}.topic-card{padding:.9rem}.card,.lesson-section{border-radius:16px}.quiz-shell{max-width:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}