/* Sentence builder: shared HTML pieces over a raster backdrop. */
.activity-play:has(.play-question[data-type="sentence"]:not([hidden])){display:flex;flex-direction:column;width:min(1450px,97vw);height:min(94dvh,940px);max-height:94dvh;padding:14px 24px;border:1px solid #cae6ff;border-radius:26px;background:#d8f0ff url('./games/sentence-stage.png') center/cover no-repeat;color:#0b2258;overflow:hidden}
.activity-play:has(.play-question[data-type="sentence"]:not([hidden]))>.row{flex:none;min-height:32px}
.activity-play:has(.play-question[data-type="sentence"]:not([hidden])) #form{display:flex;flex:1;flex-direction:column;min-height:0;gap:0}
.activity-play:has(.play-question[data-type="sentence"]:not([hidden])) .play-content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:auto}
.activity-play .play-question[data-type="sentence"]{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible}
.activity-play .play-question[data-type="sentence"]::before,.activity-play .play-question[data-type="sentence"]::after{display:none}
.activity-play [data-type="sentence"] .play-question-top{position:relative;display:flex;justify-content:center;flex:none;min-height:42px;margin:0;padding:0 150px}
.activity-play [data-type="sentence"] .play-kind{min-width:230px;justify-content:center;border:1px solid #fff;border-radius:999px;background:#f6fbffdf;color:#133b76;font-size:16px;font-weight:900}
.activity-play [data-type="sentence"] .play-number{position:absolute;left:0;top:0;background:#fff}
.activity-play [data-type="sentence"] .game-timer{position:absolute;right:35px;top:0;background:#fffffff0;border-radius:999px}
.activity-play [data-type="sentence"] .sentence-intro{flex:none;width:fit-content;max-width:95%;margin:9px auto 13px;padding:12px 25px;border:1px solid #fff;border-radius:20px;background:#fffffff0;color:#0a2058;font-size:clamp(19px,2.2vw,30px);font-weight:850;line-height:1.25;text-align:center;overflow-wrap:anywhere}
.activity-play [data-type="sentence"] .question-workspace,.activity-play [data-type="sentence"] .question-controls,.sentence-game{display:flex;flex:1;flex-direction:column;min-height:0}
.sentence-board{display:flex;flex:1;flex-direction:column;gap:14px;width:min(100%,1140px);min-height:0;margin:0 auto}
.sentence-instruction{display:flex;flex:none;align-items:center;justify-content:center;gap:9px;padding:6px 16px;border-radius:14px;background:#ffffffc9;color:#315987;font-size:13px;text-align:center}
.sentence-instruction p{margin:0}
.sentence-instruction>span{color:#e5a823;font-size:21px}
.sentence-bank,.sentence-answer{display:flex;flex:1;flex-direction:column;justify-content:center;gap:12px;min-height:124px;margin:0;padding:17px 22px;border:1px solid #fff;border-radius:24px;background:#fafdfff0;box-shadow:0 10px 24px #2267a51b}
.sentence-answer{background:#fffffff4;border:2px solid #d3e9ff}
.sentence-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#315986;font-size:12px;font-weight:800}
.sentence-section-title>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#e3f0ff;color:#1969c4}
.sentence-section-title small{font-size:11px;color:#55749a;font-weight:550;text-align:right}
.sentence-pieces{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;min-height:56px}
:is(.activity-play,.live-player) .sentence-board .sentence-piece{display:inline-flex;align-items:center;justify-content:center;min-height:55px;max-width:100%;margin:0;padding:12px 23px;border:1px solid #99ccff;border-radius:15px;background:#e4f2ff;box-shadow:inset 0 2px #ffffffba,0 4px 0 #b6d5ef,0 8px 14px #1b62a319;color:#0c285f;font:inherit;font-size:clamp(15px,2.3dvh,22px);font-weight:800;line-height:1.25;white-space:normal;overflow-wrap:anywhere;cursor:grab;touch-action:manipulation}
:is(.activity-play,.live-player) .sentence-board .tone-1{background:#eee6ff;border-color:#c8b3fa;box-shadow:inset 0 2px #fff9,0 4px 0 #d5c8ef}
:is(.activity-play,.live-player) .sentence-board .tone-2{background:#fff6d5;border-color:#e5d091;box-shadow:inset 0 2px #fff9,0 4px 0 #ede0b5}
:is(.activity-play,.live-player) .sentence-board .tone-3{background:#dff8ec;border-color:#a5d9c3;box-shadow:inset 0 2px #fff9,0 4px 0 #b8e1ce}
:is(.activity-play,.live-player) .sentence-board .tone-4{background:#ffe4f1;border-color:#e5b2ce;box-shadow:inset 0 2px #fff9,0 4px 0 #ebc4d8}
.sentence-slots{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:9px;min-height:66px}
:is(.activity-play,.live-player) .sentence-board .sentence-slot{position:relative;display:flex;flex:1 1 110px;align-items:center;justify-content:center;gap:9px;min-width:90px;max-width:100%;min-height:64px;margin:0;padding:16px 24px 12px;border:2px dashed #9bc8f4;border-radius:15px;background:#eff7ff;color:#14396e;font:inherit;font-size:clamp(15px,2.3dvh,22px);font-weight:800;line-height:1.25;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation}
:is(.activity-play,.live-player) .sentence-board .sentence-slot.filled{border-style:solid;border-color:#b9d7f6;background:#fff;box-shadow:0 3px 0 #d4e5f5;cursor:grab}
.sentence-slot-number{position:absolute;top:4px;left:9px;color:#6d92bb;font-size:10px;font-weight:700}
.sentence-remove{position:absolute;right:7px;top:3px;color:#537aa5;font-size:14px}
.sentence-empty{color:#92b3d6;font-size:25px;letter-spacing:3px}
.sentence-bank-complete{padding:11px;color:#16835a;font-size:14px;font-weight:800}
:is(.activity-play,.live-player) .sentence-board .sentence-slot.answer-right{border-color:#7bc5a2;background:#e9f9f0;color:#155d40}
:is(.activity-play,.live-player) .sentence-board .sentence-slot.answer-wrong{border-color:#e3a993;background:#fff2ed;color:#8a4632}
.sentence-bottom{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 4px}
.sentence-status{margin:0;padding:6px 12px;border-radius:10px;background:#ffffffe6;color:#325b87;font-size:12px;font-weight:650;line-height:1.4}
.sentence-actions{display:flex;flex:none;gap:10px}
:is(.activity-play,.live-player) .sentence-board .sentence-actions button{min-height:44px;padding:9px 20px;border:1px solid #92c3f7;border-radius:12px;background:#fff;color:#0867d4;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
:is(.activity-play,.live-player) .sentence-board .sentence-actions button.primary{border-color:#076bf0;background:#076bf0;color:#fff}
:is(.activity-play,.live-player) .sentence-board button:disabled{cursor:default;opacity:.65}
:is(.activity-play,.live-player) .sentence-board .sentence-slot:disabled{opacity:1}
:is(.activity-play,.live-player) .sentence-board button:focus-visible{outline:3px solid #0759c8;outline-offset:3px;z-index:1}
.activity-play [data-type="sentence"]>.play-feedback{flex:none;min-height:20px;margin:3px 0 0;padding:2px 10px;text-align:center;font-size:12px}
.activity-play [data-type="sentence"]>.play-solution-link{flex:none;align-self:flex-start;margin:3px 0 0;padding:7px 13px;border:1px solid #bedcf7;border-radius:10px;background:#fff;color:#0865c8;font-size:12px;font-weight:800}
.activity-play:has(.play-question[data-type="sentence"]:not([hidden])) .play-footer{flex:none;min-height:45px;margin:6px 0 0;padding:4px 0 0;border:0;background:transparent}
.sentence-solution-text{padding:20px;border:1px solid #d8e8fa;border-radius:17px;background:#f3f9ff;color:#0b285a;font-size:22px;font-weight:750;line-height:1.5}
.live-player:has([data-live-type="sentence"]){padding:20px;border:1px solid #c5e2ff;border-radius:25px;background:#d8f0ff url('./games/sentence-stage.png') center/cover no-repeat}
.live-question[data-live-type="sentence"]{padding:0;border:0;background:none;box-shadow:none}
.live-question[data-live-type="sentence"]>h3{width:fit-content;max-width:100%;margin:12px auto;padding:12px 20px;border-radius:17px;background:#fffffff0;color:#0b2257;text-align:center;overflow-wrap:anywhere}
.live-question[data-live-type="sentence"] .sentence-board{min-height:355px}
.live-question[data-live-type="sentence"] .live-observed-answer,.live-question[data-live-type="sentence"] .live-feedback,.live-question[data-live-type="sentence"] .live-solution{padding:10px 14px;border-radius:12px;background:#fffffff0;overflow-wrap:anywhere}
@media(max-width:700px){
 .activity-play:has(.play-question[data-type="sentence"]:not([hidden])){width:98vw;height:96dvh;max-height:96dvh;padding:10px}
 .activity-play [data-type="sentence"] .play-question-top{min-height:77px;padding:0 0 40px}
 .activity-play [data-type="sentence"] .play-kind{font-size:13px;min-width:210px}
 .activity-play [data-type="sentence"] .game-timer{top:41px;right:0}
 .activity-play [data-type="sentence"] .sentence-intro{font-size:18px;padding:10px 14px}
 .sentence-board{gap:10px}
 .sentence-instruction{font-size:12px;padding:8px}
 .sentence-bank,.sentence-answer{flex:none;padding:13px 11px;border-radius:18px;gap:9px}
 .sentence-section-title{font-size:11px;align-items:flex-start}
 .sentence-section-title small{max-width:160px;font-size:10px}
 .sentence-pieces{gap:8px}
 :is(.activity-play,.live-player) .sentence-board .sentence-piece{min-height:44px;padding:9px 13px;font-size:15px;border-radius:12px}
 :is(.activity-play,.live-player) .sentence-board .sentence-slot{flex-basis:85px;min-height:57px;padding:17px 17px 10px;font-size:15px;border-radius:12px}
 .sentence-bottom{flex-direction:column;align-items:stretch;gap:8px}
 .sentence-actions{justify-content:center}
 :is(.activity-play,.live-player) .sentence-board .sentence-actions button{flex:1;padding:8px 12px;font-size:13px}
 .activity-play [data-type="sentence"] .question-workspace,.activity-play [data-type="sentence"] .question-controls,.activity-play [data-type="sentence"] .sentence-game{flex:none}
 .live-player:has([data-live-type="sentence"]){padding:12px}
}

.sentence-piece,.sentence-slot.filled{touch-action:none!important;user-select:none}.sentence-dragging{cursor:grabbing}.sentence-dragging .sentence-answer{border-color:#4098f0}
