*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#bfe6f5;height:100%;margin:0;font-family:system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#hint{top:max(20px, env(safe-area-inset-top));color:#2c4a57;width:max-content;max-width:calc(100vw - 32px);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;z-index:4;background:#ffffffd9;border:0;border-radius:18px;padding:8px 16px;font-size:13.5px;line-height:1.5;position:fixed;left:50%;transform:translate(-50%)}#hint b{color:#d9503f;margin-left:6px}#hint b:first-child{margin-left:0}#hint[aria-expanded=true] .hint-title,#hint[aria-expanded=false] .hint-body{display:none}.hint-title{font-size:13px;font-weight:600}.hint-touch,#touch-controls{display:none}body.mouse-control #game{cursor:crosshair}#toast{top:max(116px, calc(env(safe-area-inset-top) + 100px));color:#fff;text-align:center;pointer-events:none;opacity:0;z-index:6;background:#2c4a57e0;border-radius:18px;width:max-content;max-width:calc(100vw - 32px);padding:10px 18px;font-size:15px;transition:opacity .25s;position:fixed;left:50%;transform:translate(-50%)}@media (width>=900px){#toast{top:max(72px, calc(env(safe-area-inset-top) + 56px))}}#toast.visible{opacity:1}body.touch .hint-keyboard{display:none}body.touch .hint-touch{display:inline}body.touch #touch-controls{display:block}#stick{left:max(24px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));touch-action:none;background:#ffffff40;border:2px solid #ffffffb3;border-radius:50%;width:140px;height:140px;position:fixed}#stick-knob{pointer-events:none;background:#ffffffe6;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #0003}#throttle{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));color:#fff;touch-action:none;background:#ffffff40;border:2px solid #ffffffb3;border-radius:22px;flex-direction:column;justify-content:space-between;align-items:center;width:68px;height:140px;padding:6px 0;display:flex;position:fixed}.throttle-label{text-shadow:0 1px 2px #00000073;pointer-events:none;font-size:11px;font-weight:600}#throttle-track{pointer-events:none;background:#29404a73;border-radius:5px;flex:1;width:10px;margin:12px 0;position:relative}#throttle-fill{background:#ffc93c;border-radius:5px;position:absolute;left:0;right:0}.throttle-detent{background:#ffffffd9;height:2px;position:absolute;top:50%;left:-8px;right:-8px}#throttle-handle{background:repeating-linear-gradient(0deg,#fff 0 3px,#dfe7ea 3px 6px);border-radius:9px;width:46px;height:22px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000004d}#throttle.active #throttle-handle{background:repeating-linear-gradient(0deg,#ffe08a 0 3px,#ffc93c 3px 6px)}.rudder{bottom:max(172px, calc(env(safe-area-inset-bottom) + 172px));color:#fff;width:48px;height:48px;font:inherit;text-shadow:0 1px 2px #00000073;touch-action:none;background:#ffffff4d;border:2px solid #ffffffb3;border-radius:50%;font-size:18px;line-height:1;position:fixed}.rudder.active,#shots button.active{background:#ffc93c}#btn-rudder-left{left:max(24px, env(safe-area-inset-left))}#btn-rudder-right{right:max(24px, env(safe-area-inset-right))}:root{--shot:max(40px, min(52px, calc((100vw - 278px) / 2)))}#shots{right:max(100px, calc(env(safe-area-inset-right) + 76px));bottom:max(24px, env(safe-area-inset-bottom));width:calc(var(--shot) * 2 + 6px);flex-wrap:wrap-reverse;justify-content:flex-end;gap:6px;display:flex;position:fixed}#weapon-bar{right:max(12px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:5;gap:6px;display:flex;position:fixed}#weapon-bar button{color:#29404a;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;background:#ffffffc7;border:0;border-radius:17px;padding:0 12px;font-size:13px}#weapon-bar button[aria-pressed=true]{color:#fff;background:#29404a}.weapon-key{color:#fff;text-shadow:0 1px 3px #0009;align-self:center;font-size:13px;font-weight:700}body.touch #weapon-bar{right:max(100px, calc(env(safe-area-inset-right) + 76px));bottom:calc(max(24px, env(safe-area-inset-bottom)) + var(--shot) * 2 + 12px)}body.touch #weapon-bar button{border-radius:18px;min-width:36px;min-height:36px;padding:0;font-size:18px}body.touch #weapon-bar .weapon-name,body.touch #aircraft-list .gear{display:none}#btn-gear{color:#fff;font:inherit;text-shadow:0 1px 2px #00000080;font-weight:700;font-size:12px!important}#shots button[hidden]{display:none}#shots button{width:var(--shot);height:var(--shot);touch-action:none;background:#ffffff4d;border:2px solid #ffffffb3;border-radius:50%;padding:0;font-size:24px;line-height:1}#course-chip{color:#fff;white-space:nowrap;background:#2c4a57d9;border-radius:14px;padding:5px 12px;font-size:13px;font-weight:600}#course-chip[hidden],#menu button[hidden]{display:none}#instruments{--dial:92px;left:50%;bottom:max(16px, env(safe-area-inset-bottom));pointer-events:none;z-index:3;gap:10px;display:flex;position:fixed;transform:translate(-50%)}#instruments svg{width:var(--dial);height:var(--dial);filter:drop-shadow(0 2px 5px #2c4a574d);display:block}@media (orientation:portrait){body.touch #instruments{--dial:min(72px, calc((100vw - 168px) / 3));bottom:max(176px, calc(env(safe-area-inset-bottom) + 176px));gap:6px}}#aircraft-bar{left:max(12px, env(safe-area-inset-left));top:max(72px, calc(env(safe-area-inset-top) + 56px));z-index:5;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed}#aircraft-list{flex-direction:column;align-items:stretch;gap:6px;display:flex}#aircraft-list[hidden],body.touch .key-number{display:none}#aircraft-bar button{color:#29404a;min-height:34px;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:#ffffffc7;border:0;border-radius:17px;padding:0 12px;font-size:13px}#aircraft-bar button[aria-pressed=true]{color:#fff;background:#29404a}#aircraft-bar button.gear{color:#fff;background:#29404ab8;margin-top:6px}#aircraft-bar button.gear[hidden]{display:none}#hud{right:max(12px, env(safe-area-inset-right));top:max(72px, calc(env(safe-area-inset-top) + 56px));z-index:5;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}#progress{cursor:pointer;touch-action:manipulation;transform-origin:100%;background:#ffffffd9;border:0;border-radius:19px;align-items:center;gap:1px;min-height:38px;padding:0 12px;transition:transform .2s,background .2s;display:flex}#progress svg{fill:#c9d3d6;width:14px;height:14px}#progress svg.found{fill:#e0a100}#progress svg.new{animation:.7s ease-out feather-pop}#progress.pulse{background:#fff1c2;transform:scale(1.1)}@keyframes feather-pop{40%{fill:#ffc93c;transform:scale(2.1)rotate(-14deg)}}#collect-glow{opacity:0;pointer-events:none;z-index:2;position:fixed;inset:0;box-shadow:inset 0 0 110px 26px #ffc93cbf}#celebration{pointer-events:none;z-index:8;position:fixed;inset:0;overflow:hidden}#celebration svg{fill:#ffc93c;stroke:#b97a00;stroke-width:.6px;width:26px;height:26px;animation:3s ease-in both feather-fall;position:absolute;top:-40px}@keyframes feather-fall{to{transform:translate(var(--sway), calc(100vh + 80px)) rotate(420deg)}}@media (prefers-reduced-motion:reduce){#celebration{display:none}}#menu{color:#29404a;background:#ffffffeb;border-radius:16px;flex-direction:column;gap:8px;width:220px;max-width:calc(100vw - 24px);padding:12px;font-size:14px;display:flex}#menu[hidden]{display:none}#menu p{margin:0 0 4px;line-height:1.4}#menu p#menu-privacy{color:#5d727b;margin:2px 0 0;font-size:11px;line-height:1.35}#menu-channels{gap:2px 10px;display:grid}#menu-channels label{touch-action:none;align-items:center;gap:8px;min-height:28px;display:flex}#menu-channels span{flex:none;width:44px;font-size:13px}#menu-channels input{accent-color:#d99a00;cursor:pointer;touch-action:none;flex:1;min-width:0;height:20px;margin:0}#menu button,#complete button{color:#29404a;min-height:38px;font:inherit;cursor:pointer;touch-action:manipulation;background:#e7eef1;border:0;border-radius:12px;padding:6px 12px;font-size:14px}#menu button[data-armed=true],#complete button[data-armed=true]{color:#fff;background:#d9503f}@media (height<=560px){#aircraft-bar,#hud{top:max(12px, env(safe-area-inset-top))}#aircraft-bar{gap:4px}#aircraft-list{grid-template-columns:auto auto;gap:4px;display:grid}#aircraft-bar button{min-height:32px}#aircraft-bar button.gear{margin-top:0}#complete{top:max(8px, env(safe-area-inset-top));padding:10px 14px 12px}#complete h1{margin-bottom:2px;font-size:18px}#complete p{margin-bottom:6px}.complete-actions{flex-direction:row}.complete-actions button{flex:1}#hint{top:max(8px, env(safe-area-inset-top));max-width:46vw;padding:6px 12px;font-size:13px}#toast{top:max(64px, calc(env(safe-area-inset-top) + 56px));padding:7px 14px;font-size:14px}#instruments{--dial:68px;bottom:max(8px, env(safe-area-inset-bottom));gap:6px}#shots{width:var(--shot);--shot:46px;flex-flow:column}body.touch #weapon-bar{bottom:calc(max(24px, env(safe-area-inset-bottom)) + 46px * 3 + 18px)}#menu{flex-flow:wrap;gap:5px;width:280px;padding:10px;position:absolute;top:46px;right:100px}#menu>*{flex:100%}#menu>#menu-invert,#menu>#menu-language,#menu>#menu-course,#menu>#menu-reset{flex:calc(50% - 3px);min-width:0}#menu p{margin:0;font-size:13px}#menu-channels{grid-template-columns:1fr 1fr}#menu-channels label{gap:4px;min-height:24px}#menu button{min-height:30px;padding:3px 12px}}#complete{top:max(116px, calc(env(safe-area-inset-top) + 100px));color:#29404a;text-align:center;z-index:10;background:#fffdf5f5;border-radius:22px;width:min(320px,100vw - 32px);padding:18px 18px 16px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #2c4a5740}#complete[hidden]{display:none}#complete h1{color:#a66f00;margin:0 0 8px;font-size:23px}#complete p{margin:0 0 12px;font-size:15px}.complete-actions{flex-direction:column;gap:8px;display:flex}#complete #complete-continue{color:#4d3300;background:#ffc93c;font-weight:700}
