html,body{background:#000;height:100%;margin:0;overflow:hidden}#app,#app canvas{touch-action:none;width:100vw;height:100vh;display:block}#hud{color:#fffc;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;text-shadow:0 1px 3px #0000008c;font:500 12px/1.4 ui-sans-serif,system-ui,sans-serif;position:fixed;inset:0}.hud-card{opacity:0;border-left:2px solid #ffffffb3;padding-left:14px;transition:opacity 1s,transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;top:9vh;left:34px;transform:translate(-24px)}.hud-card.on{opacity:1;transform:none}.hud-card-name{letter-spacing:.32em;color:#fff;font:300 26px/1.1 ui-sans-serif,system-ui,sans-serif}.hud-card-sub{letter-spacing:.28em;color:#ffffffa6;margin-top:6px;font-size:11px}.hud-corner{position:absolute;bottom:26px;left:34px}.hud-speed{letter-spacing:.02em;color:#fff;font-variant-numeric:tabular-nums;font:200 34px/1 ui-sans-serif,system-ui,sans-serif}.hud-speed small{letter-spacing:.2em;color:#fff9;margin-left:6px;font-size:11px;font-weight:500}.hud-meta{letter-spacing:.2em;color:#fff9;font-variant-numeric:tabular-nums;margin-top:6px;font-size:11px}.hud-fps{color:#fff9;letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:10px;transition:opacity .2s;position:absolute;top:50px;right:20px}body.settings-open .hud-fps{opacity:0}#hud .hud-corner,#soundchip,#gear{transition:opacity 1.4s}body.ui-idle #hud .hud-corner,body.ui-idle #soundchip,body.ui-idle #gear{opacity:0!important}body.ui-idle{cursor:none}#hud.hidden{display:none}#toast{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.14em;text-transform:uppercase;pointer-events:none;opacity:0;background:#00000059;border-radius:4px;padding:6px 14px;font:600 12px/1.4 ui-sans-serif,system-ui,sans-serif;transition:opacity .35s;position:fixed;top:18px;left:50%;transform:translate(-50%)}#toast.on{opacity:1}#keyhint{pointer-events:none;color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px #0009;opacity:0;gap:14px;font:500 11px/1.4 ui-sans-serif,system-ui,sans-serif;transition:opacity 1.2s;display:flex;position:fixed;bottom:14px;right:16px}#keyhint.on{opacity:1}#keyhint b{color:#fff;margin-right:4px;font-weight:700}#camveil{pointer-events:none;opacity:0;background:#000;position:fixed;inset:0}body.photo #camveil{display:none}#whoosh{pointer-events:none;opacity:0;background:repeating-conic-gradient(#fff0 0deg 1.6deg,#ffffff29 1.6deg 1.9deg,#fff0 1.9deg 4.1deg);animation:.9s linear infinite whoosh-spin;position:fixed;inset:-20%;-webkit-mask-image:radial-gradient(circle,#0000 22%,#00000080 42%,#000 70%);mask-image:radial-gradient(circle,#0000 22%,#00000080 42%,#000 70%)}@keyframes whoosh-spin{to{transform:rotate(4deg)}}#hud.hidden~#soundchip.compact{display:none}#soundchip{z-index:5;cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.1em;text-transform:uppercase;background:#00000059;border:1px solid #ffffff40;border-radius:999px;padding:6px 12px;font:600 11px/1.3 ui-sans-serif,system-ui,sans-serif;transition:opacity .3s,background .2s;position:fixed;top:14px;right:54px}#soundchip:hover{background:#0000008c}#soundchip.compact{opacity:.55;letter-spacing:0;padding:5px 8px}#soundchip.compact:hover{opacity:1}#intro{z-index:20;pointer-events:none;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:background-color 2.2s;display:flex;position:fixed;inset:0}#intro .intro-mark{letter-spacing:.6em;color:#fff;opacity:0;margin-right:-.6em;font:200 clamp(38px,7vw,86px)/1 ui-sans-serif,system-ui,sans-serif;transition:opacity 1.6s,transform 5s ease-out,letter-spacing 5s ease-out;transform:scale(1.04)}#intro .intro-sub{letter-spacing:.5em;text-transform:uppercase;color:#fff9;opacity:0;margin-top:18px;font:400 12px/1 ui-sans-serif,system-ui,sans-serif;transition:opacity 1.6s .6s}#intro .intro-status{color:#ffffff8c;letter-spacing:.2em;text-transform:uppercase;margin-top:18px;font:500 10px/1.4 ui-sans-serif,system-ui,sans-serif}#intro.show .intro-mark{opacity:1;letter-spacing:.7em;transform:none}#intro.show .intro-sub{opacity:1}#intro.show:not(.reveal) .intro-mark{animation:4.2s ease-in-out 2.2s infinite intro-breathe}@keyframes intro-breathe{0%,to{text-shadow:0 0 #fff0}50%{text-shadow:0 0 18px #ffffff47}}#intro .intro-line{opacity:0;background:#ffffff1f;width:140px;height:1px;margin-top:26px;transition:opacity 1.4s 1.2s;position:relative;overflow:hidden}#intro .intro-line:after{content:"";background:linear-gradient(90deg,#0000,#ffffffd9,#0000);width:40%;height:100%;animation:1.8s cubic-bezier(.45,0,.55,1) infinite intro-sweep;position:absolute;top:0;left:-40%}@keyframes intro-sweep{to{left:100%}}#intro.show .intro-line{opacity:1}#intro.reveal .intro-line{opacity:0;transition:opacity .6s}#intro.reveal{background-color:#0000}#intro.reveal .intro-mark,#intro.reveal .intro-sub,#intro.reveal .intro-status{opacity:0;text-shadow:0 2px 20px #0006;transition:opacity 2.4s 1.2s}#gear{z-index:6;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;opacity:.6;background:#00000059;border:1px solid #ffffff40;border-radius:50%;width:30px;height:30px;padding:0;font-size:16px;line-height:28px;position:fixed;top:12px;right:16px}#gear:hover{opacity:1}#hud.hidden~#gear{display:none}#settings{z-index:7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffd9;letter-spacing:.06em;opacity:0;pointer-events:none;background:#0c0e12b8;border:1px solid #ffffff24;border-radius:10px;width:270px;max-height:calc(100vh - 80px);padding:14px 16px;font:500 11px/1.4 ui-sans-serif,system-ui,sans-serif;transition:opacity .25s,transform .25s;position:fixed;top:52px;right:14px;overflow-y:auto;transform:translateY(-6px)}#settings.on{opacity:1;pointer-events:auto;transform:none}#settings h3{letter-spacing:.3em;text-transform:uppercase;color:#fff;margin:0 0 10px;font-size:11px;font-weight:600}#settings label{text-transform:uppercase;letter-spacing:.12em;color:#ffffffb3;margin:9px 0;display:block}#settings label.row{justify-content:space-between;align-items:center;display:flex}#settings output{float:right;color:#fff;letter-spacing:.04em}#settings .quality-active{color:#b4dcffd9;letter-spacing:.05em;margin:-4px 0 8px;font-size:9px;line-height:1.4}#settings details.graphics{border:1px solid #ffffff1f;border-radius:6px;margin:8px 0 12px;padding:6px 8px}#settings details.graphics summary{cursor:pointer;color:#ffffffb8;text-transform:uppercase;letter-spacing:.12em}#settings em{background:#ffc85040;border-radius:3px;margin-left:4px;padding:0 4px;font-size:9px;font-style:normal}#settings select,#settings input[type=range]{accent-color:#d8dde6;width:100%;margin-top:5px;display:block}#settings select{color:#fff;font:inherit;letter-spacing:.04em;background:#0006;border:1px solid #fff3;border-radius:5px;padding:4px 6px}#settings .sub{text-transform:uppercase;letter-spacing:.12em;color:#ffffffb3;margin:14px 0 6px}#settings .biomes{flex-wrap:wrap;gap:5px;display:flex}#settings button,#photobar button{color:#fff;letter-spacing:.06em;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:5px;padding:4px 8px;font:500 10px/1.3 ui-sans-serif,system-ui,sans-serif}#settings button:hover,#photobar button:hover{background:#ffffff2e}#gear:focus-visible,#settings button:focus-visible,#settings select:focus-visible,#settings input:focus-visible,#photobar button:focus-visible{outline-offset:2px;outline:2px solid #fff}#settings .actions{justify-content:space-between;margin-top:14px;display:flex}#photobar{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffbf;letter-spacing:.08em;opacity:0;pointer-events:none;background:#00000073;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;font:500 11px/1 ui-sans-serif,system-ui,sans-serif;transition:opacity .3s,transform .3s;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px)}body.photo #photobar{opacity:1;pointer-events:auto;transform:translate(-50%)}body.photo #hud,body.photo #soundchip,body.photo #gear,body.photo #keyhint,body.photo #toast,body.photo #settings{display:none}#settings .biomes kbd{background:#ffffff24;border-radius:3px;margin-right:5px;padding:0 4px;font:600 9px/1.4 ui-monospace,monospace}body.ui-hidden #hud,body.ui-hidden #keyhint,body.ui-hidden #soundchip,body.ui-hidden #gear,body.ui-hidden #toast,body.ui-hidden #settings,body.ui-hidden #debug-overlay{display:none!important}#keyhint{letter-spacing:.06em;color:#ffffff9e;flex-wrap:wrap;justify-content:flex-end;gap:11px;max-width:62vw;font-size:10px}#keyhint b{margin-right:3px}.hud-sim{color:#fff;letter-spacing:.08em;background:#ffffff24;border-radius:4px;padding:2px 7px;font:600 11px/1.4 ui-sans-serif,system-ui,sans-serif;display:none;position:absolute;bottom:92px;left:34px}.hud-sim.on{display:block}.hud-target{letter-spacing:.1em;color:#ffffff8c;margin-left:10px;font-size:12px;font-weight:500}@media (width<=720px){.hud-card{top:7vh;left:16px}.hud-card-name{letter-spacing:.22em;font-size:21px}.hud-corner{bottom:18px;left:16px}.hud-sim{bottom:80px;left:16px}#keyhint{gap:10px;max-width:none;bottom:10px;left:16px;right:16px}#keyhint span{display:none}#keyhint span:first-child,#keyhint span:nth-child(4),#keyhint span:nth-child(11){display:inline}#settings{width:auto;max-height:calc(100vh - 70px);left:8px;right:8px}}@media (height<=560px){#settings{max-height:none;top:48px;bottom:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.touch #keyhint{display:none}#touchbar{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5;gap:8px;display:flex;position:fixed}#touchbar button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.08em;text-transform:uppercase;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0006;border:1px solid #ffffff40;border-radius:999px;padding:9px 13px;font:600 11px/1 ui-sans-serif,system-ui,sans-serif}#touchbar button:active{background:#fff3}body.photo #touchbar,body.ui-hidden #touchbar{display:none}body.touch .hud-corner{bottom:calc(62px + env(safe-area-inset-bottom))}body.touch .hud-sim{bottom:calc(124px + env(safe-area-inset-bottom))}
