.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-sample=novgorod] .world img{opacity:.68}
.novgorod-task{height:100%;min-height:0;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:18px}
.novgorod-scene{min-height:0;position:relative;isolation:isolate;overflow:hidden;border:1px solid #d2b47765;border-radius:15px;display:flex;flex-direction:column;padding:22px;gap:12px;background:#243c30}
.novgorod-room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.95}
.novgorod-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#12251a83,transparent 37%,#0c271cee)}
.scene-caption h2{font-size:clamp(25px,2.3vw,36px);margin:6px 0;color:#fff4db;text-shadow:0 2px 12px #000}
.scene-caption p{font-size:15px;max-width:280px;color:#f5e8cf;text-shadow:0 2px 8px #000}
.sample-object{border:1px solid #d4b97d8c;box-shadow:0 12px 28px #08170f70;background:#242b20;color:#f6e7c7;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;padding:0;margin-top:auto;text-align:left;min-height:0;max-height:44%;position:relative}
.sample-object img{width:100%;min-height:0;flex:1;object-fit:cover;object-position:center}
.sample-object>span{font-size:14px;display:flex;justify-content:space-between;gap:8px;padding:8px 12px}
.sample-object b{font-size:12px;font-weight:400;color:#e9c781}
.sample-score{margin-top:auto}.sample-score .team-scores{gap:5px}.sample-score .team-score{padding:7px 9px;background:#0e2922df;grid-template-columns:1fr 24px;border-radius:7px}.sample-score .team-score span{font-size:12px;line-height:1.2}.sample-score .team-score strong{font-size:22px;line-height:1}.sample-score .team-score small{font-size:10px}.sample-score .team-meter{height:2px;margin-top:2px}.sample-score #response-count{font-size:12px;margin-top:5px;color:#dbdfc9}
.sample-sheet{min-height:0;min-width:0;display:flex;flex-direction:column;gap:14px;background:#173a2fed;padding:22px 24px;border:1px solid #b9bc9059;border-radius:15px;box-shadow:0 16px 48px #0003}
.sample-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.sample-heading .eyebrow{font-size:11px;letter-spacing:.09em}.sample-heading #clock{font-size:12px;white-space:nowrap;color:#ccd6bb}
.sample-sheet h1{font-family:Georgia,serif;font-size:clamp(25px,2.1vw,33px);line-height:1.17;max-width:850px;color:#f5f0dc}.sample-text{font-size:18px}
.sample-sheet #answer-area{flex:1;min-height:min-content;display:flex;flex-direction:column;justify-content:center}.sample-sheet #answer-form,.sample-sheet fieldset{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:12px;width:100%}
.keeper-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;isolation:isolate}
.keeper-card{position:relative;display:flex;align-items:center;gap:5px;min-height:100px;border:1px solid #a8b78e67;background:linear-gradient(130deg,#f4ead1,#dbceb0);border-radius:10px;color:#172d25;padding:5px 15px 5px 0;cursor:pointer;overflow:hidden;touch-action:manipulation}
.keeper-card.selected{border-color:#f2cd7d;box-shadow:0 0 0 2px #efc77a,inset 0 0 35px #e7b94b2c;background:linear-gradient(130deg,#fff2d2,#ead5a9)}
.keeper-card.answer-correct{border-color:#8de5bf;box-shadow:0 0 0 2px #8de5bf;background:linear-gradient(130deg,#edf4d9,#d5e5ba)}
.keeper-card:has(input:focus-visible){outline:3px solid #99fff0;outline-offset:4px}.keeper-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:3}.keeper-card:has(input:disabled){cursor:default}.keeper-card input:disabled{cursor:default}
.keeper-slot{height:95px;width:80px;flex:0 0 80px;display:grid;place-items:center;position:relative}.keeper-fallback{font:bold 45px Georgia;color:#8e5c25}.keeper-grid[data-webgl=ready] .keeper-fallback{visibility:hidden}.keeper-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.keeper-answer{display:flex;flex-direction:column;gap:4px;position:relative;z-index:2;min-width:0}.keeper-answer small{font-size:9px;letter-spacing:.13em;font-weight:700;color:#665a3c}.keeper-answer>span{font-size:20px;line-height:1.18;font-weight:600;overflow-wrap:anywhere}.keeper-check{position:absolute;right:5px;top:3px;font-size:13px;color:#356446}
.sample-response{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:12px}.sample-response p{font-size:14px;line-height:1.35;color:#d7dfcb;max-width:370px}.sample-response p.confirmed{color:#b9f0cb}.sample-submit{flex-shrink:0;min-width:170px}.sample-sheet fieldset:disabled .sample-submit{opacity:.8}.sample-foot{display:flex;align-items:center;gap:12px}.sample-foot .button{font-size:12px;min-height:32px;padding:7px 10px}.sample-foot>span{font-size:12px;color:#bccdb9}
.sample-controls{border-top:1px solid #a8bf8e40;padding-top:12px;display:flex;gap:8px;align-items:center}.sample-controls>.primary,.sample-controls>.station-nav{margin-left:auto;order:2}.sample-controls .button{font-size:13px;min-height:38px;padding:9px 11px}.sample-controls .primary{font-size:15px}.sample-controls .sample-secondary{display:flex;gap:6px}
.sample-sheet .team-tabs{gap:5px}.sample-sheet .team-tabs .chip{font-size:11px;padding:6px 8px;min-height:34px;flex:1}
.scene-discovery{position:absolute;left:22px;right:22px;top:41%;text-align:center;color:#fff2bb;opacity:0;pointer-events:none;font:italic 21px Georgia;text-shadow:0 0 16px #bcdf80}
.restored .scene-discovery{animation:discovery 2.6s ease both}.restored .sample-object{box-shadow:0 0 28px #dcbb6975;border-color:#eee2a8;transition:box-shadow .7s}
@keyframes discovery{15%,70%{opacity:1}100%{opacity:0}}
@media(min-width:900px) and (max-height:760px){.sample-sheet{gap:10px;padding:17px 20px}.sample-sheet h1{font-size:27px}.novgorod-scene{padding:18px;gap:8px}.keeper-card{min-height:88px}.keeper-slot{height:83px;width:73px;flex-basis:73px}.sample-response{margin-top:8px}.sample-controls{padding-top:9px}.sample-score .team-score{padding:5px 7px}}
@media(max-width:900px){.novgorod-task{grid-template-columns:minmax(190px,.58fr) minmax(0,1.42fr);gap:10px}.sample-sheet{padding:15px;gap:10px}.novgorod-scene{padding:14px}.keeper-card{min-height:90px;padding-right:10px}.keeper-slot{width:65px;flex-basis:65px;height:84px}.keeper-answer>span{font-size:18px}.sample-sheet h1{font-size:25px}.sample-score .team-scores{grid-template-columns:1fr}.sample-score .team-score small,.sample-score .team-meter{display:none}.sample-controls{flex-wrap:wrap}.sample-controls .sample-secondary{gap:4px}.scene-caption h2{font-size:27px}.scene-caption p{font-size:14px}.sample-object>span{flex-direction:column;gap:0}.sample-response{gap:8px}.sample-submit{min-width:135px;font-size:14px}}
@media(max-width:600px){
 body[data-sample=novgorod] #app{padding:5px 9px}.novgorod-task{display:flex;flex-direction:column;gap:7px}.novgorod-scene{flex:none;height:86px;min-height:86px;border-radius:9px;padding:9px 11px;display:grid;grid-template-columns:1fr 92px;gap:8px}.novgorod-room{object-position:center 40%}.scene-caption h2{font-size:23px;margin:3px 0}.scene-caption .eyebrow{font-size:9px}.scene-caption p{display:none}.sample-object{margin:0;max-height:none;height:66px}.sample-object>span{display:none}.sample-object img{object-fit:cover}.sample-score{position:absolute;left:10px;bottom:4px;right:113px}.sample-score .team-scores{display:flex;gap:7px}.sample-score .team-score{padding:0;background:none;display:block;border:0}.sample-score .team-score>span{display:none}.sample-score .team-score strong{position:static;font-size:14px;color:var(--team)}.sample-score .team-score strong:before{content:'● ';font-size:9px}.sample-score #response-count{display:none}.scene-discovery{display:none}
 .sample-sheet{flex:1;padding:11px 12px;gap:9px;border-radius:10px}.sample-heading .eyebrow{font-size:9px;letter-spacing:.03em}.sample-heading #clock{font-size:10px}.sample-sheet h1{font-size:23px;line-height:1.17}.keeper-grid{gap:8px}.keeper-card{min-height:92px;align-items:center;padding:4px 8px 4px 0;gap:0}.keeper-slot{width:56px;flex-basis:56px;height:78px}.keeper-answer>span{font-size:17px;line-height:1.18}.keeper-answer small{font-size:8px;letter-spacing:.04em}.sample-response{margin-top:9px;min-height:41px;gap:7px}.sample-response p{font-size:12px;line-height:1.25}.sample-submit{font-size:13px;min-width:125px;min-height:42px;padding:8px}.sample-foot{gap:7px}.sample-foot>span{font-size:10px;line-height:1.2}.sample-foot .button{min-height:30px;padding:6px 8px;font-size:11px}.sample-controls{padding-top:7px;gap:5px;flex-wrap:nowrap}.sample-controls .primary{font-size:12px;padding:8px;min-height:38px}.sample-controls .sample-secondary .button{font-size:11px;min-height:32px;padding:7px}.sample-controls #teacher-key,.sample-controls [data-action=extend]{display:none}.sample-sheet .team-tabs .chip{font-size:9px;padding:4px 3px;min-height:30px}.sample-sheet .team-tabs{gap:3px}
}
@media(max-width:600px) and (max-height:690px){.novgorod-scene{height:65px;min-height:65px;grid-template-columns:1fr 78px;padding:6px 9px}.scene-caption h2{font-size:19px}.sample-object{height:51px}.sample-score{right:97px;bottom:2px}.sample-sheet{padding:9px;gap:7px}.sample-sheet h1{font-size:20px}.keeper-card{min-height:69px}.keeper-slot{height:63px;width:47px;flex-basis:47px}.keeper-answer>span{font-size:16px}.keeper-answer small{font-size:7px}.sample-response p{font-size:11px}.sample-response{margin-top:7px}.sample-heading .eyebrow{font-size:8px}.sample-controls{padding-top:6px}.sample-foot>span{font-size:9px}.sample-sheet #answer-form,.sample-sheet fieldset{gap:6px}.sample-sheet .team-tabs .chip{font-size:8px;min-height:26px}}
@media(prefers-reduced-motion:reduce){.restored .scene-discovery{animation:none}.restored .sample-object{transition:none}}
@media(min-width:601px) and (max-width:900px) and (max-height:720px){.sample-sheet{padding:12px;gap:9px}.sample-sheet h1{font-size:23px}.sample-text{font-size:14px;line-height:1.3}.keeper-card{min-height:76px}.keeper-slot{height:70px;width:56px;flex-basis:56px}.keeper-answer>span{font-size:17px}.sample-response{min-height:35px;margin-top:7px}.sample-response p{font-size:12px}.sample-controls{padding-top:7px}.sample-controls .button{min-height:34px}.sample-sheet .team-tabs .chip{font-size:9px;min-height:28px;padding:3px}.sample-sheet #answer-form,.sample-sheet fieldset{gap:7px}}
@media(max-width:600px) and (max-height:740px){.sample-text{display:none}.sample-sheet h1{font-size:19px}.sample-foot>span{display:none}.sample-foot .button{min-height:28px}.sample-sheet #answer-area{justify-content:flex-start}.sample-sheet .sample-response{flex-direction:column;align-items:stretch;gap:5px}.sample-response .sample-submit{min-height:35px}.sample-sheet #answer-form,.sample-sheet fieldset{gap:0}.sample-response p{min-height:28px}.sample-controls .sample-secondary .button{font-size:10px;padding:6px}.sample-controls .primary{font-size:11px}.keeper-card{min-height:67px}.sample-foot{position:absolute;right:14px;top:3px}.sample-sheet{position:relative;padding-top:30px}.sample-heading{position:absolute;top:11px;left:10px;right:95px}.sample-heading #clock{display:none}.sample-controls{margin-top:auto}.novgorod-scene{height:60px;min-height:60px}.sample-object{height:45px}.sample-sheet .team-tabs{gap:3px}.sample-sheet .team-tabs .chip{font-size:8px;min-height:24px;padding:3px}}
@media(max-width:360px){.keeper-slot{width:35px;flex-basis:35px}.keeper-card{padding-right:4px}.keeper-answer>span{overflow-wrap:normal}.sample-score .team-score strong{font-size:12px}.scene-caption h2{margin-top:1px;font-size:18px}}
@media(max-width:600px) and (max-height:740px){.sample-sheet{gap:5px}.sample-sheet #answer-area>.sample-response{min-height:28px;margin-top:5px}.sample-sheet #answer-area>.sample-response p{min-height:0}.sample-sheet #answer-area>.sample-response{flex-direction:row}.sample-controls .primary{min-height:35px}}
.sample-sheet #answer-form .sample-response{margin-top:0}.sample-controls{margin-top:auto}
@media(min-width:900px) and (max-height:760px){.sample-sheet{gap:8px}.sample-sheet fieldset{gap:8px}.sample-response{min-height:44px}}
.sample-mobile-tabs{display:none}
@media(max-width:600px) and (max-height:740px){
 .novgorod-task[data-shared=true] .sample-mobile-tabs{display:flex;gap:5px;flex-shrink:0}.sample-mobile-tabs .button{min-height:30px;font-size:12px;padding:6px 10px}.sample-mobile-tabs [aria-pressed=true]{background:var(--gold);color:#17392d}
 .novgorod-task[data-shared=true] .sample-sheet{padding-top:10px;gap:5px}.novgorod-task[data-shared=true] .sample-heading{display:none}
 .novgorod-task[data-shared=true][data-pane=read] #answer-area{display:none}.novgorod-task[data-shared=true][data-pane=read] .sample-text{display:block;font-size:16px}.novgorod-task[data-shared=true][data-pane=read] .sample-sheet h1{font-size:22px}
 .novgorod-task[data-shared=true][data-pane=answer] .novgorod-scene,.novgorod-task[data-shared=true][data-pane=answer] .sample-sheet>h1,.novgorod-task[data-shared=true][data-pane=answer] .sample-text,.novgorod-task[data-shared=true][data-pane=answer] .sample-foot{display:none}
 .novgorod-task[data-shared=true] .sample-foot{position:static}.novgorod-task[data-shared=true] .sample-sheet fieldset{gap:6px}.novgorod-task[data-shared=true] .keeper-slot{height:56px}.novgorod-task[data-shared=true] .sample-response{min-height:0}.novgorod-task[data-shared=true] .sample-response p{min-height:28px}
}
/* 01.10.2026, тест на телефонах: длинное слово варианта («Существительное») не рвётся в произвольном месте — слова целиком,
   а если слово шире карточки, fitKeeperWords (novgorod-sample.js) уменьшает шрифт этой карточки. */
.keeper-answer>span{overflow-wrap:normal;word-break:normal}
/* 02.10.2026, тест: вторичные кнопки под карточками на невысоком телефоне — 11 px (были 10 px). */
@media(max-width:600px) and (max-height:740px){.sample-controls .sample-secondary .button{font-size:11px}}
