.student-block[hidden],.native-complete[hidden]{display:none}.native-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.native-hud{position:absolute;left:16px;top:16px;padding:16px 20px;background:#14202bea;border:1px solid #77734e;color:#ddd8bb;pointer-events:none;display:grid;gap:8px;max-width:calc(100% - 210px);box-shadow:0 6px 30px #0004}.native-brand{font:11px Georgia,serif;letter-spacing:1.6px;color:#c4ac72}.native-hud strong{font:17px Georgia,serif}.native-hud [role=status]{font-size:10px;color:#93b2a5}.native-controls{position:absolute;bottom:16px;left:16px;right:16px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#14202bea;border:1px solid #585e61;color:#d3d4bc;font-size:11px}.native-controls button{background:#263c42;border:1px solid #777b65;color:#e4e0bd;padding:9px 14px;white-space:nowrap}.native-dpad{display:grid;grid-template-columns:repeat(4,38px);gap:5px}.native-dpad button{padding:9px}.native-question{width:min(760px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:0;color:#e1dec8;background:#192a2b;border:2px solid #a69462;box-shadow:0 15px 100px #000a;border-radius:3px}.native-question::backdrop{background:#040910cf}.native-register{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:#263b38;color:#c8bc8c;font-size:12px;border-bottom:1px solid #847b55}.native-register button{background:transparent;color:#c5c8b5;font-size:10px;border:0;padding:6px}.native-question-body{padding:clamp(22px,5vw,45px)}.native-question .eyebrow{color:#c7ad6e;font-size:10px}.native-question h1{font-size:clamp(25px,3vw,35px);line-height:1.35;letter-spacing:-.4px;margin:22px 0;overflow-wrap:anywhere}.native-question p{font-size:13px;line-height:1.6;color:#bac6b5}.native-question label{color:#d2d5c0}.native-question input[type=text],.native-question input:not([type]){background:#101e21;color:#ece6cc;border-color:#8d855b;font-size:20px;padding:17px}.native-question .gold{margin-top:10px;width:100%;padding:15px}.native-options{border:0;padding:0;margin:20px 0;display:grid;gap:10px}.native-options label{margin:0;display:flex;gap:12px;align-items:center;border:1px solid #64776a;background:#243b38;padding:15px;font-size:16px;font-weight:400;cursor:pointer}.native-options label:has(input:checked){border-color:#ddbc71;background:#3a5141}.native-options input{width:18px;height:18px;accent-color:#ccb06c;flex:none}.native-question #native-feedback{color:#edb088;min-height:20px}.native-complete{position:absolute;left:50%;top:140px;transform:translateX(-50%);background:#a78c4fe8;color:#fff7d9;padding:15px 22px;border:1px solid #dfc686;font:20px Georgia,serif;text-align:center}.native-metrics{position:absolute;top:145px;left:16px;max-width:340px;background:#102c29ee;color:#d6e2cd;border:1px solid #577265;padding:14px;font-size:11px}.native-metrics p{margin:10px 0}.native-metrics button{padding:8px;font-size:11px}
@media(max-width:700px){.native-hud{padding:10px;left:10px;top:10px;max-width:calc(100% - 120px)}.native-brand{font-size:9px;letter-spacing:.5px}.native-hud strong{font-size:14px}.native-controls{bottom:8px;left:8px;right:8px;padding:8px;gap:8px;flex-wrap:wrap}.native-controls>span{font-size:10px;flex-basis:100%;text-align:center}.native-controls>button{flex:1}.native-complete{font-size:16px;top:120px;width:80%}.native-metrics{top:140px;max-width:250px}.native-question .native-options label{font-size:14px}}
.native-computer{width:min(850px,calc(100% - 24px))}.computer-apps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.native-computer button{color:#eddbaf;background:#304540;border:1px solid #ac925b;padding:10px 15px}.native-computer canvas{display:block;width:100%;background:#132326;touch-action:none}.native-computer output{display:block;font:28px monospace;color:#a5e3c4;padding:20px 0}.native-computer textarea{width:100%;background:#132326;color:#e7e1ca;border:1px solid #9d8d60;padding:15px}.native-dpad button{touch-action:none}
.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px}.calculator-keys button{font-size:18px}.calculator-keys button:disabled{opacity:.28;cursor:not-allowed}.calculator-expression{min-height:20px;color:#b9c8b1}

.native-boss-hud{position:absolute;top:76px;left:50%;transform:translateX(-50%);max-width:80%;padding:12px 20px;background:#172522ee;border:1px solid #cba866;color:#f5dfb4;text-align:center;font:600 16px monospace;pointer-events:none;box-shadow:0 5px 20px #0008}.native-boss-hud[hidden]{display:none}
.playtest-toolbar{position:fixed;z-index:25;top:64px;left:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:10px;background:#f6f3e8f5;color:#193c36;border:1px solid #b99c60;border-radius:8px;font-size:11px}.playtest-toolbar select{width:auto;max-width:240px}.playtest-toolbar label{margin:0}.playtest-toolbar button{padding:8px}.playtest-toolbar span{font-size:10px}

.teacher-playtest .native-boss-hud{top:auto;bottom:110px}
/* Compact steampunk play HUD */
.native-hud{top:16px;left:16px;max-width:calc(100% - 220px);padding:12px 18px;border-radius:12px;border-color:#b49b6155;background:linear-gradient(135deg,#17262ef5,#13211fef);gap:5px;box-shadow:0 8px 28px #0005}.native-brand{font:600 12px Arial,sans-serif;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.native-hud strong{font:600 16px Arial,sans-serif}.native-vitals{position:absolute;right:16px;top:16px;min-width:170px;padding:11px 17px;border:1px solid #b49b6155;border-radius:12px;background:#16242cf5;color:#ed9b86;box-shadow:0 8px 28px #0005;pointer-events:none}.native-vitals span{display:block;font:10px Arial,sans-serif;letter-spacing:2px;color:#c2b68c;margin-bottom:5px}.native-vitals strong{font:25px Arial,sans-serif;letter-spacing:3px}.native-controls{border-radius:12px;background:#16242ce8;border-color:#b49b6144}.native-controls button{border-radius:8px}.native-boss-hud{top:114px;border-radius:12px;min-width:280px;width:max-content;max-width:calc(100% - 32px);padding:13px 20px;background:#132222f5;border-color:#bca47488;display:grid;gap:8px;font:14px Arial,sans-serif}.native-boss-hud small{font-size:11px;color:#cabf9e;letter-spacing:.5px}.native-boss-hud strong{font-size:18px;line-height:1.4}.attack-meter{height:4px;background:#ffffff12;border-radius:5px;overflow:hidden}.attack-meter i{display:block;height:100%;background:#ffc35d}.native-boss-hud:not(.charging) .attack-meter{display:none}.panel-combat{padding:12px 20px;background:#273b37;border-bottom:1px solid #caa362;color:#f6d598;font:600 14px/1.5 Arial,sans-serif;position:sticky;top:0;z-index:2}.panel-combat[hidden]{display:none}.panel-combat.charging{background:#594124}.native-question{border:1px solid #bda26a99;border-radius:16px;background:linear-gradient(145deg,#1d3035,#132426);box-shadow:0 25px 100px #000b}.native-register{background:#ffffff05;border-color:#bda26a44;padding:16px 22px;letter-spacing:1px}.native-question-body{padding:24px}.native-question h1{font:500 clamp(22px,3vw,30px)/1.4 Arial,sans-serif;margin:8px 0 20px}.native-computer{width:min(1040px,calc(100% - 28px))}.native-computer h1{font:600 19px Arial,sans-serif;color:#e2d1a6;margin:0 0 20px}.console-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:22px}.computer-apps{display:flex;flex-direction:column;gap:8px;margin:0}.native-computer .computer-apps button{padding:14px;text-align:left;border-color:transparent;background:#ffffff04;border-radius:8px;color:#adbbb5}.native-computer .computer-apps button.active{color:#f7df9e;background:#bca26420;border-color:#bca26477}.native-computer [data-screen]{min-width:0;min-height:340px;padding:18px;background:#0a171c88;border:1px solid #6e8a7b33;border-radius:12px}.native-computer canvas{border:1px solid #647b6e;border-radius:8px}.native-computer output{background:#0b1818;padding:20px;border:1px solid #466558;border-radius:8px;text-align:right;font-size:34px;margin-bottom:16px;color:#b6eed6}.calculator-expression{min-height:20px;text-align:right}.calculator-keys{max-width:none}.calculator-keys button{border-radius:8px;background:#283c3f;border-color:#65766866;padding:12px}.calculator-keys button:disabled{opacity:.2}.native-computer textarea{border-radius:8px;font:15px/1.7 Arial,sans-serif;min-height:260px}.playtest-toolbar{top:105px;background:#142b2eea;color:#e2d3aa;border-color:#8b805c77;border-radius:10px}.playtest-toolbar select{padding:7px;background:#1a3537;color:#f1e5c5;border-color:#596d61}.playtest-toolbar button{background:#2b443d;color:#e8d9aa;border-color:#65735b}.playtest-toolbar strong{font-size:10px;letter-spacing:1px}.teacher-playtest .native-boss-hud{top:auto;bottom:100px}.native-complete{font:14px Arial,sans-serif;border-radius:20px;padding:10px 18px;top:110px}.teacher-playtest .native-complete{top:175px}
@media(max-width:700px){.native-hud{left:10px;top:10px;max-width:calc(100% - 155px);padding:10px}.native-vitals{right:10px;top:10px;min-width:130px;padding:10px}.native-vitals strong{font-size:21px;letter-spacing:1px}.native-vitals span{font-size:9px}.console-layout{grid-template-columns:1fr;gap:12px}.computer-apps{flex-direction:row;flex-wrap:wrap}.native-computer .computer-apps button{padding:9px;flex:1;text-align:center}.native-computer [data-screen]{padding:10px}.native-question-body{padding:17px}.native-boss-hud strong{font-size:15px}.playtest-toolbar{top:95px}.native-controls>span{font-size:10px}}

.native-computer canvas{height:min(400px,45vh);width:100%}

.typeset-math{font-family:"Cambria Math",Georgia,serif;font-size:1.08em;margin-inline:.08em}.native-question h1{line-height:1.65}.native-boss-hud strong{line-height:1.5}

.damage-vignette{position:fixed;inset:0;z-index:10000;pointer-events:none;opacity:0;background:radial-gradient(ellipse at top left,rgba(236,36,44,.9),transparent 48%),radial-gradient(ellipse at top right,rgba(236,36,44,.9),transparent 48%),radial-gradient(ellipse at bottom left,rgba(215,25,40,.85),transparent 48%),radial-gradient(ellipse at bottom right,rgba(215,25,40,.85),transparent 48%);box-shadow:inset 0 0 45px 8px #ed263b66}

.heart-slots{display:inline-flex!important;gap:4px;align-items:center;letter-spacing:0!important;transform-origin:center}.heart-slots .health-heart{position:relative;display:inline-block;font-size:26px!important;line-height:1.2;color:#f2b7a5}.heart-slots .health-heart.empty{color:#687a78}.lost-heart{position:absolute;inset:0;color:#ff5967;font-style:normal;pointer-events:none;text-shadow:0 0 12px #ff333388}.panel-hearts .health-heart{font-size:20px!important}.panel-combat{display:flex;align-items:center;gap:16px}.panel-combat-message{min-width:0}.player-badge-bar{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:8px 12px;background:#172a2eeb;border:1px solid #bba56855;border-radius:14px;max-width:calc(100% - 450px);align-items:center;z-index:2}.player-badge-bar[hidden]{display:none}.player-badge-slot{width:49px;min-width:0;display:flex;justify-content:center;align-items:center;min-height:60px}.empty-badge-shield{width:39px;height:47px;border:2px dashed #71827c88;border-radius:8px 8px 17px 17px;color:#7a8c86;display:grid;place-items:center;font:16px Georgia;background:#ffffff03}.player-badge-slot .boss-badge{width:49px;margin:0}.player-badge-slot .boss-badge svg{width:35px;height:40px}.player-badge-slot .boss-badge>span{font-size:9px;color:#ebdfbf;max-width:49px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-badge-slot .boss-badge>b{right:0}.native-hud{max-width:220px}.native-brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}@media(max-width:900px){.player-badge-bar{top:100px;max-width:calc(100% - 24px)}.teacher-playtest .player-badge-bar{top:155px}.native-boss-hud{top:185px}.teacher-playtest .native-boss-hud{top:auto}.player-badge-slot{min-height:48px;width:42px}.player-badge-bar{padding:5px 9px;gap:5px}}@media(max-width:500px){.native-hud{max-width:calc(100% - 165px)}.heart-slots .health-heart{font-size:22px!important}.panel-combat{gap:10px}}
.heart-slots .health-heart.empty{padding:0;margin:0}

.player-victory{max-width:850px;width:calc(100% - 40px);max-height:90vh;overflow:auto;text-align:center;border:2px solid #d5ad61;border-radius:24px;padding:35px;background:radial-gradient(ellipse at top,#345b49,#132d2d);color:#fff0cc;box-shadow:0 0 90px #eac87530}.player-victory::backdrop{background:#071416dd}.player-victory h1{font-size:clamp(30px,6vw,65px);color:white;margin:15px 0 25px}.victory-badges{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:25px 0}.victory-badges .boss-badge{width:80px}.victory-badges .boss-badge svg{height:70px;width:62px}.victory-badges .boss-badge>span{color:#f3dfae;font-size:12px}.victory-place{margin-top:18px}

.player-victory .finish-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:24px}.player-victory> :not(.finish-confetti){position:relative;z-index:1}

.player-victory{padding:24px}.player-victory .finish-crown{font-size:60px}.player-victory .finish-kicker{margin:16px 0}.player-victory h1{margin:12px 0 20px}.victory-badges .boss-badge{width:115px}.victory-badges .boss-badge>span{overflow-wrap:normal}.player-victory .finish-medallion{font-size:clamp(45px,6vw,72px);padding:12px 35px}
/* Touch play: retain physical-sized floor labels instead of fitting the whole arena. */
.mobile-play-controls{display:none}.question-reading{min-width:0}.question-response{min-width:0}
.mobile-play .mobile-play-controls{display:block}.mobile-play{overscroll-behavior:none;user-select:none;-webkit-user-select:none}.mobile-play input,.mobile-play textarea,.mobile-play .question-reading{user-select:text;-webkit-user-select:text}
.mobile-play .native-controls{display:none}.mobile-stick{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:160px;height:145px;touch-action:none;user-select:none;-webkit-user-select:none;z-index:3}.stick-ring{position:absolute;left:80px;top:70px;width:108px;height:108px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #c9ac6a99;background:radial-gradient(circle,#233c3cb8,#102528a8);box-shadow:inset 0 0 20px #0008,0 4px 12px #0004;pointer-events:none}.stick-ring i{position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(135deg,#e1c682,#98753d);border:2px solid #f0dbab;box-shadow:0 4px 10px #0008}.stick-label{position:absolute;bottom:0;width:100%;text-align:center;font-size:10px;letter-spacing:2px;color:#ddceaa;pointer-events:none}.held .stick-label{opacity:0}.mobile-interact{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom));width:108px;height:64px;border-radius:24px;background:linear-gradient(140deg,#e2c881,#a98a49);border:2px solid #f3db9a;color:#1c302c;font-weight:bold;font-size:16px;touch-action:manipulation;box-shadow:0 6px 20px #0006;z-index:3}.mobile-tools{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(106px,calc(env(safe-area-inset-bottom) + 90px));display:flex;gap:6px;z-index:3}.mobile-tools button{min-height:44px;padding:8px 10px;background:#152c30e8;border:1px solid #a89160;color:#f3dfae;font-size:11px;border-radius:10px;touch-action:manipulation}.mobile-tools button[aria-pressed=true]{background:#4b5336}.rotate-tip{display:none}.mobile-portrait .rotate-tip{display:block;position:absolute;bottom:170px;left:50%;transform:translateX(-50%);font-size:11px;color:#efdba3;background:#152a2de8;padding:6px 10px;border-radius:20px;white-space:nowrap;pointer-events:none}
.mobile-play .native-hud{left:max(8px,env(safe-area-inset-left));top:max(6px,env(safe-area-inset-top));max-width:160px;padding:8px 10px;gap:3px}.mobile-play .native-brand{font-size:10px}.mobile-play .native-hud strong{font-size:12px}.mobile-play #native-save{display:none}.mobile-play .native-vitals{right:max(8px,env(safe-area-inset-right));top:max(6px,env(safe-area-inset-top));min-width:0;padding:7px 10px}.mobile-play .native-vitals>span{display:none}.mobile-play .heart-slots .health-heart{font-size:23px!important}.mobile-play .player-badge-bar{top:max(6px,env(safe-area-inset-top));max-width:calc(100% - 335px);padding:4px 8px;gap:5px;overflow-x:auto;overscroll-behavior:contain}.mobile-play .player-badge-slot{width:30px;min-width:30px;min-height:36px}.mobile-play .empty-badge-shield{width:25px;height:32px;font-size:12px}.mobile-play .player-badge-slot .boss-badge{width:30px}.mobile-play .player-badge-slot .boss-badge svg{width:26px;height:30px}.mobile-play .player-badge-slot .boss-badge>span{display:none}.mobile-play .native-boss-hud,.mobile-play.teacher-playtest .native-boss-hud{top:max(62px,calc(env(safe-area-inset-top) + 54px));bottom:auto;min-width:0;max-width:calc(100% - 150px);padding:7px 12px;gap:3px}.mobile-play .native-boss-hud strong{font-size:14px;line-height:1.3}.mobile-play .native-boss-hud small{font-size:9px}.mobile-play .playtest-toolbar{top:115px;left:max(6px,env(safe-area-inset-left));max-width:160px;padding:6px;gap:4px;font-size:10px}.mobile-play .playtest-toolbar strong,.mobile-play .playtest-toolbar label{display:none}.mobile-play .playtest-toolbar select{max-width:145px}.mobile-play .playtest-toolbar button{min-height:36px}.mobile-play .native-metrics{display:none}
/* Native keyboard reduces visualViewport. The question and answer panes each keep their own space. */
.native-question.mobile-panel{position:fixed;inset:auto;left:calc(var(--visible-left,0px) + env(safe-area-inset-left) + 6px);top:calc(var(--visible-top,0px) + env(safe-area-inset-top) + 4px);width:calc(var(--visible-width,100vw) - env(safe-area-inset-left) - env(safe-area-inset-right) - 12px);height:calc(var(--visible-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px);max-width:none;max-height:none;margin:0;overflow:hidden;border-radius:12px;box-sizing:border-box}
#native-question.mobile-panel form{height:100%;display:flex;flex-direction:column;min-height:0}#native-question.mobile-panel .native-register{padding:4px 12px;min-height:38px;font-size:10px;flex:none}#native-question.mobile-panel .native-register button{font-size:12px;min-height:32px;padding:4px 10px}#native-question.mobile-panel .panel-combat{position:static;padding:4px 12px;gap:12px;flex:none;font-size:11px;line-height:1.3}#native-question.mobile-panel .panel-hearts .health-heart{font-size:18px!important}#native-question.mobile-panel .native-question-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);gap:16px;padding:10px 14px;flex:1;min-height:0;overflow:hidden}#native-question.mobile-panel .question-reading{overflow:auto;overscroll-behavior:contain;padding-right:12px;border-right:1px solid #bda26a44;scrollbar-gutter:stable;touch-action:pan-y}#native-question.mobile-panel h1{font-size:20px;line-height:1.45;margin:5px 0 12px}#native-question.mobile-panel .question-reading p{font-size:13px;line-height:1.5}#native-question.mobile-panel .question-response{overflow:auto;overscroll-behavior:contain;padding:0 3px}#native-question.mobile-panel input:not([type]),#native-question.mobile-panel input[type=text]{font-size:18px;padding:10px;min-height:44px}#native-question.mobile-panel label{font-size:12px;margin:0 0 4px}#native-question.mobile-panel #native-feedback{min-height:0;margin:5px 0;font-size:12px}#native-question.mobile-panel #native-feedback:empty{display:none}#native-question.mobile-panel .gold{min-height:44px;padding:9px;margin-top:7px}#native-question.mobile-panel .eyebrow{font-size:9px}.native-computer.mobile-panel{overflow:auto}.native-computer.mobile-panel .native-question-body{padding:12px}.native-computer.mobile-panel .native-register{padding:8px 12px}.native-computer.mobile-panel .console-layout{grid-template-columns:120px minmax(0,1fr);gap:12px}.native-computer.mobile-panel .computer-apps{flex-direction:column}.native-computer.mobile-panel .computer-apps button{min-height:44px;padding:8px}.native-computer.mobile-panel [data-screen]{min-height:0}.native-computer.mobile-panel h1{margin:0 0 12px}.native-computer.mobile-panel input,.native-computer.mobile-panel textarea{font-size:16px}
@media(max-width:600px){.mobile-play .player-badge-bar{top:60px;max-width:calc(100% - 24px)}.mobile-play .native-boss-hud{top:108px;max-width:calc(100% - 24px)}.mobile-play .playtest-toolbar{top:165px}.mobile-play .native-hud{max-width:calc(100% - 165px)}#native-question.mobile-panel .native-question-body{grid-template-columns:1fr;grid-template-rows:minmax(70px,1fr) auto;gap:8px}#native-question.mobile-panel .question-reading{border-right:0;border-bottom:1px solid #bda26a44;padding-bottom:8px}#native-question.mobile-panel .question-response{max-height:170px}.native-computer.mobile-panel .console-layout{grid-template-columns:1fr}.native-computer.mobile-panel .computer-apps{flex-direction:row}.native-computer.mobile-panel .computer-apps button{font-size:11px}.mobile-play .mobile-tools{flex-direction:column;right:24px}.mobile-play .player-victory{padding:16px}.mobile-play .player-victory h1{font-size:30px}}
@media(max-height:480px){.player-victory.mobile-panel{max-height:95dvh;padding:14px}.player-victory.mobile-panel .finish-crown{font-size:32px}.player-victory.mobile-panel .finish-kicker{font-size:12px;margin:6px}.player-victory.mobile-panel h1{font-size:28px;margin:6px}.player-victory.mobile-panel .finish-medallion{font-size:36px;padding:6px 25px}.player-victory.mobile-panel .victory-place{margin:8px}.player-victory.mobile-panel .victory-badges{margin:8px;gap:6px}.player-victory.mobile-panel .victory-badges svg{width:35px;height:40px}.player-victory.mobile-panel .victory-badges .boss-badge{width:85px}}
@media(min-width:601px) and (max-height:280px){#native-question.mobile-panel .native-register{min-height:30px;padding:0 10px}#native-question.mobile-panel .panel-combat{padding:2px 10px}#native-question.mobile-panel .native-question-body{padding:7px 10px;gap:12px}#native-question.mobile-panel .question-response{display:grid;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto 1fr;align-content:start;align-items:end;gap:4px 8px}#native-question.mobile-panel #native-answers{grid-column:1;grid-row:1}#native-question.mobile-panel #native-submit{grid-column:2;grid-row:1;margin:0;white-space:normal;font-size:12px}#native-question.mobile-panel #native-feedback{grid-column:1/-1;grid-row:2;align-self:start}#native-question.mobile-panel h1{font-size:18px}}
/* visualViewport can shrink while the layout viewport stays tall on mobile Safari. */
.keyboard-open #native-question.mobile-panel .native-register{min-height:30px;padding:0 10px}.keyboard-open #native-question.mobile-panel .panel-combat{padding:2px 10px}
@media(min-width:601px){.keyboard-open #native-question.mobile-panel .question-response{display:grid;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto 1fr;align-content:start;align-items:end;gap:4px 8px}.keyboard-open #native-question.mobile-panel #native-answers{grid-column:1;grid-row:1}.keyboard-open #native-question.mobile-panel #native-submit{grid-column:2;grid-row:1;margin:0;white-space:normal;font-size:12px}.keyboard-open #native-question.mobile-panel #native-feedback{grid-column:1/-1;grid-row:2;align-self:start}}

.console-map-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px}.native-computer .console-map-tools button{min-height:44px;padding:8px 12px;white-space:nowrap}.native-computer .map-respawn-legend{color:#efbd65;font-size:12px;margin:8px 0}.native-computer canvas{overscroll-behavior:contain}
/* Compact mobile terminal: app tabs share one top row with Close. */
.native-computer.mobile-panel[open]{display:flex;flex-direction:column;overflow:hidden}.native-computer.mobile-panel .native-register{height:44px;min-height:44px;flex:none;padding:0 6px;justify-content:flex-end}.native-computer.mobile-panel .native-register>strong{display:none}.native-computer.mobile-panel .native-register [data-close]{height:40px;min-width:60px;padding:6px;font-size:11px}.native-computer.mobile-panel .native-question-body{flex:1;min-height:0;padding:4px;overflow:hidden}.native-computer.mobile-panel h1[data-name]{display:none}.native-computer.mobile-panel .console-layout{display:block;height:100%;min-height:0}.native-computer.mobile-panel .computer-apps{position:absolute;top:0;left:4px;right:78px;height:44px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;margin:0}.native-computer.mobile-panel .computer-apps button{flex:0 1 auto;min-height:40px;height:40px;padding:6px 12px;text-align:center;font-size:12px;white-space:nowrap}.native-computer.mobile-panel [data-screen]{height:100%;min-height:0;overflow:auto;padding:8px;border-radius:8px;box-sizing:border-box}.native-computer.mobile-panel[data-app=map] [data-screen]{position:relative;overflow:hidden;padding:0}.native-computer.mobile-panel[data-app=map] canvas{width:100%;height:100%;border:0;border-radius:8px}.native-computer.mobile-panel .console-map-tools{position:absolute;top:6px;left:8px;right:8px;z-index:1;pointer-events:none;font-size:11px}.native-computer.mobile-panel .console-map-tools>span{background:#10272bdc;padding:5px 8px;border-radius:8px;color:#d6dec9}.native-computer.mobile-panel .console-map-tools button{pointer-events:auto;min-height:40px;padding:6px 10px;background:#193336ee;font-size:11px}.native-computer.mobile-panel .map-respawn-legend{position:absolute;left:8px;bottom:6px;z-index:1;max-width:calc(100% - 16px);margin:0;padding:5px 8px;border-radius:8px;background:#10272bdc;pointer-events:none;font-size:11px}.native-computer.mobile-panel textarea{min-height:120px}
@media(orientation:landscape){.native-computer.mobile-panel[data-app=calculator] [data-screen]{display:grid;grid-template-columns:minmax(125px,1fr) minmax(0,3fr);grid-template-rows:32px minmax(0,1fr);gap:6px 12px;overflow:hidden;padding:6px}.native-computer.mobile-panel .calculator-expression{grid-column:1;grid-row:1;margin:0;min-height:0;font-size:13px;overflow:auto;white-space:nowrap;align-self:center}.native-computer.mobile-panel output{grid-column:1;grid-row:2;min-width:0;margin:0;padding:10px;display:flex;align-items:center;justify-content:flex-end;overflow:auto;font-size:clamp(22px,4vw,38px);overflow-wrap:anywhere}.native-computer.mobile-panel .calculator-keys{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:5px;min-height:0}.native-computer.mobile-panel .calculator-keys button{padding:0;min-height:0;font-size:18px;touch-action:manipulation}}
@media(max-width:450px){.native-computer.mobile-panel .computer-apps{right:66px;gap:1px}.native-computer.mobile-panel .computer-apps button{padding:5px 6px;font-size:10px}.native-computer.mobile-panel .native-register [data-close]{min-width:54px;font-size:10px}.native-computer.mobile-panel .console-map-tools>span{font-size:10px;padding:4px}.native-computer.mobile-panel .console-map-tools{left:4px;right:4px;gap:4px}}
.question-hints[hidden]{display:none}.question-hints{margin:12px 0}.question-hints summary,.native-computer [data-screen]>details>summary{cursor:pointer;padding:8px 0;color:#e3c57f;font-size:14px;min-height:36px}.player-hint{border-top:1px solid #a69c6b55;padding:8px 0}.player-hint p{white-space:pre-wrap}.player-hint img{display:block;max-width:100%;height:auto;max-height:65vh;object-fit:contain;background:#fff;border-radius:6px}.native-computer.mobile-panel .computer-apps button{min-width:0;overflow:hidden;text-overflow:ellipsis}
.player-hint .hint-image-open{display:block;width:100%;padding:0;background:transparent;border:1px solid #bba36866;border-radius:8px;overflow:hidden;cursor:zoom-in;color:#e4c57f}.native-computer .hint-image-open{padding:0;background:transparent}.hint-image-open>span{display:block;padding:6px;font-size:12px}.hint-image-open:focus-visible{outline:3px solid #f4d58c;outline-offset:3px}
.hint-image-viewer{position:fixed;left:var(--hint-left,0px);top:var(--hint-top,0px);width:var(--hint-width,100vw);height:var(--hint-height,100dvh);max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0a161c;color:#f4e7c6;overflow:hidden;box-sizing:border-box;overscroll-behavior:none}.hint-image-viewer[open]{display:flex;flex-direction:column}.hint-image-viewer::backdrop{background:#071116f5}.hint-image-viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px max(8px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left));padding-top:max(4px,env(safe-area-inset-top));background:#1b3033;flex:none;border-bottom:1px solid #b79d5a55}.hint-image-title{font:14px Arial,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hint-image-viewer nav{display:flex;align-items:center;gap:6px;flex:none}.hint-image-viewer button{min-width:44px;min-height:44px;padding:8px 12px;margin:0;background:#2b4544;border:1px solid #a28e5b77;border-radius:8px;color:#f1dfb3;font:14px Arial,sans-serif;touch-action:manipulation}.hint-image-viewer button:disabled{opacity:.35}.hint-image-viewer [data-level]{min-width:45px;text-align:center;font:12px Arial,sans-serif}.hint-image-stage{background:#efddb3 url("/art/hint-parchment.jpg") center / cover no-repeat;position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:-3px}.hint-image-stage:active{cursor:grabbing}.player-hint .hint-image-stage img,.hint-image-stage img{position:absolute;top:0;left:0;display:block;max-width:none;max-height:none;object-fit:fill;transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-select:none;border-radius:0;background:transparent}.hint-image-loading{position:absolute;top:40%;left:15px;right:15px;text-align:center;font-size:14px;color:#392d20}.hint-image-loading[hidden]{display:none}.hint-image-help{flex:none;text-align:center;margin:0;padding:4px 8px max(4px,env(safe-area-inset-bottom));color:#a7b9b0;font:11px Arial,sans-serif}.hint-image-viewer button:focus-visible{outline:2px solid #efce7f;outline-offset:2px}@media(max-width:600px){.hint-image-viewer header{gap:6px}.hint-image-title{font-size:11px}.hint-image-viewer nav{gap:3px}.hint-image-viewer button{padding:6px 8px}.hint-image-viewer [data-level]{min-width:38px;font-size:11px}}

.wall-hint-reader{box-sizing:border-box;width:min(760px,96vw);max-width:96vw;height:min(660px,94dvh);max-height:94dvh;padding:0;border:3px solid #b28c50;border-radius:12px;background:#233331;color:#f4e5bd;box-shadow:0 20px 90px #000b}.wall-hint-reader[open]{display:flex;flex-direction:column}.wall-hint-reader::backdrop{background:#071211b8}.wall-hint-reader>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex:none}.wall-hint-reader h2{font-size:18px;margin:0}.wall-hint-paper{overflow:auto;min-height:0;flex:1;padding:clamp(18px,4vw,40px);background:#f0dfb6;color:#392d20}.wall-hint-paper .player-hint{background:transparent;border:0;padding:0}.wall-hint-paper p{font:clamp(18px,2.5vw,23px)/1.65 Georgia,serif;white-space:pre-wrap}.wall-hint-paper .hint-image-open{width:100%;background:#e2cfa5;color:#392d20}.wall-hint-paper img{max-height:60dvh;object-fit:contain}@media(max-height:500px){.wall-hint-reader{width:96vw;height:96dvh;max-height:96dvh}.wall-hint-reader>header{padding:5px 14px}.wall-hint-paper{padding:14px 24px}}

.preview-target.hint{z-index:3;border-radius:2px}.preview-inspector [data-hint-preview] img{max-height:320px;object-fit:contain}

.native-canvas:focus-visible{outline:3px solid #e3be76;outline-offset:-4px}.student-playing{color-scheme:dark}.native-question :is(button,input,textarea,select):focus-visible,.wall-hint-reader button:focus-visible{outline:3px solid #f2ca7d;outline-offset:3px}.native-register button{min-height:32px;font-size:12px}.native-question,.wall-hint-reader,.hint-image-viewer{overscroll-behavior:contain}.native-hud,.native-vitals{font-variant-numeric:tabular-nums}.student-entry{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}@media(any-pointer:coarse){.native-register button{min-height:44px}.native-computer .computer-apps button{min-height:44px}}

/* Parchment is shared by text and image hints in every reading view. */
.hint-card,.player-hint,.wall-hint-paper{background:#efddb3 url("/art/hint-parchment.jpg") center / cover no-repeat;color:#392d20;color-scheme:light}
.player-hint{padding:14px;border:1px solid #987344;border-radius:8px;margin:8px 0}
.player-hint p{color:#392d20;overflow-wrap:anywhere}
.player-hint img{background:transparent}
.player-hint .hint-image-open{color:#392d20;border-color:#987344}
.wall-hint-paper .player-hint{margin:0;background:transparent}
.wall-hint-paper .hint-image-open{background:transparent}
.player-hint .hint-image-open:focus-visible{outline-color:#563d20}

/* Keep paper close to the hint, including when the image is zoomed or panned. */
.hint-card,.player-hint{box-sizing:border-box;width:fit-content;max-width:100%}
.player-hint{padding:12px}
.wall-hint-reader{width:fit-content;height:auto;max-width:min(760px,96vw);max-height:94dvh}
.wall-hint-reader>header{gap:20px}
.wall-hint-paper{flex:0 1 auto;padding:14px}
.wall-hint-paper p{margin:0}
.wall-hint-paper .player-hint{width:fit-content;max-width:100%;border-radius:0}
.hint-image-stage{background:#0a161c}
.hint-image-paper{position:absolute;left:0;top:0;box-sizing:border-box;padding:12px;background:#efddb3 url("/art/hint-parchment.jpg") center / cover no-repeat;transform-origin:0 0;pointer-events:none}
.hint-image-paper:has(img:not([style])){visibility:hidden}
.player-hint .hint-image-paper img,.hint-image-paper img{left:12px;top:12px}
.hint-image-loading{color:#eed9a7}
@media(max-height:500px){.wall-hint-reader{width:fit-content;height:auto;max-height:96dvh}.wall-hint-paper{padding:14px}}

.wall-hint-reader{inset-block:50% auto;margin-block:0;transform:translateY(-50%)}

/* Hint images are 15% transparent; paper uses padding without a border. */
.player-hint img,.hint-card img,.hint-image-stage img,[data-hint-preview] img{opacity:.85}
.hint-card,.player-hint,.wall-hint-reader,.player-hint .hint-image-open{border:0}
