/* Raster scenery stays decorative; all game controls are accessible HTML. */
.challenge-game{--challenge-ink:#102756;box-sizing:border-box;width:min(1060px,100%);margin:0 auto;padding:clamp(16px,3vw,30px);border:1px solid #ffffff;border-radius:26px;background:#ffffffef;box-shadow:0 15px 45px #1254a21f;color:var(--challenge-ink);overflow-wrap:anywhere}
.challenge-game *{box-sizing:border-box}.challenge-game button,.challenge-game input{font:inherit}.challenge-game button:focus-visible,.challenge-game input:focus-visible,.challenge-game [tabindex]:focus-visible{outline:3px solid #076ff2;outline-offset:3px}
.challenge-game button{min-height:44px;border:1px solid #bdd3f0;border-radius:12px;padding:10px 16px;background:white;color:#16375c;cursor:pointer}.challenge-game button:disabled{opacity:.58;cursor:default}.challenge-game .challenge-primary{background:#0868ee;border-color:#0868ee;color:white;font-weight:800;box-shadow:0 4px 0 #084fae}
.challenge-guide{display:flex;align-items:center;justify-content:space-between;gap:16px}.challenge-guide p{margin:0;line-height:1.5}.challenge-guide strong{flex:none;padding:8px 12px;background:#e9f3ff;border-radius:999px;font-size:13px}.challenge-game progress{display:block;width:100%;height:10px;border:0;border-radius:999px;overflow:hidden;margin:16px 0 24px;background:#dfebfa}.challenge-game progress::-webkit-progress-bar{background:#dfebfa}.challenge-game progress::-webkit-progress-value{background:linear-gradient(90deg,#0877f7,#38c5db)}
.challenge-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.challenge-choice{display:grid!important;grid-template-columns:24px 1fr;gap:9px 13px;align-items:center;margin:0!important;padding:20px;border:2px solid #cfdef3;border-radius:18px;background:#f4f8ff;cursor:pointer}.challenge-choice input{width:22px;height:22px;margin:0;accent-color:#0871ef}.challenge-choice span{font-size:clamp(17px,2vw,23px);font-weight:750;line-height:1.35}.challenge-choice small{grid-column:2;font-size:12px;color:#45668b}
.challenge-game .is-correct{border-color:#54b795!important;background:#e9faf0!important;color:#125e49!important}.challenge-game .is-incorrect{border-color:#dc8e8e!important;background:#fff0ef!important;color:#9b3434!important}
.challenge-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.challenge-bottom p{margin:0;line-height:1.5}.challenge-table-wrap{width:100%;overflow:auto;border:1px solid #cddff3;border-radius:18px}.challenge-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.challenge-table th,.challenge-table td{padding:12px;border-bottom:1px solid #d8e5f6;border-right:1px solid #d8e5f6;text-align:left;vertical-align:middle}.challenge-table th{background:#eaf3ff;color:#173c73;font-size:15px;line-height:1.4}.challenge-table td{background:#fff}.challenge-table input{width:100%;min-width:0;min-height:46px;border:1px solid #abc9ef;border-radius:10px;padding:10px;background:#fff;color:#132d5b;font-weight:700}.challenge-table small{display:block;font-size:11px;margin-top:6px;min-height:16px}.challenge-table tr:last-child td,.challenge-table tr:last-child th{border-bottom:0}
.cipher-message{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 24px}.cipher-message>span{display:grid;place-items:center;width:clamp(35px,5vw,62px);height:clamp(45px,6vw,74px);border:2px solid #bad4f2;border-radius:13px;background:#edf5ff;color:#4a77ab;font-size:clamp(25px,4vw,40px);font-weight:900;box-shadow:0 4px 0 #d4e3f6}.cipher-message>span.revealed{background:#e7f9ef;border-color:#70c8a4;color:#126446}
.challenge-stage-card{width:min(760px,100%);margin:auto;padding:clamp(16px,2.4vw,26px);background:#f6faff;border:1px solid #d4e4f8;border-radius:22px}.challenge-stage-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#3e68a1}.challenge-clue{font-size:clamp(19px,2.2vw,26px);font-weight:750;line-height:1.45;margin:14px 0 20px}.cipher-answer{display:grid;gap:6px;font-size:13px;font-weight:700}.cipher-answer input{width:100%;height:48px;border:1px solid #adcbf0;border-radius:12px;background:white;padding:10px 14px;color:#152c54;font-size:19px}.challenge-stage-feedback{min-height:32px;margin:14px 0;line-height:1.4;font-size:14px;border-radius:9px;padding:8px}.challenge-stage-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.challenge-celebration{padding:18px;margin-top:18px;border:1px solid #8acdb0;border-radius:16px;background:#e6f9ed;color:#156745;font-weight:850;font-size:clamp(19px,2vw,25px);text-align:center}.challenge-error{padding:12px;border-radius:12px;background:#fff0ef;color:#9a3030}
.race-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 24px}.race-track button{display:grid;justify-items:center;gap:7px;padding:12px 5px;min-height:85px;box-shadow:0 4px 0 #cbdcf2;background:#eff6ff}.race-track b{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#d7e9ff;font-size:22px}.race-track span{font-size:11px}.race-track .is-current{border:2px solid #1979ed;box-shadow:0 4px 0 #367fcb;background:#e2f0ff}.race-track .star-stage{border-color:#d6b36d;background:#fff7e3}.race-answers{display:grid;gap:10px}.race-answers button{display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;font-size:17px;line-height:1.4}.race-answers b{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9f2ff;color:#145eae}.race-answers .is-selected{border:2px solid #4c94e7;background:#e7f1ff}
dialog.activity-play:has(.play-question:is([data-type="multiselect"],[data-type="table"],[data-type="cipher"],[data-type="race"]):not([hidden])){display:flex;flex-direction:column;width:min(1450px,97vw);height:min(94dvh,940px);max-height:94dvh;padding:14px 24px;overflow:hidden;border:1px solid white;border-radius:26px;background:#dcefff url('./games/memory-stage.png') center/cover no-repeat;color:#102756}
dialog.activity-play:has(.play-question[data-type="race"]:not([hidden])){background-image:url('./games/timeline-stage.png')}dialog.activity-play:has(.play-question[data-type="cipher"]:not([hidden])){background-image:url('./games/flashcard-stage.png')}
dialog.activity-play:has(.play-question:is([data-type="multiselect"],[data-type="table"],[data-type="cipher"],[data-type="race"]):not([hidden])) #form{display:flex;flex:1;flex-direction:column;min-height:0}dialog.activity-play:has(.play-question:is([data-type="multiselect"],[data-type="table"],[data-type="cipher"],[data-type="race"]):not([hidden])) .play-content{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable}.activity-play .play-question:is([data-type="multiselect"],[data-type="table"],[data-type="cipher"],[data-type="race"]){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.activity-play :is(.multiselect-intro,.table-intro,.cipher-intro,.race-intro){width:fit-content;max-width:96%;padding:12px 24px;margin:12px auto 18px;border-radius:18px;background:#fffffff0;color:#102756;font-size:clamp(20px,2.1vw,29px);line-height:1.35;text-align:center;overflow-wrap:anywhere}
.live-question:is([data-live-type="multiselect"],[data-live-type="table"],[data-live-type="cipher"],[data-live-type="race"]){padding:18px;border-radius:24px;background:#dcefff url('./games/memory-stage.png') center/cover}.live-question:is([data-live-type="multiselect"],[data-live-type="table"],[data-live-type="cipher"],[data-live-type="race"])>h3{width:fit-content;max-width:100%;padding:12px 22px;margin:14px auto 20px;border-radius:16px;background:#fffffff2;text-align:center;color:#102756;line-height:1.4;overflow-wrap:anywhere}
.challenge-editor-hint{padding:12px 15px;border:1px solid #cbe0fa;border-radius:12px;background:#edf6ff;font-size:13px;line-height:1.5}.structured-row:has([data-col="3"]){grid-template-columns:26px repeat(4,minmax(0,1fr)) 36px}
@container(min-width:650px){.challenge-game:is(.challenge-cipher,.challenge-race){display:grid;grid-template-columns:minmax(155px,.3fr) minmax(0,1fr);gap:12px 22px;padding:20px}.challenge-game:is(.challenge-cipher,.challenge-race)>.challenge-guide,.challenge-game:is(.challenge-cipher,.challenge-race)>progress,.challenge-game:is(.challenge-cipher,.challenge-race)>.challenge-celebration,.challenge-game:is(.challenge-cipher,.challenge-race)>.challenge-error{grid-column:1/-1}.challenge-game:is(.challenge-cipher,.challenge-race)>progress{margin:0 0 5px}.challenge-game:is(.challenge-cipher,.challenge-race)>.challenge-stage-card{grid-column:2;grid-row:3;margin:0;padding:18px}.challenge-race>.race-track{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;margin:0}.challenge-race .race-track button{min-height:75px}.challenge-cipher>.cipher-message{grid-column:1;grid-row:3;align-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:14px;margin:0}.challenge-game:is(.challenge-cipher,.challenge-race) .challenge-clue{font-size:22px;margin:10px 0 14px}.challenge-game:is(.challenge-cipher,.challenge-race) .challenge-stage-feedback{margin:10px 0;font-size:13px}.challenge-game:is(.challenge-cipher,.challenge-race) .challenge-celebration{padding:10px;margin:0;font-size:20px}.challenge-race .race-answers button{min-height:44px;padding:7px 10px}.challenge-race .race-answers{gap:8px}}
@media(max-width:700px){.challenge-game{padding:16px;border-radius:20px}.challenge-guide{align-items:flex-start;flex-direction:column;gap:10px}.challenge-choices{grid-template-columns:1fr;gap:10px}.challenge-choice{padding:14px}.challenge-table th,.challenge-table td{padding:8px}.challenge-table{min-width:420px}.challenge-stage-actions{flex-wrap:wrap}.challenge-stage-actions button{padding:9px 11px;font-size:13px}.race-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-track button{min-height:70px}.challenge-bottom{align-items:stretch;flex-direction:column}dialog.activity-play:has(.play-question:is([data-type="multiselect"],[data-type="table"],[data-type="cipher"],[data-type="race"]):not([hidden])){padding:10px;width:98vw}.live-question:is([data-live-type="multiselect"],[data-live-type="table"],[data-live-type="cipher"],[data-live-type="race"]){padding:10px}.structured-row:has([data-col="3"]){grid-template-columns:24px minmax(0,1fr) 32px}.structured-row:has([data-col="3"]) input,.structured-row:has([data-col="3"]) textarea{grid-column:2}.structured-row:has([data-col="3"])>button{grid-column:3;grid-row:1}}
@media(prefers-reduced-motion:reduce){.challenge-game *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.challenge-table{min-width:0;table-layout:auto}.challenge-table thead{display:none}.challenge-table tbody{display:block}.challenge-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-table th[scope="row"]{display:block;grid-column:1/-1;padding:10px 12px}.challenge-table td{display:block;min-width:0;padding:10px}.challenge-table td::before{content:attr(data-column);display:block;margin-bottom:5px;font-size:12px;font-weight:750;color:#33567f}.challenge-table input{font-size:15px;padding:9px 6px}}

.question-controls:has(.challenge-game),.live-controls:has(.challenge-game){container-type:inline-size}
.material-live-preview .challenge-game{padding:14px}.material-live-preview .challenge-clue{font-size:17px}.material-live-preview .challenge-guide{flex-direction:column;align-items:flex-start}.material-live-preview .challenge-stage-card{padding:12px}
.activity-edit-block[data-editor-type] .challenge-editor-cell{display:grid;gap:5px;margin:0;min-width:0;font-size:11px;font-weight:700;color:#45648e}
.activity-edit-block[data-editor-type] .challenge-editor-cell :is(input,textarea,select){grid-column:auto;grid-row:auto;width:100%;min-width:0;margin:0}
.activity-edit-block[data-editor-type="multiselect"] .structured-row{grid-template-columns:24px minmax(0,1fr) 110px 32px;align-items:start}
.activity-edit-block[data-editor-type="table"] .structured-row{grid-template-columns:24px repeat(3,minmax(0,1fr)) 32px;align-items:start}
.activity-edit-block[data-editor-type="cipher"] .structured-row{grid-template-columns:24px minmax(0,1fr) 80px 32px;align-items:start}
.activity-edit-block[data-editor-type="cipher"] .challenge-editor-cell[data-field="0"]{grid-column:2/4;grid-row:1}
.activity-edit-block[data-editor-type="cipher"] .challenge-editor-cell[data-field="1"]{grid-column:2;grid-row:2}
.activity-edit-block[data-editor-type="cipher"] .challenge-editor-cell[data-field="2"]{grid-column:3;grid-row:2}
.activity-edit-block[data-editor-type="cipher"] .structured-row>[data-remove-row]{grid-column:4;grid-row:1}
.activity-edit-block[data-editor-type="race"] .structured-row{grid-template-columns:24px repeat(3,minmax(0,1fr)) 32px;align-items:start}
.activity-edit-block[data-editor-type="race"] .challenge-editor-cell[data-field="0"]{grid-column:2/5;grid-row:1}
.activity-edit-block[data-editor-type="race"] .challenge-editor-cell[data-field="1"]{grid-column:2;grid-row:2}
.activity-edit-block[data-editor-type="race"] .challenge-editor-cell[data-field="2"]{grid-column:3;grid-row:2}
.activity-edit-block[data-editor-type="race"] .challenge-editor-cell[data-field="3"]{grid-column:4;grid-row:2}
.activity-edit-block[data-editor-type="race"] .structured-row>[data-remove-row]{grid-column:5;grid-row:1}
@media(max-width:650px){.activity-edit-block[data-editor-type] .structured-row{grid-template-columns:24px minmax(0,1fr) 32px}.activity-edit-block[data-editor-type] .structured-row .challenge-editor-cell{grid-column:2;grid-row:auto}.activity-edit-block[data-editor-type] .structured-row>[data-remove-row]{grid-column:3;grid-row:1}}
