.dr-lesson{width:100%;text-align:center;color:#16354f}.dr-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.dr-controls label{display:inline-flex;gap:5px;align-items:center;font-size:13px}.dr-lesson select,.dr-lesson form button{font:inherit;color:#07549e;background:white;border:2px solid #07549e;border-radius:8px;padding:5px}
.dr-board{padding:7px}.dr-caption{background:#ffedb5;color:#643900;border:1px solid #9e6900;border-radius:8px;font-weight:700;font-size:14px;padding:6px;margin:3px 0 7px;line-height:1.6}
.dr-number{display:flex;direction:ltr;justify-content:center;align-items:baseline;gap:3px;margin:4px 0 8px;font:900 clamp(28px,4vw,40px)/1.25 system-ui}.dr-number>span{padding:1px 4px;border:2px solid transparent;border-radius:8px;color:var(--dr-color,#15354f)}.dr-number .dr-active{border-color:var(--dr-color);background:#fff0be}.dr-number .dr-comma{padding-inline:0;color:#182a40}
.dr-places{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);direction:ltr;gap:5px;max-width:900px;margin:auto}.dr-places button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:2px solid var(--dr-color)!important;border-radius:9px;background:white!important;color:var(--dr-color)!important;min-width:0;padding:4px 2px;box-shadow:none!important}.dr-places button:disabled{border-style:solid!important;cursor:default!important}.dr-places small{font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;color:#18374f}.dr-places strong{font:900 27px/1.2 system-ui}.dr-places bdi{font:700 14px system-ui;color:#18374f}.dr-places .dr-selected{outline:3px solid #ab6800;outline-offset:1px;background:#fff2c9!important}
.dr-work{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.3fr);gap:10px;align-items:center;margin-top:8px}.dr-work.dr-single{grid-template-columns:1fr}.dr-model{border:1px solid #536d85;border-radius:10px;padding:5px;background:white;min-width:0}.dr-model>strong{font-size:13px}.dr-model svg{display:block;direction:ltr;width:100%;height:auto;max-height:290px;margin:auto}.dr-model p{font-size:12px;font-weight:700;margin:4px}.dr-model .dr-grid-note{font-size:11px;color:#314c63;font-weight:500}
.dr-analysis{min-width:0}.dr-place-value{font-size:15px;font-weight:800;background:#e5f2ff;border:1px solid #466989;border-radius:8px;padding:5px;margin:4px}.dr-place-value:empty{display:none}.dr-terms{display:flex;direction:rtl;justify-content:center;flex-wrap:wrap;gap:5px;margin:6px 0}.dr-terms>span{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px;border:2px solid var(--dr-color);border-radius:9px;background:white;padding:4px 6px;color:var(--dr-color)}.dr-terms small{font-size:11px;color:#17354f}.dr-terms bdi{font:900 25px/1.3 system-ui}.dr-equation{display:flex;direction:rtl;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;color:#123f83;font:900 clamp(21px,2.6vw,29px)/1.5 system-ui;margin:8px 0}.dr-equation:empty{display:none}.dr-words{padding:9px;margin:7px 0;color:#005c41;background:#dbf5e9;border:2px solid #006548;border-radius:10px;font-size:17px;font-weight:800;line-height:1.8}
.dr-feedback{color:#8b4100;font-weight:700;font-size:13px;margin:5px}.dr-feedback:empty{display:none}.dr-question{margin:7px 0}.dr-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:8px}.dr-choices button{min-width:65px;min-height:44px;border:2px solid #075bb5;border-radius:9px;background:white;color:#174978;padding:6px 10px;font-size:21px;font-weight:800}.dr-choices .dr-correct{background:#cef5df!important;color:#005637!important;border-color:#006548!important}
.dr-navigation button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.dr-lesson details{padding:7px;border:1px solid #536d85;border-radius:10px;margin-top:7px;text-align:right}.dr-lesson form{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px}.dr-lesson input[data-number]{font:800 21px system-ui;max-width:100%;border:2px solid #536d85;border-radius:8px;color:#123f73;padding:6px}.dr-lesson form small{font-size:12px}.dr-lesson [role=alert]{color:#a11930;font-weight:700}.dr-related{display:inline-block;margin:6px;font-size:12px;color:#075bb5}.dr-lesson [hidden]{display:none!important}
.dr-flight{position:fixed;z-index:10000;display:grid;place-items:center;pointer-events:none;background:white;border:2px solid currentColor;border-radius:9px;font:900 30px system-ui;box-sizing:border-box}
.dr-flight[hidden]{display:none!important}
.dr-places button:disabled{border-style:dashed!important;background:#f0f3f7!important}.dr-places button.dr-selected{background:#fff2c9!important}
.dr-places{display:flex;align-items:stretch;justify-content:center;gap:9px}.dr-place-group{flex:var(--dr-columns) 1 0;min-width:0}.dr-place-group>div{display:grid;grid-template-columns:repeat(var(--dr-columns),minmax(0,1fr));gap:4px}.dr-group-heading{display:block;font-size:11px;font-weight:800;background:#e8eef6;color:#17354f;border-radius:5px;margin-bottom:3px;padding:2px}.dr-places button:disabled strong{color:var(--dr-color)}
@media(max-width:600px){.dr-places.dr-many{flex-direction:column;gap:4px}.dr-places.dr-many .dr-place-group{flex:auto;width:100%}.dr-places.dr-many small{font-size:11px}.dr-model svg{max-height:195px}}
@media(max-width:600px){.dr-board{padding:4px}.dr-caption{font-size:12px;padding:4px}.dr-number{font-size:30px;margin:4px 0 7px;gap:1px}.dr-number>span{padding:1px 2px}.dr-places{gap:3px}.dr-places small{font-size:10px}.dr-places strong{font-size:24px}.dr-places bdi{font-size:10px}.dr-work{grid-template-columns:1fr;gap:4px}.dr-model svg{max-height:220px}.dr-model>strong{font-size:12px}.dr-model p{font-size:11px}.dr-model .dr-grid-note{font-size:10px}.dr-place-value{font-size:12px}.dr-terms>span{min-width:48px;padding:3px}.dr-terms small{font-size:10px}.dr-terms bdi{font-size:21px}.dr-terms{gap:4px}.dr-equation{font-size:22px;margin:4px}.dr-words{font-size:14px;padding:6px}.dr-controls label{font-size:12px}}
@media(max-height:500px) and (min-width:600px){.dr-model svg{max-height:170px}.dr-caption{font-size:11px;margin:2px;padding:2px}.dr-number{font-size:25px}.dr-places small{font-size:10px}.dr-places strong{font-size:21px}.dr-places bdi{font-size:11px}.dr-terms bdi{font-size:20px}.dr-words{font-size:13px}.dr-work{margin-top:4px}}

/* Keep the whole square centred, including when the analysis is still empty. */
.dr-work{grid-template-columns:1fr}
.dr-model{width:100%;box-sizing:border-box;margin-inline:auto}
.dr-model svg{width:min(100%,440px);max-height:none;aspect-ratio:300/320}
@media(min-width:700px) and (orientation:portrait){.dr-model svg{width:min(100%,48svh,480px)}}
@media(min-width:900px) and (orientation:landscape){.dr-model svg{width:min(100%,34svh,380px)}}
@media(max-width:600px){.dr-model svg{width:min(100%,260px)}}
/* Size against available tablet height, not a fixed desktop cap. */
.dr-model svg{width:min(100%,clamp(240px,calc(100svh - 620px),480px));max-height:none;aspect-ratio:1}
.dr-lesson .dr-number{line-height:1.1;margin:2px 0 5px}
.dr-lesson .dr-places button{gap:1px;padding:2px;min-height:0}
.dr-lesson .dr-places small{line-height:1.25}
.dr-lesson .dr-places strong{font-size:24px;line-height:1.1}
.dr-lesson .dr-places bdi{font-size:12px;line-height:1.2}
.dr-lesson .dr-analysis:has(.dr-terms:empty):has(.dr-words[hidden]){display:none}
.dr-lesson .dr-model p{line-height:1.3;margin:2px}
.dr-lesson .dr-caption{line-height:1.35;padding:4px;margin:2px 0}
@media(max-width:600px){.dr-model svg{width:min(100%,240px)}}
@media(min-width:900px) and (orientation:landscape){
 .dr-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;align-items:start}
 .dr-caption,.dr-navigation,.dr-question{grid-column:1/-1}
 .dr-number{grid-column:1;grid-row:2}
 .dr-place-host{grid-column:1;grid-row:3}
 .dr-feedback{grid-column:1;grid-row:4}
 .dr-work{grid-column:2;grid-row:2/span 3;margin-top:0}
 .dr-model svg{width:min(100%,42svh,420px)}
}
