*{box-sizing:border-box}:root{--sa-top: env(safe-area-inset-top, 0px);--sa-right: env(safe-area-inset-right, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px);--vv-left: 0px;--vv-top: 0px;--vv-width: 100vw;--vv-height: 100dvh;--pad-top: 12px;--pad-side: 8px;--pad-bottom: 8px}html{overflow-x:hidden}body{margin:0;background:#0d0f12;color:#e8e6e3;font-family:system-ui,sans-serif;min-height:100vh;overscroll-behavior:none}#menu{max-width:880px;margin:0 auto;padding:3rem 1rem}h1{margin:0 0 .25rem;font-size:1.7rem}.tag{font-size:.8rem;color:#e8a33d;vertical-align:middle}.sub{color:#9aa0a6;margin-top:0}.row{display:block;margin:.8rem 0;font-size:.9rem;color:#c7cbd1}.row input{display:block;width:100%;margin-top:.3rem;padding:.5rem .6rem;background:#16191d;color:#e8e6e3;border:1px solid #2a2f36;border-radius:6px;font-size:1rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}@media(max-width:720px){.cards{grid-template-columns:1fr}}.card{background:#131619;border:1px solid #23272e;border-radius:10px;padding:1rem 1.2rem}.card h2{margin-top:0;font-size:1.1rem}button{padding:.55rem 1.1rem;background:#e8a33d;color:#14161a;font-weight:600;border:0;border-radius:6px;cursor:pointer;font-size:.95rem}button:hover{filter:brightness(1.1)}button.ghost{background:transparent;color:#e8a33d;border:1px solid #e8a33d}.hint{color:#8a919a;font-size:.8rem}.warning[hidden]{display:none}.warning{display:flex;gap:.6rem;align-items:flex-start;margin-top:.9rem;padding:.7rem .8rem;background:#e8a33d1f;border:1px solid #e8a33d;border-radius:8px;color:#f4c77c;font-size:.88rem;line-height:1.35}.warning strong{color:#ffd28a}.warning-icon{font-size:1.1rem;line-height:1.2}.combo{position:relative;display:block}.combo-list{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:8;display:block;max-height:200px;overflow-y:auto;background:#16191d;border:1px solid #3a3f47;border-radius:6px;box-shadow:0 8px 24px #00000080}.combo-list[hidden]{display:none}.combo-item{display:block;width:100%;text-align:left;padding:.45rem .6rem;background:transparent;border:0;border-radius:0;color:#c7cbd1;font-size:.92rem;font-family:monospace;cursor:pointer}.combo-item:hover,.combo-item.active{background:#23272e;color:#ffd28a;filter:none}.combo-empty{display:block;padding:.5rem .6rem;color:#6b727b;font-size:.85rem}.map-preview{margin:.6rem 0 .2rem;padding:.5rem;background:#0b0d10;border:1px solid #23272e;border-radius:8px}.map-preview img{display:block;width:100%;max-height:220px;object-fit:contain;image-rendering:pixelated}.listHead{display:flex;justify-content:space-between;margin-bottom:.4rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:#8a919a;font-weight:500;padding:.3rem .4rem}td{padding:.4rem;border-top:1px solid #23272e}td.empty{color:#8a919a;text-align:center;padding:1rem}td button{padding:.3rem .8rem;font-size:.85rem}#canvas{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:#000;touch-action:none;object-fit:fill}@media(pointer:coarse){#canvas{top:calc(var(--sa-top) + var(--pad-top));left:calc(var(--sa-left) + var(--pad-side));right:auto;bottom:auto;width:calc(100vw - var(--sa-left) - var(--sa-right) - 2 * var(--pad-side));height:calc(100dvh - var(--sa-top) - var(--sa-bottom) - var(--pad-top) - var(--pad-bottom))}}body.playing{position:fixed;inset:0;overflow:hidden}body.playing #menu{display:none}body.playing #canvas{display:block}#loading,#error{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#06080aeb;z-index:10}#loading[hidden],#error[hidden],#status[hidden]{display:none}.box{text-align:center}.box progress{width:320px;margin-top:1rem}.box button{margin-top:1rem}#status{position:fixed;top:calc(var(--vv-top) + .5rem);left:calc(var(--vv-left) + var(--vv-width) - 16rem);max-width:15rem;z-index:5;background:#131619d9;border:1px solid #2a2f36;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;color:#c7cbd1}#fpscounter{position:fixed;top:calc(var(--vv-top) + 2.8rem);left:calc(var(--vv-left) + var(--vv-width) - 5.5rem);z-index:6;min-width:4rem;background:#131619d9;border:1px solid #2a2f36;border-radius:6px;padding:.35rem .7rem;font-size:.8rem;color:#c7cbd1;text-align:right;font-variant-numeric:tabular-nums;pointer-events:none}#fpscounter[hidden]{display:none}#status.warn{border-color:#e8a33d;color:#ffd28a}#fsBtn{display:none;position:fixed;top:calc(var(--vv-top) + .4rem);left:calc(var(--vv-left) + .4rem);z-index:6;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;background:#1316198c;border:1px solid rgba(232,163,61,.55);color:#ffd28a;font-size:1.15rem;line-height:1;touch-action:manipulation}body.playing #fsBtn{display:block}.press-ring{position:fixed;z-index:4;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #ffd28a;background:#f2c14e38;animation:pressPop .22s ease-out forwards}@keyframes pressPop{0%{transform:translate(-50%,-50%) scale(.86);opacity:.95}45%{transform:translate(-50%,-50%) scale(1.16);opacity:.8}to{transform:translate(-50%,-50%) scale(1.24);opacity:0}}#touchGear{position:fixed;top:calc(var(--vv-top) + .4rem);left:calc(var(--vv-left) + 3rem);z-index:6;width:2.2rem;height:2.2rem;padding:0;border-radius:50%;background:#1316198c;border:1px solid rgba(232,163,61,.55);color:#ffd28a;font-size:1.15rem;line-height:1;touch-action:manipulation;display:none}body.playing #touchGear{display:block}#touchPanel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:7;width:min(92vw,26rem);max-height:84vh;overflow-y:auto;background:#0d0f12f5;border:1px solid #3a3f47;border-radius:12px;padding:1rem 1.1rem}#touchPanel h3{margin:0 0 .6rem;font-size:1.05rem;color:#ffd28a}#touchPanel h4{margin:0 0 .4rem;font-size:.82rem;color:#8a919a;font-weight:500}.tp-section{margin-bottom:.9rem}.tp-row{display:flex;flex-wrap:wrap;gap:.4rem}.tp-chip{padding:.35rem .8rem;font-size:.85rem;background:transparent;color:#c7cbd1;border:1px solid #3a3f47;border-radius:999px}.tp-chip.active{border-color:#e8a33d;color:#ffd28a;background:#e8a33d1f}.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;font-size:.88rem;color:#c7cbd1}.tp-grid label{display:flex;align-items:center;gap:.4rem}#touchPanel input[type=range]{width:100%;accent-color:#e8a33d}.tp-action{display:block;width:100%;margin-top:.5rem}.tp-switch{display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:#c7cbd1}.tp-dump{width:100%;height:9rem;margin-top:.5rem;background:#0b0d10;color:#c7cbd1;border:1px solid #3a3f47;border-radius:6px;font-family:monospace;font-size:.7rem;padding:.4rem}.tp-hint{margin:.4rem 0 0;font-size:.75rem;line-height:1.4;color:#8a919a}.tp-close{background:transparent;color:#8a919a;border:1px solid #3a3f47}#editor{position:fixed;z-index:12;touch-action:none}.ed-bar{position:absolute;top:.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.4rem .5rem;max-width:calc(100% - 1rem);padding:.4rem .7rem;background:#0d0f12eb;border:1px solid #3a3f47;border-radius:1rem;font-size:.78rem;color:#c7cbd1;text-align:center}.ed-bar span{flex:1 1 auto;min-width:0}.ed-bar button{flex:0 0 auto;padding:.3rem .8rem;font-size:.78rem}.ed-box{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;padding:.1rem;background:#e8a33d2e;border:1px dashed #e8a33d;border-radius:8px;color:#ffd28a;font-size:.62rem;line-height:1.1;touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}#slots{position:fixed;inset:0;z-index:6;pointer-events:none}#slots .key{position:fixed;width:2rem;height:2rem;padding:0;border-radius:50%;background:#1316198c;border:1px solid rgba(232,163,61,.55);color:#ffd28a;font-size:1rem;font-weight:700;line-height:1;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}#slots .key.help{color:#ffd28a;border-color:#ffd28a}#help{position:fixed;inset:0;z-index:20;background:#040608d1;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}#help[hidden]{display:none}.help-card{max-width:34rem;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;background:#0f1216;border:1px solid #3a3f47;border-radius:12px;padding:1.1rem 1.3rem;font-size:.92rem;line-height:1.5;color:#c7cbd1}.help-card h3{margin:0 0 .8rem;color:#ffd28a;font-size:1.1rem}.help-card h4{margin:1.1rem 0 .35rem;color:#e8a33d;font-size:.95rem}.help-card h4.hl{color:#ffd28a;border-top:1px solid #2a2f36;padding-top:.9rem}.help-card ul{margin:.2rem 0;padding-left:1.1rem}.help-card li{margin:.22rem 0}.help-card p{margin:.45rem 0}.help-card b{color:#e8e6e3}.help-card i{color:#9aa0a6}.help-close{width:100%;margin-top:1.2rem}#slots .key.dragging{border-color:#ffd28a;background:#e8a33d59;transform:scale(1.12)}#status.alert{border-color:#f44336;background:#5a1410eb;color:#ffb4ab;font-weight:600;animation:statusPulse 1s ease-in-out infinite alternate}@keyframes statusPulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.credit span[lang=ja]{color:#e8a33d;font-size:1.05rem}.credit{margin-top:2.5rem;text-align:center;color:#6b727b;font-size:.85rem}.version{font-size:.72rem;color:#4d545c;font-family:monospace;cursor:default;-webkit-user-select:none;user-select:none}#dbg{position:fixed;left:0;right:0;bottom:0;height:46vh;z-index:40;background:#050709f5;border-top:1px solid #e8a33d;display:flex;flex-direction:column;font-family:monospace}#dbg[hidden]{display:none}.dbg-bar{display:flex;justify-content:space-between;align-items:center;padding:.3rem .6rem;color:#ffd28a;font-size:.78rem}.dbg-actions button{padding:.2rem .6rem;font-size:.72rem;margin-left:.3rem;background:transparent;color:#c7cbd1;border:1px solid #3a3f47;border-radius:4px}.dbg-list{flex:1;overflow-y:auto;padding:.2rem .6rem .6rem;font-size:.68rem;line-height:1.45;color:#9aa0a6;overscroll-behavior:contain}.dbg-line{white-space:pre-wrap;word-break:break-all}.dbg-err{color:#ff8a80}.dbg-touch{color:#8ad4ff}.dbg-app{color:#b5e08a}#intro{position:fixed;inset:0;z-index:30;background:#0a1206;overflow:hidden}#intro .fit{position:absolute;inset:0;transform-origin:50% 58%}@media(max-aspect-ratio:7/6){#intro .fit{transform:scale(.74)}}@media(max-aspect-ratio:5/6){#intro .fit{transform:scale(.52)}}@media(max-aspect-ratio:9/16){#intro .fit{transform:scale(.42)}}#intro .scene{position:absolute;inset:0;transform:translateY(-16vh) scale(1.05);transform-origin:50% 56%}#intro.p-sit .scene{transform:translateY(0) scale(1);transition:transform 1.5s cubic-bezier(.22,1.4,.36,1)}#intro.p-zoom .scene{transform:scale(8) translateY(1vh);transition:transform 1.5s cubic-bezier(.7,0,.9,.4)}#intro.p-zoom{transition:opacity .45s ease-in 1.15s;opacity:0}#intro .look{position:absolute;inset:0;transition:transform .7s ease}#intro.p-bl .look{transform:rotate(-2.5deg) translate(10vh)}#intro.p-br .look{transform:rotate(2.5deg) translate(-10vh)}#intro.p-phones .look{transform:none}#intro .room{position:absolute;inset:0;background:radial-gradient(70vh 40vh at 50% 8%,rgba(210,255,150,.14),transparent 70%),linear-gradient(180deg,#2c4a10,#35590f 45%,#23400a)}#intro .tube{position:absolute;top:3.5vh;left:50%;transform:translate(-50%);width:44vh;height:1.3vh;background:#ecffd2;border-radius:1vh;box-shadow:0 0 7vh 2vh #d2ff964d;animation:flicker 4s infinite}@keyframes flicker{0%,84%,90%,to{opacity:1}86%,88%{opacity:.45}}#intro .window{position:absolute;top:9vh;left:3vh;width:21vh;height:21vh;background:#060a03;border:1vh solid #1d330a;border-radius:.6vh;display:flex;flex-direction:column;justify-content:space-evenly;padding:0 1vh}#intro .window i{display:block;height:1.6vh;background:#17260a;border-radius:.4vh}#intro .poster{position:absolute;font-family:monospace;text-align:center;padding:1.2vh 1vh;border-radius:.4vh;line-height:1.4}#intro .p1{top:9vh;right:7vh;width:15vh;height:17vh;background:#101b30;border:.5vh solid #223252;color:#7df9ff;font-size:1.9vh;transform:rotate(2deg);text-shadow:0 0 1vh #0e7490}#intro .p2{top:13vh;right:26vh;width:13vh;background:#efe9d8;color:#333;font-size:1.5vh;transform:rotate(-3deg);box-shadow:0 .5vh 1.5vh #0006}#intro .p2 b{color:#d21f2c;font-size:2.6vh}#intro .neon{position:absolute;top:6vh;left:50%;transform:translate(-50%);font-family:monospace;font-weight:700;font-size:3.2vh;letter-spacing:.8vh;padding:.8vh 2vh;background:#040c04d9;border-radius:1vh;color:#7df9ff;text-shadow:0 0 1.2vh #19c8d8,0 0 4vh #0891b2;animation:flicker 3.1s infinite .4s}#intro .shelf{position:absolute;top:26.5vh;left:-5%;width:110%;height:2.4vh;background:linear-gradient(#4a7d21,#2c4f10);box-shadow:0 1vh 3vh #00000073}#intro .tower{position:absolute;top:13.5vh;width:7vh;height:13vh;background:linear-gradient(90deg,#16171b,#0a0b0e 55%,#131418);border-radius:.5vh .5vh 0 0;box-shadow:inset 0 .4vh #ffffff0f}#intro .tower:before{content:"";position:absolute;top:1.6vh;left:50%;transform:translate(-50%) rotate(-2deg);width:3.8vh;height:4.8vh;background:#f1ecdc;border-radius:.3vh}#intro .tower:after{content:attr(data-n);position:absolute;top:2.2vh;left:50%;transform:translate(-50%) rotate(-2deg);font-family:monospace;font-weight:700;font-size:3.4vh;color:#d21f2c}#intro .tower:nth-of-type(1){left:calc(50% - 46vh)}#intro .tower:nth-of-type(2){left:calc(50% - 27vh);transform:rotate(.6deg)}#intro .tower:nth-of-type(3){left:calc(50% - 8vh)}#intro .tower:nth-of-type(4){left:calc(50% + 12vh);transform:rotate(-.7deg)}#intro .tower:nth-of-type(5){left:calc(50% + 31vh)}#intro .counter{position:absolute;bottom:15vh;left:0;width:100%;height:6.5vh;background:linear-gradient(#4b8a28,#2e5716);border-top:.5vh solid #63a53a}#intro .counter-front{position:absolute;bottom:0;left:0;width:100%;height:15vh;background:#0d1806}#intro .keyboard{position:absolute;bottom:15.8vh;left:50%;transform:translate(-50%) perspective(40vh) rotateX(42deg);width:32vh;height:8vh;background:#d8d3c2;border-radius:.8vh;box-shadow:inset 0 .5vh 1vh #00000026,0 1vh 2vh #00000080}#intro .mouse{position:absolute;bottom:16.5vh;left:calc(50% + 21vh);width:4.6vh;height:7vh;background:#ddd8c8;border-radius:45% 45% 50% 50%;box-shadow:0 .8vh 1.5vh #00000080}#intro .crt{background:#17181c;border-radius:1.4vh;box-shadow:inset 0 -1vh 2vh #00000080,0 2vh 4vh #0000008c;padding:2vh}#intro .crt.mine{position:absolute;left:50%;bottom:20vh;transform:translate(-50%);width:52vh;height:40vh}#intro .numcard{position:absolute;top:-1.2vh;left:3vh;width:3.6vh;height:4.4vh;background:#f1ecdc;border-radius:.3vh;transform:rotate(-3deg);font-family:monospace;font-weight:700;font-size:3.2vh;color:#d21f2c;text-align:center}#intro .crt .screen{position:relative;width:100%;height:100%;border-radius:1vh;background:radial-gradient(ellipse at center,#12253a,#0a1522 75%);overflow:hidden;box-shadow:inset 0 0 4vh #000c}#intro .crt.mine .screen{box-shadow:inset 0 0 4vh #000c,0 0 8vh #78beff4d}#intro .screen-title{position:absolute;top:22%;width:100%;text-align:center;font-family:monospace;font-size:3.2vh;color:#d8b45a;text-shadow:0 0 1vh #7c5a10}#intro .screen-sub{position:absolute;bottom:18%;width:100%;text-align:center;font-family:monospace;font-size:1.9vh;color:#9fd6a0}#intro .blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}#intro .cross{position:absolute;top:50%;left:50%;width:6vh;height:6vh;transform:translate(-50%,-50%);background:linear-gradient(#3f3,#3f3) 50% 0 / .6vh 2vh,linear-gradient(#3f3,#3f3) 50% 100% / .6vh 2vh,linear-gradient(#3f3,#3f3) 0 50% / 2vh .6vh,linear-gradient(#3f3,#3f3) 100% 50% / 2vh .6vh;background-repeat:no-repeat;filter:drop-shadow(0 0 .8vh #16a34a)}#intro .scanlines{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 .45vh,#00000047 .45vh .6vh);animation:scanroll 6s linear infinite}@keyframes scanroll{to{transform:translateY(.6vh)}}#intro .station{position:absolute;bottom:21.5vh}#intro .left-station{left:-6vh;transform:perspective(90vh) rotateY(30deg)}#intro .right-station{right:-6vh;transform:perspective(90vh) rotateY(-30deg)}#intro .crt.side{width:27vh;height:22vh;filter:brightness(.8)}#intro .glow-blue{background:radial-gradient(ellipse,#1c3a5e,#0b1626 75%);box-shadow:0 0 6vh #468cff59}#intro .glow-warm{background:radial-gradient(ellipse,#4e3a14,#201607 75%);box-shadow:0 0 6vh #ffaa3c4d}#intro .buddy{position:absolute;bottom:2vh;width:19vh;height:34vh;animation:bob 2.4s ease-in-out infinite}#intro .left-station .buddy{left:2vh}#intro .right-station .buddy{right:2vh;animation-delay:1.1s}@keyframes bob{50%{transform:translateY(.8vh)}}#intro .buddy .chair{position:absolute;top:8vh;left:-2.5vh;width:22vh;height:20vh;background:#2f9e44;border:.8vh solid #1d7a30;border-bottom:none;border-radius:4vh 4vh 0 0}#intro .buddy .torso{position:absolute;top:10vh;left:1vh;width:15vh;height:16vh;border-radius:6vh 6vh 0 0}#intro .shirt-brasil .torso{background:#d8b912;box-shadow:inset 0 1.6vh #1f7a33}#intro .shirt-branca .torso{background:#c9cdc6;box-shadow:inset 0 1.6vh #9aa39c}#intro .buddy .head{position:absolute;top:0;left:4.2vh;width:8.6vh;height:10.5vh;background:#a97b52;border-radius:44% 44% 40% 40%}#intro .buddy .head:before{content:"";position:absolute;top:-.6vh;left:-.4vh;width:9.4vh;height:6vh;background:#14100c;border-radius:5vh 5vh 2vh 2vh}#intro .buddy .phones{position:absolute;top:-1.6vh;left:3vh;width:11vh;height:6.5vh;border:1.1vh solid #06070a;border-bottom:none;border-radius:6vh 6vh 0 0}#intro .shirt-branca .phones{display:none}#intro .buddy .buddy-arm{position:absolute;top:15vh;width:14vh;height:4.8vh;border-radius:3vh;opacity:0}#intro .left-station .buddy-arm{left:13vh;transform-origin:left center}#intro .right-station .buddy-arm{right:13vh;transform-origin:right center}#intro .shirt-brasil .buddy-arm{background:#b99a12}#intro .shirt-branca .buddy-arm{background:#a7aba4}#intro .buddy .buddy-fist{position:absolute;top:-.8vh;width:6.2vh;height:6.2vh;background:#8a6547;border-radius:46%}#intro .left-station .buddy-fist{right:-3.4vh}#intro .right-station .buddy-fist{left:-3.4vh}#intro.p-bl .left-station .buddy-arm,#intro.p-br .right-station .buddy-arm{animation:buddyReach 1.3s ease-in-out forwards}@keyframes buddyReach{0%{opacity:0;transform:scaleX(.2)}30%{opacity:1;transform:scaleX(1)}60%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.3)}}#intro .arm{position:absolute;bottom:-30vh;width:12vh;height:34vh;background:linear-gradient(#2b3441,#1d232c);border-radius:6vh 6vh 3vh 3vh}#intro .arm .fist{position:absolute;top:-6vh;left:50%;transform:translate(-50%);width:10.5vh;height:8.6vh;background:#b98a63;border-radius:42%;box-shadow:inset -1vh -1.2vh #00000038}#intro .left-arm{left:26vh;transform:translateY(8vh) rotate(14deg)}#intro .right-arm{right:26vh;transform:translateY(8vh) rotate(-14deg)}#intro.p-bl .left-arm{animation:bumpL 1.3s ease-in-out forwards}#intro.p-br .right-arm{animation:bumpR 1.3s ease-in-out forwards}@keyframes bumpL{0%{transform:translateY(8vh) rotate(14deg)}32%{transform:translate(-11vh,-22vh) rotate(62deg)}52%{transform:translate(-11vh,-22vh) rotate(62deg)}to{transform:translateY(14vh) rotate(14deg)}}@keyframes bumpR{0%{transform:translateY(8vh) rotate(-14deg)}32%{transform:translate(11vh,-22vh) rotate(-62deg)}52%{transform:translate(11vh,-22vh) rotate(-62deg)}to{transform:translateY(14vh) rotate(-14deg)}}#intro .pop{position:absolute;bottom:25vh;width:2vh;height:2vh;border:.5vh solid #ffe9a8;border-radius:50%;opacity:0}#intro .left-pop{left:19vh}#intro .right-pop{right:19vh}#intro.p-bl .left-pop,#intro.p-br .right-pop{animation:pop .45s .44s ease-out}@keyframes pop{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(4)}}#intro.p-bl{animation:microshake .16s .52s}#intro.p-br{animation:microshake2 .16s .52s}@keyframes microshake{25%{transform:translate(.5vh,-.3vh)}75%{transform:translate(-.4vh,.3vh)}}@keyframes microshake2{25%{transform:translate(-.5vh,-.3vh)}75%{transform:translate(.4vh,.3vh)}}#intro .caption{position:absolute;left:3vh;bottom:3vh;font-family:monospace;font-size:1.7vh;color:#b9c4a8;opacity:0;animation:fadeIn 1.2s .6s forwards}@keyframes fadeIn{to{opacity:.85}}#intro .headset{position:absolute;inset:0;pointer-events:none}#intro .headset .band{position:absolute;top:-60vh;left:50%;transform:translate(-50%);width:120vh;height:60vh;border:7vh solid #0a0b0e;border-bottom:none;border-radius:60vh 60vh 0 0}#intro .headset .cup{position:absolute;top:-70vh;width:34vh;height:60vh;background:#0a0b0e;box-shadow:inset 0 0 8vh #ffffff0a}#intro .headset .cup-l{left:-6vh;border-radius:0 14vh 14vh 0}#intro .headset .cup-r{right:-6vh;border-radius:14vh 0 0 14vh}#intro.p-phones .headset .band{animation:bandOn 1.5s ease-in-out forwards}#intro.p-phones .headset .cup-l{animation:cupL 1.5s ease-in-out forwards}#intro.p-phones .headset .cup-r{animation:cupR 1.5s ease-in-out forwards}@keyframes bandOn{45%{transform:translate(-50%,58vh)}to{transform:translate(-50%,64vh);opacity:0}}@keyframes cupL{45%{transform:translateY(72vh)}to{transform:translate(-16vh,78vh);opacity:.96}}@keyframes cupR{45%{transform:translateY(72vh)}to{transform:translate(16vh,78vh);opacity:.96}}#intro .vignette{position:absolute;inset:0;background:radial-gradient(ellipse 60vh 50vh at 50% 54%,transparent 40%,rgba(3,6,2,.93) 100%);opacity:0;transition:opacity 1.2s ease .5s;pointer-events:none}#intro.p-phones .vignette{opacity:1}#introSkip{position:absolute;right:2.5vh;bottom:2.5vh;z-index:2;background:transparent;color:#b9c4a8;border:1px solid #3f5a2a;font-size:1.7vh}#introSkip:hover{color:#e8a33d;border-color:#e8a33d}#netstats{position:fixed;left:.4rem;bottom:.4rem;z-index:9;padding:.2rem .45rem;border-radius:.35rem;background:#0d0f12b8;color:#9fe8b0;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none}.settings{border:1px solid var(--line, #2a2f3a);border-radius:10px;margin:0 0 18px;background:#ffffff05}.settings>summary{cursor:pointer;padding:12px 14px;font-weight:600;list-style:none}.settings>summary:before{content:"▸ ";opacity:.6}.settings[open]>summary:before{content:"▾ "}.settings-body{padding:4px 14px 16px;display:grid;gap:14px}.setting{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.setting>input[type=checkbox]{margin-top:3px}.setting strong{display:block;font-weight:600}.setting em{display:block;font-style:normal;opacity:.62;font-size:.86em;line-height:1.45;margin-top:2px}.setting em.pinned{opacity:.85;color:var(--warn, #d9a441)}.setting.slider{grid-template-columns:1fr;gap:6px}.slider-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.slider-value{font-variant-numeric:tabular-nums;opacity:.75;font-size:.9em}.setting.slider input[type=range]{width:100%}.setting input:disabled{opacity:.45}.settings-foot{opacity:.6;font-size:.86em;margin:4px 0 0}
