/* DSR Certificates - light theme only */
.dsr-cert-wrap,.dsr-cert-box,.dsr-cert-mylist{color-scheme:light;color:#1d2733;font-family:inherit}
.dsr-cert-wrap{max-width:1040px;margin:0 auto;padding:8px 0 32px}
.dsr-cert-h1{font-size:clamp(1.45rem,4.2vw,2rem);line-height:1.2;margin:0 0 .5em;color:#0b2e55}
.dsr-cert-h3{font-size:1.15rem;margin:1.4em 0 .6em;color:#0b2e55}
.dsr-cert-lead{font-size:1.05rem;margin:0 0 1em;color:#33414f}
.dsr-cert-card{background:#fff;border:1px solid #d6e3f3;border-radius:14px;padding:18px 18px 14px;margin:0 0 16px;box-shadow:0 1px 3px rgba(4,107,210,.08)}
.dsr-cert-card p{margin:0 0 .75em}
.dsr-cert-small{font-size:.9rem;color:#5a6877}
.dsr-cert-error{background:#fdecec;color:#9b1c1c;border-radius:8px;padding:8px 12px}
.dsr-cert-btn,a.dsr-cert-btn,button.dsr-cert-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;border-radius:10px;border:2px solid #046bd2;background:#046bd2;color:#fff!important;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none!important;cursor:pointer;box-sizing:border-box}
.dsr-cert-btn:hover,.dsr-cert-btn:focus{background:#0357aa;border-color:#0357aa;color:#fff!important}
.dsr-cert-btn:focus-visible{outline:3px solid #f5b700;outline-offset:2px}
.dsr-cert-btn-ghost,a.dsr-cert-btn-ghost,button.dsr-cert-btn-ghost{background:#fff;color:#046bd2!important}
.dsr-cert-btn-ghost:hover,.dsr-cert-btn-ghost:focus{background:#e8f1fc;color:#035bb3!important}
.dsr-cert-btn-wa,a.dsr-cert-btn-wa{background:#1f9d55;border-color:#1f9d55}
.dsr-cert-btn-wa:hover,a.dsr-cert-btn-wa:focus{background:#178246;border-color:#178246}
.dsr-cert-btn-block{display:flex;width:100%}
.dsr-cert-row{display:flex;gap:8px;flex-wrap:wrap}
.dsr-cert-row input{flex:1 1 200px}
.dsr-cert-wrap input[type=text],.dsr-cert-wrap input[type=email]{min-height:48px;font-size:1.05rem;padding:8px 12px;border:2px solid #b9cce3;border-radius:10px;background:#fff;color:#1d2733;width:100%;box-sizing:border-box}
.dsr-cert-wrap input:focus{border-color:#046bd2;outline:none;box-shadow:0 0 0 3px rgba(4,107,210,.2)}
.dsr-cert-wrap label{display:block;font-weight:700;margin:0 0 6px}
.dsr-cert-nameform{display:grid;gap:10px;margin:0 0 10px}
.dsr-cert-keep{margin:0 0 10px}
/* locked + todo */
.dsr-cert-locked{text-align:left}
.dsr-cert-lockicon{font-size:2rem;line-height:1}
.dsr-cert-course-name{font-weight:700;color:#046bd2;font-size:1.1rem}
.dsr-cert-todo{list-style:none;margin:0 0 12px;padding:0}
.dsr-cert-todo li{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-top:1px solid #eef3f9;font-size:1rem;line-height:1.4}
.dsr-cert-todo li:first-child{border-top:0}
.dsr-cert-todo li span{flex:0 0 1.3em;font-weight:700;color:#8a98a8}
.dsr-cert-todo li.ok span{color:#1f9d55}
/* course / lesson box */
.dsr-cert-box{background:#f3f8fe;border:1px solid #cfe0f5;border-radius:12px;padding:12px 14px;margin:16px 0 4px;text-align:left}
.dsr-cert-box-ok{background:#ecf8f1;border-color:#bfe5cf}
.dsr-cert-box-t{font-weight:700;margin:0 0 6px;color:#0b2e55;font-size:1rem}
.dsr-cert-box .dsr-cert-todo li{font-size:.95rem;padding:5px 0;border-top:0}
.dsr-cert-lessonbox{margin-top:20px}
/* list */
.dsr-cert-list{list-style:none;margin:0 0 12px;padding:0}
.dsr-cert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #d6e3f3;border-radius:12px;padding:12px 14px;margin:0 0 10px}
.dsr-cert-item div{display:flex;flex-direction:column;gap:2px;min-width:0}
.dsr-cert-item span{font-size:.92rem;color:#5a6877}
.dsr-cert-item.dsr-ready{border-color:#bfe5cf;background:#f4fbf7}
@media (max-width:560px){.dsr-cert-item{flex-direction:column;align-items:stretch}.dsr-cert-item .dsr-cert-btn{width:100%}}
/* actions */
.dsr-cert-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 6px}
@media (max-width:700px){.dsr-cert-actions{grid-template-columns:1fr 1fr}.dsr-cert-actions .dsr-cert-btn-wa,.dsr-cert-actions #dsr-cert-png{grid-column:1/-1}}
.dsr-cert-status{min-height:1.4em;margin:4px 0 12px;font-weight:600;color:#1f6f3f}
.dsr-cert-link{word-break:break-all;font-weight:600}
/* verify */
.dsr-verify-form{margin-top:4px}
.dsr-verify-badge{font-size:1.2rem;font-weight:800;margin:0 0 8px}
.dsr-verify-ok{border-color:#bfe5cf;background:#f4fbf7}.dsr-verify-ok .dsr-verify-badge{color:#1f7a45}
.dsr-verify-no{border-color:#f2c9c9;background:#fff6f6}.dsr-verify-no .dsr-verify-badge{color:#a12626}
.dsr-verify-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0 0 10px}
.dsr-verify-dl dt{font-weight:700;color:#5a6877}.dsr-verify-dl dd{margin:0;font-weight:600;color:#1d2733;word-break:break-word}
@media (max-width:420px){.dsr-verify-dl{grid-template-columns:1fr}.dsr-verify-dl dd{margin-bottom:6px}}

/* ===== the certificate (A4 landscape) ===== */
.dsr-cert-frame{container-type:inline-size;width:100%;margin:0 auto}
.dsr-cert{position:relative;width:100%;aspect-ratio:297/210;background:#fff;color:#1d2733;box-shadow:0 6px 24px rgba(11,46,85,.15);border-radius:6px;overflow:hidden;box-sizing:border-box;padding:2.2cqw;
 background-image:radial-gradient(circle at 100% 0,#e8f1fc 0,#e8f1fc 14cqw,transparent 14.1cqw),radial-gradient(circle at 0 100%,#e8f1fc 0,#e8f1fc 11cqw,transparent 11.1cqw)}
.dsr-cert-in{position:relative;height:100%;box-sizing:border-box;border:.55cqw solid #046bd2;outline:.15cqw solid #046bd2;outline-offset:-1.2cqw;border-radius:.6cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3cqw 6cqw}
.dsr-cert-top{display:flex;align-items:center;gap:1.4cqw;margin-bottom:1.6cqw}
.dsr-cert-logo{display:inline-flex;align-items:center;justify-content:center;width:6cqw;height:6cqw;border-radius:1.3cqw;background:#046bd2;color:#fff;font-weight:800;font-size:1.9cqw;letter-spacing:.05em;box-shadow:inset 0 0 0 .3cqw rgba(255,255,255,.85)}
.dsr-cert-org{font-weight:800;font-size:2.2cqw;color:#046bd2;letter-spacing:.02em}
.dsr-cert-kicker{font-size:3.6cqw;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0b2e55;margin-bottom:1.6cqw}
.dsr-cert-pre{font-size:1.75cqw;color:#4a5866;margin:.4cqw 0}
.dsr-cert-name{font-family:Georgia,"Times New Roman",serif;font-size:5cqw;font-weight:700;color:#046bd2;line-height:1.15;margin:.6cqw 0 .8cqw;padding:0 2cqw .6cqw;border-bottom:.2cqw solid #f5b700;max-width:100%;overflow-wrap:anywhere}
.dsr-cert-course{font-size:2.8cqw;font-weight:800;color:#0b2e55;line-height:1.25;margin:.6cqw 0 2.2cqw;max-width:90%;overflow-wrap:anywhere}
.dsr-cert-meta{display:flex;gap:4.5cqw;justify-content:center;flex-wrap:wrap}
.dsr-cert-meta div{display:flex;flex-direction:column;gap:.3cqw}
.dsr-cert-meta span{font-size:1.35cqw;text-transform:uppercase;letter-spacing:.08em;color:#5a6877}
.dsr-cert-meta strong{font-size:2cqw;color:#1d2733}
.dsr-cert-foot{position:absolute;left:0;right:0;bottom:2.2cqw;font-size:1.3cqw;color:#5a6877}
.dsr-cert-seal{position:absolute;right:4.5cqw;bottom:4.5cqw;width:9cqw;height:9cqw;border-radius:50%;background:#f5b700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 .5cqw #fff,0 0 0 .8cqw #f5b700}
.dsr-cert-seal span{color:#fff;font-size:4.6cqw;line-height:1}
.dsr-cert-flag{position:absolute;left:4.5cqw;bottom:5cqw;display:flex;flex-direction:column;width:7cqw;height:.9cqw}
.dsr-cert-flag i{flex:1;display:block}
.dsr-cert-flag i:nth-child(1){background:#00a1de}.dsr-cert-flag i:nth-child(2){background:#fad201}.dsr-cert-flag i:nth-child(3){background:#20603d}

/* Phone: a readable portrait card instead of a tiny landscape page */
@media screen and (max-width:700px){
 .dsr-cert{aspect-ratio:auto;padding:10px;background-image:radial-gradient(circle at 100% 0,#e8f1fc 0,#e8f1fc 90px,transparent 91px)}
 .dsr-cert-in{border-width:3px;outline-width:1px;outline-offset:-8px;border-radius:6px;padding:26px 18px 66px;justify-content:flex-start}
 .dsr-cert-top{gap:10px;margin-bottom:14px}
 .dsr-cert-logo{width:40px;height:40px;border-radius:9px;font-size:14px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}
 .dsr-cert-org{font-size:17px}
 .dsr-cert-kicker{font-size:20px;margin-bottom:12px;line-height:1.2}
 .dsr-cert-pre{font-size:15px;margin:4px 0}
 .dsr-cert-name{font-size:30px;margin:6px 0 8px;padding:0 8px 6px;border-bottom-width:2px}
 .dsr-cert-course{font-size:19px;margin:6px 0 16px;max-width:100%}
 .dsr-cert-meta{flex-direction:column;gap:10px}
 .dsr-cert-meta span{font-size:12px}
 .dsr-cert-meta strong{font-size:17px}
 .dsr-cert-foot{font-size:12px;bottom:14px;padding:0 70px 0 16px;text-align:left}
 .dsr-cert-seal{width:46px;height:46px;right:16px;bottom:16px;box-shadow:0 0 0 3px #fff,0 0 0 5px #f5b700}
 .dsr-cert-seal span{font-size:24px}
 .dsr-cert-flag{left:50%;transform:translateX(-50%);top:14px;bottom:auto;width:60px;height:6px}
}

/* Print: only the certificate, A4 landscape (JS copies it into #dsr-print-root) */
#dsr-print-root{display:none}
@media print{
 @page{size:A4 landscape;margin:0}
 html,body{background:#fff!important;margin:0!important;padding:0!important;height:auto!important}
 body.dsr-has-print-root>*{display:none!important}
 body.dsr-has-print-root>#dsr-print-root{display:block!important}
 #dsr-print-root .dsr-cert-frame{width:297mm;height:209mm;margin:0;container-type:inline-size;overflow:hidden;page-break-inside:avoid;break-inside:avoid}
 .dsr-cert{width:297mm;height:209mm;aspect-ratio:auto;box-shadow:none;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .dsr-cert-noprint{display:none!important}
}

/* no automatic hyphenation in our boxes */
.dsr-cert-wrap,.dsr-cert-box,.dsr-cert-wrap *,.dsr-cert-box *{-webkit-hyphens:manual;hyphens:manual;word-break:normal;overflow-wrap:break-word}

/* Final quiz score panel (lesson page) */
.dsr-cq-intro{background:#eef5fd;border:1px solid #cfe0f5;border-radius:12px;padding:12px 14px;margin:14px 0;color:#0b2e55;font-size:1em;line-height:1.45}
.dsr-cq-panel{margin:18px 0;border:2px solid #046bd2}
.dsr-cq-panel .dsr-cq-h{margin:0 0 8px;font-size:1.15em;color:#0b2e55}
.dsr-cq-panel p{margin:8px 0}
.dsr-cq-score{font-size:1.1em;padding:10px 12px;border-radius:10px}
.dsr-cq-score.is-pass{background:#e3f5e8;color:#0f6a33}
.dsr-cq-score.is-fail{background:#fff4d6;color:#6b4a00}
.dsr-cq-ok{color:#0f6a33}
