@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@600;700;800;900&display=swap');
:root{--navy:#09244c;--blue:#1267c6;--ice:#eaf7ff;--gold:#ffc928;--red:#d92f34;--green:#198c57;--ink:#173251;--panel:rgba(255,255,255,.93)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#081d3b;font-family:'Nunito','Trebuchet MS',sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.game{position:relative;width:100vw;height:100dvh;min-height:480px;overflow:hidden;background:#0b2b54}.toolbar{height:58px;position:absolute;z-index:15;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(90deg,rgba(5,25,53,.94),rgba(7,49,88,.78));color:white;box-shadow:0 3px 14px #00142c55}.brand{font:800 21px 'Baloo 2',sans-serif;letter-spacing:.5px;display:flex;gap:7px;align-items:center}.brand-mark{color:#91dcff;font-size:25px}.brand-light{font-weight:600;color:#a7dfff;margin-left:3px}.toolbar-actions{display:flex;gap:8px}.tool-btn{border:1px solid #d8f3ff66;background:#ffffff14;color:#fff;border-radius:11px;padding:8px 12px;font-size:13px;font-weight:800;transition:.15s}.tool-btn:hover{background:#ffffff2c;transform:translateY(-1px)}.scene{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background-position:center;background-size:cover}.scene::after{content:"";position:absolute;inset:58px 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(1,18,39,.13),transparent 35%,rgba(0,19,42,.15))}.scene-content{position:relative;z-index:2;width:100vw;height:calc(100% - 72px);margin-top:58px;display:flex;align-items:center;justify-content:center}.start-scene{background:linear-gradient(125deg,#103e73,#0b2445 55%,#1b4a77)}.snow-glow{position:absolute;width:75vw;height:75vw;border-radius:50%;background:#82d9ff18;filter:blur(30px)}.start-card{position:relative;text-align:center;max-width:860px;padding:34px 42px 30px;border:3px solid #fff8d9;border-radius:34px;background:linear-gradient(150deg,#fff9e9f5,#e7f6fff2);box-shadow:0 18px 50px #00132a7c, inset 0 0 0 8px #e9b633}.start-card h1{font:800 clamp(38px,6vw,76px)/.96 'Baloo 2',sans-serif;margin:5px 0 8px;color:#bd202b;text-shadow:0 3px 0 #ffd761}.subtitle{font:800 clamp(20px,3vw,33px) 'Baloo 2',sans-serif;color:#173c6a;margin:0 0 15px}.start-art{width:min(220px,32vw);height:min(190px,25vh);object-fit:contain;filter:drop-shadow(0 9px 7px #122b3833);margin:3px auto}.start-copy{font-weight:800;font-size:clamp(14px,1.5vw,18px);line-height:1.5;margin:9px auto 20px;max-width:660px}.primary-btn,.secondary-btn{border:0;border-radius:15px;padding:12px 23px;font-weight:900;font-size:17px;box-shadow:0 4px 0 #001a3b2b;transition:transform .15s,filter .15s}.primary-btn{background:linear-gradient(#ffe477,#ffbb25);color:#5d3110}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}.secondary-btn{background:#e4f5ff;color:#145891;border:1px solid #acdfff}.start-note{font-size:12px;color:#446179;margin-top:12px;font-weight:700}.scene-title{position:absolute;left:50%;top:16px;transform:translateX(-50%);max-width:92%;text-align:center;white-space:nowrap;padding:7px 24px;border-radius:18px;color:#fff;font:800 clamp(22px,3vw,38px) 'Baloo 2',sans-serif;text-shadow:0 2px 4px #09213a;background:#0c376dbb;border:2px solid #e4f6ff9c;box-shadow:0 4px 12px #031a3966}.instruction-card{position:relative;z-index:2;max-width:820px;padding:26px 38px;text-align:center;border-radius:28px;background:#fff9eaf2;border:4px solid #ffd467;box-shadow:0 10px 30px #001c4266}.instruction-card h2{font:800 clamp(28px,4vw,48px) 'Baloo 2';color:#c62932;margin:0 0 12px}.instruction-card p{font-size:clamp(17px,2vw,23px);line-height:1.45;font-weight:800;margin:9px}.instruction-card .steps{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0}.step-chip{border-radius:18px;background:#eaf6ff;padding:10px 14px;font-weight:900;color:#154679}.round-board{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.round1{background-position:center 56%}.round-stats{position:absolute;left:50%;top:61px;transform:translateX(-50%);border-radius:22px;background:#f8ffffeb;border:2px solid #b6e8ff;padding:8px 16px;box-shadow:0 3px 10px #163c6555;font-weight:900;color:#123e6d;z-index:2;font-size:clamp(14px,1.5vw,19px);white-space:nowrap}.chimney-grid{position:absolute;inset:0}.chimney{position:absolute;width:13%;height:20%;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:white;font:900 clamp(20px,3.2vw,44px) 'Baloo 2';text-shadow:0 3px 5px #001b30,0 0 8px #001b30;filter:drop-shadow(0 2px 1px #001b30);transition:transform .2s,opacity .2s;animation:bob 2.6s ease-in-out infinite}.chimney:nth-child(3n){animation-delay:.6s}.chimney:nth-child(2n){animation-delay:1.1s}.chimney:hover:not(:disabled){transform:scale(1.12);filter:drop-shadow(0 4px 3px #001b30) brightness(1.2)}.chimney:disabled{opacity:.14;filter:grayscale(1);animation:none;pointer-events:none}.chimney:nth-child(1){left:14%;top:23%}.chimney:nth-child(2){left:43.5%;top:22%}.chimney:nth-child(3){right:14%;top:22%}.chimney:nth-child(4){left:14%;top:58%}.chimney:nth-child(5){left:43.5%;top:58%}.chimney:nth-child(6){right:14%;top:58%}@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -8px}}.round2-board{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:54px 0 8px}.puzzle-frame{position:relative;height:min(75vh,700px);aspect-ratio:1/1;max-width:92vw;background:center/100% 100% no-repeat url('assets/r2-frame.webp');filter:drop-shadow(0 12px 15px #001d3866)}.puzzle-grid{position:absolute;left:17%;right:17%;top:14%;bottom:14%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px}.puzzle-tile{border:3px solid #bcecff;border-radius:12px;background:linear-gradient(145deg,#1982ef,#095ac7);color:#fff;font:900 clamp(23px,4vw,52px) 'Baloo 2';text-shadow:0 2px 3px #003974;box-shadow:0 3px 8px #002c5e77;transition:transform .28s,filter .2s;position:relative;overflow:hidden}.puzzle-tile:not(:disabled):hover{transform:scale(1.04);filter:brightness(1.12)}.puzzle-tile.open{border-color:#f9e3a7;background-color:#fff;animation:flip .45s}.puzzle-tile.open span{opacity:0}.puzzle-tile .piece{position:absolute;inset:0;background-repeat:no-repeat;background-size:300% 300%;opacity:0;transition:opacity .3s}.puzzle-tile.open .piece{opacity:1}@keyframes flip{50%{transform:rotateY(90deg)}}.bag-scene{background-position:center 70%}.bag-grid{position:absolute;inset:13% 7% 8%;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:1.3%;}.bag-choice{position:relative;align-self:end;height:65%;min-width:0;border:0;background:transparent;transition:transform .18s,opacity .3s;animation:bagBob 2.8s ease-in-out infinite}.bag-choice:nth-child(2n){animation-delay:.5s}.bag-choice img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 4px #32150055)}.bag-choice .bag-number{position:absolute;top:-10px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:clamp(32px,4vw,52px);height:clamp(32px,4vw,52px);border:3px solid white;border-radius:50%;background:#1458a3;color:white;font:900 clamp(17px,2.2vw,27px) 'Baloo 2';box-shadow:0 2px 7px #13284699}.bag-choice:hover:not(:disabled){transform:translateY(-10px) scale(1.04)}.bag-choice:disabled{opacity:.12;filter:grayscale(1);pointer-events:none;animation:none}@keyframes bagBob{0%,100%{translate:0 0}50%{translate:0 -6px}}.found-scene{background:#143d6c}.found-panel{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,48px);width:min(900px,92vw);padding:24px 32px;border-radius:30px;background:#fff6e9ee;border:4px solid #ffca43;box-shadow:0 12px 32px #001a3d88}.found-panel img{height:min(60vh,520px);max-width:46%;object-fit:contain;filter:drop-shadow(0 6px 4px #28445645)}.found-panel .found-copy{font:800 clamp(30px,5vw,63px)/1.1 'Baloo 2';color:#c42630;text-shadow:0 2px #ffe5a1}.found-panel .small{display:block;font-size:.45em;color:#194777;margin-top:10px}.found-bag{position:absolute;right:5%;bottom:9%;width:19%;max-height:43%;object-fit:contain;filter:drop-shadow(0 6px 4px #10294755)}.transition-scene{background-size:cover;background-position:center}.intro-character{position:absolute;left:7%;bottom:4%;height:min(76vh,720px);max-width:40%;object-fit:contain;filter:drop-shadow(0 10px 5px #091f2e55);animation:shiver .12s ease-in-out infinite alternate}.intro-character.coat{left:auto;right:7%;animation:none}.speech{position:absolute;left:38%;top:16%;max-width:52%;border-radius:28px;padding:19px 26px;background:#fffdf3;border:4px solid #f2bd38;color:#174471;font:800 clamp(24px,3.5vw,45px)/1.1 'Baloo 2';box-shadow:0 8px 16px #061d3c55}.speech:after{content:"";position:absolute;left:22px;bottom:-20px;border-width:20px 18px 0 0;border-style:solid;border-color:#f2bd38 transparent transparent transparent}.speech:before{content:"";position:absolute;z-index:1;left:25px;bottom:-13px;border-width:15px 14px 0 0;border-style:solid;border-color:#fffdf3 transparent transparent transparent}@keyframes shiver{from{transform:translateX(-3px) rotate(-1deg)}to{transform:translateX(3px) rotate(1deg)}}.final-scene{background-position:center;background-size:cover}.sleigh{position:absolute;width:min(48vw,680px);height:min(42vh,380px);object-fit:contain;left:-52%;top:33%;animation:flyby 12s linear infinite, bobSleigh 2.4s ease-in-out infinite;filter:drop-shadow(0 12px 8px #00163177)}@keyframes flyby{0%{left:-52%}100%{left:110%}}@keyframes bobSleigh{0%,100%{margin-top:-8px}50%{margin-top:10px}}.final-message{position:absolute;z-index:2;top:17%;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:17px 30px;border-radius:28px;background:#fff8e9ee;border:4px solid #ffd24d;color:#bb2631;text-align:center;font:800 clamp(29px,5vw,60px)/1.05 'Baloo 2';box-shadow:0 7px 24px #00193477;text-shadow:0 2px #fff}.final-sub{font:800 clamp(17px,2vw,24px) 'Nunito';display:block;color:#154476;margin-top:7px}.modal{position:absolute;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#02172cd1;backdrop-filter:blur(5px)}.hidden{display:none!important}.question-card,.settings-card{position:relative;width:min(720px,95vw);max-height:93dvh;overflow:auto;border-radius:28px;background:linear-gradient(145deg,#fffdf4,#eaf7ff);border:4px solid #ffd45b;padding:28px 34px;box-shadow:0 18px 50px #001127aa}.close-btn{position:absolute;top:12px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:#dff2ff;color:#164871;font-size:27px;font-weight:900}.eyebrow{font-weight:900;letter-spacing:1.1px;font-size:13px;color:#2477b8;margin-bottom:5px}.question-card h2,.settings-card h2{font:800 clamp(25px,3.3vw,39px)/1.12 'Baloo 2';color:#123e70;margin:3px 38px 18px 0}.question-body{min-height:56px}.choice-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-option{padding:14px;border:2px solid #a9d8f4;border-radius:15px;background:#fff;color:#174777;font-size:clamp(17px,2vw,22px);font-weight:900;text-align:left}.choice-option.selected{background:#dff4ff;border-color:#1f81c9;box-shadow:0 0 0 3px #1f81c92a}.answer-input{width:100%;padding:14px 17px;border:2px solid #acd8f0;border-radius:15px;background:white;font-size:clamp(19px,2.3vw,26px);font-weight:800;color:#123e70;outline:0}.answer-input:focus{border-color:#2e91d0;box-shadow:0 0 0 3px #2195db20}.scramble-display{letter-spacing:7px;font:900 clamp(26px,4vw,44px) 'Baloo 2';text-align:center;color:#bc2932;background:#fff2ce;padding:11px 15px;border-radius:15px;margin-bottom:13px}.rearrange-display{font-size:clamp(20px,2.6vw,30px);text-align:center;color:#194c7b;background:#e6f5ff;padding:13px;border-radius:15px;margin-bottom:13px;font-weight:900}.feedback{min-height:31px;margin:9px 0 3px;font-weight:900;font-size:18px}.feedback.good{color:#13834f}.feedback.bad{color:#c52a32}.answer-btn{display:block;width:100%;margin-top:9px}.settings-card{width:min(1020px,96vw);max-height:95dvh;padding:25px 29px}.settings-intro{font-size:14px;font-weight:700;line-height:1.4;margin:4px 40px 15px 0;color:#47627b}.settings-top{display:flex;gap:14px;margin-bottom:14px}.settings-top label{flex:1;font-size:13px;font-weight:900;color:#25537b}.settings-top select{display:block;width:100%;margin-top:5px;padding:9px 12px;border:2px solid #b6dff4;border-radius:11px;background:white;color:#153e65;font-weight:800}.editor-tabs{display:flex;gap:7px;border-bottom:2px solid #c4e6f7;padding-bottom:8px}.tab{border:0;border-radius:11px 11px 0 0;padding:9px 15px;color:#24547b;background:#e5f4fd;font-weight:900}.tab.active{background:#1c70b2;color:white}.question-editor{max-height:42vh;overflow:auto;padding:10px 3px}.edit-row{display:grid;grid-template-columns:45px minmax(0,1.4fr) minmax(150px,1fr) minmax(190px,1.2fr);gap:8px;align-items:start;padding:8px 6px;border-bottom:1px solid #d7eaf5}.edit-index{background:#e2f2fc;color:#125c96;border-radius:10px;padding:10px 4px;text-align:center;font-weight:900}.edit-row input,.edit-row textarea{width:100%;padding:8px 9px;border:1px solid #b9d9ea;border-radius:9px;resize:vertical;font:700 13px 'Nunito';color:#123e70;background:#fff}.edit-hint{font-size:10px;color:#617c90}.settings-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:12px;border-top:1px solid #cfe5f1}.audio-label{font-size:13px;font-weight:900;color:#214f75}.audio-label input{display:block;width:220px;margin-top:5px;font-size:11px}.settings-actions{display:flex;gap:8px;align-items:center}.settings-actions .primary-btn,.settings-actions .secondary-btn{font-size:13px;padding:10px 13px;border-radius:11px;white-space:nowrap}.import-label{display:inline-flex;cursor:pointer}.import-label input{display:none}.settings-notice{min-height:17px;font-size:12px;color:#17834f;font-weight:900;margin-top:7px}.overlay{position:absolute;z-index:20;inset:58px 0 0;display:grid;place-items:center;background:#031831bf;backdrop-filter:blur(4px);animation:fadeIn .18s}.overlay img{max-width:min(70vw,650px);max-height:76vh;object-fit:contain;filter:drop-shadow(0 8px 18px #0008)}.overlay .overlay-text{position:absolute;top:8%;padding:12px 22px;border-radius:20px;color:#a42129;background:#fff5dfea;font:900 clamp(26px,4vw,47px) 'Baloo 2'}.effects{position:absolute;z-index:8;inset:0;pointer-events:none;width:100%;height:100%}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.toolbar{height:50px;padding:0 8px}.brand{font-size:16px}.brand-mark{font-size:19px}.toolbar-actions{gap:4px}.tool-btn{padding:7px 8px;font-size:11px}.tool-btn#settingsBtn{max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-content{height:calc(100% - 58px);margin-top:50px;width:100vw}.scene::after{inset:50px 0 0}.start-card{padding:20px 20px 17px;margin:8px;border-width:2px;box-shadow:inset 0 0 0 5px #e9b633}.start-art{height:130px;width:170px}.scene-title{top:7px;padding:5px 13px}.round-stats{top:57px}.chimney{width:18%;height:18%}.chimney:nth-child(1){left:8%;top:28%}.chimney:nth-child(2){left:41%;top:27%}.chimney:nth-child(3){right:8%;top:27%}.chimney:nth-child(4){left:8%;top:60%}.chimney:nth-child(5){left:41%;top:60%}.chimney:nth-child(6){right:8%;top:60%}.round2-board{padding-top:50px}.puzzle-frame{width:min(90vw,72vh);height:auto;aspect-ratio:1}.puzzle-grid{left:16%;right:16%;top:14%;bottom:14%;gap:3px}.puzzle-tile{border-width:2px;border-radius:8px}.bag-grid{inset:20% 3% 12%;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:0 3%}.bag-choice{height:100%;max-height:36vh}.bag-choice img{height:94%}.bag-choice:nth-child(4),.bag-choice:nth-child(5),.bag-choice:nth-child(6){align-self:start}.found-panel{padding:14px;gap:8px}.found-panel img{height:min(48vh,350px)}.intro-character{height:62vh;left:2%;max-width:52%}.intro-character.coat{right:2%}.speech{left:43%;top:20%;padding:14px 17px;max-width:51%}.sleigh{width:75vw;height:33vh;top:42%}.final-message{top:17%;padding:13px 17px}.question-card{padding:24px 20px}.settings-card{padding:21px 14px}.settings-top{gap:7px}.settings-top label{font-size:11px}.question-editor{max-height:37vh}.edit-row{grid-template-columns:32px 1fr 1fr;}.edit-row .edit-options{grid-column:2/4}.settings-bottom{align-items:flex-start;flex-direction:column}.settings-actions{width:100%;flex-wrap:wrap}.settings-actions>*{flex:1;text-align:center}.audio-label input{width:100%}}
.chimney.opened:disabled{opacity:1;animation:none;background:radial-gradient(ellipse at center,#160f11 0 34%,#eaf5ff 35% 43%,#a6c7de 44% 49%,transparent 50%);text-shadow:none;color:transparent;filter:drop-shadow(0 2px 2px #021b2e)}

#snowCanvas.effects{position:fixed;inset:0;width:100vw;height:100vh}
.start-scene{background-position:center;background-size:cover}.start-scene:before{content:"";position:absolute;inset:58px 0 0;background:linear-gradient(90deg,#071c34a8,#071c344c)}
.set-controls{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) auto auto;gap:7px;margin:8px 0}.set-controls input,.set-controls select{min-width:0;border:1px solid #b9d9ea;border-radius:10px;padding:8px 10px;background:white;color:#123e70;font-weight:800}.set-controls .secondary-btn{padding:8px 12px;font-size:12px;border-radius:10px;white-space:nowrap}
.question-editor{max-height:43vh}.edit-row{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:7px}.edit-row .edit-index{grid-row:span 3}.edit-row textarea,.edit-row input{font-size:12px}.edit-row .edit-options,.edit-row .edit-media{grid-column:2/4}.edit-row .edit-media{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.edit-row .media-pick{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:8px;background:#e8f5fd;font-size:11px;font-weight:900;color:#1b5e90;cursor:pointer}.edit-row .media-pick input{display:none}.edit-row .media-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#49677b;font-size:10px}.edit-row .translate-controls{grid-column:2/4;display:flex;gap:6px}.edit-row .translate-controls button{border:0;border-radius:8px;background:#dff2e9;padding:5px 8px;color:#176747;font-size:10px;font-weight:900}.edit-row .translate-status{align-self:center;font-size:10px;color:#39708f}
.question-media{display:flex;justify-content:center;margin:0 auto 12px}.question-media img{max-width:min(100%,560px);max-height:28vh;object-fit:contain;border-radius:12px}.question-media audio{width:100%;max-width:500px}
.puzzle-tile{padding:4px}.puzzle-tile .piece{position:absolute;inset:7%;display:grid;place-items:center}.puzzle-tile .piece img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #00396366)}.puzzle-tile.open span{display:none}.puzzle-tile.locked:after{content:"🔒";position:absolute;right:5px;top:5px;font-size:clamp(12px,2vw,20px)}
.chimney.missed:disabled{opacity:1;animation:none;color:transparent}.chimney.missed:after{content:"✕";position:absolute;inset:4%;display:grid;place-items:center;border-radius:50%;color:#ed1c2f;font:1000 clamp(40px,7vw,88px)/1 'Nunito';-webkit-text-stroke:2px #fff;text-shadow:0 3px 5px #00162d;filter:drop-shadow(0 2px 3px #00162d)}
.bag-grid{inset:18% 13% 6%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0 5%;align-items:stretch}.bag-choice{height:100%;width:76%;justify-self:center;align-self:center;max-height:none}.bag-choice img{height:100%;width:100%;object-fit:contain}.bag-choice .bag-number{top:0}
@media(max-width:760px){.set-controls{grid-template-columns:1fr 1fr}.set-controls input{grid-column:1/3}.settings-card{max-height:96dvh}.question-editor{max-height:34vh}.edit-row{grid-template-columns:28px 1fr 1fr;gap:5px}.edit-row .edit-media{align-items:flex-start;flex-direction:column}.edit-row .media-name{max-width:90vw}.bag-grid{inset:21% 4% 6%;gap:0 1%}.bag-choice{width:93%}.bag-choice .bag-number{width:30px;height:30px;font-size:16px}}

.start-card{position:absolute;left:4.5%;top:16%;width:47%;max-width:640px;text-align:left;padding:12px 14px;background:transparent;border:0;box-shadow:none}
.start-title{font:900 clamp(42px,6.4vw,88px)/.88 'Baloo 2',sans-serif;color:#b7202c;letter-spacing:-1px;-webkit-text-stroke:1px #fff8df;text-shadow:0 4px 0 #ffd66b,0 7px 14px #15314c66}
.start-vn{margin-top:12px;font:900 clamp(22px,3vw,37px) 'Baloo 2',sans-serif;color:#103a64;text-shadow:0 2px #eaf6ff}
.start-copy{max-width:540px;margin:12px 0 19px;font-size:clamp(15px,1.6vw,20px);font-weight:900;color:#0b3158;text-shadow:0 1px 4px #eaf6ff}
.set-controls{grid-template-columns:minmax(170px,1.5fr) minmax(120px,1fr) auto auto}
@media(max-width:760px){.start-card{left:2%;top:13%;width:55%;max-width:none;padding:6px}.start-title{font-size:clamp(31px,8.5vw,58px)}.start-vn{font-size:clamp(17px,4.5vw,27px)}.start-copy{font-size:13px;margin:9px 0 12px}.bag-grid .bag-choice:nth-child(n){align-self:center}}
.rule-note{position:absolute;z-index:4;top:61px;left:50%;transform:translateX(-50%);border-radius:15px;background:#f3fbffdf;color:#174777;border:1px solid #a9dff7;padding:6px 13px;font-size:clamp(11px,1.2vw,15px);font-weight:900;white-space:nowrap;box-shadow:0 2px 7px #09234033}
.round-toast{position:absolute;z-index:8;left:50%;top:28%;transform:translateX(-50%);border-radius:15px;background:#fff7dc;border:2px solid #f1be43;color:#8c4c0c;padding:12px 18px;font-weight:900;font-size:clamp(15px,2vw,23px);box-shadow:0 5px 15px #061b3666;text-align:center;max-width:85vw}
@media(max-width:760px){.rule-note{top:53px;max-width:94vw;white-space:normal;text-align:center}.bag-grid .bag-choice:nth-child(n){align-self:center}}

/* Christmas title treatment, gentle scene fades and slower classroom pacing */
.start-scene{background-position:center;background-size:cover}
.scene-enter .scene-content{animation:sceneArrive .9s cubic-bezier(.2,.75,.25,1) both}
@keyframes sceneArrive{from{opacity:0;transform:translateY(9px) scale(.99);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.start-card{top:19%;width:48%;max-width:700px}
.start-title{font-size:clamp(43px,6.2vw,88px);line-height:.94;letter-spacing:-1.4px;color:#c51f2c;-webkit-text-stroke:1.5px #fff7dd;text-shadow:0 3px 0 #ffd96b,0 6px 0 #a43b20,0 10px 18px #12355388;animation:titleTwinkle 3.2s ease-in-out infinite}
@keyframes titleTwinkle{0%,100%{filter:drop-shadow(0 0 1px #fff)}50%{filter:drop-shadow(0 0 9px #fff5ba)}}
.start-vn{color:#113b66;font-size:clamp(22px,2.7vw,35px);text-shadow:0 1px 6px #eef8ff}
#startBtn{display:block;margin-top:24px;min-width:210px;font-size:clamp(20px,2.3vw,28px);background:linear-gradient(#fff09a,#ffc437);border:2px solid #fff8dc;color:#81221e;animation:buttonFloat 2.8s ease-in-out infinite}
@keyframes buttonFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.demo-btn{margin:12px 0 0 8px;padding:9px 14px;font-size:15px}
.home-settings{display:block;margin:11px 0 0 4px;border:0;background:#fff9;border-radius:10px;padding:7px 11px;color:#16486e;font-weight:900}
.round1-speech{position:absolute;z-index:3;left:5%;top:14%;width:min(55vw,800px);padding:22px 28px;border:4px solid #f3c348;border-radius:30px;background:#fffdf0ed;box-shadow:0 9px 24px #071d3866;color:#174471;font:900 clamp(27px,4vw,53px)/1.12 'Baloo 2';animation:speechIn .8s cubic-bezier(.2,.8,.25,1) both}
.round1-speech span{display:block}.round1-speech .speech-vn{margin-top:8px;font:800 clamp(18px,2.4vw,30px)/1.2 'Nunito';color:#a9232d}
@keyframes speechIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.overlay{animation:softOverlay .45s ease both}.overlay img{animation:overlayImage .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes softOverlay{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(5px)}}
@keyframes overlayImage{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
.question-card{animation:cardEnter .38s ease both}
@keyframes cardEnter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.start-card{top:14%;width:60%}.round1-speech{left:4%;top:10%;width:72vw;padding:15px 18px}.demo-btn{margin-left:0}}
.scene-backdrop{position:absolute;z-index:1;inset:0;background-size:cover;background-position:center;pointer-events:none;animation:backdropDissolve 1s ease both}
@keyframes backdropDissolve{from{opacity:1}to{opacity:0}}
.round1-speech{width:min(44vw,740px);left:4%;top:10%}

/* Shared question authoring controls across all three rounds */
.settings-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.settings-top label{font-size:12px}
.question-editor{max-height:43vh}
.edit-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:start;margin:8px 0;padding:12px;border:1px solid #cde4f3;border-radius:16px;background:#f8fcff}
.edit-row .edit-index{grid-row:auto;align-self:start;padding:9px 5px;font-size:16px}
.edit-main{display:grid;gap:10px;min-width:0}
.field-label{display:grid;gap:5px;color:#1c4f79;font-size:12px;font-weight:900}
.field-label textarea,.field-label input,.field-label select,.image-link-row input{width:100%;min-width:0;padding:9px 11px;border:1px solid #b9d9ea;border-radius:10px;background:#fff;color:#123e70;font:700 14px 'Nunito';resize:vertical}
.field-label textarea{min-height:48px}
.field-label select{height:40px}
.answer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:10px;align-items:start}
.field-label small,.media-hint{font-size:11px;font-weight:700;color:#607a8e}
.media-editor{display:grid;gap:7px;padding:10px;border:1px solid #d4e9f5;border-radius:12px;background:#f1f9ff}
.media-tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.edit-row .media-pick{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:8px 12px;border:1px solid #c2e2f3;border-radius:10px;background:#e7f5fe;color:#145c91;font-size:12px;font-weight:900;cursor:pointer}
.edit-row .media-pick input{display:none}
.edit-row .search-pick{border:1px solid #c2e2f3}
.image-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.image-link-row .secondary-btn{font-size:12px;padding:8px 12px}
.media-state,.audio-state{font-size:11px;font-weight:800;color:#4d6c82;overflow-wrap:anywhere}
.editor-image-preview{max-width:min(100%,280px);max-height:130px;object-fit:contain;justify-self:start;border-radius:8px;border:1px solid #d3e8f5;background:white}
.audio-editor{margin-top:-3px}
#settingsIntro{margin-bottom:11px}
@media(max-width:760px){.settings-top{grid-template-columns:1fr}.answer-grid{grid-template-columns:1fr}.edit-row{grid-template-columns:32px minmax(0,1fr);gap:6px}.edit-main{min-width:0}.media-tools{gap:5px}.edit-row .media-pick{font-size:11px;padding:7px 9px}.image-link-row{grid-template-columns:1fr}.question-editor{max-height:34vh}}
