:root,[data-bs-theme=light]{--dhd:#3f438d;--dhd-bg:#fff;--dhd-text:#292c47;--dhd-panel:#f1f1f8;--dhd-border:#dcddec;--dhd-muted:#5e617c;--dhd-field:#fff;--dhd-button:#3f438d;--dhd-button-hover:#2e326d;--dhd-field-border:#9295b6;--bs-body-bg:var(--dhd-bg);--bs-body-color:var(--dhd-text);--bs-primary:#3f438d;--bs-primary-rgb:63,67,141;--bs-link-color:var(--dhd);--bs-border-color:var(--dhd-border);color-scheme:light}
[data-bs-theme=dark]{--dhd:#b6baff;--dhd-bg:#141626;--dhd-text:#eceefa;--dhd-panel:#232640;--dhd-border:#464b70;--dhd-muted:#b7bbd4;--dhd-field:#1c2038;--dhd-button:#555dc0;--dhd-button-hover:#6871d6;--dhd-field-border:#777fa9;--bs-body-bg:var(--dhd-bg);--bs-body-color:var(--dhd-text);--bs-primary:#9da4ff;--bs-primary-rgb:157,164,255;--bs-link-color:var(--dhd);--bs-border-color:var(--dhd-border);color-scheme:dark}
body{background:var(--dhd-bg)!important;color:var(--dhd-text)!important;font-family:'Segoe UI',Calibri,Arial,sans-serif;font-size:17px;line-height:1.6}.navbar{background:var(--dhd-bg)!important;border-bottom:1px solid var(--dhd-border);padding:12px 0}.navbar a,.navbar .nav-link{color:var(--dhd)!important}.navbar-brand img{height:60px;max-height:60px!important;max-width:110px;object-fit:contain}[data-bs-theme=dark] .navbar-brand img{filter:invert(1)}[data-bs-theme=dark] .dhd-mark{background:#fff;border-radius:6px;padding:18px}.navbar-toggler{background:var(--dhd-button)}.jumbotron{background:var(--dhd-panel)!important;color:var(--dhd);padding:40px 0}h1,h2,h3{color:var(--dhd);font-weight:700;letter-spacing:-.025em}a{color:var(--dhd)}.btn-primary,.challenge-button{background:var(--dhd-button)!important;border:1px solid var(--dhd-button)!important;color:#fff!important;border-radius:5px}.btn-primary:hover,.challenge-button:hover{background:var(--dhd-button-hover)!important}.challenge-button{min-height:100px;box-shadow:none!important;text-align:left;padding:20px!important}.challenge-solved{background:#216e59!important;border-color:#216e59!important}.lab{max-width:900px;padding-top:40px;padding-bottom:60px}.lab h1{margin-bottom:24px}.lab label{display:block;margin-top:14px;font-weight:600}.lab input,.lab select{display:block;width:100%;padding:12px;border:1px solid var(--dhd-field-border);border-radius:4px;background:var(--dhd-field);color:var(--dhd-text)}.lab input[type=hidden]{display:none}.lab button{margin:20px 0}.lab pre{padding:20px;background:var(--dhd-panel);border-left:4px solid var(--dhd);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--dhd-text)}.lab iframe{width:100%;min-height:220px;border:2px solid var(--dhd-border)}.lab details{padding:20px 0}.difficulty{color:var(--dhd-muted);margin-top:20px}.dhd-home{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center;padding:70px 0}.dhd-home h1{font-size:clamp(40px,5vw,68px);line-height:1.1}.dhd-home p{max-width:58ch}.dhd-mark{width:250px;max-width:100%;justify-self:center}.dhd-intro{background:var(--dhd-panel);padding:30px;border-left:6px solid var(--dhd)}.dhd-info{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:40px 0}.dhd-info article{border-top:3px solid var(--dhd);padding-top:20px}.footer{border-top:1px solid var(--dhd-border);margin-top:50px;padding:25px;color:var(--dhd-muted)}.text-muted,.text-secondary{color:var(--dhd-muted)!important}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ce6d28;outline-offset:4px}.form-control{background:var(--dhd-field)!important;color:var(--dhd-text)!important;border-color:var(--dhd-field-border)}.modal-content,.dropdown-menu,.card{background:var(--dhd-bg)!important;color:var(--dhd-text)!important;border-color:var(--dhd-border)}.dropdown-item{color:var(--dhd-text)}.dropdown-item:hover{background:var(--dhd-panel);color:var(--dhd)}.table{--bs-table-color:var(--dhd-text);--bs-table-bg:var(--dhd-bg)}@media(max-width:700px){.dhd-home{grid-template-columns:1fr;padding:35px 0;gap:25px}.dhd-mark{width:130px;grid-row:1}.dhd-info{grid-template-columns:1fr}.lab{padding:25px 20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
