:root{color-scheme:light;--blue:#0000aa;--cyan:#55ffff;--safe-top:0px;--safe-bottom:0px}
*{box-sizing:border-box}html{height:100%;background:#000066;overflow:hidden}body{height:100%;margin:0;padding:max(2px,var(--safe-top),env(safe-area-inset-top)) max(2px,env(safe-area-inset-right)) max(2px,var(--safe-bottom),env(safe-area-inset-bottom)) max(2px,env(safe-area-inset-left));color:#000;font-family:'Courier New',Consolas,monospace;font-size:16px;line-height:1.12;display:flex;align-items:stretch;justify-content:center;overflow:hidden;-webkit-font-smoothing:none;text-rendering:geometricPrecision}button,input{font:inherit}button{cursor:pointer;border:2px solid;border-color:#fff #333 #333 #fff;border-radius:0;background:#aaa;color:#000;padding:4px 8px;min-height:30px;box-shadow:1px 1px 0 #000;touch-action:manipulation}button:hover:not(:disabled){background:#ddd}button:active:not(:disabled){border-color:#333 #fff #fff #333;transform:translate(1px,1px);box-shadow:none}button:disabled{cursor:default;color:#666;background:#aaa;box-shadow:none}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #ff55ff;outline-offset:2px}.primary{background:#ffff55;color:#000;border-color:#ffffc0 #886600 #886600 #ffffc0}.primary:hover:not(:disabled){background:#ffffaa}input{min-width:0;border:2px solid;border-color:#333 #fff #fff #333;background:#fff;color:#000;padding:5px 7px;min-height:34px}[hidden]{display:none!important}
.game-shell{width:min(100%,1180px);height:100%;margin:0 auto;background:#aaa;border:2px solid #55ffff;box-shadow:2px 2px 0 #000;display:flex;flex-direction:column;overflow:hidden}.menu-bar{display:flex;align-items:center;gap:4px;background:#0000aa;color:#fff;padding:2px 5px;border-bottom:1px solid #000;flex:0 0 auto}.menu-bar h1{font-size:16px;line-height:1;font-weight:400;margin:0;flex:1;white-space:nowrap}.menu-bar h1 span{color:#55ffff;font-size:15px}.menu-bar button{font-size:13px;padding:1px 7px;min-height:25px}.alpha{font-size:12px;color:#ffff55;white-space:nowrap;margin:0 3px}.stage-wrap{position:relative;background:#000;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:1px}.stage-wrap canvas{display:block;width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}#loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;background:#0000aa;color:#fff;padding:20px;font-size:20px}
.start-panel{padding:8px;border-top:1px solid #000;flex:0 0 auto}.start-panel form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.start-panel input{flex:1;max-width:240px}.start-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.start-meta span{margin-left:auto;font-size:14px;color:#222}.start-meta button{font-size:15px}
#play-panel{display:grid;grid-template-columns:minmax(0,1fr) 168px;grid-template-areas:'meta meta' 'question actions' 'status actions' 'choice actions' 'letters letters' 'result result';gap:1px 5px;align-content:start;padding-bottom:1px;flex:0 0 auto;min-height:0;overflow:hidden}.round-meta{grid-area:meta;display:flex;justify-content:space-between;gap:8px;background:#0000aa;color:#55ffff;padding:2px 8px;font-size:13px}.round-meta span:last-child{color:#fff;white-space:nowrap}.question{grid-area:question;font-family:'Courier New',Consolas,monospace;font-size:21px;line-height:1.05;font-weight:700;margin:3px 7px 2px;color:#000;min-height:2.1em}.word,.scoreboard{display:none!important}.host-line{grid-area:status;margin:0 7px 2px;padding:3px 6px;background:#fff;border:2px solid #000;min-height:25px;font-size:15px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{grid-area:actions;display:grid;align-content:start;gap:4px;padding:2px 5px 0 0}.actions button{min-width:0;width:100%;font-size:15px;min-height:29px;padding:2px 5px}.letters{grid-area:letters;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px;padding:0 7px 3px}.letters button{padding:1px 0;min-width:0;min-height:24px;font-size:17px;background:#55ffff;border-color:#cfffff #006666 #006666 #cfffff}.letters button:disabled{color:#656565;background:#999;border-color:#777;box-shadow:none}.letters button.correct{background:#008800;color:#fff;border-color:#005500}.letters button.missed{background:#999;color:#555}.choice{grid-area:choice;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px;padding:0 7px 2px}.box-btn{min-width:92px;display:grid;justify-items:center;gap:2px}.box-btn img{image-rendering:pixelated;width:45px;height:36px}.result{grid-area:result;padding:2px 7px 3px;text-align:center;max-height:12dvh;overflow:auto}.result h2{font-weight:400;font-size:18px;margin:0 0 3px}.result p{margin:2px 0 4px}.result a{color:#0000aa;font-size:13px}.result button{margin-top:3px}.result .answer-reveal{font-size:20px;letter-spacing:1px}footer{display:flex;justify-content:space-between;gap:8px;padding:2px 7px;border-top:1px solid #555;font-size:9px;color:#222;flex:0 0 auto}#play-panel:not([hidden])~footer{display:none}
dialog{width:min(680px,calc(100vw - 26px));max-height:85dvh;overflow:auto;border:3px double #fff;border-radius:0;background:#aaa;color:#000;padding:14px;box-shadow:6px 6px 0 #000;font-family:'Courier New',Consolas,monospace;font-size:18px}dialog::backdrop{background:#0009}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#0000aa;color:#fff;margin:-10px -10px 12px;padding:3px 7px}.dialog-head h2{font-size:22px;font-weight:400;margin:0}.dialog-head button{min-height:28px;padding:0 7px;font-size:22px}dialog p,dialog li{font-family:'Courier New',Consolas,monospace;font-size:16px;line-height:1.35}dialog li{margin-bottom:7px}.topic-buttons{display:flex;gap:8px;margin-bottom:9px}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px}.topic-list label{display:flex;align-items:center;gap:7px;min-height:36px;font-size:16px;line-height:1.1;cursor:pointer}.topic-list input{min-height:0;width:18px;height:18px;accent-color:#0000aa;flex:none}#topics-done{width:100%}#solve-form>input{display:block;width:100%;margin:6px 0 12px}#solve-form>.primary{width:100%}
@media(max-width:900px){body{padding:1px 1px max(1px,var(--safe-bottom),env(safe-area-inset-bottom));padding-top:max(1px,var(--safe-top),env(safe-area-inset-top));font-size:15px}.game-shell{width:100%;box-shadow:none}.menu-bar{padding:2px 4px}.menu-bar h1{font-size:15px}.menu-bar h1 span{font-size:14px}.alpha{font-size:11px}.menu-bar button{font-size:12px;min-height:25px;padding:1px 6px}.stage-wrap{padding:1px;min-height:0}#play-panel{grid-template-columns:minmax(0,1fr) 145px;grid-template-areas:'meta meta' 'question actions' 'status actions' 'choice actions' 'letters letters' 'result result';gap:1px 3px}.round-meta{padding:2px 5px;font-size:12px}.question{font-size:18px;line-height:1.03;margin:2px 5px 1px;min-height:0}.host-line{font-size:13px;padding:2px 5px;margin:0 5px 1px;min-height:22px}.actions{padding:1px 4px 0 0;gap:3px}.actions button{font-size:13px;min-height:25px;padding:1px 4px}.letters{grid-template-columns:repeat(16,minmax(0,1fr));padding:0 5px 3px;gap:2px}.letters button{min-height:21px;font-size:15px}.choice{gap:4px;padding:0 5px 2px}.choice button{font-size:12px}.result{max-height:15dvh;padding:1px 5px 3px}.result h2{font-size:17px}.topic-list{grid-template-columns:1fr}.keyboard-hint{display:none}footer{display:none}}
@media(orientation:landscape) and (max-height:620px){.menu-bar{padding:1px 3px}.menu-bar h1{font-size:13px}.menu-bar h1 span{font-size:12px}.menu-bar button{font-size:11px;min-height:22px}.alpha{font-size:9px}.stage-wrap{flex:1 1 auto}.round-meta{font-size:11px;padding:1px 4px}.question{font-size:17px;line-height:1.02;margin:1px 4px}.host-line{font-size:12px;min-height:20px;padding:2px 4px;margin:0 4px}.actions button{font-size:12px;min-height:22px}.letters button{min-height:19px;font-size:14px}.result{max-height:10dvh}.result h2{font-size:15px}.result .answer-reveal{font-size:16px}}
@media(orientation:portrait){#rotate-hint{display:grid}.game-shell{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
#rotate-hint{display:none;position:fixed;inset:0;z-index:9999;background:#000066;color:#fff;place-items:center;text-align:center;padding:24px}#rotate-hint>div{border:3px double #55ffff;background:#0000aa;padding:20px 16px;box-shadow:5px 5px 0 #000}#rotate-hint b{display:block;color:#ffff55;font-size:25px;font-weight:400;margin-bottom:8px}#rotate-hint span{display:block;font-family:'Courier New',Consolas,monospace;font-size:16px}
