:root{
    --egs-primary:#0b5cff;
    --egs-primary-2:#6d28d9;
    --egs-dark:#07111f;
    --egs-text:#101828;
    --egs-muted:#667085;
    --egs-border:#e6e9f0;
    --egs-soft:#f6f8fc;
    --egs-green:#039855;
    --egs-red:#dc2626;
    --egs-radius:28px;
    --egs-shadow:0 24px 70px rgba(15,23,42,.10);
}

.egs-shell{
    max-width:1120px;
    margin:56px auto;
    padding:0 22px;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--egs-text);
}

.egs-pill{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
}

.egs-pill.dark{
    color:var(--egs-primary);
    background:#eff5ff;
    border:1px solid #dbeafe;
}

.egs-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:52px;
    padding:14px 22px;
    border-radius:16px;
    font-weight:900;
    text-decoration:none!important;
    border:0;
    cursor:pointer;
    transition:.18s ease;
}

.egs-btn:hover{
    transform:translateY(-2px);
}

.egs-btn-primary{
    background:linear-gradient(135deg,var(--egs-primary),var(--egs-primary-2));
    color:#fff!important;
    box-shadow:0 14px 30px rgba(11,92,255,.22);
}

.egs-btn-light{
    background:#fff;
    color:var(--egs-dark)!important;
}

.egs-btn-outline{
    background:rgba(255,255,255,.10);
    color:#fff!important;
    border:1px solid rgba(255,255,255,.22);
}

.egs-full{
    width:100%;
}

.egs-cta{
    position:relative;
    overflow:hidden;
    border-radius:36px;
    padding:44px;
    background:
        radial-gradient(circle at 12% 15%,rgba(25,118,255,.45),transparent 34%),
        radial-gradient(circle at 88% 85%,rgba(109,40,217,.45),transparent 34%),
        linear-gradient(135deg,#07111f,#111827 56%,#1e1b4b);
    color:#fff;
    box-shadow:0 30px 90px rgba(7,17,31,.22);
    display:grid;
    grid-template-columns:1.35fr .85fr;
    gap:28px;
    align-items:center;
}

.egs-cta h2{
    font-size:clamp(40px,6vw,72px);
    line-height:.95;
    letter-spacing:-.07em;
    color:#fff;
    margin:20px 0;
    max-width:760px;
}

.egs-cta p{
    font-size:19px;
    color:rgba(255,255,255,.78);
    line-height:1.65;
    max-width:650px;
}

.egs-cta-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:28px;
}

.egs-cta-panel{
    display:grid;
    gap:14px;
}

.egs-metric{
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(14px);
    border-radius:22px;
    padding:20px;
}

.egs-metric strong{
    display:block;
    font-size:30px;
    letter-spacing:-.04em;
}

.egs-metric span{
    color:rgba(255,255,255,.75);
    font-size:14px;
}

.egs-section-head,
.egs-test-hero{
    text-align:center;
    max-width:760px;
    margin:0 auto 28px;
}

.egs-section-head h2,
.egs-test-hero h2{
    font-size:clamp(36px,5vw,60px);
    line-height:1;
    letter-spacing:-.06em;
    margin:16px 0;
    color:var(--egs-text);
}

.egs-section-head p,
.egs-test-hero p{
    color:var(--egs-muted);
    font-size:18px;
    line-height:1.65;
}

.egs-test-hero .egs-pill,
.egs-section-head .egs-pill{
    color:var(--egs-primary);
    background:#eff5ff;
    border:1px solid #dbeafe;
}

.egs-cohort-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.egs-cohort-card{
    background:#fff;
    border:1px solid var(--egs-border);
    border-radius:var(--egs-radius);
    padding:24px;
    box-shadow:var(--egs-shadow);
    transition:.18s ease;
}

.egs-cohort-card:hover{
    transform:translateY(-4px);
    box-shadow:0 30px 80px rgba(15,23,42,.14);
}

.egs-cohort-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:20px;
}

.egs-level{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--egs-primary),var(--egs-primary-2));
    color:#fff;
    font-weight:900;
}

.egs-status{
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    background:#ecfdf3;
    color:var(--egs-green);
}

.egs-status.hot{
    background:#fff1f2;
    color:var(--egs-red);
}

.egs-cohort-card h3{
    font-size:26px;
    letter-spacing:-.04em;
    color:var(--egs-text);
    margin:0 0 10px;
}

.egs-schedule{
    color:var(--egs-muted);
    min-height:52px;
    line-height:1.55;
}

.egs-progress{
    height:10px;
    background:#eef2f7;
    border-radius:999px;
    overflow:hidden;
    margin:20px 0 10px;
}

.egs-progress div{
    height:100%;
    background:linear-gradient(90deg,var(--egs-primary),var(--egs-primary-2));
    border-radius:999px;
}

.egs-meta{
    display:flex;
    justify-content:space-between;
    color:var(--egs-muted);
    font-size:13px;
    font-weight:800;
    margin-bottom:18px;
}

.egs-test-card{
    background:#fff;
    border:1px solid var(--egs-border);
    box-shadow:var(--egs-shadow);
    border-radius:36px;
    padding:28px;
}

.egs-profile-card{
    display:grid;
    grid-template-columns:.9fr 1.4fr;
    gap:24px;
    align-items:start;
    background:linear-gradient(180deg,#f8fbff,#fff);
    border:1px solid var(--egs-border);
    border-radius:28px;
    padding:26px;
    margin-bottom:24px;
}

.egs-step{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:#eff5ff;
    color:var(--egs-primary);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.egs-profile-card h3{
    font-size:30px;
    letter-spacing:-.04em;
    margin:14px 0 8px;
}

.egs-profile-card p{
    color:var(--egs-muted);
    line-height:1.6;
    margin:0;
}

.egs-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.egs-form-grid input,
.egs-form-grid select{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d0d5dd;
    border-radius:16px;
    padding:15px 16px;
    font-size:15px;
    outline:none;
    background:#fff;
}

.egs-form-grid input:focus,
.egs-form-grid select:focus{
    border-color:var(--egs-primary);
    box-shadow:0 0 0 4px rgba(11,92,255,.10);
}

.egs-test-progress{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:16px 20px;
    border:1px solid var(--egs-border);
    border-radius:20px;
    background:#fff;
    color:var(--egs-muted);
    font-weight:900;
    margin-bottom:18px;
}

.egs-question-card{
    border:1px solid var(--egs-border);
    border-radius:26px;
    padding:24px;
    margin-bottom:18px;
    background:#fff;
}

.egs-question-top{
    display:flex;
    justify-content:space-between;
    color:var(--egs-muted);
    font-size:13px;
    font-weight:900;
    margin-bottom:14px;
}

.egs-question-top span{
    color:var(--egs-primary);
}

.egs-question-card h3{
    font-size:24px;
    letter-spacing:-.03em;
    margin:0 0 16px;
    color:var(--egs-text);
}

.egs-reading{
    background:var(--egs-soft);
    border:1px solid var(--egs-border);
    border-radius:18px;
    padding:18px;
    color:#475467;
    line-height:1.65;
    margin-bottom:16px;
}

.egs-answer-list{
    display:grid;
    gap:10px;
}

.egs-answer{
    display:flex;
    gap:12px;
    align-items:center;
    padding:15px 16px;
    border:1px solid var(--egs-border);
    border-radius:18px;
    background:#fff;
    cursor:pointer;
    font-weight:800;
    color:#344054;
    transition:.18s ease;
}

.egs-answer:hover{
    border-color:var(--egs-primary);
    background:#f8fbff;
}

.egs-answer input{
    accent-color:var(--egs-primary);
}

.egs-answer:has(input:checked){
    border-color:var(--egs-primary);
    background:#eff5ff;
    box-shadow:0 8px 26px rgba(11,92,255,.10);
}

.egs-submit{
    width:100%;
    margin-top:10px;
}

.egs-result{
    max-width:900px;
    margin:26px auto;
    padding:30px;
    border-radius:28px;
    color:#fff;
    background:
        radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 30%),
        linear-gradient(135deg,#07111f,#1e1b4b);
    box-shadow:0 24px 70px rgba(15,23,42,.16);
}

.egs-result .egs-pill{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
}

.egs-result h3{
    font-size:44px;
    letter-spacing:-.05em;
    margin:18px 0 10px;
    color:#fff;
}

.egs-result p{
    color:rgba(255,255,255,.82);
    line-height:1.65;
}

.egs-result-course{
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    border-radius:20px;
    padding:18px;
    margin:20px 0;
}

.egs-result-course span{
    display:block;
    color:rgba(255,255,255,.68);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:6px;
}

.egs-result-course strong{
    font-size:21px;
}

.egs-error{
    background:#7f1d1d;
}

@media(max-width:900px){
    .egs-cta,
    .egs-profile-card{
        grid-template-columns:1fr;
    }

    .egs-cohort-grid,
    .egs-form-grid{
        grid-template-columns:1fr;
    }

    .egs-cta{
        padding:28px;
        border-radius:28px;
    }

    .egs-cta h2{
        font-size:44px;
    }
}

@media(max-width:640px){
    .egs-shell{
        margin:32px auto;
        padding:0 14px;
    }

    .egs-cta h2,
    .egs-section-head h2,
    .egs-test-hero h2{
        font-size:36px;
    }

    .egs-cta-actions{
        flex-direction:column;
    }

    .egs-btn{
        width:100%;
    }

    .egs-test-card,
    .egs-profile-card,
    .egs-question-card,
    .egs-cohort-card{
        border-radius:22px;
        padding:20px;
    }
}
