#ride{z-index:40;color:var(--txt);background:#000;position:fixed;inset:0}#ride canvas#game{width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none;font-size:15px;position:absolute;inset:0}#hud .panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0f14bd;border:1px solid #ffffff1f;border-radius:14px}#hud .clickable{pointer-events:auto}.h-tl{min-width:170px;padding:10px 16px;position:absolute;top:16px;left:16px}.h-rank{font-size:46px;font-weight:900;line-height:1}.h-rank small{color:var(--mut);font-size:20px;font-weight:700}.h-lap{margin-top:4px;font-size:15px;font-weight:700}.h-clock{color:var(--mut);font-variant-numeric:tabular-nums}.h-ghost{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.h-mini{object-fit:contain;width:300px;height:210px;padding:6px;position:absolute;top:16px;right:16px}.h-board{width:300px;padding:8px 10px;font-size:13px;position:absolute;top:236px;right:16px}.h-board .b{align-items:center;gap:6px;padding:1px 0;display:flex}.h-board .b.me{color:var(--acc);font-weight:800}.h-board .b.out{opacity:.4;text-decoration:line-through}.h-board .b.hd{color:var(--mut);text-transform:uppercase;letter-spacing:.04em;padding-bottom:3px;font-size:11px}.h-board .dot{border-radius:50%;flex:none;width:9px;height:9px}.h-board .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.h-board .wk,.h-board .kh{text-align:right;font-variant-numeric:tabular-nums;width:38px}.h-board .wk{color:var(--acc)}.h-board .hd .wk{color:var(--mut)}.h-board .gp{color:var(--mut);font-variant-numeric:tabular-nums;text-align:right;width:62px}.h-bl{width:300px;padding:12px 16px;position:absolute;bottom:16px;left:16px}.h-watts{font-variant-numeric:tabular-nums;font-size:54px;font-weight:900;line-height:1}.h-watts small{color:var(--mut);font-size:18px}.h-zone{background:#ffffff1a;border-radius:4px;height:7px;margin:6px 0 10px;overflow:hidden}.h-zone i{border-radius:4px;width:0;height:100%;transition:width .2s;display:block}.h-stats{font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,1fr);gap:4px 10px;display:grid}.h-stats b{font-size:20px;display:block}.h-stats span{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.h-gears{align-items:flex-end;gap:3px;margin-top:10px;display:flex}.h-gears i{background:#ffffff24;border-radius:2px;flex:1}.h-gears i.on{background:var(--acc)}.h-gears.jam i.on{background:var(--bad)}.h-hint{color:var(--warn);margin-top:8px;font-size:12px}.rp-bar{z-index:3;align-items:center;gap:10px;width:min(720px,100% - 32px);padding:8px 12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.rp-bar input[type=range]{flex:1;min-width:80px}.rp-bar select{width:auto;padding:4px 8px}.rp-bar .rp-time{text-align:center;min-width:44px;font-size:12px}.rp-bar .rp-dot{border-radius:50%;flex:none;width:10px;height:10px}.h-item{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.h-slot{border-radius:22px;place-items:center;width:92px;height:92px;font-size:54px;display:grid;border:3px solid #ffffff59!important}.h-slot.rolling{animation:.18s infinite alternate pulse}.h-slot.ready{box-shadow:0 0 24px #ffd40080;border-color:var(--acc)!important}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.07)}}.h-slotname{text-shadow:0 1px 3px #000;font-size:14px;font-weight:800}.h-slothint{color:#ddd;text-shadow:0 1px 3px #000;font-size:12px}.h-fx{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.fxb{background:#0c0f14bd;border:1px solid #ffffff1f;border-radius:20px;padding:3px 9px;font-size:13px;font-weight:700}.fxb.good{border-color:var(--good)}.fxb.bad{border-color:var(--bad)}.net-reconnect{border-radius:var(--r-pill);color:var(--txt);font-size:var(--fs-sm);pointer-events:none;background:#781e1ed9;padding:6px 14px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.net-reconnect.hidden{display:none}.h-toasts{flex-direction:column;align-items:center;gap:6px;width:min(560px,60vw);display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.toast{border:1px solid #ffffff1f;border-left:5px solid var(--info);text-align:center;background:#0c0f14cc;border-radius:12px;padding:8px 16px;font-weight:700;animation:.25s ease-out tin}.toast.good{border-left-color:var(--good)}.toast.bad{border-left-color:var(--bad)}.toast.warn{border-left-color:var(--warn)}@keyframes tin{0%{opacity:0;transform:translateY(-8px)}}.h-count{color:#fff;text-shadow:0 6px 30px #0009;place-items:center;font-size:180px;font-weight:900;display:grid;position:absolute;inset:0}.h-count.go{color:var(--acc)}.h-fog{opacity:0;background:radial-gradient(#e6e9ec40 0%,#dce0e4eb 60%);transition:opacity .5s;position:absolute;inset:0}.h-fog.on{opacity:1}.h-draft{color:#bfe6ff;text-shadow:0 1px 4px #000;opacity:0;font-weight:800;transition:opacity .3s;position:absolute;top:64%;left:50%;transform:translate(-50%,-50%)}.h-draft.on{opacity:.9}.h-menu{gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.h-online{color:var(--mut);padding:6px 10px;font-size:12px;position:absolute;top:140px;left:16px}#hud.spectate .h-slothint,#hud.spectate .h-hint{display:none}#hud.spectate .h-stats>div:has([data-k=res]){display:none}#hud.spectate .h-toasts{bottom:112px}.h-spec{flex-direction:column;align-items:center;gap:8px;min-width:320px;padding:8px 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.h-spec-row{justify-content:center;align-items:center;gap:8px;display:flex}.h-spec-who{flex-direction:column;align-items:center;min-width:170px;line-height:1.15;display:flex}.h-spec-who b{text-shadow:0 1px 3px #000000e6;font-size:18px;font-weight:800}.h-spec .chips>button{padding:4px 10px;font-size:12px}.h-cheers{gap:8px;transition:opacity .2s;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.h-cheers button{min-width:64px;color:var(--txt);background:#0c0f14bd;border:1px solid #ffffff2e;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;display:flex}.h-cheers button span{font-size:26px;line-height:1}.h-cheers button small{color:var(--mut);font-size:11px}.h-cheers button:hover{border-color:var(--acc)}.h-cheers.cooling{opacity:.45}.h-cheers.cooling button{cursor:wait}.h-cheers.muted{opacity:.4;pointer-events:none}.h-chat{flex-direction:column;gap:6px;width:300px;padding:8px 10px;font-size:13px;display:flex;position:absolute;bottom:60px;right:16px}.h-chat-log{flex-direction:column;gap:3px;max-height:150px;display:flex;overflow-y:auto}.h-chat-log:empty{display:none}.h-chat-spec{font-size:11px}.h-chat-form{gap:6px;display:flex}.h-chat-form input{flex:1;min-width:0;padding:6px 8px;font-size:13px}.h-chat-form button{padding:6px 10px;font-size:12px}#ride.tc-shown .h-chat{display:none}.w-panel{width:min(760px,62vw);padding:12px 14px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.w-top{align-items:center;gap:16px;display:flex}.w-target{font-variant-numeric:tabular-nums;font-size:44px;font-weight:900;line-height:1}.w-target small{color:var(--mut);font-size:16px;font-weight:700}.w-remain{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.w-txt{font-weight:700}.w-next{color:var(--mut);font-size:13px}.w-chart{width:100%;height:70px;margin-top:10px;display:block}.w-comp{color:var(--mut);font-size:13px}.w-erg{border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:12px}.w-erg.on{color:#111;background:var(--good);border-color:var(--good);font-weight:800}.w-diff{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.res-xp .line{border-bottom:1px dashed var(--line);justify-content:space-between;padding:4px 0;display:flex}.levelup{text-align:center;background:linear-gradient(135deg,#ffd40040,#ff9f1c1a);border:1px solid #ffd40080;border-radius:14px;margin:10px 0;padding:14px;animation:.5s pop}@keyframes pop{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.04)}}.ftp-rise{text-align:center;border-radius:var(--r);background:linear-gradient(135deg, rgba(var(--acc-rgb),.22), rgba(var(--acc-rgb),.05));border:1px solid rgba(var(--acc-rgb),.55);padding:16px 16px 14px;animation:.5s pop;position:relative;overflow:hidden}.ftp-rise:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 35%,#ffffff29 50%,#0000 65%);animation:1.3s ease-out .55s forwards ftp-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes ftp-shine{to{transform:translate(100%)}}.ftp-rise-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--acc-txt);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.ftp-rise-value{justify-content:center;align-items:baseline;gap:6px;margin:4px 0 10px;display:flex}.ftp-rise-unit{color:var(--mut);font-size:22px;font-weight:800}.ftp-rise-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.ftp-rise-milestone{border-radius:var(--r-pill);background:rgba(var(--acc-rgb),.16);color:var(--acc-txt);align-items:center;gap:6px;margin-top:10px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.tc{z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.tc button{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;color:#fff;background:0 0;border:0;border-radius:0;padding:0;transition:none;position:absolute}.tc button:hover{background:0 0}.tc button:active{transform:none}.tc-glyph{pointer-events:none;place-items:center;display:grid}.tc-flip svg{transform:scaleX(-1)}.tc-zone{align-items:center;width:50%;display:flex;top:28%;bottom:0}.tc-l{justify-content:flex-start;left:0;padding-left:max(14px, env(safe-area-inset-left))!important}.tc-r{justify-content:flex-end;right:0;padding-right:max(14px, env(safe-area-inset-right))!important}.tc-zone .tc-glyph{opacity:.8;background:#0c0f1461;border:1.5px solid #ffffff47;border-radius:50%;width:66px;height:66px;transition:transform 80ms,background 80ms,opacity 80ms}.tc-zone:after{content:"";opacity:0;pointer-events:none;width:38%;transition:opacity .12s;position:absolute;top:0;bottom:0}.tc-l:after{background:linear-gradient(90deg, rgba(var(--acc-rgb),.28), transparent);left:0}.tc-r:after{background:linear-gradient(270deg, rgba(var(--acc-rgb),.28), transparent);right:0}.tc-zone.on:after{opacity:1}.tc-zone.on .tc-glyph{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);opacity:1;transform:scale(1.1)}.tc-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;font-size:30px;font-weight:900;line-height:1;display:grid;background:#0c0f148c!important;border:2px solid #ffffff4d!important;border-radius:50%!important}.tc-btn.on{color:var(--acc-ink);background:var(--acc)!important;border-color:var(--acc)!important;transform:scale(.93)!important}.tc-fire{width:92px;height:92px;right:calc(max(14px, env(safe-area-inset-right)) + 86px);bottom:calc(max(14px, env(safe-area-inset-bottom)) + 18px);border-color:rgba(var(--acc-rgb),.7)!important}.tc-look{width:50px;height:50px;right:calc(max(14px, env(safe-area-inset-right)) + 190px);bottom:calc(max(14px, env(safe-area-inset-bottom)) + 18px)}.tc-camera{width:50px;height:50px;right:calc(max(14px, env(safe-area-inset-right)) + 190px);bottom:calc(max(14px, env(safe-area-inset-bottom)) + 78px)}.tc-up,.tc-down{width:58px;height:58px;left:calc(max(14px, env(safe-area-inset-left)) + 86px)}.tc-up{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 84px)}.tc-down{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 18px)}.tc-workout .tc-look,.tc-workout .tc-camera{right:calc(max(14px, env(safe-area-inset-right)) + 86px)}.arcade .tc-zone{top:64px}#ride.tc-shown .h-bl{left:50%;bottom:max(10px, env(safe-area-inset-bottom));transform:translate(-50%)}#ride.tc-shown .h-toasts{top:34%;bottom:auto}#ride.tc-shown .h-draft{top:48%}#ride.tc-shown .h-menu{top:16px;bottom:auto;right:16px}#ride.tc-shown .h-mini,#ride.tc-shown .h-board{right:70px}@media (max-width:900px),(max-height:540px){#hud{font-size:13px}.h-tl{min-width:0;padding:6px 10px;top:10px;left:10px}.h-rank{font-size:30px}.h-rank small{font-size:14px}.h-lap{margin-top:2px;font-size:12px}.h-ghost{font-size:15px}.h-mini{width:150px;height:105px;padding:3px;top:10px;right:10px}#ride.tc-shown .h-mini{right:62px}.h-board{display:none}.h-bl{width:220px;padding:8px 10px;bottom:10px;left:10px}.h-watts{font-size:34px}.h-watts small{font-size:13px}.h-zone{height:5px;margin:4px 0 6px}.h-stats{gap:2px 8px}.h-stats b{font-size:15px}.h-stats span{font-size:9px}.h-stats>div:nth-child(n+4){display:none}.h-gears{margin-top:6px}.h-item{gap:3px;top:8px}.h-slot{border-radius:16px;width:58px;height:58px;font-size:34px}.h-slotname{font-size:12px}.h-slothint{display:none}.h-count{font-size:110px}.h-menu{bottom:10px;right:10px}.h-spec{min-width:0;padding:6px 8px;top:8px}.h-spec .chips>button{padding:3px 7px;font-size:11px}.h-chat{display:none}.h-cheers button{min-width:48px;padding:4px 6px}.h-cheers button small{display:none}#ride.tc-shown .h-menu{top:10px;right:10px}.h-toasts{width:min(420px,80vw)}.toast{padding:5px 12px;font-size:13px}.w-panel{width:min(560px,56vw);padding:8px 10px;top:8px}.w-target{font-size:30px}.w-remain{font-size:22px}.w-chart{height:44px;margin-top:6px}.h-online{top:100px;left:10px}.arcade-top{gap:10px;height:42px;padding:6px 10px;top:6px;left:6px;right:6px}.arcade-top .num{font-size:16px}.arcade-top .a-hint{display:none}.arcade-stage{inset:54px 0 0}.arcade .tc-zone{top:54px}}.ctl-head{grid-template-columns:150px minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:10px 8px 4px;display:grid}.ctl-head span:first-child{grid-column:2}.ctl-head span:last-child{grid-column:4}.ctl-list{flex-direction:column;gap:6px;display:flex}.ctl-row{background:var(--card);border-radius:10px;grid-template-columns:150px minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:6px 8px;transition:background .1s,box-shadow .1s;display:grid}.ctl-row.lit{background:rgba(var(--acc-rgb), .18);box-shadow:0 0 0 1px rgba(var(--acc-rgb), .6) inset}.ctl-keys{flex-wrap:wrap;gap:4px;display:flex}.ctl-btns{gap:4px;display:flex}@media (max-width:640px){.ctl-head{display:none}.ctl-row{grid-template-columns:minmax(0,1fr) auto}.ctl-name,.ctl-keys,.ctl-pad{grid-column:1}.ctl-btns{grid-area:1/2/span 3}}.h-perf{color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 32px);padding:6px 12px;font-size:12px;line-height:1.45;position:absolute;top:16px;left:50%;overflow:hidden;transform:translate(-50%)}.h-perf div:first-child{color:var(--txt);font-weight:700}.h-post{background:radial-gradient(72% 78% at 50% 48%,#0000 58%,#00000057 100%);position:absolute;inset:0}.h-post:after{content:"";opacity:var(--hit,0);background:#ff261a80;position:absolute;inset:0}.h-board .b.gap{border-top:1px dotted var(--mut);height:0;margin:5px 24px;padding:0}.h-board .tg{letter-spacing:.04em;background:rgba(var(--tint), .12);color:var(--mut);vertical-align:1px;border-radius:6px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.h-board .b.mate .nm{color:var(--acc-txt)}.h-board .b.tm .nm{letter-spacing:.04em;font-weight:700}.tour{z-index:70;pointer-events:none;animation:.2s fade;position:fixed;inset:0}.tour.out{opacity:0;transition:opacity .2s}.tour-block{pointer-events:auto;background:0 0;position:fixed}.tour-spot{outline:2px solid var(--acc);outline-offset:0;border-radius:14px;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),opacity .25s;position:fixed;box-shadow:0 0 0 9999px #04060aad}.tour-spot:after{content:"";border:2px solid rgba(var(--acc-rgb),.55);border-radius:18px;animation:1.6s ease-out infinite tour-ring;position:absolute;inset:-6px}.tour.centered .tour-spot{outline:0}.tour.centered .tour-spot:after{display:none}.tour.interactive .tour-spot:after{border-color:var(--acc);animation-duration:1.1s}@keyframes tour-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.tour-card{pointer-events:auto;background:var(--surface2);border:1px solid var(--line2);color:var(--txt);box-shadow:0 24px 60px -18px #000000a6, 0 0 0 1px rgba(var(--acc-rgb),.12);border-radius:16px;padding:18px 20px 16px;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1),opacity .2s;position:fixed}.tour-card.pop{animation:.32s cubic-bezier(.2,.9,.3,1.2) tour-pop}@keyframes tour-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}.tour.moving .tour-card{opacity:.55}.tour-card h3{letter-spacing:-.01em;margin:4px 0 6px;padding-right:26px;font-size:18px}.tour-card p{color:var(--mut);margin:0;font-size:14px;line-height:1.5}.tour-card p b{color:var(--txt)}.tour-kick{letter-spacing:.08em;text-transform:uppercase;color:var(--acc-txt);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.tour-kick span{color:var(--mut2)}.tour-x{padding:6px;position:absolute;top:10px;right:10px}.tour-do{background:rgba(var(--acc-rgb),.1);border:1px solid rgba(var(--acc-rgb),.3);border-radius:10px;align-items:center;gap:10px;margin-top:12px;padding:8px 12px;font-size:13px;font-weight:650;display:flex}.tour-pulse{background:var(--acc);width:10px;height:10px;box-shadow:0 0 0 0 rgba(var(--acc-rgb),.6);border-radius:50%;flex:none;animation:1.3s infinite tour-pulse}@keyframes tour-pulse{70%{box-shadow:0 0 0 10px rgba(var(--acc-rgb),0)}to{box-shadow:0 0 0 0 rgba(var(--acc-rgb),0)}}.tour-foot{align-items:center;gap:8px;margin-top:16px;display:flex}.tour-dots{gap:5px;display:flex}.tour-dots i{background:var(--line2);border-radius:3px;width:6px;height:6px;transition:width .25s,background .25s}.tour-dots i.past{background:rgba(var(--acc-rgb),.45)}.tour-dots i.on{background:var(--acc);width:18px}.tour-offer{z-index:60;background:var(--surface2);border:1px solid var(--line2);border-radius:16px;width:min(340px,100vw - 40px);padding:16px 18px;animation:.4s cubic-bezier(.2,.9,.3,1.15) tour-in;position:fixed;bottom:20px;right:20px;box-shadow:0 20px 50px -18px #0009}.tour-offer:before{content:"";background:var(--acc);border-radius:0 3px 3px 0;width:4px;position:absolute;top:16px;bottom:16px;left:0}.tour-offer p{color:var(--mut);margin:4px 0 12px;font-size:13px;line-height:1.45}@keyframes tour-in{0%{opacity:0;transform:translateY(16px)}}.coach{pointer-events:auto;border-radius:16px;width:min(370px,40vw);padding:14px 16px;position:absolute;top:168px;left:16px}.coach.pop{animation:.35s cubic-bezier(.2,.9,.3,1.2) tour-pop}.coach.out{opacity:0;transition:opacity .35s,transform .35s;transform:translate(-20px)}.coach-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.coach-badge{background:var(--acc);color:var(--acc-ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.coach-n{color:var(--mut);font-variant-numeric:tabular-nums;font-size:12px}.coach b{letter-spacing:-.01em;font-size:19px;display:block}.coach p{color:#d5dbe5;margin:4px 0 10px;font-size:14px;line-height:1.45}.coach kbd{color:#fff;padding:1px 7px;font-size:13px}.coach button.small{padding:4px 10px;font-size:12px}.coach-bar{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}.coach-bar i{background:linear-gradient(90deg, var(--acc-hi), var(--acc2));border-radius:3px;height:100%;transition:width .4s;display:block}.tut-progress{flex-direction:column;align-items:flex-end;gap:6px;width:240px;display:flex}.tut-progress .bar{width:100%}.tut-practice{align-items:center;gap:28px;display:flex}.tut-practice h2{margin:2px 0 6px;font-size:26px}.tut-practice .tut-body{flex-direction:column;flex:1;align-items:flex-start;gap:10px;display:flex}.tut-practice p{max-width:620px;margin:0}.tut-keys{gap:6px}.tut-keys kbd{padding:2px 8px;font-size:13px}.tut-art{background:radial-gradient(circle at 30% 30%, rgba(var(--acc-rgb),.35), transparent 60%), linear-gradient(135deg, rgba(var(--tint),.06), rgba(var(--tint),.02));border:1px solid var(--line);border-radius:24px;flex:none;place-items:center;width:170px;height:150px;display:grid;position:relative}.tut-art span{filter:drop-shadow(0 8px 16px #00000059);font-size:72px}.tut-art i{font-size:30px;font-style:normal;animation:3s ease-in-out infinite tut-float;position:absolute}.tut-art i:first-of-type{top:14px;left:14px}.tut-art i:nth-of-type(2){animation-delay:-1s;top:30px;right:14px}.tut-art i:nth-of-type(3){animation-delay:-2s;bottom:12px;right:26px}@keyframes tut-float{50%{transform:translateY(-7px)rotate(-6deg)}}.tut-h{margin:26px 0 12px}.tut-card{text-align:left;white-space:normal;cursor:pointer;flex-direction:column;align-items:stretch;gap:6px;padding:18px;transition:transform .15s,border-color .15s;display:flex}.tut-card:hover{border-color:rgba(var(--acc-rgb),.45);transform:translateY(-2px)}.tut-card b{font-size:16px}.tut-ic{background:rgba(var(--acc-rgb),.12);width:44px;height:44px;color:var(--acc-txt);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.tut-card.done .tut-ic{color:var(--good);background:#34d39924}.tut-meta{color:var(--mut);align-items:center;gap:8px;margin-top:auto;padding-top:10px;font-size:12px;display:flex}.tut-go{color:var(--acc-txt);align-items:center;gap:4px;font-weight:700;display:inline-flex}@media (max-width:760px){.tut-practice{flex-direction:column;align-items:flex-start}.tut-progress{align-items:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}.tour-spot:after,.tour-pulse,.tut-art i{animation:none}}.tour-card:empty{display:none}.btn.ghost{background:0 0}.setup-hero{background:radial-gradient(700px 240px at 0% 0%, rgba(var(--acc-rgb), .08), transparent 70%), var(--card-bg)}.setup-top{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.setup-top h2{font-size:var(--fs-lg)}.setup-top p{margin:2px 0 0}.setup-badge{width:48px;height:48px;color:var(--warn);background:rgba(var(--warn-rgb), .12);box-shadow:inset 0 0 0 1px rgba(var(--warn-rgb), .35);border-radius:14px;flex:none;place-items:center;display:grid}.setup-badge.on{color:var(--good);background:rgba(var(--good-rgb), .12);box-shadow:inset 0 0 0 1px rgba(var(--good-rgb), .4)}.setup-pills{gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.setup-pill{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);min-width:0;padding:10px 12px;display:flex}.setup-pill .grow{min-width:0}.setup-pill .grow>*{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.setup-pill-ico{width:32px;height:32px;color:var(--mut);background:rgba(var(--tint), .05);border-radius:9px;flex:none;place-items:center;display:grid}.setup-pill.on .setup-pill-ico{color:var(--good);background:rgba(var(--good-rgb), .1)}.setup-pill.wait .setup-pill-ico{color:var(--warn)}.setup-pill .dot{background:var(--dot-off);border-radius:50%;flex:none;width:8px;height:8px}.setup-pill .dot.on{background:var(--good);box-shadow:0 0 0 3px rgba(var(--good-rgb), .15)}.setup-pill .dot.wait{background:var(--warn)}@media (max-width:760px){.setup-pills{grid-template-columns:1fr}}.ctl-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.ctl-tile{border-radius:var(--r);background:var(--card);border:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.ctl-tile p{flex:1;margin:0}.ctl-tile.on{border-color:rgba(var(--good-rgb), .35)}.ctl-tile.rec{border-color:rgba(var(--acc-rgb), .55);box-shadow:0 0 0 3px rgba(var(--acc-rgb), .1), 0 18px 40px -26px rgba(var(--acc-rgb), .7);background:radial-gradient(320px 140px at 0% 0%, rgba(var(--acc-rgb), .08), transparent 70%), var(--card)}.ctl-tile-top{align-items:center;gap:var(--sp-2);margin-bottom:4px;display:flex}.ctl-ico{width:40px;height:40px;color:var(--txt);background:rgba(var(--tint), .06);border-radius:12px;place-items:center;display:grid}.ctl-tile.on .ctl-ico{color:var(--good);background:rgba(var(--good-rgb), .1)}.ctl-tile.rec .ctl-ico{color:var(--acc-txt);background:rgba(var(--acc-rgb), .12)}.ctl-state{font-size:var(--fs-xs);color:var(--mut);text-align:right;align-items:center;gap:6px;max-width:60%;font-weight:600;display:inline-flex}.ctl-state i{background:var(--dot-off);border-radius:50%;flex:none;width:7px;height:7px}.ctl-state.on{color:var(--good)}.ctl-state.on i{background:var(--good)}.ctl-state.wait{color:var(--warn)}.ctl-state.wait i{background:var(--warn)}.ctl-name{font-size:var(--fs-md)}.ctl-foot{align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-height:36px;margin-top:6px;display:flex}.ctl-foot .f{margin:0}.ctl-keys kbd{margin-right:2px}.modal:has(>.pair-x){position:relative}.pair-x{z-index:1;position:absolute;top:12px;right:12px}.pair-grid{gap:var(--sp-6);grid-template-columns:minmax(220px,300px) 1fr;align-items:center;display:grid}.qr{aspect-ratio:1;background:var(--qr-bg);color:var(--qr-ink);box-shadow:0 0 0 1px var(--line2), 0 30px 60px -30px rgba(var(--acc-rgb), .55);border-radius:22px;place-items:center;padding:18px;display:grid}.qr.wait{background:var(--card2);color:var(--mut);gap:var(--sp-2);text-align:center;align-content:center}.qr-svg{width:100%;height:100%;display:block}.pair-steps h2{margin-bottom:4px}.pair-steps h2.h-ico{align-items:center;gap:10px;display:flex}.pair-steps>p{margin:0 0 var(--sp-3)}.pair-list{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pair-list li{gap:var(--sp-3);align-items:flex-start;display:flex}.pair-list .step-n{flex:none;margin-top:1px}.pair-url{font:600 var(--fs-sm) ui-monospace, "SF Mono", Menlo, monospace;color:var(--acc-txt);word-break:break-all;margin-top:6px}.pair-code{border-radius:var(--r-md);background:var(--card2);border:1px solid var(--line2);letter-spacing:.18em;white-space:pre;margin-top:8px;padding:8px 16px;font:800 30px/1.1 ui-monospace,SF Mono,Menlo,monospace;display:inline-block}.pair-done{text-align:center;align-items:center;gap:var(--sp-2);padding:var(--sp-4) 0 0;flex-direction:column;display:flex}.pair-done>p{margin:0}.pair-done .actions{align-self:stretch}.pair-ok{width:76px;height:76px;margin-bottom:var(--sp-2);color:var(--good);background:rgba(var(--good-rgb), .12);box-shadow:inset 0 0 0 1px rgba(var(--good-rgb), .4), 0 0 0 10px rgba(var(--good-rgb), .05);animation:pair-pop .35s var(--ease);border-radius:50%;place-items:center;display:grid}.pair-ok.away{color:var(--warn);background:rgba(var(--warn-rgb), .12);box-shadow:inset 0 0 0 1px rgba(var(--warn-rgb), .4)}.pair-live{margin:var(--sp-3) 0 var(--sp-2);flex-wrap:wrap;justify-content:center;gap:8px;max-width:640px;display:flex}.pair-act{border-radius:var(--r-pill);font-size:var(--fs-sm);color:var(--mut);background:var(--card);border:1px solid var(--line);padding:6px 12px;font-weight:600;transition:background .1s,border-color .1s,color .1s,box-shadow .1s}.pair-act.on{color:var(--acc-txt);background:rgba(var(--acc-rgb), .16);border-color:rgba(var(--acc-rgb), .6);box-shadow:0 0 0 3px rgba(var(--acc-rgb), .14)}@keyframes pair-pop{0%{opacity:0;transform:scale(.6)}}@media (max-width:700px){.pair-grid{grid-template-columns:1fr}.qr{max-width:280px;margin:0 auto}}@media (prefers-reduced-motion:reduce){.pair-ok{animation:none}}
