.drive{z-index:90;color:var(--color-ink);font-family:var(--ff-body);touch-action:none;-webkit-user-select:none;user-select:none;background:#e9f2ee;position:fixed;inset:0;overflow:hidden}.drive__canvas,.drive__overlay{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.drive__overlay{pointer-events:none}.drive__top,.drive__hud,.drive__map-wrap{--hud-glass:#ffffffd1;--hud-ink:#0b1210d1;--hud-border:#1f6b4d24;--hud-shadow:0 10px 30px #0b12101f}.drive kbd{min-width:22px;height:22px;font-family:var(--ff-mono);letter-spacing:.02em;color:inherit;background:#ffffff1f;border:1px solid #ffffff29;border-radius:6px;place-items:center;padding:0 6px;font-size:11px;font-weight:500;line-height:1;display:inline-grid;box-shadow:inset 0 -1.5px #00000040}.drive__top{padding:14px clamp(14px,2.5vw,28px);padding-top:calc(14px + env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.drive__top>*{pointer-events:auto}.drive__brand-wrap{background:var(--hud-glass);border:1px solid var(--hud-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:40px;box-shadow:var(--hud-shadow);border-radius:999px;align-items:center;gap:12px;padding:0 14px 0 10px;display:inline-flex}.drive .drive__brand{color:var(--color-ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.drive .drive__brand .nav__mark{width:22px;height:22px}.drive .drive__brand .nav__word{letter-spacing:-.01em;font-size:15px}.drive__brand-sep{background:var(--hud-border);width:1px;height:18px}.drive__brand-mode{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-green);font-size:11px;font-weight:500}.drive__progress{background:var(--hud-glass);border:1px solid var(--hud-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:40px;box-shadow:var(--hud-shadow);font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);border-radius:999px;align-items:center;gap:10px;padding:0 16px;font-size:11px;display:inline-flex}.drive__score{align-items:baseline;gap:4px;display:inline-flex}.drive__score-n{font-family:var(--ff-display);letter-spacing:-.02em;color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.drive__progress-sep{background:var(--hud-border);width:1px;height:16px}.drive__best{color:var(--color-green)}.drive__toasts{top:calc(64px + env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute;left:50%;transform:translate(-50%)}.drive__toast{color:#fff;white-space:nowrap;height:30px;box-shadow:var(--shadow-md);animation:driveToast 2.2s var(--ease-out) both;background:#1f6b4deb;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 8px;font-size:12px;font-weight:600;display:inline-flex}.drive__toast--minus{background:#b4432feb}.drive__toast-delta{min-width:30px;height:22px;font-family:var(--ff-mono);font-variant-numeric:tabular-nums;background:#ffffff2e;border-radius:999px;place-items:center;padding:0 6px;font-size:12px;display:inline-grid}@keyframes driveToast{0%{opacity:0;transform:translateY(-8px)scale(.96)}12%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.drive__finish{z-index:7}.drive__win{text-align:center;position:relative}.drive__win .drive__intro-actions,.drive__win .drive__intro-actions{justify-content:center;align-items:center}.drive__win-badge{background:var(--color-mint-tint);width:64px;height:64px;animation:driveWinPop .7s var(--ease-out-back) both;border-radius:999px;place-items:center;margin:0 auto 14px;font-size:30px;display:grid}.drive__win-link{color:var(--color-green);text-underline-offset:3px;flex-basis:100%;margin-top:6px;font-size:14px;text-decoration:underline}.drive__confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.drive__confetti i{top:-20px;left:var(--x);width:var(--s);height:calc(var(--s) * .5);background:var(--c);opacity:0;animation:driveConfetti var(--t) linear var(--d) infinite;border-radius:2px;position:absolute}@keyframes driveConfetti{0%{opacity:0;transform:translateY(0)rotate(0)}8%{opacity:1}to{opacity:.9;transform:translateY(110vh)rotate(720deg)}}@keyframes driveWinPop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.drive__confetti i,.drive__win-badge{animation:none}.drive__confetti i{opacity:0}}.drive__count{font-family:var(--ff-display);letter-spacing:-.01em;color:var(--color-green);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.drive__bar{background:#1f6b4d24;border-radius:999px;width:88px;height:4px;display:block;overflow:hidden}.drive__bar>span{background:var(--color-green);border-radius:inherit;height:100%;transition:width .5s var(--ease-out-expo);display:block}.drive__view{border:1px solid var(--hud-border);background:var(--hud-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:40px;color:var(--color-ink);box-shadow:var(--hud-shadow);cursor:pointer;transition:background var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 14px;font-size:14px;font-weight:600;display:inline-flex}.drive__view kbd{background:var(--color-ghost);border-color:var(--color-line-paper);color:var(--color-ink);box-shadow:inset 0 -1.5px #0b12101f}.drive__view:hover,.drive__view.is-on{background:var(--color-green);border-color:var(--color-green);color:#fff}.drive__view.is-on kbd,.drive__view:hover kbd{color:#fff;box-shadow:none;background:#ffffff29;border-color:#fff3}.drive__top-right{gap:8px;display:inline-flex}.drive__exit{background:var(--hud-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;height:40px;box-shadow:var(--hud-shadow);transition:background var(--dur-hover) var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:0 10px 0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.drive__exit:hover{background:var(--color-green)}.drive__exit-icon{line-height:0;display:none}@media (max-width:820px){.drive__brand-wrap{gap:0;padding:0 9px}.drive .drive__brand .nav__word,.drive__brand-sep,.drive__brand-mode,.drive__exit span:not(.drive__exit-icon),.drive__exit kbd,.drive__view span,.drive__view kbd{display:none}.drive__exit-icon{display:inline-flex}.drive__view,.drive__exit{justify-content:center;width:40px;padding:0}}.drive__hud{left:clamp(14px,2.5vw,28px);bottom:calc(clamp(14px, 2.5vw, 28px) + env(safe-area-inset-bottom));background:var(--hud-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;box-shadow:var(--hud-shadow);pointer-events:none;border-radius:18px;align-items:center;gap:18px;padding:12px 18px 12px 16px;display:flex;position:absolute}.drive__speed{flex-direction:column;align-items:flex-start;min-width:64px;display:flex}.drive__speed-n{font-family:var(--ff-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.drive__speed-u{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-dark-muted);margin-top:5px;font-size:10px}.drive__hud-sep{background:#ffffff1f;align-self:stretch;width:1px}.drive__keys{grid-template-columns:auto auto;gap:8px 18px;margin:0;padding:0;list-style:none;display:grid}.drive__keys li{font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-dark-muted);align-items:center;gap:10px;font-size:10px;display:flex}.drive__keycaps{gap:4px;min-width:48px;display:inline-flex}.drive__kbd-wide{padding:0 8px}.drive__map-wrap{right:clamp(14px,2.5vw,28px);bottom:calc(clamp(14px, 2.5vw, 28px) + env(safe-area-inset-bottom));background:var(--hud-glass);border:1px solid var(--hud-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--hud-shadow);pointer-events:none;border-radius:18px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute}.drive__map-label{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);padding:0 4px;font-size:10px;font-weight:500}.drive__map{border-radius:12px;width:clamp(96px,11vw,132px);height:clamp(96px,11vw,132px);display:block}.drive__card{left:50%;bottom:calc(clamp(14px, 2.5vw, 28px) + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--color-mint-tint-border);opacity:0;visibility:hidden;pointer-events:none;width:min(520px,100% - 28px);transition:transform .42s var(--ease-out-expo), opacity .26s var(--ease-out), visibility 0s linear .26s;background:#fffffff0;border-radius:22px;padding:22px 24px 24px;position:absolute;transform:translate(-50%,24px);box-shadow:0 30px 60px #0b121038}.drive__card.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}.drive__card--img{padding-top:14px}.drive__card-img{object-fit:cover;background:var(--color-mint-tint);border-radius:14px;width:100%;height:150px;margin-bottom:14px;display:block}.drive--touch .drive__card-img{height:110px}.drive__card-kicker{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-green);font-size:11px;font-weight:500;display:block}.drive__card-title{font-family:var(--ff-display);letter-spacing:-.025em;margin:8px 0 0;font-size:28px;font-weight:600;line-height:1.05}.drive__card-text{color:var(--color-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:10px 0 0;font-size:14.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.drive__card-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.drive__kbd{background:#fff3;margin-left:2px}.drive__loader{z-index:6;transition:opacity .6s var(--ease-out), visibility 0s linear .6s;background:linear-gradient(#e9f2ee 0%,#d6e7dd 100%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.drive__loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.drive__loader-scene{background:linear-gradient(#eaf6f0 0%,#f4fbf7 64%,#d8ece2 64%);border-radius:28px;width:min(560px,100%);height:220px;position:relative;overflow:hidden;box-shadow:0 30px 60px #0b121029}.drive__loader-sky{background:radial-gradient(220px 120px at 80% 20%,#5dc0954d,#0000 70%),radial-gradient(160px 80px at 18% 30%,#ffffffe6,#0000 70%);position:absolute;inset:0}.drive__loader-skyline{width:1088px;height:60px;animation:9s linear infinite driveLoaderSkyline;position:absolute;bottom:78px;left:0}.drive__loader-skyline i{bottom:0;left:calc(var(--x) * 1px);width:22px;height:calc(var(--h) * 1px);background:var(--color-forest);opacity:.85;color:var(--color-forest);border-radius:4px 4px 0 0;position:absolute;box-shadow:544px 0}.drive__loader-skyline i:nth-child(odd){background:var(--color-green);color:var(--color-green);opacity:.7}.drive__loader-skyline i:nth-child(3n){color:#cde9db;opacity:1;background:#cde9db}.drive__loader-road{background:#2f3d38;border-top:4px solid #e7f0eb;height:78px;position:absolute;bottom:0;left:0;right:0}.drive__loader-lane{opacity:.85;background:repeating-linear-gradient(90deg,#f2f6f4 0 28px,#0000 28px 56px);height:4px;margin-top:-2px;animation:.5s linear infinite driveLoaderLane;position:absolute;top:50%;left:0;right:0}.drive__loader-car{filter:drop-shadow(0 10px 8px #0b121059);margin-left:-80px;animation:.9s ease-in-out infinite driveLoaderBob;position:absolute;bottom:14px;left:50%}.drive__loader-wheel{animation:.45s linear infinite driveLoaderWheel}.drive__loader-puffs{margin-left:-92px;position:absolute;bottom:30px;left:50%}.drive__loader-puffs i{background:#f0f4f1cc;border-radius:50%;width:10px;height:10px;animation:1.2s ease-out infinite driveLoaderPuff;position:absolute}.drive__loader-puffs i:nth-child(2){animation-delay:.4s}.drive__loader-puffs i:nth-child(3){animation-delay:.8s}.drive__loader-text{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.drive__loader-title{font-family:var(--ff-display);letter-spacing:-.03em;margin:4px 0 0;font-size:clamp(26px,4vw,36px);font-weight:600;line-height:1}.drive__loader-sub{color:var(--color-muted);margin:0;font-size:14px}.drive__loader-bar{background:#1f6b4d26;border-radius:999px;width:220px;height:4px;margin-top:10px;display:block;position:relative;overflow:hidden}.drive__loader-bar>span{border-radius:inherit;background:var(--color-green);width:40%;animation:driveLoaderBar 1.3s var(--ease-in-out) infinite;position:absolute;top:0;bottom:0;left:-40%}@keyframes driveLoaderLane{to{background-position:-56px 0}}@keyframes driveLoaderSkyline{to{transform:translate(-544px)}}@keyframes driveLoaderBob{0%,to{translate:0}50%{translate:0 -2px}}@keyframes driveLoaderWheel{to{transform:rotate(360deg)}}@keyframes driveLoaderPuff{0%{opacity:.8;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(-60px,-26px)scale(2.2)}}@keyframes driveLoaderBar{to{left:100%}}@media (max-width:640px){.drive__loader-scene{height:180px}.drive__loader-skyline{transform-origin:bottom;height:48px;bottom:64px;scale:1 .8}.drive__loader-road{height:64px}.drive__loader-car{bottom:10px;scale:.8}}@media (prefers-reduced-motion:reduce){.drive__loader-lane,.drive__loader-skyline,.drive__loader-car,.drive__loader-wheel,.drive__loader-puffs i{animation:none}}.drive__intro{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .5s var(--ease-out), visibility 0s linear .5s;background:#0b12106b;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.drive__intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.drive__intro-card{width:min(600px,100%);animation:driveIntroIn .7s var(--ease-out-expo) both;background:#fff;border-radius:28px;padding:clamp(24px,4vw,40px);box-shadow:0 40px 80px #0b12104d}.drive__intro-card--wide{width:min(720px,100%);max-height:calc(100dvh - 48px);overflow:auto}.drive__rules{border-top:1px solid var(--color-line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px;margin-top:18px;padding-top:18px;display:grid}.drive__rules-title{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-green);margin:0 0 10px;font-size:11px;font-weight:500}.drive__rules-list{color:var(--color-ink-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13.5px;line-height:1.45;list-style:none;display:flex}.drive__rules-list li{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;display:grid}.drive__rule-key{font-family:var(--ff-mono);color:var(--color-muted);gap:4px;padding-top:1px;font-size:12px;display:inline-flex}.drive__rule-key kbd{background:var(--color-ghost);border-color:var(--color-line-paper);color:var(--color-ink);box-shadow:inset 0 -1.5px #0b12101f}.drive__rule-pts{height:22px;font-family:var(--ff-mono);white-space:nowrap;border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:500;display:inline-grid}.drive__rule-pts--plus{background:var(--color-mint-tint);color:var(--color-green)}.drive__rule-pts--minus{color:var(--color-error);background:#b4432f1f}.drive__intro-title{font-family:var(--ff-display);letter-spacing:-.03em;margin:12px 0 0;font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1}.drive__intro-title .accent{color:var(--color-green)}.drive__intro-text{color:var(--color-muted);margin:16px 0 0;font-size:16px;line-height:1.55}.drive__intro-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.drive__intro-skip{color:var(--color-muted);margin:20px 0 0;font-size:13px;line-height:1.7}.drive__intro-skip a{color:var(--color-green);text-underline-offset:3px;text-decoration:underline}@keyframes driveIntroIn{0%{opacity:0;transform:translateY(24px)scale(.98)}}.drive-pad{left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;padding:0 16px;display:none;position:absolute}.drive-pad__group{pointer-events:auto;align-items:flex-end;gap:12px;display:flex}.drive-pad__btn{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:72px;height:72px;transition:transform .12s var(--ease-out), background .12s var(--ease-out);background:#0b1210b8;border:1.5px solid #ffffff38;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:inline-flex;box-shadow:0 10px 24px #0b121038}.drive-pad__btn svg{width:30px;height:30px}.drive-pad__tag{font-family:var(--ff-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffc7;font-size:9px;font-weight:500}.drive-pad__btn:active{background:#1f6b4deb;transform:scale(.94)}.drive-pad__btn--gas{background:#1f6b4deb;border-color:#bfebd580;width:92px;height:92px}.drive-pad__btn--gas svg{width:38px;height:38px}.drive-pad__btn--gas:active{background:var(--color-brand-mint)}.drive-pad__btn--brake{background:#b4432fe0;border-color:#ffffff47}.drive-pad__btn--brake:active{background:#d9533d}.drive--touch .drive-pad{display:flex}.drive--touch .drive__keys{display:none}.drive--touch .drive__hud{bottom:auto;left:auto;right:clamp(14px,2.5vw,28px);top:calc(68px + env(safe-area-inset-top))}.drive--touch .drive__map-wrap{bottom:auto;top:calc(68px + env(safe-area-inset-top));left:clamp(14px,2.5vw,28px);right:auto}.drive--touch .drive__map{width:80px;height:80px}.drive--touch .drive__hud{padding:10px 14px}.drive--touch .drive__hud-sep{display:none}.drive--touch .drive__card{bottom:calc(112px + env(safe-area-inset-bottom))}.drive--touch .drive__card-text{-webkit-line-clamp:2;line-clamp:2}@media (max-width:640px){.drive__progress-label,.drive__bar,.drive__best,.drive__best-sep{display:none}.drive__score .drive__progress-label{display:inline}.drive__card{padding:18px 18px 20px}.drive__card-title{font-size:24px}.drive__speed{min-width:52px}.drive__speed-n{font-size:26px}}@media (prefers-reduced-motion:reduce){.drive__card,.drive__intro,.drive__bar>span{transition:none}.drive__intro-card{animation:none}}
