body.minecraft-game { background: #e7f4ef; color: #284d46; }
body.minecraft-game .site-header,body.minecraft-game > footer { display:none; }
body.minecraft-game #app { width: min(1100px,calc(100% - 28px)); max-width:1100px; padding:0; margin:0 auto; }
.mc-shell { min-height:100dvh; padding:8px 0 20px; }
.mc-shell * { box-sizing:border-box; }
.mc-shell button,.mc-shell .button,.mc-shell summary { min-height:48px; font-size:17px; border-radius:5px; letter-spacing:0; }
.mc-shell button { cursor:pointer; }
.mc-shell button:disabled { cursor:default; }
.mc-shell button:focus-visible,.mc-shell a:focus-visible,.mc-shell input:focus-visible,.mc-shell summary:focus-visible { outline:4px solid #b37bdb; outline-offset:3px; }
.mc-shell h1,.mc-shell h2,.mc-shell p { margin-top:0; letter-spacing:0; }
.mc-shell h2 { font-size:26px; line-height:1.2; margin-bottom:10px; }
.mc-shell p { font-size:18px; line-height:1.4; margin-bottom:14px; }
.mc-shell .mc-primary { background:#327d68; color:#fff; border:2px solid #286451; box-shadow:0 3px 0 #205541; padding:11px 20px; font-weight:700; }
.mc-shell .mc-primary:hover { background:#256751; }
.mc-shell .secondary { background:#fffefa; color:#345d56; border:1px solid #9ebdb2; padding:10px 16px; }
.mc-toolbar { display:grid; grid-template-columns:auto 1fr auto 48px auto; align-items:center; gap:10px; min-height:64px; padding-bottom:10px; }
.mc-toolbar h1 { font-family:inherit; font-size:19px; margin:0 0 5px; line-height:1.2; }
.mc-toolbar span { font-size:14px; }
.mc-toolbar .text-button { font-size:14px; padding:8px; white-space:nowrap; color:#79384b; }
.mc-motion { display:flex; gap:6px; align-items:center; font-size:14px; min-height:48px; }
.mc-motion input { width:22px; height:22px; accent-color:#327d68; }
.mc-cover { text-align:center; padding:14px 0 0; }
.mc-cover > p { max-width:740px; margin:12px auto; }
.mc-cover-image { display:block; width:100%; height:auto; object-fit:cover; }
.mc-cover .mc-cover-image { max-height:450px; object-fit:contain; margin:22px auto 12px; }
.card-art .mc-cover-image { width:100%; height:100%; object-fit:cover; }
.mc-lesson { position:relative; max-width:830px; margin:20px auto; padding:22px; background:#fffefa; border:2px solid #aec9b1; border-radius:8px; text-align:center; }
.mc-lesson-builder { height:125px; margin-bottom:12px; }.mc-builder { height:100%; width:auto; }
.mc-lesson-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0; }
.mc-lesson-steps > div { padding:12px 4px; border-bottom:4px solid #b8d9af; }
.mc-lesson-steps strong { font-size:26px; display:block; margin-bottom:10px; white-space:nowrap; }
.mc-lesson-steps span { font-size:17px; line-height:1.4; display:block; }
.mc-map-screen,.mc-finish,.mc-decorate,.mc-choose { text-align:center; position:relative; }
.mc-map-screen h2 { margin-top:10px; }.mc-map-screen > .mc-primary { margin:12px auto; }
.mc-map-heading p { min-height:26px; margin-bottom:8px; }
.mc-map { position:relative; width:100%; aspect-ratio:1000/430; margin:10px auto; background:#9acc78; border:2px solid #6f9a6b; border-radius:6px; }
.mc-landscape { display:block; width:100%; height:100%; }
.mc-plot { position:absolute; top:16%; width:24%; height:55%; border:0; background:transparent; padding:0; display:flex; flex-direction:column; align-items:center; justify-content:end; color:#294f42; }
.mc-plot:disabled { opacity:1; color:#294f42; }
.plot-0 { left:8%; top:20%; }.plot-1 { left:38%; top:14%; }.plot-2 { left:67%; top:20%; }
.mc-plot .mc-building { position:absolute; bottom:22px; width:100%; height:100%; }
.mc-plot-outline { width:85%; height:58%; margin-bottom:15px; border:3px dashed #f9fff1; background:#71b25866; transform:skewY(-7deg); font-size:40px; display:grid; place-content:center; color:#fff; }
.mc-plot-label { position:relative; z-index:2; padding:5px 7px; background:#fff9dc; border:2px solid #8e8756; border-radius:3px; font-size:15px; font-weight:700; line-height:1.2; }
.mc-plot:not(:disabled):hover .mc-plot-outline,.mc-active .mc-plot-label { background:#f7dc83; color:#345c48; }
.mc-ghost { opacity:.2; }.mc-target-piece { opacity:.55; filter:drop-shadow(0 0 4px #fff0a0); animation:mc-highlight 1s ease-in-out infinite alternate; }
.mc-building { width:100%; height:100%; }.mc-alive .mc-lit { fill:#ffe383; animation:mc-window 2.4s ease-in-out infinite alternate; }.mc-alive .mc-flag { transform-origin:124px 4px; animation:mc-flag 1.4s ease-in-out infinite alternate; }.mc-wings { animation:mc-spin 8s linear infinite; }
.mc-active .mc-house .mc-piece:last-of-type { animation:mc-build-house .65s ease-out; }.mc-active .mc-tower .mc-piece:last-of-type { animation:mc-build-tower .65s ease-out; }.mc-active .mc-mill .mc-piece:last-of-type { animation:mc-build-mill .65s ease-out; }
@keyframes mc-build-house { from { transform:translateY(-24px); opacity:.3; } }@keyframes mc-build-tower { from { transform:translateY(-40px); opacity:.3; } }@keyframes mc-build-mill { from { transform:translate(20px,-20px); opacity:.3; } }
.mc-choices { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:20px 0; }
.mc-choices button { border:2px solid #93b5a1; background:#fffefa; display:flex; flex-direction:column; align-items:center; padding:12px; box-shadow:0 4px 0 #c4d9ca; }
.mc-choices button:hover { border-color:#327d68; background:#f1fbe6; }
.mc-choices .mc-building { height:230px; max-width:260px; }.mc-choices strong { font-size:20px; margin:8px 0; }.mc-choices span { font-size:16px; }
.mc-bench-screen { padding:12px 18px 18px; border:2px solid #aac8b1; border-top:6px solid #d0ab68; background:#fffefa; border-radius:8px; }
.mc-bench-heading { display:flex; justify-content:space-between; align-items:center; min-height:62px; }.mc-bench-heading h2 { margin:5px 0 10px; font-size:25px; }.mc-eyebrow { font-size:15px; color:#597261; }.mc-part-preview { width:80px; height:70px; flex:none; }.mc-piece-image { width:100%; height:100%; }
.mc-work-layout { display:grid; grid-template-columns:40% 1fr; gap:24px; align-items:start; }
.mc-machine { padding:15px; text-align:center; background:#e6f1e1; border-bottom:8px solid #cca56a; border-radius:4px; }
.mc-supplies { display:flex; align-items:center; justify-content:center; gap:8px; }.mc-supply { display:flex; flex-direction:column; align-items:center; }.mc-supply svg { width:130px; max-width:100%; height:85px; }.mc-supply strong { font-size:34px; line-height:1.1; background:white; border:2px solid #91b7a9; min-width:72px; padding:2px 6px; color:#28534b; }.mc-supply span { font-size:16px; }.mc-supplies > b { font-size:32px; }
.mc-machine-output { height:170px; display:flex; align-items:center; justify-content:center; position:relative; }.mc-workbench-art { width:225px; max-width:100%; height:155px; }.mc-machine > span { font-size:17px; font-weight:700; }.mc-ready-piece { height:180px; width:210px; cursor:grab; animation:mc-appear .5s ease-out; }.phase-installed .mc-ready-piece { cursor:default; }.mc-sparks { position:absolute; top:40%; color:#e3ad37; font-size:36px; animation:mc-highlight .35s infinite alternate; }.phase-crafting .mc-supply:first-child { animation:mc-stack-left .7s ease-in-out infinite alternate; }.phase-crafting .mc-supply:last-child { animation:mc-stack-right .7s ease-in-out infinite alternate; }
.mc-equation { font-size:38px; line-height:1.15; font-weight:800; color:#28534b; margin:8px 0 9px; }.mc-calculation > p { margin:0 0 8px; font-size:18px; }.mc-feedback { display:flex; flex-direction:column; justify-content:center; min-height:114px; padding:10px 12px; background:#edf3fb; color:#37536c; border:1px solid #c6d8df; border-radius:4px; font-size:18px; line-height:1.4; margin:0 0 12px; }.mc-feedback strong { font-size:15px; margin-bottom:4px; color:#58738d; }.mc-feedback.mc-error { background:#fff2e8; color:#805042; border-color:#ecc5a8; }
.mc-answer-form label { display:block; font-size:17px; font-weight:700; margin-bottom:6px; }.mc-answer-form > div { display:flex; gap:10px; }.mc-answer-form input { font-size:30px; font-weight:700; color:#284d46; width:108px; min-width:70px; height:56px; border:2px solid #92b6a4; border-radius:4px; padding:4px 12px; text-align:center; background:white; }.mc-answer-form button { flex:1; }.mc-hint-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.mc-hint-actions button { font-size:16px; }.mc-wait { height:56px; display:flex; align-items:center; font-size:19px; font-weight:700; }.mc-install-target { display:inline-block; width:120px; height:100px; vertical-align:middle; margin:0 12px 0 0; background:#eff8df; border:2px dashed #b79f53; border-radius:5px; }.mc-install-target .mc-building { height:100%; }.mc-install-flight { width:240px; height:230px; position:absolute; left:calc(50% - 120px); top:80px; pointer-events:none; animation:mc-install 1.25s ease-in-out both; }
.mc-finish > h2 { margin-top:10px; }.mc-finish .mc-map { max-width:900px; animation:mc-zoom-out 1s ease-out; }.mc-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0; }.mc-stats > div { background:#fffefa; padding:12px; border:1px solid #aec6b8; border-radius:6px; display:flex; gap:12px; align-items:center; text-align:left; }.mc-stats strong { font-size:32px; color:#327d68; }.mc-stats span { font-size:15px; line-height:1.3; }.mc-finish-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:16px 0; }.mc-finish details { text-align:left; margin:15px auto; max-width:800px; }.mc-finish summary { cursor:pointer; padding:12px; }.mc-deco-tools { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }.mc-deco-tools button { background:#fffefa; border:2px solid #b3c9b3; padding:6px 12px; display:flex; align-items:center; gap:7px; font-size:16px; }.mc-deco-tools button[aria-pressed="true"] { border-color:#8a61aa; background:#f1eafb; }.mc-deco-tools .mc-deco-art { width:32px; height:40px; }.mc-deco-slot { position:absolute; width:6.5%; height:15%; border:0; background:transparent; padding:0; }.mc-deco-slot .mc-deco-art { width:100%; height:100%; }.mc-decorating .mc-deco-slot { border:2px dashed #fffbdc; border-radius:3px; background:#def5c855; }.mc-deco-slot span { font-size:24px; color:#426d46; }.deco-0 { left:5%; top:59%; }.deco-1 { left:31%; top:51%; }.deco-2 { left:62%; top:51%; }.deco-3 { left:79%; top:75%; }.deco-4 { left:12%; top:82%; }.deco-5 { left:55%; top:78%; }.deco-6 { left:24%; top:4%; }.deco-7 { left:70%; top:3%; }
.mc-help { width:min(580px,calc(100% - 24px)); border:2px solid #9fbeac; border-radius:8px; padding:24px; color:#284d46; background:#fffefa; max-height:calc(100dvh - 24px); overflow-y:auto; }.mc-help::backdrop { background:#22433888; }.mc-paused *, .mc-paused *::before,.mc-paused *::after { animation:none!important; transition:none!important; }
.deco-0 { left:2%; top:40%; }.deco-1 { left:31%; top:58%; }.deco-2 { left:62%; top:51%; }.deco-3 { left:79%; top:78%; }.deco-4 { left:2%; top:61%; }.deco-5 { left:68%; top:80%; }.deco-6 { left:57%; top:82%; }.deco-7 { left:34%; top:38%; }
.mc-finish .mc-builder-arm,.mc-decorate .mc-builder-arm { animation:mc-wave 1.2s ease-in-out infinite alternate; }
@keyframes mc-wave { from { transform:rotate(-110deg); } to { transform:rotate(-135deg); } }
@keyframes mc-spin { to { transform:rotate(360deg); } }@keyframes mc-flag { to { transform:skewY(8deg) scaleX(.9); } }@keyframes mc-window { to { fill:#ffcd55; } }@keyframes mc-highlight { to { opacity:.9; } }@keyframes mc-stack-left { to { transform:translateX(16px); } }@keyframes mc-stack-right { to { transform:translateX(-16px); } }@keyframes mc-appear { from { opacity:0; transform:translateY(25px); } }@keyframes mc-install { from { left:calc(50% - 120px); top:260px; transform:scale(1.2); opacity:.7; }to { left:calc(var(--flight-left) - 120px); top:var(--flight-top); transform:scale(.85); opacity:1; } }@keyframes mc-zoom-out { from { transform:scale(1.025); } }
@media (min-width:901px) and (max-height:760px) { .mc-shell { padding-top:4px; }.mc-toolbar { min-height:60px; }.mc-bench-screen { padding:8px 14px 12px; }.mc-machine-output { height:145px; }.mc-feedback { min-height:108px; }.mc-map { max-height:430px; }.mc-finish .mc-map { max-width:760px; }.mc-choices .mc-building { height:200px; } }
@media (max-width:900px) { .mc-toolbar { grid-template-columns:auto 1fr auto 48px; }.mc-motion { grid-column:2 / -1; justify-self:end; }.mc-work-layout { grid-template-columns:36% 1fr; gap:14px; }.mc-machine { padding:12px 7px; }.mc-supply svg { width:94px; }.mc-equation { font-size:34px; }.mc-plot-label { font-size:13px; }.mc-choices { gap:12px; }.mc-choices .mc-building { height:190px; }.mc-choices strong { font-size:18px; }.mc-deco-slot { min-width:48px; min-height:48px; } }
@media (max-width:600px) { body.minecraft-game #app { width:calc(100% - 16px); }.mc-toolbar { grid-template-columns:1fr auto 48px; gap:7px; }.mc-toolbar > div { grid-column:1 / -1; grid-row:1; }.mc-motion { grid-column:1 / -1; justify-self:start; min-height:30px; }.mc-toolbar h1 { font-size:19px; }.mc-shell h2 { font-size:23px; }.mc-shell p { font-size:17px; }.mc-work-layout { grid-template-columns:1fr; gap:6px; }.mc-bench-screen { padding:10px; }.mc-bench-heading h2 { font-size:22px; }.mc-part-preview { height:60px; width:65px; }.mc-machine { display:grid; grid-template-columns:1fr 100px; padding:8px; border-bottom-width:5px; }.mc-supplies { gap:6px; grid-row:1 / 3; }.mc-supply svg { width:75px; height:46px; }.mc-supply strong { font-size:27px; min-width:56px; }.mc-supply span { font-size:14px; }.mc-supplies > b { font-size:25px; }.mc-machine-output { height:80px; }.mc-workbench-art { height:78px; }.mc-ready-piece { height:85px; width:95px; }.mc-machine > span { font-size:12px; }.mc-equation { margin:10px 0 8px; font-size:32px; }.mc-feedback { min-height:116px; font-size:17px; }.mc-answer-form input { width:85px; }.mc-answer-form > div { gap:8px; }.mc-answer-form .mc-primary { padding:10px 12px; font-size:16px; }.mc-choices { grid-template-columns:1fr; margin:12px 0; }.mc-choices button { display:grid; grid-template-columns:90px 1fr; grid-template-rows:auto auto; text-align:left; padding:6px 12px; }.mc-choices .mc-building { height:100px; grid-row:1 / 3; }.mc-choices strong { margin:10px 0 2px; }.mc-choices span { align-self:start; font-size:14px; }.mc-map { aspect-ratio:1; }.mc-landscape { position:absolute; width:100%; height:100%; object-fit:cover; }.mc-plot { width:31%; height:47%; }.plot-0 { left:0; top:21%; }.plot-1 { left:34%; top:12%; }.plot-2 { left:68%; top:21%; }.mc-plot-label { font-size:12px; padding:4px; overflow-wrap:anywhere; }.mc-plot .mc-building { bottom:35px; height:100%; }.mc-plot-outline { width:85%; margin-bottom:35px; }.mc-map-screen h2 { font-size:23px; }.mc-stats { grid-template-columns:1fr; gap:7px; }.mc-stats > div { padding:7px 14px; }.mc-stats strong { font-size:28px; }.mc-finish-actions { flex-direction:column; }.mc-lesson { margin:8px auto; padding:14px; }.mc-lesson-builder { height:90px; }.mc-lesson-steps { grid-template-columns:1fr; gap:4px; margin:10px 0; }.mc-lesson-steps > div { padding:8px; }.mc-lesson-steps strong { font-size:25px; margin:3px; }.mc-deco-tools { gap:6px; }.mc-deco-tools button { padding:5px 8px; }.mc-deco-tools .mc-deco-art { width:26px; height:32px; }.mc-deco-slot { width:13%; height:13%; }.deco-0 { left:1%; top:76%; }.deco-1 { left:21%; top:66%; }.deco-2 { left:52%; top:62%; }.deco-3 { left:82%; top:80%; }.deco-4 { left:12%; top:86%; }.deco-5 { left:55%; top:84%; }.deco-6 { left:16%; top:3%; }.deco-7 { left:77%; top:3%; }.mc-install-flight { width:170px; height:180px; left:calc(50% - 85px); top:110px; } }
@media (max-width:600px) {
  .mc-map { min-height:420px; background:#89bf69; }
  .mc-landscape { height:72%; }
  .mc-plot { height:40%; }
  .plot-0,.plot-2 { top:12%; }.plot-1 { top:8%; }
  .mc-deco-slot { width:16%; height:12%; }
  .deco-0 { left:3%; top:75%; }.deco-1 { left:28%; top:75%; }.deco-2 { left:53%; top:75%; }.deco-3 { left:78%; top:75%; }
  .deco-4 { left:3%; top:87%; }.deco-5 { left:28%; top:87%; }.deco-6 { left:53%; top:87%; }.deco-7 { left:78%; top:87%; }
}
@media (prefers-reduced-motion:reduce) { .mc-shell *, .mc-shell *::before,.mc-shell *::after { animation:none!important; transition:none!important; } }
