.mp-academy-active .v15-globe{transition:filter .3s ease}
.mp-academy-panel{position:fixed;z-index:55;top:92px;right:20px;bottom:20px;width:min(432px,calc(100vw - 40px));overflow:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#fdfefb 0%,#eef8f2 100%);border:1px solid #cee5d8;border-radius:22px;box-shadow:0 20px 60px #143d3550;color:#18433c;font:14px/1.45 system-ui,-apple-system,sans-serif}
.mp-academy-panel[hidden]{display:none!important}
.mp-academy-panel *{box-sizing:border-box}
.mp-academy-panel button,.mp-academy-panel input,.mp-academy-panel select{font:inherit}
.mp-academy-panel button{cursor:pointer}
.mp-academy-panel button:focus-visible,.mp-academy-panel select:focus-visible,.mp-academy-panel input:focus-visible{outline:3px solid #2ca989;outline-offset:2px}
.mp-academy-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 20px 13px;background:#f9fdf9eb;border-bottom:1px solid #d5e8dd;backdrop-filter:blur(14px)}
.mp-academy-brand{display:flex;align-items:center;gap:10px}.mp-academy-emblem{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#d6f0df;color:#166a4c;font-size:20px}
.mp-academy-head h2{font-size:20px;line-height:1.2;margin:0;letter-spacing:-.04em}.mp-academy-head small{display:block;color:#67827b;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mp-academy-controls{display:flex;align-items:center;gap:6px}.mp-academy-lang,.mp-academy-close{border:0;background:transparent;color:#325c52;padding:7px 9px;border-radius:9px}.mp-academy-lang:hover,.mp-academy-close:hover{background:#e4f3e9}.mp-academy-close{font-size:23px;line-height:1}
.mp-academy-body{padding:18px 20px 22px}.mp-academy-eyebrow{color:#2b8a68;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.mp-academy-body h3{font-size:26px;line-height:1.14;letter-spacing:-.045em;margin:5px 0 9px}.mp-academy-body p{color:#5b766f;margin:0 0 14px}
.mp-academy-hero{padding:20px;border-radius:17px;background:linear-gradient(125deg,#124f3f,#27785b);color:white;box-shadow:0 10px 25px #1b6a4b2a}
.mp-academy-hero p,.mp-academy-hero .mp-academy-eyebrow{color:#d1f3df}.mp-academy-hero h3{font-size:29px}.mp-academy-hero strong{font-size:36px;letter-spacing:-.06em}
.mp-academy-row{display:flex;gap:9px;flex-wrap:wrap}.mp-academy-stat{flex:1 1 43%;min-width:0;padding:13px;border:1px solid #d9e9dd;background:#fff;border-radius:14px}
.mp-academy-stat strong{display:block;color:#164f3d;font-size:23px;line-height:1.2}.mp-academy-stat span{font-size:12px;color:#647b73}
.mp-academy-section{margin-top:18px}.mp-academy-section h4{margin:0 0 9px;font-size:15px}
.mp-academy-primary,.mp-academy-secondary{border-radius:11px;padding:11px 16px;min-height:44px;font-weight:750}
.mp-academy-primary{border:1px solid #1b7557;background:#1b7557;color:#fff}.mp-academy-primary:hover{background:#125b45}
.mp-academy-secondary{border:1px solid #bdd9c9;background:#fff;color:#245b49}.mp-academy-secondary:hover{background:#e9f7ef}
.mp-academy-primary:disabled,.mp-academy-secondary:disabled{opacity:.5;cursor:wait}
.mp-academy-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.mp-academy-field{display:block;color:#31594c;font-size:12px;font-weight:750;margin:12px 0 5px}
.mp-academy-select,.mp-academy-input{display:block;width:100%;min-height:44px;border-radius:11px;border:1px solid #bed7c9;background:#fff;padding:10px 12px;color:#183e35}
.mp-academy-filter{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.mp-academy-progress{height:10px;border-radius:99px;background:#d9e7dd;overflow:hidden;margin:8px 0 5px}.mp-academy-progress span{display:block;height:100%;background:linear-gradient(90deg,#a3db9f,#16734d);transition:width .5s ease}
.mp-academy-country-card{margin-top:14px;padding:16px;border:1px solid color-mix(in srgb,var(--mp-country-colour),white 45%);background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--mp-country-colour),white 91%));border-radius:17px;box-shadow:0 9px 20px #133b2620}
.mp-academy-country-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mp-academy-country-header small{color:#608073;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.mp-academy-country-header h5{font-size:19px;margin:1px 0 0}.mp-academy-country-header strong{font-size:30px;color:var(--mp-country-colour)}
.mp-academy-country-track,.mp-academy-score-track{height:11px;border-radius:99px;background:#e6e9e5;overflow:hidden;margin:9px 0}
.mp-academy-country-track span,.mp-academy-score-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ce484e,#efad4e 50%,#2caa66);transition:width .65s cubic-bezier(.2,.7,.2,1)}
.mp-academy-country-meta{display:flex;flex-wrap:wrap;gap:4px 18px;color:#5b766f;font-size:12px}
.mp-academy-country-status{display:inline-flex;align-items:center;margin:11px 0 4px!important;padding:5px 9px;border-radius:99px;background:#fff0d5;color:#765322!important;font-weight:700;font-size:12px}
.mp-academy-country-status.is-durable{background:#d9f5e2;color:#126646!important}.mp-academy-country-status.is-durable::before{content:'✓';margin-right:5px}
.mp-academy-country-card>.mp-academy-primary{margin-top:12px}
.mp-academy-note{font-size:12px;color:#678077;margin-top:10px}
.mp-academy-question{border:1px solid #cce2d3;background:#fff;border-radius:18px;padding:19px}.mp-academy-question h3{font-size:24px}
.mp-academy-question small{display:block;color:#678077}.mp-academy-question .mp-academy-input{font-size:20px;font-weight:650;margin-top:8px}
.mp-academy-result{position:relative;isolation:isolate;overflow:hidden;border-radius:15px;padding:16px;background:#e6f5e8;border:1px solid #b5dac2;animation:mpAcademyResultIn .42s cubic-bezier(.2,.8,.2,1)}.mp-academy-result[data-outcome="incorrect"]{background:#fff1eb;border-color:#f1c4b1}.mp-academy-result[data-outcome="approximate"]{background:#fff7e5;border-color:#ead79b}
.mp-academy-result strong{display:block;font-size:19px}.mp-academy-result p{margin:5px 0;color:#4d665a}
.mp-academy-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mp-academy-points{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 10px;border-radius:12px;color:#fff;background:linear-gradient(130deg,#de8843,#239d62);font-size:18px;font-weight:850;box-shadow:0 6px 15px #1c71462c;animation:mpAcademyPointsIn .65s cubic-bezier(.2,1.5,.3,1)}
.mp-academy-result .mp-academy-score-track{max-width:460px}
.mp-academy-celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.mp-academy-result>:not(.mp-academy-celebration),.mp-academy-complete>:not(.mp-academy-celebration){position:relative;z-index:1}
.mp-academy-celebration i{position:absolute;left:50%;top:43%;width:6px;height:11px;border-radius:2px;background:hsl(calc(var(--i)*37deg) 76% 55%);opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--i)*29deg));animation:mpAcademyConfetti 1.25s ease-out calc(var(--i)*25ms) both}
@keyframes mpAcademyConfetti{10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(calc(var(--i)*79deg))}}
@keyframes mpAcademyPointsIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
@keyframes mpAcademyResultIn{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.mp-academy-source{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#1a785c}
.mp-academy-empty{border:1px dashed #bbd7c6;border-radius:16px;padding:17px;background:#f9fcf9}
.mp-academy-spinner{width:22px;height:22px;border:3px solid #c1dfca;border-top-color:#1b815c;border-radius:50%;animation:mpAcademySpin .8s linear infinite;margin:26px auto}
@keyframes mpAcademySpin{to{transform:rotate(360deg)}}
html.dark .mp-academy-panel{background:linear-gradient(145deg,#15342f,#122b28);border-color:#35594a;color:#e7f9ed}
html.dark .mp-academy-head{background:#173a32e8;border-color:#35594a}html.dark .mp-academy-head small,html.dark .mp-academy-body p,html.dark .mp-academy-stat span,html.dark .mp-academy-note{color:#a9c6b7}
html.dark .mp-academy-stat,html.dark .mp-academy-question,html.dark .mp-academy-secondary,html.dark .mp-academy-input,html.dark .mp-academy-select{background:#1b3f35;border-color:#426953;color:#e7f9ed}
html.dark .mp-academy-stat strong,html.dark .mp-academy-field{color:#d9f4e1}html.dark .mp-academy-result{background:#254e38;color:#e7f9ed}html.dark .mp-academy-result[data-outcome="incorrect"]{background:#5a342a}html.dark .mp-academy-result[data-outcome="approximate"]{background:#5c4b2b}
html.dark .mp-academy-country-card{background:linear-gradient(145deg,#183b32,#224336);border-color:#426953}
html.dark .mp-academy-country-header small,html.dark .mp-academy-country-meta{color:#a9c6b7}
html.dark .mp-academy-country-status{background:#634a28;color:#ffe6ab!important}
html.dark .mp-academy-country-status.is-durable{background:#174d36;color:#b5f1ca!important}
@media(min-width:761px) and (max-width:1100px){.mp-academy-panel{top:132px}}
@media(max-width:760px){.mp-academy-panel{top:auto;right:0;bottom:0;left:0;width:100%;height:min(57vh,540px);border-radius:20px 20px 0 0;border-bottom:0}.mp-academy-head{padding:11px 16px}.mp-academy-body{padding:14px 16px 22px}.mp-academy-hero{padding:15px}.mp-academy-hero h3{font-size:24px}.mp-academy-body h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.mp-academy-progress span,.mp-academy-country-track span,.mp-academy-score-track span,.mp-academy-active .v15-globe{transition:none}.mp-academy-spinner,.mp-academy-result,.mp-academy-points,.mp-academy-celebration i{animation:none}.mp-academy-celebration{display:none}}

/* A live question uses the existing full-viewport atlas mode. Reserve the
   lower strip for the quiz so its country stays visible above the form. */
html.mp-academy-playing{--mp-academy-viewport-reserve:min(38dvh,330px)}
html.mp-academy-playing .map-canvas{top:0!important;bottom:var(--mp-academy-viewport-reserve)!important}
html.mp-academy-playing .map-top-controls,
html.mp-academy-playing .map-bottom,
html.mp-academy-playing .v18-fullscreen-tools,
html.mp-academy-playing .territory-sheet{display:none!important}
.mp-academy-panel.mp-academy-playing{z-index:60;top:auto;right:16px;bottom:max(12px,env(safe-area-inset-bottom));left:16px;width:auto;height:auto;max-height:calc(var(--mp-academy-viewport-reserve) - 18px);border-radius:20px;box-shadow:0 15px 55px #021b27a8}
.mp-academy-playing .mp-academy-head{position:sticky;padding:9px 17px}
.mp-academy-playing .mp-academy-head h2{font-size:16px}
.mp-academy-playing .mp-academy-emblem{width:30px;height:30px;font-size:17px}
.mp-academy-playing .mp-academy-body{padding:10px 17px 14px}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,40%);grid-template-rows:auto auto 1fr;align-items:start;gap:3px 22px;padding:14px 18px}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>.mp-academy-eyebrow{grid-column:1;grid-row:1}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>h3{grid-column:1;grid-row:2;margin:3px 0 2px;font-size:clamp(19px,2.1vw,26px)}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>p{grid-column:1;grid-row:3;margin:0}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>form{grid-column:2;grid-row:1/span 3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:end;gap:4px 10px}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-field{grid-column:1/-1;margin:0}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-input{grid-column:1;margin:0}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-note{grid-column:1/-1;grid-row:3;margin:0}
.mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-primary{grid-column:2;grid-row:2;white-space:nowrap}
.mp-academy-playing .mp-academy-result{display:flex;align-items:center;flex-wrap:wrap;gap:5px 20px}
.mp-academy-playing .mp-academy-result>p{margin:0;flex:1 1 160px}
.mp-academy-playing .mp-academy-result>.mp-academy-eyebrow{flex:1 1 100%}
.mp-academy-playing .mp-academy-body>.mp-academy-note{margin:8px 0 0}
.mp-academy-playing .mp-academy-actions{justify-content:flex-end;margin-top:7px}
@media(max-width:760px){
 html.mp-academy-playing{--mp-academy-viewport-reserve:min(49dvh,400px)}
 .mp-academy-panel.mp-academy-playing{left:7px;right:7px;bottom:max(6px,env(safe-area-inset-bottom));max-height:calc(var(--mp-academy-viewport-reserve) - 8px);border-radius:16px}
 .mp-academy-playing .mp-academy-head{padding:7px 11px}
 .mp-academy-playing .mp-academy-body{padding:8px 11px 10px}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]{display:block;padding:11px 13px}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>h3{font-size:18px;line-height:1.2;margin:3px 0}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>p{font-size:12px;margin:0 0 7px}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-input{font-size:16px}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-primary{padding:9px;white-space:normal}
 .mp-academy-playing .mp-academy-question[data-kind="numeric"]>form .mp-academy-note{font-size:11px}
 .mp-academy-playing .mp-academy-actions{margin-top:5px}
}
@media(max-height:510px){html.mp-academy-playing{--mp-academy-viewport-reserve:53dvh}}

/* Dated leadership questions share the globe focus with numeric questions.
   Their controls stay in one stable bottom panel; the panel scrolls on phones. */
html.mp-academy-playing.mp-academy-political{--mp-academy-viewport-reserve:min(48dvh,440px)}
.mp-academy-political-question{display:grid;grid-template-columns:minmax(210px,25%) 1fr;gap:16px;align-items:start;padding:15px 18px}
.mp-academy-political-question h3{font-size:clamp(18px,2vw,25px)}
.mp-academy-political-question>form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.mp-academy-political-question fieldset{min-width:0;margin:0;border:1px solid #c7ddcf;border-radius:12px;padding:9px 11px}
.mp-academy-political-question legend{font-size:12px;font-weight:750;color:#31594c;padding:0 4px}
.mp-academy-political-choices{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px}
.mp-academy-political-question label{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.2;cursor:pointer}
.mp-academy-political-question label>span{min-width:0;overflow-wrap:anywhere}
.mp-academy-political-question input[type="radio"]{accent-color:#177756;flex:none}
.mp-academy-political-align{display:grid;grid-template-columns:1fr;gap:3px}
.mp-academy-scale{display:flex;align-items:center;gap:5px;font-size:10px;color:#658177}
.mp-academy-scale input{width:100%;min-width:0;accent-color:#177756}
.mp-academy-political-align output{font-size:11px;font-weight:750;color:#225b43}
.mp-academy-special-options{display:flex;flex-wrap:wrap;gap:4px 9px}
.mp-academy-special-options label{font-size:11px}
.mp-academy-political-align .mp-academy-note{font-size:10px;margin:3px 0 0;line-height:1.25}
.mp-academy-political-question .mp-academy-primary{white-space:nowrap}
.mp-academy-political-result{gap:5px 14px}
.mp-academy-political-result .mp-academy-source{font-size:12px}
.mp-academy-party-question{display:grid;grid-template-columns:minmax(210px,26%) 1fr;gap:15px;padding:15px 18px}
.mp-academy-party-question>form{display:grid;grid-template-columns:minmax(210px,1fr) auto;align-items:end;gap:5px 12px}
.mp-academy-party-question fieldset{min-width:0;margin:0;border:1px solid #c7ddcf;border-radius:12px;padding:9px 11px}
.mp-academy-party-question legend{font-size:12px;font-weight:750;color:#31594c}
.mp-academy-party-question .mp-academy-political-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;grid-column:1;grid-row:1}
.mp-academy-party-question label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}
.mp-academy-party-question label span{overflow-wrap:anywhere}
.mp-academy-party-question input[type="radio"]{accent-color:#177756;flex:none}
.mp-academy-party-question>form>.mp-academy-note{grid-column:1;grid-row:2;margin:0}
.mp-academy-party-question>form>.mp-academy-primary{grid-column:2;grid-row:1/span 2}
.mp-academy-run-progress{margin:5px 0!important;color:#186c51!important;font-weight:800;font-size:12px}
.mp-academy-complete{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;padding:22px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--mp-country-colour),white 88%));border:1px solid color-mix(in srgb,var(--mp-country-colour),white 40%);animation:mpAcademyResultIn .45s ease-out}
.mp-academy-complete>strong{display:block;font-size:48px;color:var(--mp-country-colour);line-height:1.1}
.mp-academy-complete .mp-academy-country-status{max-width:100%;border-radius:12px}
html.dark .mp-academy-political-question fieldset{border-color:#426953}
html.dark .mp-academy-political-question legend,html.dark .mp-academy-political-align output{color:#d9f4e1}
html.dark .mp-academy-party-question fieldset{border-color:#426953}
html.dark .mp-academy-party-question legend{color:#d9f4e1}
html.dark .mp-academy-complete{background:linear-gradient(145deg,#17372f,#284839)}
@media(max-width:1100px){.mp-academy-political-question{display:block}.mp-academy-political-question>form{grid-template-columns:1fr 1fr}.mp-academy-political-question .mp-academy-primary{grid-column:1/-1;justify-self:end}}
@media(max-width:1100px){.mp-academy-party-question{display:block}}
@media(max-width:760px){
 html.mp-academy-playing.mp-academy-political{--mp-academy-viewport-reserve:min(60dvh,470px)}
 .mp-academy-political-question{padding:10px}
 .mp-academy-political-question h3{font-size:18px}
 .mp-academy-political-question>form{display:block}
 .mp-academy-political-question fieldset{margin-top:7px}
 .mp-academy-political-question .mp-academy-primary{margin-top:8px;width:100%}
 .mp-academy-party-question{padding:10px}
 .mp-academy-party-question h3{font-size:18px}
 .mp-academy-party-question>form{display:block}
 .mp-academy-party-question fieldset{margin-top:7px}
 .mp-academy-party-question>form>.mp-academy-note{margin-top:7px}
 .mp-academy-party-question .mp-academy-primary{margin-top:8px;width:100%}
}
