:root{--albero:#e3b04b;--almagra:#a3452f;--cal:#f6f3ea;--ink:#1b1a17;--glass:#1214188c;--glass-strong:#121418c7;--hud:#f4efe3;--hud-dim:#f4efe399;--warn:#ff5a3c;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--cal);background:#0d0f12;margin:0;overflow:hidden}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{z-index:10;justify-content:safe center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}#loading{background:radial-gradient(at 50% 30%,#3a2a1a 0%,#0d0f12 70%)}#menu{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#0a0a0c59,#0a0a0cbf)}.loading-card,.menu-card{background:var(--glass-strong);border:1px solid #e3b04b40;border-radius:18px;width:min(1040px,94vw);padding:34px 40px;box-shadow:0 30px 80px #00000080}.loading-card{text-align:center;width:min(640px,92vw)}.menu-card.small{text-align:center;flex-direction:column;gap:12px;width:340px;display:flex}h1{letter-spacing:.5px;margin:0 0 6px;font-size:44px;font-weight:800}h1 span{color:var(--albero)}h2{text-transform:uppercase;letter-spacing:1.6px;color:var(--albero);margin:14px 0 8px;font-size:13px;font-weight:700}.tag{color:#f6f3eacc;margin:0 0 18px}.bar{background:#ffffff1f;border-radius:3px;height:6px;margin:22px 0 10px;overflow:hidden}#loading-bar{background:linear-gradient(90deg, var(--almagra), var(--albero));width:0%;height:100%;transition:width .25s}#loading-text{color:#f6f3eab3;min-height:18px;font-size:13px}.menu-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.options{flex-direction:column;gap:6px;display:flex}button{font:inherit;color:var(--cal);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9px;padding:9px 12px;font-size:14px;transition:background .15s,border-color .15s}button:hover{background:#ffffff1f}button.active{border-color:var(--albero);background:#e3b04b33}.options button.unused{opacity:.4}button.primary{text-align:center;color:#1b1206;background:linear-gradient(135deg, var(--albero), #f0c870);border:none;margin:24px auto 0;padding:14px 44px;font-size:18px;font-weight:700;display:block}button.primary:hover{filter:brightness(1.08)}.keys{color:#f6f3eabf;text-align:center;margin-top:18px;font-size:12.5px;line-height:1.7}.keys b{color:var(--albero);font-weight:600}.credits{color:#f6f3ea73;text-align:center;margin:14px 0 0;font-size:11px}html:not([data-lang]) .loading-card{visibility:hidden}#menu .menu-card{position:relative}.lang-switch{gap:4px;display:flex;position:absolute;top:14px;right:16px}.lang-switch button{border-radius:7px;padding:4px 9px;font-size:12px}#hud{pointer-events:none;z-index:5;color:var(--hud);text-shadow:0 1px 2px #0009;position:fixed;inset:0}#hud-flight{align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:22px;left:22px}.gauge{background:var(--glass);border-radius:10px;flex-direction:column;min-width:92px;padding:8px 12px;display:flex}.gauge.small{min-width:70px}.gauge .lbl{letter-spacing:1.5px;color:var(--hud-dim);font-size:10px}.gauge .val{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.1}.gauge .unit{color:var(--hud-dim);font-size:10px}.meter{background:#ffffff26;border-radius:3px;width:14px;height:44px;margin-top:4px;position:relative}.meter div{background:var(--albero);border-radius:3px;position:absolute;bottom:0;left:0;right:0}#compass{background:var(--glass);border-radius:8px;width:360px;height:34px;margin-left:-180px;position:absolute;top:14px;left:50%;overflow:hidden}#compass-strip{white-space:nowrap;height:100%;font-size:13px;font-weight:600;position:absolute;top:0;left:0}#compass-strip span{text-align:center;width:30px;line-height:34px;display:inline-block}#compass-strip span.card{color:var(--albero);font-size:15px}#compass-mark{background:var(--albero);width:2px;height:8px;margin-left:-1px;position:absolute;top:0;left:50%}#attitude{border-radius:50%;width:160px;height:160px;position:absolute;bottom:22px;right:22px;overflow:hidden;box-shadow:0 0 0 3px #00000059}#minimap{pointer-events:auto;cursor:pointer;border-radius:12px;width:220px;height:220px;position:absolute;top:60px;right:22px;box-shadow:0 0 0 2px #0006}#warnings{color:var(--warn);letter-spacing:2px;text-align:center;font-size:30px;font-weight:800;position:absolute;top:34%;left:50%;transform:translate(-50%)}#place{background:var(--glass);border-radius:8px;max-width:42vw;padding:8px 14px;font-size:15px;position:absolute;top:18px;left:22px}#place:empty{display:none}#place small{color:var(--hud-dim);font-size:11px;display:block}#landmark-card{background:var(--glass-strong);border-left:4px solid var(--albero);border-radius:10px;width:340px;padding:12px 16px;position:absolute;top:70px;left:22px}#landmark-card h3{color:var(--albero);margin:0 0 6px;font-size:18px}#landmark-card p{margin:0;font-size:13.5px;line-height:1.45}#mission{background:var(--glass);border-radius:8px;padding:6px 16px;font-size:16px;font-weight:600;position:absolute;top:58px;left:50%;transform:translate(-50%)}#mission:empty{display:none}#message{text-align:center;font-size:22px;font-weight:700;transition:opacity .4s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#crosshair{background:#fffc;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000}#fps{color:var(--hud-dim);font-size:11px;position:absolute;bottom:4px;right:8px}#bigmap{background:#08090bdb;flex-direction:column}#bigmap canvas{cursor:crosshair;border-radius:10px;max-width:92vw;max-height:84vh;box-shadow:0 10px 40px #000}#bigmap p{color:#f6f3eab3;margin:10px 0;font-size:13px}#bigmap canvas{touch-action:none}.map-tools{gap:8px;display:flex}.map-tools [data-zoom]{text-align:center;width:44px;padding:6px 0;font-size:18px;font-weight:700}button:disabled{opacity:.35;cursor:default}#pause{background:#08090b8c}.pause-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pause-actions button{text-align:center}#pause[data-mode=walk] .flight-only{display:none}@media (width<=900px){.menu-grid{grid-template-columns:repeat(2,1fr)}}#guide{text-align:center;position:absolute;top:92px;left:50%;transform:translate(-50%)}#guide .arrow{color:var(--albero);text-shadow:0 0 6px #000000b3;font-size:30px;transition:transform .15s linear}#guide .label{margin-top:2px;font-size:13px}#help{background:#08090bb8}#help .menu-card{width:min(760px,94vw)}#help table{border-collapse:collapse;width:100%;font-size:14px}#help td{border-bottom:1px solid #ffffff14;padding:5px 8px}#help td:first-child{color:var(--albero);white-space:nowrap;width:38%;font-weight:600}body:not(.touch) .touch-only,body.touch .no-touch{display:none!important}.portrait-hint{text-align:center;color:var(--albero);margin:10px 0 0;font-weight:600;display:none}@media (orientation:portrait){body.touch .portrait-hint{display:block}}#data-notice p{margin:18px 0 0;line-height:1.5}#data-notice button{margin-top:16px}#touch{z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--edge:18px;position:fixed;inset:0}#touch button,#t-stick,#t-throttle .track{pointer-events:auto;touch-action:none}#touch[data-mode=walk] .flight,#touch[data-mode=flight] .walk{display:none}#touch button{text-align:center;min-width:48px;min-height:48px;color:var(--hud);background:var(--glass-strong);text-shadow:0 1px 2px #0009;border:1px solid #f6f3ea47;border-radius:12px;font-size:15px;font-weight:700}#touch button.down{border-color:var(--albero);background:#e3b04b73}#touch svg{width:24px;height:24px;margin:auto;display:block}#t-stick{width:42%;height:64%;position:absolute;bottom:0;left:0}#t-stick .base{left:calc(var(--edge) + 70px + env(safe-area-inset-left));top:calc(100% - var(--edge) - 70px - env(safe-area-inset-bottom));background:#12141852;border:2px solid #f6f3ea4d;border-radius:50%;width:140px;height:140px;margin:-70px 0 0 -70px;position:absolute}#t-stick .base.active{background:#12141873;border-color:#e3b04bb3}#t-stick .knob{background:#f6f3ea99;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #0006}#t-throttle{right:calc(var(--edge) + env(safe-area-inset-right));bottom:calc(var(--edge) + env(safe-area-inset-bottom));color:var(--hud);text-shadow:0 1px 3px #000000e6;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex;position:absolute}#t-throttle .lbl{letter-spacing:1.5px}#t-throttle .track{background:var(--glass-strong);border:1px solid #f6f3ea47;border-radius:12px;width:58px;height:min(200px,44vh);position:relative;overflow:hidden}#t-throttle .fill{background:linear-gradient(#e3b04be6,#a3452fcc);height:0;position:absolute;bottom:0;left:0;right:0}#t-buttons{right:calc(var(--edge) + 76px + env(safe-area-inset-right));bottom:calc(var(--edge) + env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex;position:absolute}#t-buttons button{width:96px}#t-top{top:calc(10px + env(safe-area-inset-top));right:calc(min(150px, 30vh) + 20px + env(safe-area-inset-right));gap:8px;display:flex;position:absolute}#t-top button{border-radius:50%;width:48px;padding:0}#touch #t-action{right:calc(var(--edge) + 76px + env(safe-area-inset-right));bottom:calc(var(--edge) + 116px + env(safe-area-inset-bottom));white-space:nowrap;color:#1b1206;text-shadow:none;background:#e3b04bd9;padding:0 18px;position:absolute}#t-crash{gap:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%)}#t-crash button{padding:0 18px}body.touch #hud-flight{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform-origin:50% 100%;transform:translate(-50%)scale(.8)}body.touch #g-thr,body.touch #g-flaps,body.touch #fps{display:none}body.touch #attitude{display:none!important}body.touch #minimap{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:min(150px,30vh);height:min(150px,30vh)}body.touch #place,body.touch #landmark-card{left:calc(10px + env(safe-area-inset-left))}@media (width<=900px){#minimap{width:150px;height:150px}#attitude{transform-origin:100% 100%;transform:scale(.75)}#landmark-card{width:min(340px,36vw);top:100px}#mission{white-space:normal;text-align:center;max-width:44vw}}@media (height<=500px){.loading-card,.menu-card{padding:10px 18px}h1{margin-bottom:2px;font-size:24px}.tag{margin-bottom:4px;font-size:12px}.menu-grid{grid-template-columns:repeat(4,1fr);gap:8px}.menu-card h2{margin:4px 0 3px;font-size:11px}.options{gap:3px}.options button{padding:5px 8px;font-size:12px}button.primary{margin-top:8px;padding:8px 32px;font-size:16px}.keys{margin-top:6px;font-size:11px;line-height:1.45}.credits{margin-top:4px;font-size:9.5px}#bigmap p{margin:6px 0}#bigmap button{padding:6px 14px}#help td{padding:3px 6px;font-size:12.5px}#compass{transform-origin:50% 0;top:8px;transform:scale(.65)}#place{padding:6px 10px;font-size:12.5px;top:8px}#landmark-card{width:min(320px,40vw);padding:8px 12px;top:52px}#landmark-card h3{font-size:15px}#landmark-card p{font-size:12px}#mission{font-size:13px;top:40px}#guide{top:66px}body.touch #mission{white-space:normal;text-align:center;max-width:34vw;font-size:12px;line-height:1.3}body.touch #guide{top:92px}body.touch #landmark-card{width:min(320px,28vw)}body.touch #place{max-width:28vw}#message{font-size:16px}#warnings{font-size:20px}}
