@font-face{font-family:DOS;src:url('fonts/DotGothic16-Regular.ttf') format('truetype');font-display:swap}
:root{--bg:#000;--panel:#555;--panel2:#aaa;--line:#aaa;--mint:#5f5;--muted:#aaa;--text:#fff;--amber:#ff5;--font:DOS,monospace;color-scheme:dark}
body{background:#000;color:#fff;font:16px/1.5 DOS,monospace;-webkit-font-smoothing:none}button,input,a{font-family:DOS,monospace}button{border-radius:0!important}button:active{transform:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px dotted #ff5;outline-offset:2px}h1,h2,h3{font-weight:400}.shell{max-width:1280px;padding:12px 20px 14px;margin:auto}.masthead{height:57px;background:#000;border-bottom:1px solid #555;gap:14px}.brand{gap:10px}.brand canvas{width:32px;height:36px}.brand-kicker{font:10px DOS,monospace;color:#5f5;letter-spacing:1px}h1{font:24px/1.3 DOS,monospace;letter-spacing:2px;color:#fff}.brand-dot{display:none}.edition{display:none}.header-actions{gap:8px}.subtle,.circle,.version-link{background:#aaa;border:1px solid #fff;color:#000;box-shadow:inset -2px -2px #555,inset 2px 2px #fff;padding:7px 12px;min-height:44px;border-radius:0;font-size:14px}.circle{min-width:44px;font-size:22px}.subtle small{color:#000;font:12px DOS,monospace}.version-link{font-size:12px;white-space:nowrap}.stage-heading{padding:10px 0 9px;min-height:64px;background:#000;gap:10px}.level-intro{gap:16px}.level-number{font:32px DOS,monospace;letter-spacing:0;color:#5ff}.eyebrow{font:12px DOS,monospace;color:#aaa;letter-spacing:0}h2{font:22px/1.4 DOS,monospace;color:#ff5;letter-spacing:0}.level-intro .eyebrow{display:none}.level-intro p{font:12px DOS,monospace;color:#aaa;margin-top:3px}.level-goal{font:12px DOS,monospace;color:#aaa;letter-spacing:0}.level-goal strong{font:16px DOS,monospace;color:#5f5}.status-dot{border-radius:0;background:#5f5}.game-frame{border:1px solid #aaa;border-radius:0;box-shadow:none;background:#000}.hud{height:44px;background:#000;border-bottom:1px solid #555;padding:0 14px}.hud-stats{gap:28px}.hud-stats>span{font:14px DOS,monospace;color:#5ff;gap:8px}.hud strong{font:24px/1 DOS,monospace;color:#fff;letter-spacing:0}.hud #rescued{color:#5f5}.hud small{font:14px DOS,monospace;color:#aaa}.hud .clock{border:0;padding:0}.hud .clock strong{font-size:22px;color:#ff5}.transport{gap:5px}.transport button{width:44px;height:44px;background:#555;color:#fff;border:1px solid #aaa;box-shadow:inset -2px -2px #000,inset 1px 1px #fff;font:20px DOS,monospace}.transport button[aria-pressed=true]{background:#0000aa;color:#ff5}.transport button:hover{background:#0000aa}.viewport{height:clamp(320px,36vw,480px);background:#000}.viewport>canvas{image-rendering:pixelated;image-rendering:crisp-edges}.scene-label{font:10px DOS,monospace;letter-spacing:1px;color:#aaa;top:12px;left:12px}.zoom{top:7px;right:7px;background:#555;color:#fff;border:1px solid #aaa;min-height:44px;font-size:12px}.ready-panel{background:#000;border:2px solid #aaa;outline:2px solid #555;box-shadow:8px 8px #000;width:380px;padding:20px 24px;top:40%}.ready-panel .eyebrow{font:14px DOS,monospace;color:#5ff;letter-spacing:1px}.ready-panel h3{font:26px DOS,monospace;color:#ff5;margin:12px 0 14px}.ready-panel p{font:16px/1.7 DOS,monospace;color:#fff}.primary{color:#fff;background:#0000aa;border:1px solid #aaa;box-shadow:inset -2px -2px #000,inset 2px 2px #5555ff;font:18px DOS,monospace;min-height:48px;letter-spacing:0}.primary:hover{background:#5555ff;color:#fff}.ready-panel .primary{margin:18px 0 12px;justify-content:center;gap:20px}.ready-panel small{font:12px DOS,monospace;color:#aaa}.pause-label{font:12px DOS,monospace;background:#000;color:#ff5;border:1px solid #555;padding:4px 10px;border-radius:0;bottom:8px}.camera-bar{min-height:40px;background:#555;border-top:1px solid #aaa;padding:0 9px;gap:12px}.camera-bar canvas{height:30px;border:1px solid #aaa;background:#000}.map-label{font:12px DOS,monospace;color:#fff}.camera-actions{gap:7px;color:#fff}.camera-actions button{font:22px DOS,monospace;min-width:44px;min-height:40px;color:#fff}.drag-tip{font:12px DOS,monospace}.toolbox{margin-top:0;border:1px solid #aaa;border-top:0;border-radius:0;background:#555;padding:8px 10px 5px;box-shadow:none}.toolbox-title{margin-bottom:6px;color:#fff;font:14px DOS,monospace;gap:15px}.toolbox-title small{font:12px DOS,monospace;color:#fff}.permanent-note{font:12px DOS,monospace;color:#ff5}.skills{gap:5px;grid-template-columns:repeat(8,minmax(0,1fr))}.skill{min-height:86px;border:1px solid #fff;background:#aaa;color:#000;box-shadow:inset -3px -3px #555,inset 2px 2px #fff;grid-template-rows:35px 24px;padding:5px 3px}.skill.selected{background:#0000aa;color:#fff;border-color:#ff5;box-shadow:inset -2px -2px #000,inset 2px 2px #5555ff}.skill.empty{background:#555;color:#aaa;border-color:#aaa;box-shadow:inset -2px -2px #000,inset 1px 1px #aaa}.skill-name{font:14px DOS,monospace;line-height:1.4}.skill-icon{font:32px/1 DOS,monospace;color:#000;padding-left:10px}.skill.selected .skill-icon{color:#fff}.skill.empty .skill-icon{color:#aaa}.skill-key{font:12px DOS,monospace;color:#000;left:6px;top:2px}.skill.selected .skill-key{color:#5ff}.skill.empty .skill-key{color:#aaa}.count{font:26px/1 DOS,monospace;color:#000;padding-right:8px}.skill.selected .count{color:#ff5}.skill.empty .count,.skill.unavailable .count{color:#aaa}.tool-info{font:14px DOS,monospace;color:#fff;min-height:29px;padding-top:6px}.selection-tip{color:#ff5}.game-footer{margin-top:3px}.text-button{font:14px DOS,monospace;color:#5ff}.footer-note{font:12px DOS,monospace;color:#aaa}.hint{border:1px solid #aaa;background:#0000aa;color:#fff;font:16px DOS,monospace;border-radius:0;padding:12px}.message{font:14px DOS,monospace;color:#5f5;min-height:28px;padding:4px 0}.message.error{color:#f55}.bottom-note{font:11px DOS,monospace;color:#aaa;letter-spacing:0;border-top:1px solid #555;padding-top:8px}.bottom-note span:last-child{font:11px DOS,monospace}.target-picker{background:#0000aa;border-color:#aaa;border-radius:0;font-size:16px}.target-picker button{background:#aaa;color:#000;border-color:#fff;font-size:14px}.target-picker #target-close{color:#fff}.target-picker button:hover{background:#fff}dialog{background:#0000aa;border:2px solid #aaa;outline:2px solid #555;border-radius:0;box-shadow:10px 10px #000;padding:22px 24px;font:16px DOS,monospace}dialog::backdrop{background:#000c;backdrop-filter:none}dialog>p{font:16px/1.7 DOS,monospace;color:#fff}dialog h2{color:#ff5}.dialog-header .eyebrow{color:#5ff}.level-grid{gap:10px}.level-card{background:#555;border:1px solid #aaa;color:#fff;border-radius:0}.level-card.current{border-color:#ff5}.level-card canvas{background:#000;height:64px}.level-card .level-card-body{padding:8px 10px;gap:10px}.level-card b{font:24px DOS,monospace;color:#5ff}.level-card strong{font:14px DOS,monospace;color:#fff}.level-card small{font:12px DOS,monospace;color:#aaa}.level-card .check{color:#5f5}.help-skills>div{background:#000;border:1px solid #aaa;border-radius:0}.help-skills b{font:16px DOS,monospace;color:#ff5}.help-skills span{font:14px/1.6 DOS,monospace;color:#fff}.keyboard-guide{font:14px DOS,monospace}kbd{border-radius:0;background:#aaa;color:#000;font:14px DOS,monospace}.volume-label{font-size:16px}.result-mark{color:#5f5}.result-stats strong{font:42px DOS,monospace;color:#ff5}.result-stats span{font:14px DOS,monospace;color:#fff}#result-title{font-size:24px}#result-kicker{font:12px DOS,monospace;color:#5ff}#audio-status{font:14px DOS,monospace;color:#fff}
@media(hover:hover){.skill:hover{border-color:#ff5}.level-card:hover{background:#0000aa}.subtle:hover,.circle:hover,.version-link:hover{background:#fff;color:#000}}
@media(max-width:1000px){.shell{padding:10px 14px}.masthead{height:56px}.viewport{height:380px}.stage-heading{padding:9px 0}.hud-stats{gap:15px}.skill-name{font-size:12px}.count{font-size:24px}.header-actions{gap:5px}.brand-kicker{font-size:9px}h1{font-size:22px}.edition{display:none}}
@media(max-width:650px){.shell{padding:6px 8px 10px}.masthead{height:auto;min-height:84px;display:grid;grid-template-columns:1fr auto;gap:6px}.brand canvas{width:26px;height:30px}.brand-kicker{display:none}h1{font-size:20px;letter-spacing:0}.header-actions{display:contents}.header-actions #stage-open{grid-column:1;grid-row:2;justify-self:start;min-width:120px;font-size:14px}.header-actions #help-open{grid-column:2;grid-row:2;justify-self:start;min-width:44px}.header-actions #sound-open{grid-column:2;grid-row:2;justify-self:end;min-width:44px}.version-link{grid-column:2;grid-row:1;font-size:12px;padding:8px 7px;min-height:40px}.header-actions .circle{min-width:44px;font-size:20px}.header-actions .subtle small{display:inline}.stage-heading{min-height:60px;padding:7px 0}.level-intro{gap:10px}.level-number{font-size:28px}h2{font-size:18px}.level-intro p{font-size:12px}.level-goal{display:none}.hud{height:46px;padding:0 5px}.hud-stats{gap:9px}.hud-stats>span{font-size:12px;gap:3px}.hud strong{font-size:20px}.hud small{font-size:12px}.hud .clock strong{font-size:18px}.transport{gap:2px}.transport button{font-size:18px;min-width:36px;width:36px;height:44px}.viewport{height:310px}.scene-label{font-size:9px;left:8px}.zoom{font-size:12px;padding:4px 8px;min-height:40px}.ready-panel{width:calc(100% - 30px);padding:17px 15px;top:42%}.ready-panel h3{font-size:23px}.ready-panel p{font-size:16px}.ready-panel .eyebrow{font-size:12px}.ready-panel .primary{font-size:16px;margin:14px 0 10px}.ready-panel small{font-size:12px}.camera-bar{min-height:44px;gap:7px;padding:0 5px}.camera-bar canvas{width:54%;height:30px}.camera-actions{gap:0}.drag-tip{font-size:10px}.camera-actions button{min-width:36px;width:36px;font-size:20px}.toolbox{padding:6px 6px 3px}.toolbox-title{font-size:12px;margin-bottom:5px}.toolbox-title small{display:none}.permanent-note{font-size:10px}.skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.skill{min-height:67px;grid-template-rows:27px 21px;padding:4px 2px}.skill-name{font-size:12px}.skill-icon{font-size:27px;padding-left:10px}.count{font-size:24px;padding-right:8px}.skill-key{font-size:10px}.tool-info{font-size:12px;min-height:37px;line-height:1.6;padding-top:5px}.text-button{font-size:14px}.footer-note{display:none}.game-footer>div{gap:0}.message{font-size:12px}.bottom-note{font-size:10px;gap:8px}.bottom-note span:last-child{font-size:10px}.pause-label{font-size:10px}dialog{padding:17px 13px}dialog>p{font-size:14px}.level-card b{font-size:20px}.level-card strong{font-size:12px}.level-card small{font-size:10px}.level-card .level-card-body{padding:6px;gap:6px}.level-card canvas{height:54px}.help-skills b{font-size:14px}.help-skills span{font-size:12px}.target-picker{font-size:14px}.target-picker button{font-size:12px}}
@media(max-width:350px){h1{font-size:18px}.brand{gap:5px}.brand canvas{width:23px}.level-intro p{font-size:11px}.hud-stats{gap:5px}.hud-stats>span{font-size:10px}.hud strong{font-size:18px}.hud small{font-size:11px}.hud .clock strong{font-size:16px}.transport button{width:34px;min-width:34px}.viewport{height:295px}.ready-panel h3{font-size:20px}.ready-panel p{font-size:14px}.skill-name{font-size:11px}.tool-info{font-size:11px}.bottom-note span:last-child{display:none}}
@media(max-height:500px) and (min-width:651px){.masthead{height:48px}.stage-heading{min-height:52px}.viewport{height:300px}}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:none}}

canvas.skill-icon{image-rendering:pixelated;width:30px;height:38px;justify-self:center;padding:0;align-self:center}@media(max-width:650px){canvas.skill-icon{width:26px;height:34px}.skill{grid-template-rows:31px 21px;min-height:71px}}
