*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#030716;color:#eef6ff;font-family:Tahoma,"Noto Sans Thai",monospace;overflow-x:hidden}body{background:radial-gradient(circle at 50% 0,#12336a 0,#060b20 38%,#02040c 100%)}.app{width:min(1180px,100%);margin:auto;padding:10px}.brand{text-align:center;font-weight:900;letter-spacing:.06em;color:#7dfcff;text-shadow:0 0 16px #00d9ff;font-size:clamp(20px,4vw,36px);padding:12px}.brand small{display:block;color:#ffe36d;font-size:clamp(12px,2vw,16px);margin-top:6px}.panel,.question-box,.hud,.result-card{background:linear-gradient(180deg,rgba(10,30,70,.94),rgba(4,10,28,.96));border:2px solid #26d9ff;border-radius:18px;box-shadow:0 0 22px rgba(0,207,255,.28)}.start-panel{max-width:760px;margin:18px auto;padding:24px;text-align:center}.start-panel h1{color:#ffe36d;margin:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;text-align:left}.form-grid label{font-weight:700;color:#bdefff}.form-grid input{width:100%;margin-top:5px;padding:12px;border-radius:10px;border:1px solid #39cfff;background:#07152e;color:white;font-size:16px}.primary,button{cursor:pointer;border:0;border-radius:12px;font-weight:900;padding:12px 18px;background:#182f59;color:white}.primary{background:linear-gradient(#ffe55c,#ff9d00);color:#14204a;box-shadow:0 5px 0 #aa5800}.form-grid .primary{grid-column:1/-1;font-size:18px}.howto{margin-top:18px;color:#aad2ee;line-height:1.7}.hidden{display:none!important}.hud{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:8px;margin-bottom:8px}.hud>div{background:#081733;border:1px solid #1c7aa6;border-radius:10px;padding:6px;text-align:center;min-width:0}.hud span{display:block;color:#8bdfff;font-size:11px}.hud b{font-size:16px;color:#fff}.hud .sound{padding:6px;font-size:20px}.progress{height:8px;background:#10172c;border-radius:8px;overflow:hidden;margin:6px 2px}.progress div{height:100%;width:0;background:linear-gradient(90deg,#00e2ff,#ffe14d)}.question-box{padding:12px 16px;margin-bottom:8px}.question-box h2{font-size:clamp(16px,2.2vw,23px);margin:0 0 9px;color:#fff}.choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.choice{padding:8px 10px;background:#0b2147;border:1px solid #276a9d;border-radius:9px;color:#dceeff;font-size:clamp(13px,1.6vw,17px)}.choice b{color:#ffe455}.canvas-wrap{position:relative;border:2px solid #13bce9;border-radius:16px;overflow:hidden;background:#020715;box-shadow:inset 0 0 28px #061e57}canvas{display:block;width:100%;height:min(45dvh,520px);touch-action:none;image-rendering:pixelated}.message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:rgba(0,4,18,.72);font-size:clamp(22px,5vw,44px);font-weight:900;color:#ffe75a;text-shadow:0 0 16px #ff8500;padding:20px}.mobile-controls{display:none;grid-template-columns:1fr 1.2fr 1fr;gap:12px;padding:10px max(8px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.mobile-controls button{font-size:22px;background:linear-gradient(#1e6bc7,#0c2c66);border:2px solid #48d9ff;box-shadow:0 4px 0 #061a42}.mobile-controls #fireBtn{background:linear-gradient(#ffda36,#ff6d00);color:#1d1832;border-color:#fff08a}.modal{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:12px}.result-card{max-width:650px;width:100%;padding:22px;text-align:center}.result-card h2{color:#ffe55a;font-size:32px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.result-grid div{background:#091c3c;padding:10px;border-radius:9px}.capture{background:#5a1900;border:1px solid #ff9e42;padding:10px;border-radius:9px;color:#fff4ae;font-weight:700}.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}@media(max-width:720px){.app{padding:5px}.form-grid{grid-template-columns:1fr}.hud{grid-template-columns:repeat(3,1fr)}.hud .sound{grid-column:span 1}.choices{grid-template-columns:1fr}.question-box{padding:9px}.choice{padding:6px 8px}.mobile-controls{display:grid}canvas{height:38dvh;min-height:250px}.brand{padding:7px}.start-panel{padding:15px;margin:8px auto}}@media print{body{background:white;color:black}.app,.modal:before{display:none}.modal{position:static;background:white}.result-card{box-shadow:none;border:1px solid #333;color:black}.result-actions{display:none}}
