/* Scoped, responsive WordPress component. No global theme selectors. */
.lcdm-dw{--dw-top:#73452e;--dw-main:#fffcf5;--dw-bottom:#f3e6d3;--dw-rubric:#fff8eb;--dw-title:#522e23;--dw-body:#573f32;--dw-meta:#926b48;--dw-button:#a35a30;--dw-copyright:#765840;--dw-border:#e0ccac;--dw-separator:#e7d6ba;--dw-top-height:104px;--dw-main-height:460px;--dw-foot-height:80px;--dw-padding:22px;--dw-gap:13px;--dw-border-width:1px;--dw-inner-border:1px;--dw-radius:19px;--dw-shadow:0 12px 28px rgba(43,36,30,.18);--dw-border-style:solid;
 --dw-font-rubric:system-ui,sans-serif;--dw-font-title:system-ui,sans-serif;--dw-font-body:system-ui,sans-serif;--dw-font-meta:system-ui,sans-serif;--dw-font-button:system-ui,sans-serif;--dw-font-copyright:system-ui,sans-serif;
 --dw-size-rubric:18px;--dw-size-title:23px;--dw-size-body:15px;--dw-size-meta:12px;--dw-size-button:13px;--dw-size-copyright:11px;
 --dw-weight-rubric:700;--dw-weight-title:700;--dw-weight-body:400;--dw-weight-meta:400;--dw-weight-button:700;--dw-weight-copyright:400;
 --dw-line-rubric:1.45;--dw-line-title:1.45;--dw-line-body:1.45;--dw-line-meta:1.45;--dw-line-button:1.45;--dw-line-copyright:1.45;
 --dw-align-rubric:left;--dw-align-title:left;--dw-align-body:left;--dw-align-meta:left;--dw-align-button:left;--dw-align-copyright:right;
 display:grid;grid-template-rows:var(--dw-top-height) var(--dw-main-height) var(--dw-foot-height);width:100%;max-width:none;min-width:0;margin:0!important;box-sizing:border-box;border:var(--dw-border-width) var(--dw-border-style) var(--dw-border);border-radius:var(--dw-radius);overflow:hidden;background:var(--dw-main);box-shadow:var(--dw-shadow);isolation:isolate;color:var(--dw-body);font-family:var(--dw-font-body);font-size:var(--dw-size-body);line-height:var(--dw-line-body);text-align:var(--dw-align-body);}
.lcdm-dw[data-season="spring"]{--dw-top:#315d4d;--dw-main:#fffdf7;--dw-bottom:#e5f0e4;--dw-rubric:#fffaf1;--dw-title:#183a31;--dw-body:#334640;--dw-meta:#48745f;--dw-button:#376a52;--dw-copyright:#436150;--dw-border:#cadacc;--dw-separator:#d1decf}
.lcdm-dw[data-season="summer"]{--dw-top:#245e79;--dw-main:#fffdf4;--dw-bottom:#e5f2f2;--dw-rubric:#fffaf1;--dw-title:#164056;--dw-body:#304c54;--dw-meta:#427284;--dw-button:#266e88;--dw-copyright:#456676;--dw-border:#ccdcda;--dw-separator:#d4e4e2}
.lcdm-dw[data-season="autumn"]{--dw-top:#73452e;--dw-main:#fffcf5;--dw-bottom:#f3e6d3;--dw-rubric:#fff8eb;--dw-title:#522e23;--dw-body:#573f32;--dw-meta:#926b48;--dw-button:#a35a30;--dw-copyright:#765840;--dw-border:#e0ccac;--dw-separator:#e7d6ba}
.lcdm-dw[data-season="winter"]{--dw-top:#304c68;--dw-main:#f9fbff;--dw-bottom:#e3ebf5;--dw-rubric:#ffffff;--dw-title:#253d55;--dw-body:#455464;--dw-meta:#5e748e;--dw-button:#35658c;--dw-copyright:#536a85;--dw-border:#bdccdc;--dw-separator:#d9e2ec}
.lcdm-dw *,.lcdm-dw *:before,.lcdm-dw *:after{box-sizing:border-box}
.lcdm-dw .dw-top{position:relative;min-width:0;overflow:hidden;display:flex;align-items:center;gap:15px;padding:14px var(--dw-padding);color:var(--dw-rubric);background-color:var(--dw-top);background-image:radial-gradient(ellipse at 91% 1%,rgba(255,255,255,.14),transparent 45%),linear-gradient(120deg,rgba(0,0,0,.02),rgba(255,255,255,.04));}
.lcdm-dw .dw-top:after{content:"";position:absolute;width:128px;height:128px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-40px;top:-63px;pointer-events:none}
.lcdm-dw .dw-mark{width:52px;height:52px;flex:0 0 52px;border:1.5px solid rgba(255,255,255,.55);border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.1);transform:rotate(-8deg)}
.lcdm-dw .dw-mark-glyph{font-size:29px;font-weight:600;line-height:1;transform:rotate(8deg)}
.lcdm-dw .dw-topcopy{min-width:0;position:relative;z-index:1}
.lcdm-dw .dw-kicker{display:block;font-family:var(--dw-font-meta);font-size:9px;letter-spacing:1.45px;font-weight:700;opacity:.79;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcdm-dw .dw-brand{font-family:var(--dw-font-rubric);font-size:var(--dw-size-rubric);font-weight:var(--dw-weight-rubric);line-height:var(--dw-line-rubric);text-align:var(--dw-align-rubric);letter-spacing:-.3px}
.lcdm-dw .dw-season-mark{position:absolute;right:22px;bottom:10px;font-size:48px;line-height:1;color:rgba(255,255,255,.12);pointer-events:none;z-index:0}
.lcdm-dw .dw-main{padding:var(--dw-padding);display:flex;flex-direction:column;gap:var(--dw-gap);min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;background-color:var(--dw-main);scrollbar-width:thin;scrollbar-color:var(--dw-separator) transparent;overscroll-behavior:contain}
.lcdm-dw .dw-main::-webkit-scrollbar{width:7px}.lcdm-dw .dw-main::-webkit-scrollbar-thumb{background:var(--dw-separator);border-radius:10px}
.lcdm-dw .dw-headrow{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px;font-family:var(--dw-font-meta);font-size:var(--dw-size-meta);font-weight:var(--dw-weight-meta);line-height:var(--dw-line-meta);text-align:var(--dw-align-meta)}
.lcdm-dw .dw-kind{color:var(--dw-button);border:1px solid var(--dw-separator);border-radius:999px;padding:4px 9px;font-weight:700;background:transparent;max-width:100%}
.lcdm-dw .dw-level{color:var(--dw-meta);white-space:nowrap}
.lcdm-dw h3.dw-challenge-title{font-family:var(--dw-font-title);color:var(--dw-title);font-size:var(--dw-size-title);font-weight:var(--dw-weight-title);line-height:var(--dw-line-title);text-align:var(--dw-align-title);letter-spacing:-.55px;margin:0;padding:0;overflow-wrap:anywhere}
.lcdm-dw .dw-challenge{display:flex;flex-direction:column;gap:var(--dw-gap);min-width:0;color:var(--dw-body);font-family:var(--dw-font-body);font-size:var(--dw-size-body);line-height:var(--dw-line-body);text-align:var(--dw-align-body);font-weight:var(--dw-weight-body);}
.lcdm-dw .dw-challenge p{margin:0}.lcdm-dw .dw-instruction{opacity:.92;white-space:pre-line}.lcdm-dw .dw-worked,.lcdm-dw .dw-statement,.lcdm-dw .dw-encoded{padding:15px 17px;border-radius:12px;border:1px solid var(--dw-separator);background:color-mix(in srgb,var(--dw-bottom) 37%,var(--dw-main));overflow-wrap:anywhere;white-space:pre-wrap;}
.lcdm-dw .dw-worked{font-size:calc(var(--dw-size-body) + 2px);font-weight:700;color:var(--dw-title)}
.lcdm-dw .dw-statement{font-size:calc(var(--dw-size-body) + 3px);font-weight:700;color:var(--dw-title)}
.lcdm-dw .dw-encoded{font:700 16px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.7px;max-height:145px;overflow:auto;word-break:break-word}
.lcdm-dw .dw-field-label{font-weight:700;font-size:calc(var(--dw-size-body) - 1px);color:var(--dw-title)}
.lcdm-dw .dw-textinput,.lcdm-dw .dw-numberinput{font:inherit;color:var(--dw-body);background:#fff;max-width:100%;min-width:0;border:1px solid var(--dw-separator);border-radius:9px;padding:9px 12px;outline:none;width:100%;line-height:1.35}
.lcdm-dw .dw-numberinput{max-width:190px;min-height:42px}
.lcdm-dw .dw-textinput:focus,.lcdm-dw .dw-numberinput:focus{border-color:var(--dw-button);box-shadow:0 0 0 3px color-mix(in srgb,var(--dw-button) 15%,transparent)}
.lcdm-dw textarea.dw-textinput{resize:vertical;min-height:69px}
.lcdm-dw .dw-buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.lcdm-dw .dw-btn{font:var(--dw-weight-button) var(--dw-size-button)/var(--dw-line-button) var(--dw-font-button);text-align:var(--dw-align-button);border:1px solid var(--dw-button);border-radius:8px;background:transparent;color:var(--dw-button);cursor:pointer;padding:10px 13px;max-width:100%;transition:transform .15s ease,background .15s ease;}
.lcdm-dw .dw-btn:hover:not(:disabled){transform:translateY(-1px);background:color-mix(in srgb,var(--dw-button) 9%,transparent)}
.lcdm-dw .dw-primary{background:var(--dw-button);color:#fff}.lcdm-dw .dw-primary:hover:not(:disabled){background:var(--dw-button);filter:brightness(1.06)}
.lcdm-dw .dw-btn:disabled{opacity:.55;cursor:default}
.lcdm-dw .dw-btn:focus-visible{outline:3px solid var(--dw-title);outline-offset:2px}
.lcdm-dw .dw-solution{display:flex;flex-direction:column;gap:7px;padding:14px 16px;background:color-mix(in srgb,var(--dw-bottom) 65%,var(--dw-main));border-left:3px solid var(--dw-button);border-radius:0 10px 10px 0;overflow-wrap:anywhere;white-space:pre-line}
.lcdm-dw .dw-solution strong{color:var(--dw-title)}.lcdm-dw .dw-solution-line{font-weight:700}
.lcdm-dw .dw-feedback{font-weight:700;font-size:calc(var(--dw-size-body) - 1px);min-height:0}.lcdm-dw .is-correct{color:#206542}.lcdm-dw .is-incorrect{color:#ac452d}
.lcdm-dw .dw-hint{border-left:3px solid var(--dw-button);padding:5px 10px;font-style:italic;opacity:.9}
.lcdm-dw .dw-appear{animation:dw-fade .25s ease}@keyframes dw-fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.lcdm-dw .dw-geo-figure{height:155px;width:100%;max-width:380px;align-self:center;border:1px solid var(--dw-separator);border-radius:12px;padding:4px;background:color-mix(in srgb,var(--dw-main) 82%,#fff);overflow:hidden}
.lcdm-dw .dw-geo-figure svg{width:100%;height:100%;display:block}.lcdm-dw .dw-geo-figure svg polygon,.lcdm-dw .dw-geo-figure svg rect,.lcdm-dw .dw-geo-figure svg circle{fill:color-mix(in srgb,var(--dw-button) 7%,#fff);stroke:var(--dw-button);stroke-width:2}
.lcdm-dw .dw-geo-figure svg line{stroke:var(--dw-button);stroke-width:2}.lcdm-dw .dw-geo-figure svg text{fill:var(--dw-title);font:600 14px system-ui,sans-serif;stroke:none}
.lcdm-dw .dw-geo-figure svg path{fill:none;stroke:var(--dw-button);stroke-width:1.7}.lcdm-dw .dw-geo-figure svg .dw-point{fill:var(--dw-button);stroke:none}
.lcdm-dw .dw-geo-figure.dw-solved svg line,.lcdm-dw .dw-geo-figure.dw-solved svg polygon,.lcdm-dw .dw-geo-figure.dw-solved svg rect,.lcdm-dw .dw-geo-figure.dw-solved svg circle{animation:dw-outline .85s ease}
@keyframes dw-outline{50%{stroke-width:4}}.lcdm-dw .dw-diagram-note{font-size:11px;opacity:.7;text-align:center}
.lcdm-dw .dw-answer-row{display:flex;align-items:center;gap:8px}.lcdm-dw .dw-unit{font-weight:700}
.lcdm-dw .dw-mental-intro{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--dw-separator);padding-bottom:11px}
.lcdm-dw .dw-timer-option{font-size:13px;display:flex;align-items:center;gap:6px;cursor:pointer}.lcdm-dw .dw-mental-frame{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.lcdm-dw .dw-question{font-size:clamp(24px,4vw,33px);font-weight:800;letter-spacing:-.4px;color:var(--dw-title)}
.lcdm-dw .dw-mental-progress{font-weight:700;color:var(--dw-meta)}.lcdm-dw .dw-progress{width:100%;height:5px;border-radius:99px;background:var(--dw-separator);overflow:hidden}
.lcdm-dw .dw-progress>span{display:block;height:100%;background:var(--dw-button);transition:width .2s ease}
.lcdm-dw .dw-timer{font-size:12px;color:var(--dw-meta)}.lcdm-dw .dw-score{font-size:38px;font-weight:800;color:var(--dw-title)}
.lcdm-dw .dw-review{width:100%;font-size:13px;border:1px solid var(--dw-separator);border-radius:8px;padding:9px}.lcdm-dw .dw-review summary{cursor:pointer;font-weight:700}.lcdm-dw .dw-review p{padding:3px 0}
.lcdm-dw .dw-good{color:#206542}.lcdm-dw .dw-need{color:#a3412a}.lcdm-dw .dw-cipher-tag{font-weight:700;color:var(--dw-meta);font-size:12px;letter-spacing:.8px;text-transform:uppercase}
.lcdm-dw .dw-cipher-tool{border:1px solid var(--dw-separator);border-radius:9px;padding:9px 12px;font-size:13px}.lcdm-dw .dw-cipher-tool summary{cursor:pointer;color:var(--dw-button);font-weight:700}
.lcdm-dw .dw-cipher-slider-row{display:flex;align-items:center;gap:12px;padding:8px 0}.lcdm-dw .dw-cipher-slider-row input{flex:1;accent-color:var(--dw-button)}
.lcdm-dw .dw-cipher-candidate{overflow-wrap:anywhere;font:600 13px/1.7 monospace}.lcdm-dw .dw-vf-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lcdm-dw .dw-vf-buttons .dw-btn{min-height:56px;font-size:16px;text-align:center}
.lcdm-dw .dw-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0;overflow:hidden;padding:12px var(--dw-padding);border-top:var(--dw-inner-border) solid var(--dw-separator);background:var(--dw-bottom)}
.lcdm-dw .dw-foot-left{display:flex;align-items:center;gap:8px;color:var(--dw-meta);font-family:var(--dw-font-meta);font-size:var(--dw-size-meta);line-height:var(--dw-line-meta);font-weight:700;white-space:nowrap}
.lcdm-dw .dw-foot-icon{font-size:24px;color:var(--dw-button)}.lcdm-dw .dw-copyright{color:var(--dw-copyright);font-family:var(--dw-font-copyright);font-size:var(--dw-size-copyright);font-weight:var(--dw-weight-copyright);line-height:var(--dw-line-copyright);text-align:var(--dw-align-copyright);overflow-wrap:anywhere;min-width:0}
@media(max-width:440px){.lcdm-dw .dw-top{gap:10px}.lcdm-dw .dw-mark{width:41px;height:41px;flex-basis:41px;border-radius:12px}.lcdm-dw .dw-mark-glyph{font-size:24px}.lcdm-dw .dw-kicker{font-size:7.5px;letter-spacing:.7px}.lcdm-dw .dw-brand{font-size:min(var(--dw-size-rubric),16px)}.lcdm-dw .dw-top,.lcdm-dw .dw-main,.lcdm-dw .dw-foot{padding-left:min(var(--dw-padding),16px);padding-right:min(var(--dw-padding),16px)}.lcdm-dw .dw-challenge-title{font-size:min(var(--dw-size-title),20px)!important}.lcdm-dw .dw-kind{font-size:10px}.lcdm-dw .dw-encoded{font-size:13px}.lcdm-dw .dw-foot-left{font-size:10px}.lcdm-dw .dw-copyright{font-size:10px}.lcdm-dw .dw-btn{font-size:12px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.lcdm-dw *, .lcdm-dw *:before,.lcdm-dw *:after{animation:none!important;transition:none!important}}
