:root{--panel:#080a0ec7;--panel-edge:#ffffff14;--text:#eef2f5;--dim:#eef2f58c;--accent:#00c2b8;--pb:#b14cff;--sb:#2ee86b;--slow:#ffd23f;--behind:#ff5a5a;--harvest:#4da3ff;--font:"Saira Semi Condensed", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);font-family:var(--font);background:#000;margin:0;overflow:hidden}#view{width:100vw;height:100vh;display:block}#hud{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}body.hud-off #hud>:not(.paused){display:none!important}.panel{background:var(--panel);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;position:absolute}.hidden{display:none!important}.session-col{z-index:6;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:14px;left:14px}.session{min-width:210px;padding:8px 12px 9px;position:relative}.mode-title{letter-spacing:.16em;color:var(--accent);font-size:13px;font-weight:700}.track-name{font-size:17px;font-weight:600;line-height:1.2}.track-name.picker{width:fit-content;display:flex;position:relative}.track-pick{pointer-events:auto;cursor:pointer;font:inherit;line-height:inherit;color:inherit;background:0 0;border:0;border-radius:5px;align-items:center;margin:0 0 0 -6px;padding:0 6px;display:flex}.track-pick em{font:700 11px var(--font);letter-spacing:.06em;white-space:nowrap;color:var(--accent);background:#00c2b81f;border:1px solid #00c2b880;border-radius:4px;margin-left:10px;padding:2px 8px;font-style:normal}.track-pick:hover em,.track-pick[aria-expanded=true] em{background:#00c2b840}.track-pick i{font-size:9px;font-style:normal}.track-menu{overscroll-behavior:contain;pointer-events:auto;-webkit-backdrop-filter:blur(8px);background:#0a0c10f5;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:2px;width:max-content;min-width:calc(100% + 6px);max-width:min(360px,80vw);max-height:calc(100vh - 120px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:-6px;overflow-y:auto;box-shadow:0 10px 28px #00000080}.track-menu>*{flex:none}.track-menu-head{letter-spacing:.16em;color:var(--dim);text-transform:uppercase;padding:3px 8px 5px;font-size:10px;font-weight:700}.track-menu a{white-space:nowrap;min-width:0;color:var(--text);border-radius:5px;align-items:center;padding:7px 8px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.track-menu a .flag{flex:none}.track-menu a span{text-overflow:ellipsis;min-width:0;overflow:hidden}.track-menu a:hover{background:#ffffff14}.track-menu a.on{color:var(--accent)}.track-menu a.on:after{content:"✓";margin-left:auto;padding-left:12px;font-size:12px}.flag{vertical-align:-1px;border-radius:2px;width:18px;height:12px;margin-right:7px;box-shadow:0 0 0 1px #ffffff40}.track-menu .flag{width:16px;height:11px}.session .info{color:var(--dim);white-space:nowrap;margin-top:4px;font-size:11px}.session .hint{color:var(--dim);font-size:11px}.settings-btn{pointer-events:auto;cursor:pointer;font:700 12px var(--font);letter-spacing:.08em;color:var(--text);background:#ffffff14;border:1px solid #ffffff2e;border-radius:4px;margin-top:6px;padding:3px 10px}.settings-btn:hover{border-color:var(--accent);background:#00c2b840}.session-btns{flex-wrap:wrap;gap:6px;display:flex}.gfx-row{align-items:center;gap:8px;margin:4px 0 7px;display:flex}.gfx-set{border:1px solid var(--panel-edge);width:20px;height:18px;color:var(--dim);cursor:pointer;background:#ffffff0a;border-radius:4px;place-items:center;padding:0;font-size:12px;line-height:1;display:grid}.gfx-tier,.gfx-set{pointer-events:auto}.gfx-set:hover{color:var(--text);border-color:var(--accent)}.gfx-tier{cursor:pointer;font:600 10px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);background:0 0;border:0;margin:0;padding:0;display:block}.gfx-tier b{letter-spacing:.12em;border:1px solid;border-radius:3px;margin-left:4px;padding:1px 6px}.gfx-tier:hover{color:var(--text)}.gfx-tier[data-level="4"] b{color:#2ee86b}.gfx-tier[data-level="3"] b{color:var(--accent)}.gfx-tier[data-level="2"] b{color:#e8d84a}.gfx-tier[data-level="1"] b{color:#f0a04c}.gfx-tier[data-level="0"] b{color:#e8584f}.line-hint{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080a0eb3;margin-top:0}.line-hint.on{border-color:var(--accent);color:#fff;background:#00c2b847;box-shadow:0 0 10px #00c2b859}.line-hint.flash{animation:.9s ease-in-out 4 line-flash}@keyframes line-flash{0%,to{box-shadow:none;border-color:#ffffff2e}50%{border-color:var(--accent);color:#fff;box-shadow:0 0 14px #00c2b8b3}}.lag-btn{color:var(--dim);font-weight:600}.gfx-flash>.lil-title{animation:.9s ease-in-out 3 gfx-flash}@keyframes gfx-flash{0%,to{color:inherit;text-shadow:none;background:0 0}50%{color:var(--accent);text-shadow:0 0 10px #00c2b8cc;background:#00c2b82e}}.timing{width:250px;padding:0 0 6px;top:14px;right:14px;overflow:hidden}.sectors{gap:3px;padding:6px 8px 4px;display:flex}.sectors i{background:#ffffff24;border-radius:2px;flex:1;height:5px}.sectors i.live{background:#ffffff8c}.sectors i.personal{background:var(--pb)}.sectors i.session{background:var(--sb)}.sectors i.slower{background:var(--slow)}.t-row{justify-content:space-between;align-items:baseline;padding:1px 12px;font-size:15px;display:flex}.t-row.main{border-bottom:1px solid var(--panel-edge);margin-bottom:3px;padding-top:2px;padding-bottom:4px}.t-row .lap{letter-spacing:.08em;font-size:14px;font-weight:700}.t-row .cur{font-size:28px;font-weight:700;line-height:1}.t-row .cur.flash{color:var(--pb)}.t-row .lbl{letter-spacing:.1em;color:var(--dim);font-size:12px}.delta.ahead{color:var(--sb)}.delta.behind{color:var(--behind)}.minimap{width:230px;height:158px;bottom:18px;left:14px}.social{gap:6px;display:flex;position:absolute;bottom:184px;left:14px}.soc-btn{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:6px;margin-top:0;padding:4px 10px;display:inline-flex}.soc-btn svg{width:15px;height:15px}.share-menu{pointer-events:auto;flex-direction:column;min-width:150px;padding:6px 0;display:flex;bottom:218px;left:14px}.share-head{letter-spacing:.16em;color:var(--accent);border-bottom:1px solid var(--panel-edge);margin-bottom:3px;padding:0 12px 4px;font-size:12px;font-weight:700}.share-menu a,.share-menu button{font:600 13px var(--font);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:5px 12px;text-decoration:none}.share-menu a:hover,.share-menu button:hover{background:#00c2b833}.fb-modal{width:min(440px,92vw)}.fb-modal p{color:var(--dim);margin:4px 4px 10px;font-size:13px}.fb-moods{gap:6px;margin:0 0 8px;display:flex}.fb-moods button{cursor:pointer;font:600 13px var(--font);color:var(--text);border:1px solid var(--panel-edge);background:#ffffff0f;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 4px;display:flex}.fb-moods button span{font-size:16px}.fb-moods button:hover{border-color:#ffffff4d}.fb-moods button.on{border-color:var(--accent);background:#00c2b840}.fb-text{resize:vertical;min-height:96px;font:400 15px var(--font);line-height:1.35}.fb-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.fb-status{color:var(--sb);font-size:12px}.fb-status.err{color:var(--behind)}.fb-send{margin-top:0;padding:5px 18px}.fb-send:disabled{opacity:.5;cursor:default}.cluster{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.trace{background:#080a0e8c;border-radius:5px;width:220px;height:48px;position:absolute;bottom:56px;left:calc(100% + 12px)}.clcanvas{filter:drop-shadow(0 1px 2px #000000d9);display:block}.badges{letter-spacing:.1em;gap:6px;font-size:10px;font-weight:700;display:flex}.badges span{background:var(--panel);color:var(--dim);border-radius:3px;padding:2px 6px}.badges .aero.on{color:#04201e;background:var(--accent)}.gpanel{padding:4px;bottom:40px;right:14px}.gmeter{width:100px;height:100px;display:block}.paused{letter-spacing:.12em;padding:10px 18px;font-size:20px;font-weight:700;top:38%;left:50%;transform:translate(-50%)}.brand{font:700 12px var(--font);letter-spacing:.3em;color:#eef2f559;position:absolute;top:12px;left:50%;transform:translate(-50%)}@media (width<=1180px){.trace{width:300px;margin-bottom:-6px;position:static}}@media (width<=760px){.session{display:none}.minimap{width:150px;height:104px}.social{bottom:130px}.share-menu{bottom:164px}.gpanel{display:none}.trace{width:150px}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060999;place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--panel-edge);background:#0a0c10f5;border-radius:10px;flex-direction:column;width:min(560px,92vw);max-height:82vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal-head{border-bottom:1px solid var(--panel-edge);font:700 15px var(--font);letter-spacing:.2em;color:var(--accent);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-close{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:18px}.modal-close:hover{color:var(--text);background:#ffffff14}.modal-body{padding:8px 10px 12px;overflow-y:auto}.modal-foot{border-top:1px solid var(--panel-edge);color:var(--dim);letter-spacing:.08em;padding:8px 16px;font-size:11px}.modal-body .lil-gui{--background-color:transparent;--widget-color:#1c2128;--hover-color:#262c35;--focus-color:#2e3540;--number-color:#00c2b8;--string-color:#2ee86b;--font-family:var(--font);--font-size:13px;--input-font-size:13px;--widget-height:24px;--title-background-color:#ffffff0d;--name-width:42%;width:100%!important}.board{width:250px;padding:6px 0;top:200px;right:14px}.board-head{letter-spacing:.16em;color:var(--accent);border-bottom:1px solid var(--panel-edge);justify-content:space-between;padding:0 12px 4px;font-size:12px;font-weight:700;display:flex}.board-head span{color:var(--dim);letter-spacing:0;font-weight:400}.board-list{margin:3px 0 0;padding:0;font-size:13px;list-style:none}.board-list li{gap:8px;padding:1px 12px;display:flex}.board-list li b{width:22px;color:var(--dim);font-weight:600}.board-list li .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.board-list li.me{color:var(--pb)}.board-list li.empty{color:var(--dim);font-size:12px}.board-list li.ref{color:#ffd23f;opacity:.9;font-style:italic}.board-status{color:var(--dim);padding:3px 12px 0;font-size:11px}.board-status:empty{display:none}.board-account{border-top:1px solid var(--panel-edge);flex-direction:column;gap:3px;margin-top:4px;padding:6px 12px 2px;display:flex}.board-account small{color:var(--dim);overflow-wrap:anywhere;font-size:11px}.board-google{justify-content:center;align-items:center;gap:7px;margin-top:0;padding:5px 10px;display:inline-flex}.board-link{pointer-events:auto;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.name-modal{width:min(380px,92vw)}.name-modal p{color:var(--dim);margin:4px 4px 10px;font-size:13px}.name-input{box-sizing:border-box;border:1px solid var(--panel-edge);width:100%;color:var(--text);font:600 16px var(--font);background:#1c2128;border-radius:5px;padding:8px 10px}.name-input:focus{border-color:var(--accent);outline:none}.name-error{min-height:18px;color:var(--behind);margin:4px 2px;font-size:12px}.name-modal .settings-btn{margin-top:0}@media (width<=760px){.board{display:none}}.discord-btn{box-sizing:border-box;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;gap:7px;width:250px;margin-top:0;padding:4px 10px;text-decoration:none;display:inline-flex;position:absolute;top:166px;right:14px}.discord-btn svg{color:#5865f2;width:16px;height:16px}.discord-btn:hover svg{color:#fff}@media (width<=760px){.discord-btn{display:none}}body.is-touch .discord-btn{background:#080a0e66;border:1.5px solid #ffffff59;border-radius:10px;width:auto;height:39px;padding:0 14px;display:inline-flex;top:12px;right:227px}body.is-touch .discord-btn svg{color:#fff;width:20px;height:20px}@media (width<=640px){body.is-touch .discord-btn{top:58px}}body.is-touch .discord-btn span{display:none}.intro{pointer-events:none;transition:opacity .8s,transform .8s;position:absolute;top:24%;left:50%;transform:translate(-50%)}.intro.fade{opacity:0;transform:translate(-50%)translateY(-10px)}.intro-title{letter-spacing:.2em;color:var(--accent);text-align:center;text-shadow:0 1px 4px #000000e6;margin-bottom:8px;font-size:12px;font-weight:700}.intro-count{text-align:center;letter-spacing:.14em;min-height:16px;color:var(--text);text-transform:uppercase;text-shadow:0 1px 4px #000000e6;margin-top:8px;font-size:12px;font-weight:700}.intro-pad-tag{color:var(--sb);letter-spacing:.04em;font-weight:600}.intro-grid{grid-template-columns:repeat(2,auto);gap:8px 10px;display:grid}.intro-row{-webkit-backdrop-filter:blur(10px)saturate(1.3);text-shadow:0 1px 2px #0009;background:#0e121852;border:1px solid #ffffff4d;border-radius:9px;align-items:center;gap:9px;padding:5px 12px 5px 6px;font-size:14px;font-weight:600;transition:background 80ms,border-color 80ms;display:flex;box-shadow:0 4px 18px #00000040,inset 0 1px #ffffff2e}.intro-row kbd{font:700 12px var(--font);color:var(--text);text-align:center;white-space:nowrap;background:#ffffff14;border:1.5px solid #ffffffb3;border-radius:5px;padding:2px 7px;transition:background 80ms,color 80ms,border-color 80ms}.intro-row .k{min-width:84px}.intro-row .p{min-width:70px;display:none}.intro.with-pad .intro-row .p{display:inline-block}.intro.with-pad .intro-row .k,.intro.with-pad .key-only,.intro:not(.with-pad) .pad-only{display:none}.intro-row span{color:var(--text)}.intro-row.on{border-color:var(--accent);background:#00c2b838}.intro-row.on kbd{background:var(--accent);color:#04201e;border-color:var(--accent)}@media (width<=760px){.intro{top:14%}.intro-grid{grid-template-columns:auto}}.credits{text-align:right;color:#eef2f58c;text-shadow:0 1px 2px #000c;pointer-events:auto;max-width:330px;font-size:10px;line-height:1.3;position:absolute;bottom:4px;right:14px}.credits a{color:inherit}@media (width<=760px){.credits{max-width:200px;font-size:8px}}.board-title{align-items:center;gap:7px;display:inline-flex}.board-live{background:var(--sb);width:6px;height:6px;box-shadow:0 0 6px var(--sb);border-radius:50%}.board.refreshing .board-live{animation:.7s ease-in-out infinite board-pulse}@keyframes board-pulse{50%{opacity:.25;transform:scale(.7)}}.board-list{max-height:calc(100vh - 420px);overflow:hidden}.board-list li{position:relative}.board-mine{border-top:1px dashed var(--panel-edge);margin-top:3px;padding-top:3px}.board-mine:empty{display:none}.board-list li.flash{animation:1.6s ease-out board-flash}@keyframes board-flash{0%{background:#00c2b873}to{background:0 0}}.board-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);align-items:center;gap:7px;padding:5px 12px 3px;font-size:11px;font-weight:600;display:flex}.board-sub b{background:var(--accent);color:#061214;letter-spacing:.12em;border-radius:3px;padding:1px 7px;font-weight:800}.board-sub:empty{display:none}.board-online{letter-spacing:.04em;color:var(--text);align-items:center;gap:7px;padding:4px 12px 2px;font-size:12px;font-weight:600;display:flex}.board-online i{background:var(--sb);border-radius:50%;width:7px;height:7px;animation:2s ease-out infinite online-ping;box-shadow:0 0 #2ee86b99}.board-online.bump span{animation:.5s ease-out online-bump}@keyframes online-ping{0%{box-shadow:0 0 #2ee86b99}80%,to{box-shadow:0 0 0 7px #2ee86b00}}@keyframes online-bump{0%{color:var(--sb);transform:translateY(-2px)}to{color:var(--text);transform:none}}.touch-ui{display:none}body.is-touch{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.is-touch .touch-ui{z-index:5;pointer-events:none;display:block;position:fixed;inset:0}.touch-ui button,.t-steer{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;font:700 11px var(--font);letter-spacing:.12em;color:var(--text)}.t-steer{left:max(14px, env(safe-area-inset-left));flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;width:34vw;max-width:280px;height:34vh;max-height:170px;display:flex;position:absolute;bottom:18px}.t-steer span{color:#eef2f58c}.t-steer-track{-webkit-backdrop-filter:blur(6px);background:#080a0e59;border:1.5px solid #ffffff59;border-radius:27px;width:100%;height:54px;position:relative}.t-knob{background:#00c2b8d9;border-radius:50%;width:44px;height:44px;transition:transform 50ms linear;position:absolute;top:4px;left:calc(50% - 22px);box-shadow:0 0 12px #00c2b899}.t-pedals{right:max(14px, env(safe-area-inset-right));align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:18px}.t-pedal{-webkit-backdrop-filter:blur(6px);background:#080a0e59;border:1.5px solid #ffffff59;border-radius:16px;width:86px;height:120px}.t-gas{height:120px}.t-gas.down{border-color:var(--sb);background:#2ee86b73}.t-brake.down{border-color:var(--behind);background:#ff5a5a73}.t-btn{-webkit-backdrop-filter:blur(6px);background:#080a0e66;border:1.5px solid #ffffff59;border-radius:10px;padding:9px 12px}.t-btn.down{border-color:var(--accent);background:#00c2b873}.t-gas{border-top-left-radius:4px;border-top-right-radius:4px;position:relative}.t-boost-tab{color:#eef2f5b3;-webkit-backdrop-filter:blur(6px);background:#080a0e59;border:1.5px solid #4da3ff99;border-radius:16px 16px 4px 4px;place-items:center;height:44px;display:grid;position:absolute;bottom:calc(100% + 1.5px);left:-1.5px;right:-1.5px}.boosting .t-boost-tab{border-color:var(--harvest);color:#fff;background:#4da3ff99}.t-swipe{letter-spacing:.14em;color:#eef2f58c;font-size:9px;position:absolute;top:9px;left:0;right:0}.t-boost-badge{right:calc(max(14px, env(safe-area-inset-right)) + 98px);white-space:nowrap;font:800 13px var(--font);letter-spacing:.14em;color:#fff;text-shadow:0 0 10px #4da3ff,0 1px 2px #000c;opacity:0;transition:opacity .12s;position:absolute;bottom:156px}.boosting .t-boost-badge{opacity:1}.touch-ui:after{content:"";pointer-events:none;opacity:0;transition:opacity .12s;position:absolute;inset:0;box-shadow:inset 0 0 60px #4da3ff8c,inset 0 0 0 3px #4da3ffb3}.touch-ui.boosting:after{opacity:1}.t-top{left:max(14px, env(safe-area-inset-left));gap:8px;display:flex;position:absolute;top:12px}body.is-touch .session-col,body.is-touch .minimap,body.is-touch .gpanel,body.is-touch .help-modal{display:none!important}body.is-touch .timing{transform-origin:100% 0;transform:scale(.82)}body.is-touch .board{left:max(14px, env(safe-area-inset-left));transform-origin:0 0;display:none;top:56px;right:auto;transform:scale(.85)}body.is-touch.board-open .board{display:block}body.is-touch.board-open .t-board{border-color:var(--accent);background:#00c2b873}body.is-touch .board-list{max-height:calc(117.647vh - 176.471px)}body.is-touch .cluster{transform-origin:bottom;bottom:2px;transform:translate(-50%)scale(.6)}body.is-touch .trace{display:none}body.is-touch .social{left:max(14px, env(safe-area-inset-left));top:58px;bottom:auto}body.is-touch .share-menu{left:max(14px, env(safe-area-inset-left));top:104px;bottom:auto}body.is-touch .soc-btn{background:#080a0e66;border:1.5px solid #ffffff59;border-radius:10px;justify-content:center;height:39px;padding:0 14px}body.is-touch .soc-btn span{display:none}body.is-touch .soc-btn svg{width:18px;height:18px}body.is-touch.board-open .social{display:none}body.is-touch .credits{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:60vw;font-size:8px;inset:2px auto auto 50%;overflow:hidden;transform:translate(-50%)}.rotate-screen{display:none}@media (orientation:portrait){body.is-touch.game-ready .rotate-screen{z-index:45;text-align:center;background:radial-gradient(at 50% 45%,#05070abf,#05070af2 70%),url(/loader-bg.webp) 62% 55%/cover,#05070a;place-items:center;display:grid;position:fixed;inset:0}}.rotate-title{letter-spacing:.04em;margin-top:26px;font-size:22px;font-weight:700}.rotate-sub{letter-spacing:.14em;color:var(--dim);text-transform:uppercase;margin-top:6px;font-size:13px}.rotate-phone{border:3px solid var(--text);border-radius:9px;width:46px;height:80px;margin:0 auto;animation:2.2s ease-in-out infinite rotate-hint;position:relative}.rotate-phone i{background:var(--accent);border-radius:2px;width:12px;height:3px;margin-left:-6px;position:absolute;bottom:5px;left:50%}@keyframes rotate-hint{0%,20%{transform:rotate(0)}55%,85%{border-color:var(--accent);transform:rotate(-90deg)}to{transform:rotate(0)}}.board-phone{opacity:.85;margin-left:3px;font-size:11px;font-style:normal}.intro-hint{width:fit-content;color:var(--text);text-shadow:0 1px 2px #0009;-webkit-backdrop-filter:blur(10px)saturate(1.3);background:#0e121852;border:1px solid #ffffff4d;border-radius:9px;justify-content:center;align-items:center;gap:10px;margin:10px auto 0;padding:6px 14px;font-size:14px;font-weight:600;display:flex}.intro-hint svg{width:30px;height:20px;color:var(--accent);filter:drop-shadow(0 1px 2px #0009)}.intro-phone{pointer-events:auto;cursor:pointer;font:600 13px var(--font);color:var(--accent);text-shadow:0 1px 2px #0009;-webkit-backdrop-filter:blur(10px);background:#0e121852;border:1px solid #00c2b88c;border-radius:9px;align-items:center;gap:8px;margin:8px auto 0;padding:5px 12px;display:flex}.intro-phone:hover{color:var(--text);background:#00c2b838}.intro-phone svg{width:20px;height:20px}.intro-phone i{font-size:16px;font-style:normal;line-height:1}.phone-landing{display:none}html.phone-first #loader{display:none!important}html.phone-first .phone-landing,.iab-full{z-index:60;font-family:var(--font);color:var(--text);text-align:center;background:radial-gradient(at 50% 40%,#05070a99,#05070aed 72%),url(/loader-bg.webp) 62% 55%/cover,#05070a;place-items:center;padding:28px 18px;display:grid;position:fixed;inset:0;overflow-y:auto}.pl-card{grid-template-areas:"mark""sub""online""send""play""pad""board";gap:10px;width:min(360px,100%);display:grid}.pl-mark{grid-area:mark}.pl-sub{grid-area:sub}.pl-online{grid-area:online}.pl-send-wrap{flex-direction:column;grid-area:send;gap:8px;display:flex}.pl-play{grid-area:play}.pl-pad{grid-area:pad}.pl-board{grid-area:board}.pl-tracks{grid-area:tracks}.pl-card.with-tracks{grid-template-areas:"mark""sub""online""send""play""pad""tracks""board"}.pl-tracks{cursor:pointer;text-align:left;font:600 15px var(--font);color:var(--text);background:#ffffff0f;border:1px solid #ffffff2e;border-radius:11px;align-items:center;gap:8px;padding:11px 14px;display:flex}.pl-tracks span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pl-tracks small{letter-spacing:.04em;color:var(--accent);font-size:12px;font-weight:600}.pl-tracks i{color:var(--accent);font-size:18px;font-style:normal;line-height:1}.pl-tracks .flag{margin-right:2px}.pl-sheet{z-index:70;-webkit-backdrop-filter:blur(4px);background:#04060999;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.pl-sheet.hidden{display:none}.pl-sheet-card{text-align:left;border:1px solid var(--panel-edge);width:min(480px,100%);max-height:78vh;padding-bottom:env(safe-area-inset-bottom);background:#0a0c10f7;border-radius:16px 16px 0 0;flex-direction:column;display:flex}.pl-sheet-head{border-bottom:1px solid var(--panel-edge);letter-spacing:.18em;color:var(--accent);justify-content:space-between;align-items:center;padding:14px 16px;font-size:13px;font-weight:700;display:flex}.pl-sheet-close{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:18px}.pl-sheet-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:6px;padding:8px;display:flex;overflow-y:auto}.pl-sheet-list a{color:var(--text);background:#ffffff0d;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:13px 14px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.pl-sheet-list a.on{border-color:var(--accent);color:var(--accent)}.pl-sheet-list a.on:after{content:"Current";letter-spacing:.06em;color:var(--dim);margin-left:auto;font-size:12px}@media (orientation:landscape){.pl-sheet{align-items:center}.pl-sheet-card{border-radius:14px;max-height:86vh}}.iab-full{z-index:90}.iab-card{flex-direction:column;gap:12px;width:min(360px,100%);display:flex}.iab-card strong{color:#fff;text-shadow:0 2px 12px #0009;outline:none;margin-top:8px;font-size:24px;font-weight:700}.iab-card p{color:#eef2f5b3;margin:0;font-size:15px;line-height:1.4}.iab-card p.iab-how{color:var(--text);margin:6px 0 8px;font-size:18px}.iab-card p.iab-how b{color:var(--accent)}.iab-card .pl-send,.iab-card .pl-play{overflow-wrap:anywhere;text-decoration:none}.copy-fallback{box-sizing:border-box;border:1px solid var(--panel-edge);width:100%;color:var(--text);font:600 16px var(--font);-webkit-user-select:all;user-select:all;background:#1c2128;border-radius:8px;padding:9px 10px}@media (orientation:landscape){.pl-card{grid-template-columns:1fr 1fr;grid-template-areas:"mark online""sub board""send board""play board""pad board";align-items:center;column-gap:32px;width:min(720px,100%)}.pl-card.with-tracks{grid-template-areas:"mark online""sub board""send board""play board""pad board""tracks board"}.pl-online{align-self:end;margin:0}.pl-board{align-self:start;margin-top:0;padding:8px 12px}.pl-board li{padding:0;font-size:12.5px;line-height:1.3}.pl-board-head{margin-bottom:3px}html.phone-first .phone-landing{padding:14px 18px}.pl-card{gap:8px}.pl-mark{font-size:38px}.pl-sub{margin-bottom:4px}}.pl-board{text-align:left;-webkit-backdrop-filter:blur(8px);background:#0e121880;border:1px solid #fff3;border-radius:11px;margin-top:6px;padding:10px 12px}.pl-board-head{letter-spacing:.16em;color:var(--accent);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.pl-board-head small{letter-spacing:.1em;color:var(--dim);font-size:10px;font-weight:600}.pl-board-head small b{color:var(--accent)}.pl-board li.ref{color:#ffd23f;opacity:.9;font-style:italic}.pl-board li.ref em{color:inherit}.pl-board ol{margin:0;padding:0;font-size:14px;list-style:none}.pl-board li{gap:10px;padding:2px 0;display:flex}.pl-board li b{width:16px;color:var(--dim)}.pl-board li span{flex:1}.pl-board li em{font-variant-numeric:tabular-nums;color:var(--dim);font-style:normal}.pl-mark{letter-spacing:.03em;text-shadow:0 2px 18px #0009;font-size:44px;font-weight:700;line-height:1}.pl-mark b{color:var(--accent)}.pl-sub{flex-direction:column;gap:4px;margin:10px 0 14px;display:flex}.pl-sub strong{letter-spacing:.01em;color:#fff;text-shadow:0 2px 12px #0009;font-size:24px;font-weight:700}.pl-sub span{letter-spacing:.12em;text-transform:uppercase;color:#eef2f599;font-size:13px}.pl-send,.pl-play{font:700 16px var(--font);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:10px;padding:14px 18px;display:flex}.pl-send{color:#04201e;background:var(--accent);border:0}.pl-play{color:var(--text);-webkit-backdrop-filter:blur(8px);background:#0e121873;border:1px solid #ffffff4d}.pl-send:active,.pl-play:active{transform:scale(.98)}.pl-online{color:var(--text);justify-content:center;align-items:center;gap:8px;margin:-6px 0 12px;font-size:14px;font-weight:600;display:flex}.pl-online.hidden{display:none}@media (orientation:portrait){.pl-online.few{display:none}}.pl-online i{background:var(--sb);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite online-ping}.pl-legal{left:0;right:0;bottom:max(8px, env(safe-area-inset-bottom));color:#eef2f573;font-size:11px;position:fixed}.pl-spin{border:2.5px solid #ffffff2e;border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin:18px auto;animation:.8s linear infinite pl-spin;display:none}.pl-board.loading .pl-spin{display:block}.pl-board.loading ol{display:none}@keyframes pl-spin{to{transform:rotate(360deg)}}.pl-send svg,.pl-play svg{flex:none;width:20px;height:20px}.pl-pad{color:var(--accent);text-align:center;justify-content:center;align-items:center;gap:8px;padding:4px 6px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.pl-pad svg{flex:none;width:18px;height:18px}.debug-panel{color:#e8eaed;background:#080a0ec7;border:1px solid #ffffff1f;border-radius:6px;width:430px;padding:8px 10px;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:132px;left:14px}.debug-title{letter-spacing:.06em;opacity:.8;margin-bottom:6px;font-weight:700}.debug-grid{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.debug-wheel{align-items:flex-start;gap:6px;display:flex}.debug-wheel canvas{flex:none;width:48px;height:48px}.debug-summary{opacity:.85;margin-top:6px}@media (width<=760px){.debug-panel{width:300px;font-size:9px}}.modal.help{width:min(820px,94vw)}.help .modal-head{gap:12px}.help .modal-head>span{flex:1}.help-tabs{border:1px solid var(--panel-edge);background:#ffffff0f;border-radius:7px;padding:2px;display:flex}.help-tabs button{font:600 12px var(--font);letter-spacing:.06em;color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:4px 12px}.help-tabs button:hover{color:var(--text)}.help-tabs button.on{background:var(--accent);color:#04201e}.help-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:14px 16px 16px;display:grid}.help-group{background:#ffffff09;border:1px solid #ffffff12;border-radius:8px;padding:10px 12px 8px}.help-group h3{font:700 11px var(--font);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.help-row{color:var(--text);align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.help-row>span:last-child{color:#eef2f5d9;line-height:1.25}.hk{flex:none;gap:3px;min-width:76px;display:flex}.hk kbd{font:700 11px var(--font);color:var(--text);text-align:center;background:linear-gradient(#262c35,#1a1f26);border:1px solid #ffffff38;border-radius:4px;min-width:14px;padding:2px 6px;box-shadow:0 2px #0000008c}.hk.p,.help-modal.pad .hk.k{display:none}.help-modal.pad .hk.p{min-width:92px;display:flex}.help-modal.pad .hk.p kbd{border-color:#00c2b88c;border-radius:10px}.help-modal.pad .help-row.key-only{opacity:.4}.help-modal.pad .help-row.key-only .hk.p:before{content:"keyboard";color:var(--dim);font-size:11px}.help-modal .help-phone,.help-modal.phone .help-keys{display:none}.help-modal.phone .help-phone{display:grid}.hk.ph{min-width:92px;display:flex}.hk.ph kbd{white-space:nowrap;border-color:#00c2b88c;border-radius:8px}.slow-tips .modal-body{color:var(--text);padding:12px 18px;font-size:13px;line-height:1.5}.slow-tips .modal-body p{margin:0 0 10px}.slow-tips .modal-body ul{gap:8px;margin:0;padding-left:18px;display:grid}.slow-tips .modal-body i{color:var(--accent);font-style:normal}.slow-tips .modal-foot{align-items:center;gap:12px;display:flex}.phone-pair .modal-body{align-items:center;gap:18px;padding:16px;display:flex}.pp-qr{background:#fff;border-radius:8px;flex:0 0 188px;height:188px;padding:8px}.pp-qr svg{width:100%;height:100%;display:block}.pp-text{flex:1;min-width:0;font-size:13px;line-height:1.45}.pp-text ol{margin:0 0 10px;padding-left:18px}.pp-text li{margin-bottom:4px}.pp-code-row{color:var(--dim);font-size:12px}.pp-url{color:var(--text);word-break:break-all}.pp-code{color:var(--accent);letter-spacing:.18em;margin-left:2px;font-size:18px}.pp-status{align-items:center;gap:8px;margin-top:12px;font-weight:600;display:flex}.pp-status i{background:var(--slow);border-radius:50%;flex:0 0 9px;height:9px;animation:1.2s ease-in-out infinite pp-pulse}.pp-status.ok i{background:var(--sb);animation:none}.pp-status.bad i{background:var(--behind);animation:none}@keyframes pp-pulse{50%{opacity:.3}}.phone-btn.on{border-color:var(--sb);color:var(--sb)}@media (width<=520px){.phone-pair .modal-body{flex-direction:column}}
