.dre-level-test{
    --dre-blue:#1E9AE6;
    --dre-pink:#F34CA3;
    --dre-dark:#2F3640;
    --dre-light-blue:#eef7fd;
    --dre-blue-border:#b9dcf3;
    max-width:820px;
    margin:40px auto;
    font-family:"Nunito",sans-serif;
    color:var(--dre-dark);
}
.dre-lt-card{
    background:#fff;
    border:1px solid #e4e4e4;
    border-radius:14px;
    padding:28px;
    box-shadow:0 6px 24px rgba(0,0,0,.05);
}
.dre-lt-intro,.dre-lt-result{text-align:center}
.dre-lt-top{margin:0 0 12px}
.dre-lt-progress-text{font-size:.95rem;margin-bottom:7px;color:var(--dre-dark)}
.dre-lt-progress-bar{height:8px;background:#e9eef2;border-radius:999px;overflow:hidden}
.dre-lt-progress-bar span{display:block;height:100%;background:var(--dre-blue)}
.dre-lt-part{font-weight:800;margin-bottom:14px;color:var(--dre-dark)}
.dre-lt-context{background:#f6f6f6;padding:14px 16px;border-radius:10px;margin-bottom:18px}
.dre-lt-question{
    font-size:1.34rem;
    line-height:1.45;
    margin:20px 0 14px;
    color:var(--dre-blue);
    font-weight:800;
}
.dre-lt-gap{color:var(--dre-pink);letter-spacing:.06em}
.dre-lt-qnum{color:var(--dre-dark);margin-right:.25em}
.dre-lt-options{display:grid;gap:11px}
.dre-lt-option{
    display:flex;gap:10px;align-items:flex-start;
    padding:15px 16px;border:1px solid #ddd;border-radius:10px;
    cursor:pointer;background:#fff;
}
.dre-lt-option:hover,.dre-lt-option:has(input:checked){
    background:#f8f9fa;border-color:#cfd5da;
}
.dre-lt-option input{margin-top:.35em;flex:0 0 auto}
.dre-lt-option-letter{
    color:var(--dre-blue);
    font-size:1.13rem;
    font-weight:800;
    line-height:1.45;
    flex:0 0 auto;
}
.dre-lt-option-text{
    color:var(--dre-dark);
    font-size:1.13rem;
    line-height:1.45;
    font-weight:600;
}
.dre-lt-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.dre-lt-start,.dre-lt-next,.dre-lt-back,.dre-lt-cta{
    border:0;border-radius:9px;padding:12px 18px;cursor:pointer;
    font:inherit;font-weight:800;text-decoration:none;display:inline-block;
}
.dre-lt-start,.dre-lt-next,.dre-lt-cta{background:var(--dre-blue);color:#fff}
.dre-lt-back{background:#eee;color:var(--dre-dark)}
.dre-lt-error{
    margin-top:16px;padding:11px 13px;background:var(--dre-light-blue);
    border:1px solid var(--dre-blue-border);color:var(--dre-blue);
    font-weight:700;border-radius:8px;
}
.dre-lt-audio{
    padding:18px;background:#f7f7f7;border:1px solid #e4e4e4;
    border-radius:12px;margin:18px 0 22px;
}
.dre-lt-audio audio{
    display:block;width:100%;min-height:54px;
    accent-color:var(--dre-pink);
}
.dre-lt-audio-label{color:var(--dre-blue);font-weight:800;margin-bottom:10px}
.dre-lt-audio-missing{color:#777;font-size:.95rem}
.dre-lt-main-audio{
    position:sticky;
    top:12px;
    z-index:5;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.dre-lt-listening-group{display:grid;gap:18px;margin-top:22px}
.dre-lt-listening-question{border-top:1px solid #ececec;padding-top:10px}
.dre-lt-listening-question:first-child{border-top:0}
.dre-lt-reading{
    margin:18px 0 24px;
    border:1px solid #dfe5e9;
    border-radius:14px;
    overflow:hidden;
    background:#fbfcfd;
}
.dre-lt-reading summary{
    padding:13px 18px;
    font-weight:800;
    cursor:pointer;
    background:#f2f6f8;
    color:var(--dre-blue);
    border-bottom:1px solid #e3e8eb;
}
.dre-lt-reading-text{
    padding:24px 26px;
    max-height:430px;
    overflow:auto;
    color:#48515a;
    font-size:1.08rem;
    line-height:1.78;
    font-weight:400;
    letter-spacing:.005em;
}
.dre-lt-reading-text p{
    margin:0 0 1.05em;
}
.dre-lt-reading-text p:first-child{
    font-weight:700;
    color:var(--dre-dark);
}
.dre-lt-reading-text p:last-child{
    margin-top:1.3em;
    margin-bottom:0;
    font-weight:700;
    color:var(--dre-dark);
}
.dre-lt-result{padding-top:40px;padding-bottom:40px}
.dre-lt-result-kicker{font-weight:800;font-size:.95rem;color:var(--dre-blue)}
.dre-lt-result h2{font-size:2.2rem;margin:.2em 0 .5em;color:var(--dre-blue)}
.dre-lt-cta{margin-top:14px}
@media(max-width:600px){
    .dre-level-test{margin:20px 10px}
    .dre-lt-card{padding:20px}
    .dre-lt-question{font-size:1.22rem}
    .dre-lt-option-letter,.dre-lt-option-text{font-size:1.06rem}
    .dre-lt-reading-text{max-height:360px;padding:20px;font-size:1.04rem}
    .dre-lt-main-audio{top:6px}
}

/* v0.4.4 reading-message presentation */
.dre-lt-reading{
    background:#fbfcfd;
    border:1px solid #dfe5e9;
    border-radius:14px;
}
.dre-lt-reading summary{
    background:#f2f6f8;
    color:var(--dre-blue);
    border-bottom:1px solid #e3e8eb;
}
.dre-lt-reading-text{
    padding:24px 26px;
    max-height:430px;
    overflow:auto;
    color:#4a5560;
    font-size:1.10rem;
    line-height:1.8;
    font-weight:400;
}
.dre-lt-reading-text p{
    margin:0 0 1.15em;
}
.dre-lt-reading-text p:first-child,
.dre-lt-reading-text p:last-child{
    font-weight:700;
    color:var(--dre-dark);
}
.dre-lt-reading-text p:last-child{
    margin-top:1.3em;
    margin-bottom:0;
}
