
/* =========================================================
   LINGVA — FUTURISTIC GLASS UI v4
   Global stylesheet. Replace:
   assets/css/style.css
   ========================================================= */

:root{
    --bg:#070811;
    --bg-2:#0b0d18;
    --panel:rgba(17,20,34,.72);
    --panel-strong:rgba(20,22,39,.92);
    --border:rgba(255,255,255,.09);
    --border-hover:rgba(123,92,255,.52);
    --text:#f7f7fb;
    --muted:#8f93a8;
    --purple:#8b5cf6;
    --purple-2:#a855f7;
    --blue:#22d3ee;
    --pink:#ec4899;
    --green:#34d399;
    --orange:#fb923c;
    --shadow:0 24px 70px rgba(0,0,0,.38);
    --glow:0 0 45px rgba(124,58,237,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    color:var(--text);
    background:
        radial-gradient(circle at 78% 8%,rgba(76,29,149,.18),transparent 28%),
        radial-gradient(circle at 18% 88%,rgba(14,116,144,.11),transparent 25%),
        linear-gradient(135deg,#060710 0%,#090b15 52%,#080712 100%);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:
        radial-gradient(circle at 50% 0%,rgba(139,92,246,.08),transparent 32%),
        radial-gradient(circle at 100% 100%,rgba(34,211,238,.05),transparent 28%);
}

a{color:inherit}
button,input,textarea,select{font:inherit}

/* APP */
.app{
    position:relative;
    z-index:1;
    min-height:100vh;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.sidebar{
    position:fixed;
    z-index:50;
    top:14px;
    bottom:14px;
    left:14px;
    width:252px;
    padding:18px 12px;
    display:flex;
    flex-direction:column;
    background:rgba(10,12,22,.82);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
}

.sidebar-logo{
    display:flex;
    align-items:center;
    gap:0;
    padding:10px 14px 22px;
    text-decoration:none;
    font-size:29px;
    font-weight:950;
    letter-spacing:-1.8px;
}
.sidebar-logo span{
    background:linear-gradient(90deg,#6d5dfc,#b15cff,#ec4899);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.sidebar nav{
    display:grid;
    gap:5px;
}

.nav-item{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    padding:11px 13px;
    border-radius:13px;
    color:#a8adbf;
    text-decoration:none;
    font-size:13px;
    font-weight:750;
    border:1px solid transparent;
    transition:.2s ease;
}

.nav-item span{
    width:24px;
    min-width:24px;
    display:grid;
    place-items:center;
    font-size:17px;
    filter:saturate(.95);
}

.nav-item:hover{
    color:#fff;
    background:rgba(139,92,246,.08);
    border-color:rgba(139,92,246,.18);
    transform:translateX(2px);
}

.nav-item.active{
    color:#fff;
    background:
        linear-gradient(135deg,rgba(124,58,237,.26),rgba(168,85,247,.09));
    border-color:rgba(139,92,246,.42);
    box-shadow:0 8px 28px rgba(124,58,237,.13);
}

.nav-item.active:before{
    content:"";
    position:absolute;
    left:-1px;
    top:9px;
    bottom:9px;
    width:3px;
    border-radius:10px;
    background:linear-gradient(#22d3ee,#a855f7,#ec4899);
}

.sidebar-bottom{
    margin-top:auto;
    display:grid;
    gap:5px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.06);
}

.nav-item.logout:hover{
    color:#ff9eac;
    background:rgba(239,68,68,.07);
    border-color:rgba(239,68,68,.18);
}

/* =========================================================
   MAIN / TOPBAR
   ========================================================= */
.main{
    min-height:100vh;
    margin-left:282px;
    padding:32px 34px 60px;
}

.topbar{
    max-width:1280px;
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.topbar-greeting{
    color:#8d91aa;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.topbar h1{
    margin:5px 0 0;
    font-size:34px;
    line-height:1.08;
    letter-spacing:-1.4px;
}

.profile-mini{
    display:flex;
    align-items:center;
    gap:11px;
    padding:8px 12px 8px 8px;
    min-width:150px;
    border-radius:17px;
    text-decoration:none;
    background:rgba(17,20,34,.75);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 10px 35px rgba(0,0,0,.2);
    backdrop-filter:blur(18px);
}

.profile-mini:hover{
    border-color:rgba(139,92,246,.4);
}

.profile-mini strong{
    display:block;
    font-size:13px;
}
.profile-mini small{
    display:block;
    margin-top:2px;
    color:#8e92a5;
    font-size:11px;
}

.avatar{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg,#7047f5,#b24df2);
    box-shadow:0 0 0 2px rgba(139,92,246,.2),0 8px 25px rgba(124,58,237,.22);
}
.avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    border-radius:50%;
}

/* =========================================================
   GLOBAL CARDS
   ========================================================= */
.content-card,
.stat-card,
.level-card,
.daily-card,
.lesson-main-card,
.lesson-repeat-card,
.quick-card,
.lessons-hero,
.lesson-catalog-card,
.ai-chat-card,
.ai-side-card,
.question-card,
.lesson-result-card{
    background:
        linear-gradient(145deg,rgba(24,25,42,.82),rgba(13,15,27,.78));
    border:1px solid var(--border);
    box-shadow:0 20px 55px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.content-card{
    border-radius:22px;
    padding:24px;
}

.eyebrow,
.side-eyebrow{
    color:#a98cff;
    font-size:11px;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.page-wrap{
    max-width:1180px;
    margin:0 auto;
    padding-bottom:50px;
}
.page-title{
    margin:0 0 8px;
    font-size:36px;
    letter-spacing:-1.3px;
}
.page-subtitle{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.notice{
    padding:14px 16px;
    border-radius:15px;
    background:rgba(139,92,246,.08);
    border:1px solid rgba(139,92,246,.2);
    color:#ddd7ea;
}
.notice.ok{
    background:rgba(52,211,153,.08);
    border-color:rgba(52,211,153,.2);
}
.notice.err{
    background:rgba(239,68,68,.08);
    border-color:rgba(239,68,68,.2);
}

.stack{display:grid;gap:15px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}

.form-control{
    width:100%;
    padding:13px 15px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(5,7,14,.7);
    color:#fff;
    outline:none;
    transition:.2s;
}
.form-control:focus{
    border-color:rgba(139,92,246,.65);
    box-shadow:0 0 0 4px rgba(139,92,246,.09);
}
.label{
    display:block;
    margin:0 0 7px;
    color:#c9c7d2;
    font-size:12px;
    font-weight:800;
}

.primary-action,
.lesson-button,
.send-button{
    border:0;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(105deg,#2563eb 0%,#7c3aed 52%,#d946ef 100%);
    box-shadow:0 10px 30px rgba(124,58,237,.25);
    transition:.2s;
}
.primary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 19px;
    border-radius:13px;
    text-decoration:none;
    font-weight:850;
}
.primary-action:hover,
.lesson-button:hover,
.send-button:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 38px rgba(124,58,237,.35);
}

.ghost-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 17px;
    border-radius:13px;
    background:rgba(139,92,246,.08);
    border:1px solid rgba(139,92,246,.25);
    color:#d6c5ff;
    text-decoration:none;
    font-weight:800;
    cursor:pointer;
}

/* =========================================================
   DASHBOARD
   ========================================================= */
.stats-grid{
    width:min(1180px,100%);
    margin:0 auto 20px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.stat-card{
    min-height:92px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:13px;
    border-radius:20px;
    transition:.2s;
}
.stat-card:hover{
    transform:translateY(-2px);
    border-color:rgba(139,92,246,.25);
}

.stat-icon{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    font-size:21px;
}
.stat-icon.purple{background:rgba(139,92,246,.14)}
.stat-icon.orange{background:rgba(251,146,60,.13)}
.stat-icon.blue{background:rgba(59,130,246,.13)}
.stat-icon.green{background:rgba(52,211,153,.12)}

.stat-label{
    display:block;
    color:#858a9f;
    font-size:11px;
    margin-bottom:3px;
}
.stat-value{
    display:block;
    font-size:25px;
    letter-spacing:-.5px;
}
.stat-value small{font-size:11px;color:#8c90a1}

.dashboard-grid{
    width:min(1180px,100%);
    margin:0 auto 28px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.level-card,
.daily-card{
    padding:25px;
    border-radius:22px;
}

.card-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
}
.card-header h2{
    margin:6px 0 0;
    font-size:29px;
    letter-spacing:-1px;
}
.level-name{
    color:#8d91a4;
    font-size:13px;
}
.xp-info{
    display:flex;
    justify-content:space-between;
    margin:24px 0 9px;
    color:#8d91a4;
    font-size:11px;
}
.progress{
    height:8px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.06);
}
.progress-fill{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#2563eb,#8b5cf6,#d946ef);
    box-shadow:0 0 18px rgba(139,92,246,.4);
}
.level-description{
    color:#8f93a8;
    font-size:11px;
}

.daily-icon{
    font-size:27px;
}

.section{
    width:min(1180px,100%);
    margin:0 auto 30px;
}
.section-title{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom:13px;
}
.section-title h2{
    margin:5px 0 0;
    font-size:25px;
    letter-spacing:-.8px;
}

.lesson-main-card{
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px;
    border-radius:22px;
}
.lesson-number{
    width:54px;
    height:54px;
    flex:0 0 54px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:linear-gradient(145deg,rgba(37,99,235,.16),rgba(168,85,247,.16));
    border:1px solid rgba(139,92,246,.25);
    color:#bca7ff;
    font-size:12px;
    font-weight:950;
}
.lesson-content{min-width:0;flex:1}
.lesson-category{
    color:#a98cff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.lesson-content h3,
.lesson-repeat-info h3{
    margin:5px 0;
    font-size:17px;
}
.lesson-content p,
.lesson-repeat-info p{
    margin:0;
    color:#8e93a6;
    font-size:12px;
    line-height:1.5;
}
.lesson-meta{
    display:flex;
    gap:14px;
    margin-top:12px;
    color:#8e93a6;
    font-size:10px;
}
.lesson-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 17px;
    border-radius:13px;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.lesson-repeat-card{
    margin-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px;
    border-radius:22px;
}
.lesson-repeat-left{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
}
.lesson-repeat-icon{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(139,92,246,.12);
    border:1px solid rgba(139,92,246,.22);
    color:#c1adff;
    font-size:22px;
}
.lesson-repeat-info{min-width:0}
.repeat-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:11px 17px;
    border-radius:13px;
    background:rgba(139,92,246,.09);
    border:1px solid rgba(139,92,246,.3);
    color:#cbb8ff;
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}

.quick-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
}
.quick-card{
    display:flex;
    align-items:center;
    gap:13px;
    padding:18px;
    border-radius:19px;
    text-decoration:none;
    transition:.2s;
}
.quick-card:hover{
    transform:translateY(-3px);
    border-color:rgba(139,92,246,.4);
}
.quick-card>span{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:rgba(139,92,246,.1);
    font-size:20px;
}
.quick-card h3{margin:0 0 3px;font-size:14px}
.quick-card p{margin:0;color:#858a9d;font-size:10px}

/* =========================================================
   LESSONS
   ========================================================= */
.lessons-page{width:min(1180px,100%);margin:0 auto}
.lessons-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:25px;
}
.lessons-header h1{
    margin:7px 0 8px;
    font-size:36px;
    letter-spacing:-1.3px;
}
.lessons-header p{margin:0;color:var(--muted);font-size:13px}
.current-level{
    padding:10px 15px;
    border-radius:12px;
    background:rgba(139,92,246,.09);
    border:1px solid rgba(139,92,246,.24);
    color:#c6b1ff;
    font-size:11px;
    font-weight:900;
}
.lessons-hero{
    position:relative;
    overflow:hidden;
    padding:30px;
    margin-bottom:30px;
    border-radius:24px;
}
.lessons-hero:after{
    content:"";
    position:absolute;
    width:260px;height:260px;
    right:-100px;top:-120px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(168,85,247,.2),transparent 65%);
    pointer-events:none;
}
.lessons-hero h2{position:relative;margin:8px 0;font-size:25px;z-index:1}
.lessons-hero p{position:relative;max-width:700px;margin:0;color:#8d92a5;font-size:12px;line-height:1.6;z-index:1}

.level-section{margin-bottom:34px}
.level-heading{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:12px;
}
.level-icon{
    width:46px;height:46px;
    display:grid;place-items:center;
    border-radius:14px;
    background:rgba(139,92,246,.11);
    border:1px solid rgba(139,92,246,.2);
    font-size:21px;
}
.level-heading-info{flex:1}
.level-heading-info h2{margin:0 0 3px;font-size:19px}
.level-heading-info span{color:#858a9d;font-size:11px}
.level-progress-text{color:#858a9d;font-size:11px;font-weight:800}
.level-progress{
    height:6px;
    margin-bottom:15px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.05);
}
.level-progress-fill{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#2563eb,#8b5cf6,#d946ef);
}
.lesson-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}
.lesson-catalog-card{
    display:flex;
    flex-direction:column;
    min-height:210px;
    padding:20px;
    border-radius:19px;
    color:#fff;
    text-decoration:none;
    transition:.2s;
}
.lesson-catalog-card:hover{
    transform:translateY(-3px);
    border-color:rgba(139,92,246,.4);
}
.lesson-catalog-card.completed{border-color:rgba(52,211,153,.22)}
.lesson-catalog-card.locked{opacity:.5}
.lesson-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
}
.lesson-number{
    display:inline-flex;
    padding:5px 8px;
    border-radius:8px;
    background:rgba(139,92,246,.1);
    color:#bca7ff;
    font-size:9px;
    font-weight:950;
}
.lesson-status{font-size:14px}
.lesson-catalog-card h3{margin:0 0 8px;font-size:16px}
.lesson-catalog-card p{margin:0;color:#858a9d;font-size:11px;line-height:1.5}
.lesson-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:18px;
}
.lesson-start{color:#bca7ff;font-size:11px;font-weight:900}
.completed .lesson-start{color:#86efac}
.locked .lesson-start{color:#777b8a}
.lessons-empty{
    padding:35px;
    text-align:center;
    border-radius:18px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.07);
    color:#858a9d;
}

/* =========================================================
   AI TUTOR
   ========================================================= */
.ai-layout{
    width:min(1180px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:18px;
}
.ai-chat-card{overflow:hidden;border-radius:24px}
.ai-chat-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 20px;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.ai-bot{display:flex;align-items:center;gap:12px}
.ai-bot-avatar{
    width:46px;height:46px;
    display:grid;place-items:center;
    border-radius:15px;
    background:linear-gradient(145deg,#6d45f4,#bb4ff1);
    font-size:23px;
}
.ai-bot strong{display:block;font-size:14px}
.ai-bot span{display:block;color:#858a9d;font-size:11px;margin-top:2px}
.ai-online{color:#9b9fb1;font-size:11px}
.ai-online i{
    display:inline-block;
    width:8px;height:8px;
    margin-right:6px;
    border-radius:50%;
    background:#4ade80;
    box-shadow:0 0 12px rgba(74,222,128,.7);
}
.ai-chat{
    min-height:460px;
    max-height:62vh;
    overflow:auto;
    padding:24px;
}
.ai-composer{
    display:flex;
    gap:10px;
    padding:15px;
    border-top:1px solid rgba(255,255,255,.07);
}
.ai-composer textarea{
    flex:1;
    resize:none;
    border:1px solid rgba(255,255,255,.1);
    border-radius:15px;
    padding:13px;
    background:rgba(4,6,12,.72);
    color:#fff;
    outline:none;
}
.ai-composer textarea:focus{border-color:rgba(139,92,246,.55)}
.send-button{
    width:48px;height:48px;
    border-radius:14px;
    font-size:18px;
}
.ai-side{display:grid;gap:15px}
.ai-side-card{padding:20px;border-radius:21px}
.level-selector{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:13px;
}
.level-selector button,
.mode{
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.025);
    color:#aeb2c2;
    border-radius:12px;
    padding:11px;
    cursor:pointer;
    transition:.2s;
}
.level-selector button:hover,
.level-selector button.selected,
.mode:hover,
.mode.active{
    color:#fff;
    border-color:rgba(139,92,246,.5);
    background:rgba(139,92,246,.14);
}
.ai-side-card p{color:#858a9d;font-size:11px;line-height:1.55}
.mode-list{display:grid;gap:8px;margin-top:13px}
.mode{text-align:left}
.ai-tip strong{display:block;margin-top:10px}

/* =========================================================
   LESSON / QUESTION
   ========================================================= */
.lesson-page{
    min-height:100vh;
    padding:25px;
    display:grid;
    place-items:start center;
}
.lesson-container{
    width:min(900px,100%);
}
.lesson-top{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:15px;
}
.back-button{
    width:42px;height:42px;
    display:grid;place-items:center;
    border-radius:13px;
    text-decoration:none;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}
.lesson-top-info{flex:1}
.lesson-top-info span{display:block;color:#9c88f7;font-size:10px;font-weight:900}
.lesson-top-info strong{display:block;margin-top:3px;font-size:15px}
.question-counter{color:#858a9d;font-size:11px;font-weight:900}
.lesson-progress{height:6px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-bottom:18px}
.lesson-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#8b5cf6,#d946ef)}
.question-card{
    padding:30px;
    border-radius:24px;
}
.question-type{
    color:#a98cff;
    font-size:10px;
    font-weight:950;
    letter-spacing:.12em;
}
.audio-box,.sentence-hint,.example-answer{
    background:rgba(139,92,246,.07)!important;
    border-color:rgba(139,92,246,.25)!important;
    border-radius:16px!important;
}

/* =========================================================
   FORMS / ARTICLE / TOOLS
   ========================================================= */
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tool-card{
    padding:20px;
    border-radius:19px;
    background:rgba(17,20,34,.75);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    text-decoration:none;
    transition:.2s;
}
.tool-card:hover{transform:translateY(-3px);border-color:rgba(139,92,246,.4)}
.pill{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(139,92,246,.11);
    color:#c5b2ff;
    font-size:10px;
    font-weight:900;
}
.article h2{margin-top:0}
.article h3{margin-bottom:5px}
.article p,.article li{color:#b2b5c3;line-height:1.65}
.article code{background:#080a12;padding:2px 6px;border-radius:5px}

/* =========================================================
   PRO / PAYWALL CLASSES
   ========================================================= */
.pro-page{
    min-height:100vh;
    padding:22px;
    background:
        radial-gradient(circle at 80% 12%,rgba(37,99,235,.16),transparent 26%),
        radial-gradient(circle at 55% 75%,rgba(217,70,239,.10),transparent 28%);
}
.pro-shell{width:min(1480px,100%);margin:auto}
.pro-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}
.pro-brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:22px;
    font-weight:950;
}
.pro-brand b{
    background:linear-gradient(90deg,#fff,#a855f7,#ec4899);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.pro-logout{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 16px;
    border-radius:13px;
    color:#ddd;
    text-decoration:none;
    background:rgba(139,92,246,.08);
    border:1px solid rgba(139,92,246,.22);
}
.pro-hero{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr);
    gap:22px;
}
.pro-intro,.pro-price-card,.pro-feature-grid,.pro-trust{
    background:rgba(10,13,24,.72);
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(22px);
}
.pro-intro{padding:38px}
.pro-kicker{color:#9c83ff;font-size:11px;font-weight:950;letter-spacing:.14em}
.pro-intro h1{margin:10px 0 0;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-3px}
.pro-gradient{
    background:linear-gradient(90deg,#22d3ee,#8b5cf6,#ec4899);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.pro-intro>p{max-width:650px;color:#9a9eaf;line-height:1.65}
.pro-feature-grid{
    margin-top:28px;
    padding:22px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.pro-feature{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border-radius:17px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(255,255,255,.05);
}
.pro-feature-icon{
    width:42px;height:42px;flex:0 0 42px;
    display:grid;place-items:center;
    border-radius:13px;
    background:rgba(139,92,246,.13);
    font-size:19px;
}
.pro-feature strong{display:block;font-size:13px}
.pro-feature span{display:block;color:#7f8497;font-size:10px;margin-top:3px}
.pro-price-card{
    position:relative;
    overflow:hidden;
    padding:34px;
    border-color:rgba(139,92,246,.45);
    box-shadow:0 0 70px rgba(124,58,237,.13),var(--shadow);
}
.pro-price-card:before{
    content:"";
    position:absolute;
    width:320px;height:320px;
    top:-160px;right:-130px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(34,211,238,.17),rgba(168,85,247,.08),transparent 68%);
}
.pro-diamond{
    position:relative;
    font-size:56px;
    text-align:center;
    filter:drop-shadow(0 0 25px rgba(34,211,238,.35));
}
.pro-price-card h2{position:relative;text-align:center;margin:4px 0 18px;font-size:24px}
.pro-badge{
    position:relative;
    width:max-content;
    max-width:100%;
    margin:0 auto 17px;
    padding:8px 12px;
    border:1px solid rgba(139,92,246,.4);
    border-radius:999px;
    color:#bca8ff;
    font-size:9px;
    font-weight:950;
}
.pro-price{
    position:relative;
    text-align:center;
    font-size:52px;
    line-height:1;
    font-weight:950;
    letter-spacing:-2px;
}
.pro-month{
    position:relative;
    text-align:center;
    color:#8a8ea0;
    margin:8px 0 22px;
    font-size:12px;
}
.pro-checks{
    position:relative;
    display:grid;
    gap:10px;
    margin-bottom:25px;
}
.pro-check{
    display:flex;
    gap:9px;
    color:#d9dbe4;
    font-size:12px;
}
.pro-check i{color:#34d399;font-style:normal}
.pro-cta{
    position:relative;
    width:100%;
    display:flex;
    justify-content:center;
    padding:15px;
    border-radius:14px;
    text-decoration:none;
    color:#fff;
    font-weight:900;
    background:linear-gradient(105deg,#2563eb,#7c3aed,#d946ef);
    box-shadow:0 12px 32px rgba(124,58,237,.3);
}
.pro-note{
    position:relative;
    margin-top:13px;
    text-align:center;
    color:#777c8e;
    font-size:10px;
}
.pro-trust{
    margin-top:20px;
    padding:18px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.pro-trust-item{
    padding:8px 20px;
    border-right:1px solid rgba(255,255,255,.06);
}
.pro-trust-item:last-child{border-right:0}
.pro-trust-item strong{display:block;font-size:12px}
.pro-trust-item span{display:block;color:#7f8497;font-size:10px;line-height:1.5;margin-top:4px}

/* =========================================================
   MOBILE — KEEP ICON SIDEBAR VISIBLE LIKE APP
   ========================================================= */
@media(max-width:900px){
    .sidebar{
        width:78px;
        left:8px;
        top:8px;
        bottom:8px;
        padding:12px 8px;
        border-radius:21px;
    }
    .sidebar-logo{
        justify-content:center;
        padding:8px 4px 18px;
        font-size:0;
    }
    .sidebar-logo:before{
        content:"L";
        width:46px;height:46px;
        display:grid;place-items:center;
        border-radius:15px;
        font-size:22px;
        color:#fff;
        background:linear-gradient(145deg,#6d45f4,#b34cf0);
        box-shadow:0 8px 25px rgba(124,58,237,.25);
    }
    .nav-item{
        justify-content:center;
        padding:11px 5px;
        min-height:50px;
        border-radius:15px;
    }
    .nav-item span{
        width:auto;
        min-width:0;
        font-size:20px;
    }
    .nav-item:not(.active):hover{transform:none}
    .nav-item{font-size:0}
    .main{
        margin-left:96px;
        padding:20px 18px 45px;
    }
    .topbar h1{font-size:28px}
    .stats-grid{grid-template-columns:1fr 1fr}
    .dashboard-grid{grid-template-columns:1fr}
    .quick-grid{grid-template-columns:1fr 1fr}
    .lesson-grid{grid-template-columns:1fr 1fr}
    .ai-layout{grid-template-columns:1fr}
    .ai-side{grid-template-columns:1fr 1fr}
    .pro-hero{grid-template-columns:1fr}
}

@media(max-width:650px){
    .topbar{align-items:flex-start}
    .topbar h1{font-size:25px}
    .profile-mini{
        min-width:0;
        padding:6px;
    }
    .profile-mini>div:not(.avatar){display:none}
    .avatar{width:40px;height:40px;flex-basis:40px}
    .main{padding:15px 12px 35px}
    .stats-grid{gap:9px}
    .stat-card{min-height:84px;padding:13px}
    .stat-icon{width:42px;height:42px;flex-basis:42px}
    .stat-value{font-size:21px}
    .dashboard-grid{gap:12px}
    .level-card,.daily-card{padding:20px}
    .lesson-main-card{align-items:flex-start;flex-wrap:wrap}
    .lesson-button{width:100%}
    .quick-grid{grid-template-columns:1fr 1fr}
    .lesson-grid{grid-template-columns:1fr}
    .lessons-header{align-items:flex-start;flex-direction:column}
    .lessons-header h1{font-size:29px}
    .lessons-hero{padding:22px}
    .lesson-page{padding:12px}
    .question-card{padding:21px}
    .ai-side{grid-template-columns:1fr}
    .ai-chat{min-height:360px;padding:15px}
    .ai-chat-head{padding:14px}
    .ai-composer{padding:10px}
    .pro-page{padding:10px}
    .pro-header{margin-bottom:12px}
    .pro-brand{font-size:18px}
    .pro-intro{padding:25px}
    .pro-intro h1{font-size:42px;letter-spacing:-2px}
    .pro-feature-grid{grid-template-columns:1fr;padding:12px}
    .pro-price-card{padding:25px 20px}
    .pro-price{font-size:43px}
    .pro-trust{grid-template-columns:1fr 1fr}
    .pro-trust-item{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.06);
        padding:13px;
    }
    .pro-trust-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.06)}
    .pro-trust-item:nth-last-child(-n+2){border-bottom:0}
    .two-col,.form-row,.tool-grid{grid-template-columns:1fr}
}


/* =========================================================
   LESSON ANSWERS — interactive cards
   ========================================================= */
.answer-form{display:grid;gap:16px;margin-top:22px}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.option{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;padding:15px 17px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(7,8,17,.58);cursor:pointer;transition:.18s;color:#f7f7fb}
.option:hover{border-color:rgba(139,92,246,.55);background:rgba(139,92,246,.08);transform:translateY(-1px)}
.option input{position:absolute;opacity:0;pointer-events:none}
.option:has(input:checked){border-color:rgba(168,85,247,.85);background:linear-gradient(135deg,rgba(109,69,244,.20),rgba(217,70,239,.10));box-shadow:0 0 0 1px rgba(168,85,247,.22)}
.option-letter{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;background:rgba(139,92,246,.13);color:#cbb9ff;font-weight:900}
.option-text{font-weight:700;line-height:1.35}
.answer-input{width:100%;padding:16px 17px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(7,8,17,.62);color:#fff;outline:none}
.answer-input:focus{border-color:rgba(139,92,246,.7);box-shadow:0 0 0 4px rgba(139,92,246,.10)}
.next-button{width:100%;border:0;border-radius:15px;padding:15px 18px;background:linear-gradient(105deg,#2563eb,#7c3aed 52%,#d946ef);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 30px rgba(124,58,237,.22);transition:.18s}
.next-button:hover{transform:translateY(-1px);box-shadow:0 14px 35px rgba(124,58,237,.30)}
.answer-result{margin-top:20px;padding:18px;border-radius:17px;border:1px solid rgba(255,255,255,.08)}
.answer-correct{background:rgba(16,185,129,.09);border-color:rgba(52,211,153,.25)}
.answer-wrong{background:rgba(239,68,68,.07);border-color:rgba(248,113,113,.22)}
.result-title{font-size:18px;font-weight:900;margin-bottom:8px}.answer-result-answer{font-size:18px;font-weight:800}.correct-answer-box{margin-top:12px;padding:12px;border-radius:12px;background:rgba(139,92,246,.08)}

/* =========================================================
   VOCABULARY — complete visual layer
   ========================================================= */
.words-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.words-header h1{margin:7px 0 8px;font-size:36px;letter-spacing:-1.3px}.words-header p{margin:0;color:var(--muted)}
.words-level{padding:10px 14px;border-radius:12px;background:rgba(139,92,246,.10);border:1px solid rgba(139,92,246,.25);color:#cbb9ff;font-weight:900;font-size:12px}
.word-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px}.word-stat{display:flex;align-items:center;gap:13px;padding:17px 18px;border-radius:18px;background:linear-gradient(145deg,rgba(24,25,42,.82),rgba(13,15,27,.78));border:1px solid var(--border);box-shadow:0 16px 45px rgba(0,0,0,.18)}
.word-stat>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(139,92,246,.12);font-size:21px}.word-stat small{display:block;color:var(--muted);font-size:11px}.word-stat strong{display:block;margin-top:3px;font-size:22px}
.word-message{padding:13px 15px;border-radius:14px;margin-bottom:18px}.message-success{background:rgba(16,185,129,.09);border:1px solid rgba(52,211,153,.24);color:#a7f3d0}.message-warning{background:rgba(245,158,11,.09);border:1px solid rgba(251,191,36,.22);color:#fde68a}
.word-learning{max-width:900px;margin:0 auto}.word-progress-label{display:flex;justify-content:space-between;gap:10px;margin:0 3px 10px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.word-card{position:relative;text-align:center;padding:42px 30px 30px;border-radius:25px;background:linear-gradient(145deg,rgba(24,25,42,.88),rgba(13,15,27,.84));border:1px solid var(--border);box-shadow:0 20px 55px rgba(0,0,0,.22)}
.word-level{display:inline-flex;padding:6px 11px;border-radius:999px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.22);color:#cbb9ff;font-size:11px;font-weight:900}.word-english{margin-top:18px;font-size:48px;font-weight:950;letter-spacing:-1.5px}.word-transcription{margin-top:7px;color:#a7aabd;font-size:15px}.sound-button{margin:16px auto 0;width:46px;height:46px;border-radius:14px;border:1px solid rgba(139,92,246,.3);background:rgba(139,92,246,.10);color:#fff;cursor:pointer;font-size:20px}.sound-button:hover{background:rgba(139,92,246,.18);transform:translateY(-1px)}
.word-divider{height:1px;background:rgba(255,255,255,.07);margin:24px 0}.word-translation{font-size:28px;font-weight:850}.word-example{display:grid;gap:5px;margin:20px auto 0;max-width:600px;padding:15px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.word-example strong{font-size:15px}.word-example span{color:var(--muted);font-size:13px}
.word-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.word-actions form{margin:0}.word-action{width:100%;min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:16px;padding:13px 16px;cursor:pointer;color:#fff;font-weight:800;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);transition:.18s}.word-action:hover{transform:translateY(-1px);border-color:rgba(139,92,246,.45)}.word-action>span{font-size:20px}.word-action div{display:grid;text-align:left}.word-action small{color:var(--muted);font-size:11px;margin-top:2px}.word-action.repeat{background:rgba(139,92,246,.07)}.word-action.known{background:linear-gradient(105deg,rgba(37,99,235,.18),rgba(217,70,239,.16));border-color:rgba(139,92,246,.30)}
.words-complete{text-align:center;padding:45px 25px;border-radius:24px;background:linear-gradient(145deg,rgba(24,25,42,.82),rgba(13,15,27,.78));border:1px solid var(--border)}.words-complete>div{font-size:44px}.words-complete h2{font-size:28px}.words-complete p{color:var(--muted);max-width:500px;margin:0 auto 22px;line-height:1.6}

/* =========================================================
   LISTENING — answer buttons and locked next state
   ========================================================= */
.listening-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.listening-counter{color:var(--muted);font-size:12px;font-weight:900}.listening-question{font-size:16px;color:#d7d9e4}.listening-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.listening-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.answer-chip{width:100%;min-height:56px;padding:13px 16px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:rgba(7,8,17,.65);color:#f7f7fb;cursor:pointer;font-weight:750;text-align:left;transition:.18s}.answer-chip:hover:not(:disabled){border-color:rgba(139,92,246,.6);background:rgba(139,92,246,.10);transform:translateY(-1px)}.answer-chip:disabled{cursor:default;opacity:.72}.answer-chip.correct{border-color:rgba(52,211,153,.55);background:rgba(16,185,129,.10);opacity:1}.answer-chip.wrong{border-color:rgba(248,113,113,.5);background:rgba(239,68,68,.08);opacity:1}.listening-next{width:100%;margin-top:18px}.listening-next:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.15);transform:none;box-shadow:none}

@media(max-width:650px){
 .options,.listening-answers,.word-actions{grid-template-columns:1fr}
 .words-header{align-items:flex-start;flex-direction:column}.words-header h1{font-size:29px}.word-english{font-size:38px}.word-card{padding:32px 20px 25px}
}


/* =========================================================
   LINGVA FIX 2026-08-20 — vocabulary + lesson interaction
   ========================================================= */
.option input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.option.selected{border-color:rgba(168,85,247,.85)!important;background:linear-gradient(135deg,rgba(109,69,244,.20),rgba(217,70,239,.10))!important;box-shadow:0 0 0 1px rgba(168,85,247,.22)!important}
.answer-form .next-button{display:flex!important;align-items:center;justify-content:center!important;min-height:54px!important;font-size:16px!important}
.word-actions button{font-family:inherit!important}
.word-action{appearance:none;-webkit-appearance:none}
@media(max-width:650px){
    .lesson-page{padding:14px!important}
    .lesson-container{width:100%!important}
    .question-card{padding:21px!important}
    .option{min-height:58px!important;padding:14px!important}
    .word-actions{grid-template-columns:1fr!important}
}
