:root{--sky: #7fb4d4;--sky-deep: #2d4f68;--ink: #14232e;--paper: #f4f1e8;--edge: rgba(20, 35, 46, .16);--accent: #d9622b;--android-bg: #f7f7f7;--android-bar: #e8e8e8;--android-card: #fff;--android-line: #808080;--android-pressed: #efefef;--android-radio: #808080;--android-accent: #009688;--lift: #4fa65b;--sink: #c0392b;color-scheme:light dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,var(--sky) 0%,#cfe4ef 55%,#e8e2cf 100%)}body[data-screen=loading] #menu,body[data-screen=loading] #game,body[data-screen=menu] #game,body[data-screen=playing] #menu{display:none}#menu{display:flex;flex-direction:column;height:100%;background:var(--android-bg)}.bar{display:flex;gap:.7rem;align-items:center;padding:.55rem .9rem;background:var(--android-bar);border-bottom:1px solid var(--android-line)}.bar-icon{border-radius:50%}.bar h1{flex:1;margin:0;font-size:1.25rem;font-weight:500;letter-spacing:0;color:var(--ink)}.bar-more{padding:.5rem .75rem;background:none;border:none;border-radius:6px}.bar-more svg{display:block;fill:var(--ink);opacity:.7}.bar-more:hover{background:#00000012}.chooser{display:grid;flex:1;grid-template-columns:auto 1fr;gap:1.5rem;align-content:center;align-items:center;padding:10px;overflow-y:auto}.gliders{display:flex;flex-direction:column;gap:5px;padding:10px}.glider{display:flex;gap:.7rem;align-items:center;padding:5px 8px;font-size:1.25rem;font-weight:700;color:var(--ink);text-align:left;background:none;border:none;border-radius:6px}.glider:hover{background:#0000000d}.glider .dot{width:20px;height:20px;border:2px solid var(--android-radio);border-radius:50%}.glider[aria-checked=true] .dot{border-color:var(--android-accent);box-shadow:inset 0 0 0 4px var(--android-bg),inset 0 0 0 20px var(--android-accent)}.tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;align-content:center;max-width:62rem}.task{display:flex;flex-direction:column;gap:.15rem;padding:5px 10px;text-align:left;background:var(--android-card);border:1px solid var(--android-line);border-radius:0}.task strong{font-size:1rem;font-weight:700;color:var(--ink)}.task span{font-size:.875rem;color:var(--ink);opacity:.85}.task:hover{background:var(--android-pressed)}.task:active{background:var(--android-pressed);border-color:var(--ink)}footer{padding:.6rem 1rem .9rem;font-size:.8rem;text-align:center;opacity:.6}footer p{margin:.2rem 0}footer a{color:inherit}.keys kbd{padding:.05rem .3rem;margin:0 .05rem;font:inherit;font-size:.85em;background:#fffc;border:1px solid var(--edge);border-bottom-width:2px;border-radius:4px}@media (max-width: 720px){.chooser{grid-template-columns:1fr;align-content:start}.gliders{flex-direction:row;flex-wrap:wrap;padding:0}}#game{position:fixed;top:0;right:0;bottom:0;left:0}#gl{display:block;width:100%;height:100%;touch-action:none}#hud{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:auto 1fr auto;align-items:start;padding:calc(.9rem + env(safe-area-inset-top)) calc(.9rem + env(safe-area-inset-right)) .9rem calc(.9rem + env(safe-area-inset-left));pointer-events:none}.hud-left,.hud-right{display:flex;gap:.6rem;align-items:flex-start}.hud-vario{display:flex;flex-direction:column;align-items:center;gap:.25rem}.hud-vario-track{position:relative;width:12px;height:140px;overflow:hidden;background:#ffffff73;border:1px solid var(--edge);border-radius:6px}.hud-vario-track:after{position:absolute;top:50%;right:0;left:0;height:1px;content:"";background:var(--edge)}.hud-vario-fill{position:absolute;right:1px;left:1px;background:var(--lift);border-radius:3px}.hud-vario-fill.sinking{background:var(--sink)}.hud-vario-label,.hud-fps{padding:.15rem .4rem;font-variant-numeric:tabular-nums;background:#fff9;border-radius:5px}.hud-info{padding:.3rem .6rem;font-variant-numeric:tabular-nums;color:#fff;background:#14232eb8;border-radius:7px}.hud-compass{position:relative;width:54px;height:54px;background:#ffffff8c;border:1px solid var(--edge);border-radius:50%}.hud-needle{position:absolute;top:8px;left:50%;width:0;height:0;margin-left:-5px;border-right:5px solid transparent;border-bottom:19px solid var(--accent);border-left:5px solid transparent;transform-origin:50% 19px}.hud-centre{justify-self:center;max-width:min(24rem,60vw)}.hud-info{overflow:hidden;font-size:.9rem;text-align:center;pointer-events:auto;cursor:pointer}.hud-info.collapsed{max-height:1.5em;white-space:nowrap;text-overflow:ellipsis}.hud-fps{position:absolute;right:.9rem;bottom:.9rem;font-size:.8rem}#messages{position:absolute;bottom:calc(4.5rem + env(safe-area-inset-bottom));left:50%;display:flex;flex-direction:column;gap:.3rem;align-items:center;pointer-events:none;transform:translate(-50%)}.message{padding:.35rem .8rem;color:#fff;background:#14232ed1;border-radius:999px;animation:rise .24s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}#game-actions{position:absolute;right:0;bottom:0;left:0;display:flex;gap:.4rem;align-items:center;justify-content:center;padding:.5rem calc(.9rem + env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) calc(.9rem + env(safe-area-inset-left))}#cameras{display:flex;flex-shrink:1;gap:.4rem;overflow-x:auto;scrollbar-width:none}#cameras::-webkit-scrollbar{display:none}#game-actions>button{flex-shrink:0}#game-actions button{padding:.35rem .7rem;font-size:.85rem;white-space:nowrap}@media (pointer: coarse){#game-actions button{min-height:44px;padding-inline:.85rem}#game-actions{gap:.3rem}.hud-info{font-size:.8rem}}#controls-help{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;background:#808080b0}#controls-help[hidden]{display:none}.ch-col{display:flex;flex-direction:column}.ch-side{flex:2}.ch-middle{flex:3}.ch-cell{display:flex;flex:2}.ch-hint{flex:3}.ch-side,.ch-box{border:1px solid rgba(255,255,255,.75)}.ch-col>span,.ch-cell>span{display:block;width:100%;align-self:center;color:var(--ink);text-align:center}.ch-side>span,.ch-box>span{font-size:clamp(1.1rem,3.4vw,1.6rem)}.ch-hint>span{font-size:clamp(.8rem,2vw,1rem);line-height:1.7}.ch-keys{font-weight:400;opacity:.8}@media (pointer: coarse){.ch-keys{display:none}}#rotate{display:none}@media (orientation: portrait) and (pointer: coarse){body[data-screen=playing] #rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:2rem;background:var(--android-bg)}}.rotate-card{max-width:18rem;text-align:center}.rotate-card p{margin:1rem 0 0;font-size:1.05rem}.rotate-card svg{overflow:visible;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.rotate-phone{transform-origin:24px 24px;animation:tip 2.6s ease-in-out infinite}@keyframes tip{0%,40%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion: reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}dialog{max-width:34rem;padding:1.4rem;color:inherit;background:var(--paper);border:none;border-radius:12px;box-shadow:0 18px 50px #00000047}dialog::backdrop{background:#14232e73}dialog h2{margin-top:0;font-size:1.1rem;text-transform:none;letter-spacing:0;opacity:1}fieldset{padding:.5rem .9rem .9rem;margin:0 0 .9rem;border:1px solid var(--edge);border-radius:9px}legend{padding-inline:.35rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6}.setting{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.25rem 0}.setting input[type=number]{width:4.5rem}.setting input,.setting select{font:inherit}.dialog-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.note{margin-bottom:0;font-size:.82rem;opacity:.6}@media (prefers-color-scheme: dark){:root{--ink: #e8eef2;--paper: #1c2730;--edge: rgba(232, 238, 242, .18);--sky-deep: #a8cde2}body{background:linear-gradient(180deg,#1a2b38,#223442 55%,#2a3a34)}:root{--android-bg: #1b242c;--android-bar: #232f38;--android-card: #253039;--android-line: #5c6b76;--android-pressed: #2e3b45;--android-radio: #8b9aa5}.card,button,kbd,.hud-vario-label,.hud-info,.hud-fps,.hud-compass,.hud-vario-track{background:#ffffff14}.card:hover,button:hover{background:#ffffff24}.card[aria-pressed=true]{background:#d9622b2e}}
