@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Sedgwick+Ave&family=Luckiest+Guy&family=Anton&family=Abril+Fatface&family=Bebas+Neue&family=Barlow:wght@700&display=swap";:root{--ink:#171717;--paper:#f4f0e6;--surface:#fffdf7;--red:#f04b3a;--orange:#f59b32;--yellow:#f6d84a;--green:#55a96a;--blue:#4d8fd8;--purple:#8b68c9;--pink:#e8759b;--success:var(--green);--warning:var(--yellow);--danger:var(--red);--info:var(--blue);--text:var(--ink);--text-muted:#68645d;--text-inverse:var(--surface);--border-width:3px;--border:var(--border-width) solid var(--ink);--shadow-hard-sm:4px 4px 0 var(--ink);--shadow-hard:8px 8px 0 var(--ink);--shadow-hard-lg:12px 12px 0 var(--ink);--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius-pill:999px;--content-width:1200px;--page-padding:24px;--font-display:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif;--ease-pop:cubic-bezier(.2, .8, .2, 1);--transition-fast:.12s var(--ease-pop);--transition-normal:.2s var(--ease-pop);--bg-page:var(--paper);--bg-surface:var(--surface);--bg-muted:#ece6d6;--border-default:var(--ink);--border-subtle:#d8d2c2;--text-primary:var(--text);--text-secondary:var(--text-muted);--text-faint:#948e83;--primary:var(--red);--primary-dark:#d33b2b;--secondary:var(--blue);--accent:var(--orange);--color-tier-safe:var(--blue);--color-tier-low:var(--orange);--color-tier-high:var(--red);--color-match-good:var(--green);--color-match-weak:var(--orange);--color-match-poor:var(--red);--text-xs:.7rem;--text-sm:.85rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.4rem;--text-2xl:1.9rem;--text-3xl:2.6rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--gameplay-background:var(--paper);--gameplay-ink:var(--ink);--gameplay-surface:var(--surface);--gameplay-surface-alt:#262626;--gameplay-ink-alt:var(--surface);--gameplay-surface-dark:#303030;--gameplay-surface-live:var(--yellow);--gameplay-border-dark:var(--ink);--gameplay-blue:var(--blue);--gameplay-muted:#8c8982;--muted:var(--text-muted);--gameplay-accent:var(--orange);--gameplay-text-light:var(--surface);--gameplay-text-muted:#c5c0b6;--gameplay-text-faint:#918c84;--passenger-board-bg:var(--gameplay-surface-dark);--passenger-seat-bg:#3a3a3a;--passenger-seat-border:var(--blue);--passenger-board-divider:#686868;--border-thick:3px solid var(--ink);--seat-bg:#e7edf0;--seat-border:var(--ink)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}html{min-height:100%;overflow-x:hidden}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-body);margin:0;line-height:1.4;overflow-x:hidden}#app{min-height:100vh}h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:900}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{color:var(--text-secondary);margin:0}.card{background:var(--bg-surface);border:var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-hard-sm)}.btn,.neo-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-3) var(--space-6);border:var(--border);border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:900;font-size:var(--text-base);text-transform:uppercase;box-shadow:var(--shadow-hard);transition:transform var(--transition-fast), box-shadow var(--transition-fast);display:inline-flex}.btn:hover,.neo-button:hover{box-shadow:10px 10px 0 var(--ink);transform:translate(-2px,-2px)}.btn:active,.neo-button:active{box-shadow:0 0 0 var(--ink);transform:translate(6px,6px)}.btn-primary,.neo-button--primary{background:var(--primary);color:var(--ink)}.btn-secondary,.neo-button--secondary{background:var(--bg-surface);color:var(--ink)}.btn-danger{background:var(--danger);color:var(--surface)}.btn-outline{color:var(--ink);box-shadow:var(--shadow-hard-sm);background:0 0}.btn-outline:hover{box-shadow:6px 6px 0 var(--ink)}.btn:disabled,.neo-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:var(--shadow-hard-sm);transform:none}.neo-button--small{min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow-hard-sm)}.neo-button--small:hover{box-shadow:6px 6px 0 var(--ink)}.btn-link,.neo-button--text{box-shadow:none;min-height:auto;padding:var(--space-2);color:var(--text-secondary);font-family:var(--font-display);font-weight:900;font-size:var(--text-sm);text-underline-offset:4px;background:0 0;border:none;text-decoration:underline}.btn-link:hover,.neo-button--text:hover{box-shadow:none;color:var(--text-primary);text-decoration-thickness:3px;transform:none}.tag{padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-hard-sm);font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;align-items:center;font-weight:900;display:inline-flex}.tag-safe{background:var(--color-tier-safe);color:var(--ink)}.tag-low{background:var(--color-tier-low);color:var(--ink)}.tag-high{background:var(--color-tier-high);color:var(--surface)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.text-input{background:var(--bg-surface);border:var(--border);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);width:100%}.text-input:focus{outline:3px solid var(--blue);outline-offset:2px}.sticker-tilt-left{transform:rotate(-2deg)}.sticker-tilt-right{transform:rotate(2deg)}.toast{color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:10000;border-radius:12px;max-width:320px;padding:12px 18px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast-info{background:#2563eb}.toast-success{background:#16a34a}.toast-error{background:#dc2626}.toast-warning{background:#d97706}.onboarding{min-height:100vh;padding:40px var(--page-padding) 80px}.onboarding__content{width:min(100%, var(--content-width));margin:0 auto}.onboarding-hero{border:var(--border);background:var(--surface);min-height:calc(100vh - 120px);box-shadow:var(--shadow-hard-lg);grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding:64px;display:grid}.onboarding-hero__copy{max-width:600px}.onboarding-hero__eyebrow{border:var(--border);box-shadow:var(--shadow-hard-sm);background:var(--yellow);font-family:var(--font-display);letter-spacing:.08em;padding:8px 12px;font-size:.9rem;font-weight:900;display:inline-block}.onboarding-hero__title{font-family:var(--font-display);letter-spacing:-.04em;margin:28px 0 20px;font-size:clamp(3rem,6vw,6rem);font-weight:900;line-height:.95}.onboarding-hero__description{max-width:500px;color:var(--text-muted);margin:0 0 32px;font-size:1.1rem;line-height:1.5}.onboarding-hero__login{margin-top:16px;font-size:.85rem;font-weight:700}.onboarding-hero__login a{color:var(--ink);text-underline-offset:4px;margin-left:4px;font-weight:900;text-decoration:underline}.onboarding-hero__login a:hover{text-decoration-thickness:3px}.onboarding-hero__actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px;display:flex}.neo-button{border:var(--border);min-height:56px;font-family:var(--font-display);text-transform:uppercase;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:0;justify-content:center;align-items:center;padding:12px 24px;font-weight:900;display:inline-flex}.neo-button--primary{background:var(--red);color:var(--ink);box-shadow:var(--shadow-hard)}.neo-button--primary:hover{box-shadow:10px 10px 0 var(--ink);transform:translate(-2px,-2px)}.neo-button--primary:active{box-shadow:0 0 0 var(--ink);transform:translate(8px,8px)}.neo-button--secondary{background:var(--surface);color:var(--ink);border:var(--border);box-shadow:var(--shadow-hard)}.neo-button--secondary:hover{box-shadow:10px 10px 0 var(--ink);transform:translate(-3px,-3px)}.neo-button--secondary:active{box-shadow:3px 3px 0 var(--ink);transform:translate(0)}.hero-vehicle-placeholder{border:var(--border);min-height:360px;box-shadow:var(--shadow-hard-lg);background:var(--blue);font-family:var(--font-display);justify-content:center;align-items:center;font-size:3rem;font-weight:900;display:flex;transform:rotate(-2deg)}.onboarding-section{border:var(--border);background:var(--surface);box-shadow:var(--shadow-hard);margin-top:80px;padding:48px}.onboarding-section__header{max-width:650px}.onboarding-section__eyebrow{border:var(--border);box-shadow:var(--shadow-hard-sm);background:var(--yellow);font-family:var(--font-display);text-transform:uppercase;padding:6px 10px;font-weight:900;display:inline-block}.onboarding-section__header h2{font-family:var(--font-display);letter-spacing:-.04em;margin:24px 0 16px;font-size:clamp(2.5rem,5vw,5rem);line-height:.95}.onboarding-section__header p{max-width:550px;color:var(--text-muted);font-size:1.1rem}.onboarding-vehicle__visual{border:var(--border);background:var(--blue);box-shadow:var(--shadow-hard-lg);margin-top:48px;padding:32px}.onboarding-section__eyebrow--orange{background:var(--orange)}.garage-showcase{margin-top:48px}.garage-upgrades{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.garage-upgrade-card{border:var(--border);background:var(--paper);box-shadow:var(--shadow-hard-sm);grid-template-columns:auto 1fr;gap:20px;padding:24px;display:grid}.garage-upgrade-card__icon{border:var(--border);background:var(--yellow);justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.garage-upgrade-card h3{font-family:var(--font-display);margin:0 0 6px;font-size:1.2rem;font-weight:900}.garage-upgrade-card p{color:var(--text-muted);margin:0;font-size:.95rem}.garage-note{border:var(--border);background:var(--orange);box-shadow:var(--shadow-hard);align-items:center;gap:12px;margin-top:32px;padding:20px 24px;display:flex}.garage-note strong{font-family:var(--font-display);font-weight:900}.garage-note span{font-weight:700}.onboarding-section__eyebrow--pink{background:var(--pink)}.sticker-showcase{margin-top:48px}.sticker-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.sticker-card{border:var(--border);min-height:240px;box-shadow:var(--shadow-hard-sm);flex-direction:column;justify-content:space-between;padding:20px;display:flex;transform:rotate(-1deg)}.sticker-card:nth-child(2){transform:rotate(1deg)}.sticker-card:nth-child(3){transform:rotate(-2deg)}.sticker-card:nth-child(4){transform:rotate(1deg)}.sticker-card--yellow{background:var(--yellow)}.sticker-card--blue{background:var(--blue)}.sticker-card--orange{background:var(--orange)}.sticker-card--pink{background:var(--pink)}.sticker-card__art{font-family:var(--font-display);flex:1;justify-content:center;align-items:center;font-size:5rem;font-weight:900;display:flex}.sticker-card__info{border-top:var(--border);padding-top:12px}.sticker-card__tier{letter-spacing:.08em;font-size:.7rem;font-weight:900}.sticker-card h3{font-family:var(--font-display);margin:4px 0 0;font-size:1.25rem;font-weight:900}.sticker-note{border:var(--border);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-hard);justify-content:center;gap:24px;margin-top:32px;padding:20px;display:flex}.sticker-note strong{font-family:var(--font-display);font-size:1.2rem}.onboarding-section__eyebrow--green{background:var(--green)}.crew-showcase{grid-template-columns:1fr 280px;gap:24px;margin-top:48px;display:grid}.crew-team{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.crew-card{border:var(--border);background:var(--paper);box-shadow:var(--shadow-hard-sm);grid-template-columns:90px 1fr;gap:20px;padding:20px;display:grid}.crew-card--driver{background:var(--blue)}.crew-card--tout{background:var(--orange)}.crew-card__avatar{border:var(--border);background:var(--surface);width:90px;height:90px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:2.5rem;font-weight:900;display:flex}.crew-card__role{letter-spacing:.1em;font-size:.7rem;font-weight:900}.crew-card h3{font-family:var(--font-display);margin:4px 0 16px;font-size:1.5rem;font-weight:900}.crew-card__skill-header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.75rem;font-weight:900;display:flex}.crew-card__skill-track{border:2px solid var(--ink);background:var(--surface);height:14px}.crew-card__skill-fill{background:var(--ink);height:100%}.crew-result{border:var(--border);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-hard);padding:28px}.crew-result__label{font-family:var(--font-display);letter-spacing:.08em;font-size:.8rem;font-weight:900}.crew-result__value{font-family:var(--font-display);margin:12px 0;font-size:5rem;font-weight:900;line-height:1}.crew-result p{color:#d7d3c9;margin:0}.onboarding-jobs{background:var(--surface)}.jobs-showcase{grid-template-columns:1.4fr .8fr;gap:32px;margin-top:48px;display:grid}.jobs-list{flex-direction:column;gap:16px;display:flex}.onboarding-jobs .job-card{border:var(--border);box-shadow:var(--shadow-hard-sm);grid-template-columns:1.4fr 1fr auto;align-items:center;gap:20px;padding:20px;display:grid}.onboarding-jobs .job-card--yellow{background:var(--yellow)}.onboarding-jobs .job-card--blue{background:var(--blue)}.onboarding-jobs .job-card--orange{background:var(--orange)}.onboarding-jobs .job-card__route{font-family:var(--font-display);font-size:1.4rem;font-weight:900}.onboarding-jobs .job-card__details{gap:24px;display:flex}.onboarding-jobs .job-card__details div{flex-direction:column;gap:2px;display:flex}.onboarding-jobs .job-card__details span{letter-spacing:.08em;font-size:.65rem;font-weight:900}.onboarding-jobs .job-card__details strong{font-family:var(--font-display);font-size:1rem}.onboarding-jobs .job-card__outcome{border:2px solid var(--ink);background:var(--surface);font-family:var(--font-display);padding:8px 10px;font-size:.7rem;font-weight:900}.jobs-explainer{border:var(--border);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-hard);padding:28px}.jobs-explainer__number{font-family:var(--font-display);color:var(--yellow);font-size:.75rem;font-weight:900;display:inline-block}.jobs-explainer h3{font-family:var(--font-display);margin:6px 0;font-size:1.5rem;font-weight:900}.jobs-explainer p{color:#d7d3c9;margin:0}.jobs-explainer__arrow{font-family:var(--font-display);color:var(--yellow);margin:16px 0;font-size:1.5rem;font-weight:900;display:block}.onboarding-final{background:var(--yellow);justify-content:center;align-items:center;min-height:80vh;display:flex}.onboarding-final__content{text-align:center;width:min(760px,100%)}.onboarding-final h2{font-family:var(--font-display);letter-spacing:-.05em;margin:24px 0;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:.9}.onboarding-final p{max-width:520px;margin:0 auto 32px;font-size:clamp(1rem,2vw,1.3rem);font-weight:700}.onboarding-final__cta{border:var(--border);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-hard);font-family:var(--font-display);cursor:pointer;align-items:center;gap:24px;padding:18px 28px;font-size:1rem;font-weight:900;transition:transform .1s,box-shadow .1s;display:inline-flex}.onboarding-final__cta:hover{box-shadow:10px 10px 0 var(--ink);transform:translate(-3px,-3px)}.onboarding-final__cta:active{box-shadow:3px 3px 0 var(--ink);transform:translate(0)}.onboarding-final__cta span{font-size:1.5rem}.onboarding-final__note{text-transform:uppercase;margin-top:20px;font-size:.8rem;font-weight:800;display:block}.onboarding-final__actions{flex-direction:column;align-items:center;gap:12px;margin-top:28px;display:flex}.onboarding-final__actions .neo-button{text-align:center;min-width:280px}.onboarding-league{background:var(--surface);grid-template-columns:minmax(280px,.8fr) minmax(400px,1.2fr);align-items:center;gap:64px;display:grid}.onboarding-league__title{font-family:var(--font-display);letter-spacing:-.05em;margin:20px 0;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:900;line-height:.9}.onboarding-league__description{max-width:560px;font-size:1rem;font-weight:600;line-height:1.6}.onboarding-league__board{border:var(--border);background:var(--surface);box-shadow:var(--shadow-hard)}.league-board__header{border-bottom:var(--border);background:var(--ink);color:var(--surface);font-family:var(--font-display);justify-content:space-between;align-items:center;padding:16px 18px;font-size:.75rem;font-weight:900;display:flex}.league-player{border-bottom:2px solid var(--ink);grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.league-player:last-child{border-bottom:0}.league-player--first{padding-top:20px;padding-bottom:20px}.league-player__rank{font-family:var(--font-display);font-size:1.1rem;font-weight:900}.league-player__name{flex-direction:column;gap:3px;display:flex}.league-player__name strong{font-family:var(--font-display);font-size:.9rem;font-weight:900}.league-player__name small{opacity:.65;font-size:.7rem;font-weight:700}.league-player__points{font-family:var(--font-display);font-size:1.1rem;font-weight:900}.onboarding-league__cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.league-feature{border:var(--border);background:var(--surface);box-shadow:5px 5px 0 var(--ink);padding:18px}.league-feature__icon{margin-bottom:12px;font-size:1.8rem}.league-feature h3{font-family:var(--font-display);margin:0 0 8px;font-size:.85rem;font-weight:900}.league-feature p{margin:0;font-size:.78rem;font-weight:600;line-height:1.45}.google-play-badge{background:0 0;width:fit-content;margin-top:20px;display:block}.google-play-badge a{background:0 0;line-height:0;display:inline-block}.google-play-badge img{background:0 0;width:auto;max-width:180px;height:auto;display:block}@media (width<=800px){.onboarding{padding:20px 16px 60px}.onboarding-hero{min-height:auto;box-shadow:var(--shadow-hard);grid-template-columns:1fr;gap:48px;padding:32px 24px}.onboarding-hero__title{font-size:clamp(2.8rem,13vw,4.5rem)}.onboarding-hero__description{font-size:1rem}.onboarding-hero__visual{order:-1}.hero-vehicle-placeholder{min-height:220px;box-shadow:var(--shadow-hard);font-size:2rem}.onboarding-hero__cta{width:100%}.onboarding-section{box-shadow:var(--shadow-hard);margin-top:56px;padding:28px 20px}.onboarding-section__header h2{font-size:clamp(2.4rem,12vw,4rem)}.onboarding-vehicle__visual{box-shadow:var(--shadow-hard);margin-top:32px;padding:16px}.garage-upgrades{grid-template-columns:1fr}.garage-upgrade-card{padding:20px}.garage-note{flex-direction:column;align-items:flex-start}.sticker-grid{grid-template-columns:repeat(2,1fr);gap:14px}.sticker-card{min-height:190px;padding:14px}.sticker-card__art{font-size:3.5rem}.sticker-note{flex-wrap:wrap;justify-content:flex-start;gap:10px 18px}.crew-showcase,.crew-team{grid-template-columns:1fr}.crew-card{grid-template-columns:72px 1fr}.crew-card__avatar{width:72px;height:72px}.crew-result{box-shadow:var(--shadow-hard-sm)}.jobs-showcase{grid-template-columns:1fr}.onboarding-jobs .job-card{grid-template-columns:1fr;gap:12px}.onboarding-jobs .job-card__details{justify-content:space-between}}@media (width<=600px){.onboarding-hero__actions{align-items:stretch;width:100%}.onboarding-hero__actions .neo-button{text-align:center;width:100%}.onboarding-final__actions{width:100%}.onboarding-final__actions .neo-button{width:100%;min-width:0}}@media (width<=800px){.onboarding-league{flex-direction:column;align-items:stretch;gap:40px;display:flex}.onboarding-league__copy,.onboarding-league__content{width:100%}.onboarding-league__cards{flex-direction:column;gap:16px;width:100%;display:flex}}.welcome{min-height:100vh;padding:40px var(--page-padding) 80px;background:var(--bg-page);justify-content:center;align-items:center;display:flex}.welcome__content{width:min(100%,560px);margin:0 auto}.welcome-step-content{border:var(--border);background:var(--surface);box-shadow:var(--shadow-hard-lg);padding:48px}.welcome-step-content>p{color:var(--text-muted);margin:0 0 32px;font-size:1rem;line-height:1.5}.welcome-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.welcome-field label{font-family:var(--font-display);text-transform:uppercase;font-size:.8rem;font-weight:900}.welcome-field input{box-sizing:border-box;border:var(--border);background:var(--paper);width:100%;min-height:56px;color:var(--ink);font:inherit;border-radius:0;outline:none;padding:12px 16px;font-size:1rem}.welcome-field input:focus{box-shadow:var(--shadow-hard-sm)}.welcome-error{border:var(--border);background:var(--red);margin:16px 0;font-weight:800;color:var(--ink)!important;padding:14px 16px!important;font-size:.85rem!important}.welcome-account-choice{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px;display:flex}.welcome-account-choice .neo-button{box-sizing:border-box;cursor:pointer;width:100%}.neo-button--text{color:var(--ink);box-shadow:none;text-underline-offset:4px;background:0 0;border:0;text-decoration:underline}.neo-button--text:hover{box-shadow:none;transform:none}.login-divider{align-items:center;gap:12px;margin:20px 0;font-family:inherit;font-weight:700;display:flex}.login-divider:before,.login-divider:after{content:"";opacity:.25;background:currentColor;flex:1;height:2px}.login-google{justify-content:center;width:100%;display:flex}#loginOtp{text-align:center;font-family:var(--font-display);letter-spacing:.3em;font-size:2rem;font-weight:900}@media (width<=600px){.welcome{align-items:flex-start;padding:20px 16px 60px}.welcome-step-content{box-shadow:var(--shadow-hard);padding:32px 24px}.welcome-step-content h1{font-size:clamp(2.6rem,13vw,4rem)}}.welcome-screen{min-height:100dvh;padding:16px var(--page-padding) 32px;flex-direction:column;display:flex}.welcome-screen__container{flex-direction:column;flex:1;gap:16px;width:min(100%,720px);margin:0 auto;display:flex}.welcome-header{justify-content:space-between;align-items:center;display:flex}.welcome-header__brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.1rem;font-weight:900}.welcome-progress{border:var(--border);background:var(--surface);height:16px;padding:2px}.welcome-progress__bar{background:var(--red);height:100%;transition:width var(--transition-normal)}.welcome-step{border:var(--border);background:var(--surface);box-shadow:var(--shadow-hard);flex:1;justify-content:center;align-items:center;padding:24px 20px;display:flex}.welcome-step-content{text-align:center;width:100%}.welcome-step-content h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(1rem,6vw,2rem);font-weight:900;line-height:.95}.welcome-step-content>p{color:var(--text-muted);margin:0 0 20px;font-size:1.05rem}.welcome-navigation{justify-content:space-between;gap:16px;display:flex}.welcome-navigation .neo-button{min-width:140px}.welcome-shake{animation:.35s welcome-shake}@keyframes welcome-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.welcome-vehicle-preview{aspect-ratio:2.153;border:var(--border);background:var(--paper);width:100%;max-width:680px;box-shadow:var(--shadow-hard-sm);box-sizing:border-box;justify-content:center;align-items:center;margin:0 auto 12px;display:flex;overflow:hidden}.welcome-vehicle-preview svg{width:100%!important;height:100%!important;display:block!important}.welcome-vehicle-preview-pair{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:680px;margin:0 auto 24px;display:grid}.welcome-vehicle-preview-pair .welcome-vehicle-preview{aspect-ratio:1.8;max-width:none;margin:0}.welcome-profile-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:8px;display:flex}.welcome-profile-name{text-align:center;min-width:160px;font-family:var(--font-display);letter-spacing:.02em;font-size:1.1rem;font-weight:900}.welcome-profile-nav button{border:var(--border);background:var(--yellow);width:40px;height:40px;box-shadow:var(--shadow-hard-sm);font-family:var(--font-display);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-shrink:0;font-size:1rem;font-weight:900}.welcome-profile-nav button:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.welcome-profile-nav button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.welcome-profile-dots{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.welcome-profile-dot{border:2px solid var(--ink);background:var(--surface);width:10px;height:10px}.welcome-profile-dot.is-active{background:var(--red)}.welcome-field{text-align:left;margin-bottom:20px}.welcome-field label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.8rem;font-weight:900;display:block}.welcome-field input,.welcome-field select{border:var(--border);background:var(--surface);width:100%;font-family:var(--font-body);box-sizing:border-box;padding:12px 14px;font-size:1rem}.welcome-field input:focus,.welcome-field select:focus{outline:3px solid var(--blue);outline-offset:2px}.welcome-color-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:16px;display:flex}.welcome-color-row-label{color:var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.85rem;font-weight:900}.welcome-color-swatch{border:var(--border);width:38px;height:38px;box-shadow:var(--shadow-hard-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);position:relative}.welcome-color-swatch:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.welcome-color-swatch:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.welcome-color-swatch.is-selected{z-index:1;outline:3px solid var(--ink);outline-offset:2px;box-shadow:5px 5px 0 var(--ink);transform:translate(-3px,-3px)}.welcome-color-swatch.is-selected:after{content:"";filter:drop-shadow(0 1px 2px #000c);border:3px solid #fff;border-width:0 3px 3px 0;width:7px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-65%)rotate(45deg)}.welcome-account-choice{flex-direction:column;gap:14px;width:100%;max-width:360px;margin:0 auto;display:flex}.welcome-account-choice .neo-button{width:100%}.welcome-google-button{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:48px;display:flex;overflow:hidden}.welcome-google-button__inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.welcome-google-button__inner>div{max-width:100%!important}.welcome-google-button iframe{max-width:100%}.welcome-existing-account-button{margin-top:12px;width:100%!important}.welcome-error{color:var(--paper);margin:12px 0;font-size:.9rem;font-weight:700;line-height:1.4}.welcome-crew-row{justify-content:center;gap:20px;margin-top:24px;display:flex}.welcome-crew-card{border:var(--border);background:var(--paper);width:140px;box-shadow:var(--shadow-hard-sm);text-align:center;padding:16px}.welcome-crew-avatar{border:var(--border);background:var(--surface);object-fit:cover;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 10px;font-size:1.75rem;display:flex}.welcome-crew-name,.welcome-crew-eyebrow{font-family:var(--font-display);font-size:.95rem;font-weight:900}.welcome-crew-note,.welcome-crew-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.welcome-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:280px;display:flex}.welcome-loading__vehicle{aspect-ratio:2.153;border:var(--border);background:var(--paper);width:100%;max-width:680px;box-shadow:var(--shadow-hard-sm);justify-content:center;align-items:center;margin:0 auto 24px;display:flex;overflow:hidden}.welcome-loading__vehicle svg{width:100%!important;height:100%!important;display:block!important}.welcome-loading__vehicle-fallback{font-size:3rem}.welcome-loading h1{max-width:500px;font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.15rem,5vw,1.8rem);font-weight:900;line-height:1}.welcome-loading__message{min-height:1.4em;color:var(--text-muted);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 20px;font-size:.9rem;font-weight:900}.welcome-loading__bar{border:var(--border);background:var(--surface);width:min(100%,420px);height:16px;padding:2px;overflow:hidden}.welcome-loading__bar-fill{background:var(--red);width:8%;height:100%;transition:width .1s linear}.welcome-registration-loading{z-index:9999;background:var(--paper);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out welcome-registration-loading-in;display:flex;position:absolute;inset:0}.welcome-registration-loading__panel{border:3px solid var(--ink);background:var(--surface);width:min(360px,100%);box-shadow:var(--shadow-hard);text-align:center;padding:28px 22px}.welcome-registration-loading__mark{border:3px solid var(--ink);background:var(--accent);width:48px;height:48px;color:var(--ink);justify-content:center;align-items:center;margin:0 auto 18px;font-size:24px;font-weight:900;animation:.9s ease-in-out infinite welcome-registration-pulse;display:flex}.welcome-registration-loading__message{min-height:22px;color:var(--ink);letter-spacing:.08em;margin-bottom:18px;font-size:12px;font-weight:900;line-height:1.3;transition:opacity .12s,transform .12s}.welcome-registration-loading__message.is-changing{opacity:0;transform:translateY(3px)}.welcome-registration-loading__bar{border:2px solid var(--ink);background:var(--paper);width:100%;height:8px;overflow:hidden}.welcome-registration-loading__bar-fill{background:var(--accent);width:35%;height:100%;animation:1.4s ease-in-out infinite welcome-registration-progress}.welcome-registration-loading__sub{color:var(--ink);letter-spacing:.14em;opacity:.5;margin-top:12px;font-size:8px;font-weight:900}@keyframes welcome-registration-loading-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-registration-pulse{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.06)rotate(4deg)}}@keyframes welcome-registration-progress{0%{transform:translate(-120%)}50%{transform:translate(180%)}to{transform:translate(320%)}}@media (prefers-reduced-motion:reduce){.welcome-registration-loading,.welcome-registration-loading__mark,.welcome-registration-loading__bar-fill{animation:none}.welcome-registration-loading__message{transition:none}}@media (width<=600px){.welcome-step{padding:20px 14px}.welcome-navigation .neo-button{flex:1;min-width:0}.welcome-vehicle-preview-pair{grid-template-columns:1fr}.welcome-crew-row{flex-wrap:wrap}.welcome-loading__vehicle{margin-bottom:20px}.welcome-loading__message{font-size:.8rem}.welcome-google-button{height:48px}}.gameplay-screen{gap:var(--space-3);background:var(--beige);width:100%;max-width:480px;height:100dvh;min-height:0;color:var(--gameplay-ink);box-sizing:border-box;flex-direction:column;margin:0 auto;padding-top:12px;display:flex;overflow:hidden}#worldStatus,#tripAction{flex:none}#gameplayNav{flex:none;margin-top:auto}#vehicleStage{min-height:0;max-height:180px;padding:0 var(--space-3);flex:1 1 0;display:flex}#tripStatusBoard{min-height:0;padding:0 var(--space-3);flex:1 1 0;display:flex}#tripStatusBoard .trip-status-board{width:100%}.trip-status-board__header{border-bottom:var(--border-thick);justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.trip-status-board__title,.trip-status__vehicle-name{margin:0}.trip-status__vehicle-name{text-transform:uppercase;padding-left:15px;font-size:clamp(.45rem,2.6vw,.75rem);font-weight:900;line-height:1}.world-status,.vehicle-stage,.trip-status-board,.live-trip-feed,.primary-action{width:min(1200px,100% - 32px);margin-left:auto;margin-right:auto}.world-status{box-sizing:border-box;border:var(--border-thick);width:min(1200px,100% - 32px);min-width:0;box-shadow:var(--shadow-hard-sm);background:#cbe2fe;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:18px auto 0;padding:5px 10px;display:grid;overflow:hidden}.world-status__identity{white-space:nowrap;min-width:0;font-family:var(--font-display);align-items:center;gap:6px;font-size:.72rem;font-weight:900;line-height:1;display:flex}.world-status__day,.world-status__clock{flex:none;font-weight:900}.world-status__period-group{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.world-status__period{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);letter-spacing:.03em;font-size:.7rem;font-weight:900;line-height:1;overflow:hidden}.world-status__weather{box-sizing:border-box;background:var(--ink);border-radius:80%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:10px;display:flex;overflow:hidden}.world-status__weather img{object-fit:contain;width:15px;height:15px;display:block}.world-status__right{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.world-status__stat{min-width:0;font-family:var(--font-display);flex:none;align-items:center;gap:3px;font-size:.72rem;font-weight:900;line-height:1;display:flex}.world-status__stat img{object-fit:contain;flex:none;width:15px;height:15px;display:block}@media (width<=700px){.world-status{gap:6px;width:calc(100% - 20px);padding:4px 8px}.world-status__identity{gap:4px;font-size:.65rem}.world-status__period-group{justify-content:center;gap:4px}.world-status__period{letter-spacing:.02em;font-size:.6rem}.world-status__weather{width:19px;height:19px;padding:2px}.world-status__weather img{width:14px;height:14px}.world-status__right{gap:7px}.world-status__stat{gap:2px;font-size:.62rem}.world-status__stat img{width:13px;height:13px}}@media (width<=380px){.world-status{gap:4px;padding-left:6px;padding-right:6px}.world-status__identity{gap:3px;font-size:.55rem}.world-status__period-group{gap:3px}.world-status__period{font-size:.5rem}.world-status__weather{width:17px;height:17px;padding:2px}.world-status__weather img{width:12px;height:12px}.world-status__right{gap:5px}.world-status__stat{gap:2px;font-size:.53rem}.world-status__stat img{width:12px;height:12px}}@media (width<=340px){.world-status{gap:3px;padding-left:5px;padding-right:5px}.world-status__identity{gap:2px;font-size:.5rem}.world-status__period{font-size:.46rem}.world-status__weather{width:15px;height:15px;padding:1px}.world-status__weather img{width:11px;height:11px}.world-status__right{gap:4px}.world-status__stat{font-size:.48rem}.world-status__stat img{width:11px;height:11px}}.vehicle-stage{background:var(--surface);border:var(--border-thick);min-height:0;box-shadow:var(--shadow-hard);flex-direction:column;flex:1 1 0;margin-top:6px;margin-bottom:6px;padding:10px 20px;display:flex;position:relative;overflow:hidden}.vehicle-stage__scene{background:linear-gradient(#6ec6ff 0%,#bee7ff 58%,#e8f7ff 100%);flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.vehicle-stage__scene[data-period=morning_rush],.vehicle-stage[data-period=morning_rush] .vehicle-stage__scene{background:linear-gradient(#ffb88c 0%,#ffddc7 45%,#fff6e9 100%)}.vehicle-stage__scene[data-period=evening_rush],.vehicle-stage[data-period=evening_rush] .vehicle-stage__scene{background:linear-gradient(#2c3e66 0%,#e8734a 55%,#ffb870 100%)}.vehicle-stage__scene[data-period=night_rush],.vehicle-stage[data-period=night_rush] .vehicle-stage__scene{background:linear-gradient(#0b1330 0%,#1c2b52 55%,#33406e 100%)}.parallax-clouds{z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='60' viewBox='0 0 220 60'%3E%3Cellipse cx='40' cy='34' rx='30' ry='14' fill='white' opacity='0.55'/%3E%3Cellipse cx='70' cy='26' rx='20' ry='11' fill='white' opacity='0.5'/%3E%3Cellipse cx='150' cy='38' rx='26' ry='12' fill='white' opacity='0.4'/%3E%3C/svg%3E");background-position:0 0;background-repeat:repeat-x;background-size:220px 60px;height:32%;animation:70s linear infinite paused parallax-clouds-drift;position:absolute;top:-10%;left:0;right:0}@keyframes parallax-clouds-drift{0%{background-position-x:0}to{background-position-x:-220px}}.parallax-buildings{z-index:2;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='80' viewBox='0 0 300 80'%3E%3Crect x='0' y='35' width='28' height='45' fill='%23000000' opacity='0.14'/%3E%3Crect x='30' y='15' width='20' height='65' fill='%23000000' opacity='0.14'/%3E%3Crect x='54' y='48' width='16' height='32' fill='%23000000' opacity='0.14'/%3E%3Crect x='74' y='24' width='24' height='56' fill='%23000000' opacity='0.14'/%3E%3Crect x='102' y='40' width='18' height='40' fill='%23000000' opacity='0.14'/%3E%3Crect x='124' y='8' width='30' height='72' fill='%23000000' opacity='0.14'/%3E%3Crect x='158' y='36' width='22' height='44' fill='%23000000' opacity='0.14'/%3E%3Crect x='184' y='50' width='16' height='30' fill='%23000000' opacity='0.14'/%3E%3Crect x='204' y='20' width='26' height='60' fill='%23000000' opacity='0.14'/%3E%3Crect x='234' y='42' width='18' height='38' fill='%23000000' opacity='0.14'/%3E%3Crect x='256' y='30' width='16' height='50' fill='%23000000' opacity='0.14'/%3E%3Crect x='276' y='44' width='20' height='36' fill='%23000000' opacity='0.14'/%3E%3C/svg%3E");background-position:bottom;background-repeat:repeat-x;background-size:300px 80px;height:34%;animation:32s linear infinite paused parallax-buildings-drift;position:absolute;bottom:35%;left:0;right:0}@keyframes parallax-buildings-drift{0%{background-position-x:0}to{background-position-x:-300px}}.parallax-road{z-index:3;pointer-events:none;background:#4a4a4a;height:42%;position:absolute;bottom:-5px;left:0;right:0}.parallax-road:after{content:"";background-image:repeating-linear-gradient(90deg,#ffe066 0 34px,#0000 34px 67px);background-size:67px 4px;height:4px;animation:2s linear infinite paused parallax-road-dash;position:absolute;top:65%;left:0;right:0;transform:translateY(-50%)}@keyframes parallax-road-dash{0%{background-position-x:0}to{background-position-x:-67px}}.vehicle-stage.trip-active .parallax-clouds,.vehicle-stage.trip-active .parallax-buildings,.vehicle-stage.trip-active .parallax-road:after{animation-play-state:running}.vehicle-stage__vehicle{z-index:6;width:min(75%,420px);max-height:120px;display:block;position:absolute;bottom:8%;left:50%;transform:translate(-50%)scale(1.2)}.vehicle-stage__vehicle svg{width:min(100%,460px);height:auto;max-height:120px;display:block}.rain-overlay{pointer-events:none;z-index:8;position:absolute;inset:0;overflow:hidden}.rain-drop{will-change:transform;background:#ffffff73;width:1.5px;height:18px;animation:linear infinite rain-fall;position:absolute;top:-20%}@keyframes rain-fall{to{transform:translate(-20px,160px)}}.vehicle-stage svg [id^=layer-]:not(#layer-shadow):not(#layer-tyres):not(#layer-rims){animation:3s ease-in-out infinite idle-bounce}@keyframes idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.vehicle-stage.trip-active svg [id^=layer-]:not(#layer-shadow):not(#layer-tyres):not(#layer-rims){animation:.6s ease-in-out infinite trip-bounce}@keyframes trip-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.vehicle-stage.trip-active svg #tyre-left,.vehicle-stage.trip-active svg #rim-left,.vehicle-stage.trip-active svg #tyre-right,.vehicle-stage.trip-active svg #rim-right{transform-box:fill-box;transform-origin:50%;will-change:transform;animation:.5s linear infinite wheel-spin}@keyframes wheel-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-mini{border-bottom:2px solid var(--ink);flex-direction:column;flex:none;gap:4px;padding-bottom:6px;display:flex}.dashboard-mini__conditions{letter-spacing:.03em;justify-content:space-between;gap:4px;font-size:.55rem;font-weight:900;display:flex}.dashboard-mini__stat strong{font-size:.75rem;display:block}.dashboard-mini__stat.is-inactive{opacity:.4}.dashboard-mini__trip-row{align-items:center;gap:6px;display:flex}.dashboard-trip-state{background:var(--green);color:var(--ink);letter-spacing:.04em;flex:none;justify-content:center;align-items:center;padding:3px 8px;font-size:.55rem;font-weight:900;display:inline-flex}.dashboard-trip-state.is-idle{background:var(--gameplay-muted)}.dashboard-mini__eta{white-space:nowrap;flex:none;font-size:.6rem;font-weight:900}.dashboard-mini__route{flex:1;min-width:20px}.dashboard-mini__route-line{background:var(--ink);height:4px}.dashboard-mini__route-progress{background:var(--green);height:100%}.dashboard-incident-indicator{background:var(--ink);width:18px;height:18px;color:var(--surface);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:.7rem;font-weight:900;display:flex}.trip-status-board{box-sizing:border-box;background:var(--gameplay-surface);border:var(--border-thick);min-height:0;box-shadow:var(--shadow-hard-sm);flex-direction:column;flex:auto;margin-top:8px;margin-bottom:8px;padding:5px 15px;display:flex;overflow:hidden}.trip-status-board__header{border-bottom:var(--border-thick);flex:none;padding:6px 14px}.trip-status-board__title{letter-spacing:.08em;margin:0;font-size:.75rem;font-weight:900}.trip-status-board__content{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(150px,32%) minmax(0,1fr);align-items:start;gap:14px;min-height:0;padding:10px 14px;display:grid;overflow:hidden}.passenger-board{box-sizing:border-box;background:var(--gameplay-surface-dark);border:1px solid var(--text-muted);--seat-size:clamp(16px, 4.5vw, 28px);--aisle-size:clamp(13px, 3.4vw, 24px);--seat-gap:clamp(3px, .7vw, 8px);flex-direction:column;place-self:start;width:max-content;max-width:100%;height:max-content;padding:6px 5px;display:flex;position:relative;overflow:hidden}.passenger-board__front-details{grid-template-columns:1fr 1fr .55fr;gap:3px;margin:0 2px 4px;display:grid}.passenger-board__front-details span{box-sizing:border-box;border:1px solid var(--muted);height:4px}.passenger-board__front-details span:last-child{justify-self:end;width:55%}.passenger-board__front{grid-template-columns:var(--seat-size) var(--seat-size) var(--aisle-size) var(--seat-size) var(--seat-size);column-gap:var(--seat-gap);height:var(--seat-size);align-items:center;display:grid}.passenger-board__front-passengers{gap:var(--seat-gap);grid-column:1/3;display:flex}.passenger-board__driver{grid-column:5;justify-content:center;align-items:center;display:flex}.passenger-board__driver-icon{width:var(--seat-size);height:var(--seat-size);object-fit:contain;display:block}.passenger-board__divider{background:var(--muted);flex:none;height:1px;margin:3px 1px 4px}.passenger-board__rows{flex-direction:column;flex:none;gap:2px;min-height:0;display:flex}.passenger-board__row{flex:0 0 var(--seat-size);height:var(--seat-size);min-height:var(--seat-size);grid-template-columns:var(--seat-size) var(--seat-size) var(--aisle-size) var(--seat-size) var(--seat-size);column-gap:var(--seat-gap);align-items:center;display:grid}.passenger-seat{width:var(--seat-size);height:var(--seat-size);min-width:var(--seat-size);min-height:var(--seat-size);max-width:var(--seat-size);max-height:var(--seat-size);aspect-ratio:1;box-sizing:border-box;justify-content:center;justify-self:center;align-items:center;display:flex}.passenger-seat__icon{object-fit:contain;background:var(--gameplay-surface-dark);border:1px solid var(--text-muted);box-sizing:border-box;width:100%;height:100%;padding:.5px;display:block}.passenger-seat--empty{width:var(--seat-size);height:var(--seat-size);min-width:var(--seat-size);min-height:var(--seat-size)}.passenger-seat--tout{width:var(--seat-size);height:var(--seat-size);min-width:var(--seat-size);min-height:var(--seat-size);max-width:var(--seat-size);max-height:var(--seat-size);aspect-ratio:1;background:var(--gameplay-surface-dark);color:var(--surface);border:1px solid var(--text-muted);box-sizing:border-box;justify-content:center;justify-self:center;align-items:center;font-size:clamp(.4rem,1vw,.55rem);font-weight:900;display:flex}.passenger-seat-pop-in{animation:.25s ease-out backwards passenger-seat-pop-in}@keyframes passenger-seat-pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.passenger-board__door{width:2px;height:var(--seat-size);background:var(--muted);position:absolute;top:32%;left:0}.trip-status-board__details{flex-direction:column;align-self:start;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}.trip-amenities,.trip-mood,.passenger-feedback,.trip-satisfaction-mini{box-sizing:border-box;border:var(--border-thick);box-shadow:var(--shadow-hard-sm);position:relative}.trip-amenities{box-shadow:none;border:0;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.trip-amenities__item{background:var(--surface);border:var(--border);min-height:42px;box-shadow:var(--shadow-hard-sm);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.5rem;font-weight:900;display:flex}.trip-amenities__item:first-child{background:#ffe7a8}.trip-amenities__item:nth-child(2){background:#c8f7d4}.trip-amenities__item:nth-child(3){background:#cce7ff}.trip-amenities__item:nth-child(4){background:#f5c9ff}.trip-amenities__item img{object-fit:contain;width:14px;height:14px}.trip-amenities__item--inactive{opacity:.3;filter:grayscale()}.trip-mood{background:#fff1a8;flex:none;align-items:baseline;gap:6px;padding:7px 9px;display:flex}.trip-detail-label{letter-spacing:.07em;margin-bottom:3px;font-size:.56rem;font-weight:900;display:block}.trip-mood .trip-detail-label{margin-bottom:0}.trip-mood__value{font-size:.95rem;line-height:1}.passenger-feedback{background:var(--surface);flex-direction:column;flex:auto;min-height:0;padding:8px 10px;display:flex;overflow:hidden}.passenger-feedback__items{flex-direction:column;gap:4px;display:flex;overflow:hidden}.passenger-feedback p{margin:0;font-size:.72rem;line-height:1.3}.passenger-feedback strong{font-size:.82rem}.trip-satisfaction-mini{background:var(--green);flex:none;justify-content:space-between;align-items:baseline;padding:6px 8px;display:flex}.trip-satisfaction-mini .trip-detail-label{margin:0;font-size:.5rem}.trip-satisfaction-mini strong{font-size:.9rem}.value-pulse{animation:.35s ease-out value-pulse-scale;display:inline-block}@keyframes value-pulse-scale{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.passenger-board--pulse{animation:.5s ease-out passenger-board-pulse-scale}@keyframes passenger-board-pulse-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.live-trip-feed{background:var(--gameplay-surface-live);border:var(--border-thick);box-shadow:var(--shadow-hard-sm);flex-direction:column;flex:none;gap:0;margin-top:6px;margin-bottom:6px;display:flex;overflow:hidden}.live-trip-feed__route{background:var(--ink);color:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;display:flex}.live-trip-feed__route-number{font-family:var(--font-display);letter-spacing:.04em;flex:none;font-size:.65rem;font-weight:900}.live-trip-feed__route-direction{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;font-size:.7rem;font-weight:800;overflow:hidden}.live-trip-feed__status{justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:7px 12px;display:flex}.live-trip-feed__status.is-progress{background:var(--surface)}.live-trip-feed__status-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:700;overflow:hidden}.live-trip-feed__status.is-attention{background:var(--gameplay-surface-live)}.live-trip-feed.is-complete{background:var(--green)}.live-trip-feed__btn{border:var(--border);background:var(--surface);min-height:26px;font-family:var(--font-display);box-shadow:var(--shadow-hard-sm);flex:none;padding:5px 12px;font-size:.6rem;font-weight:900}.primary-action{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;margin-top:10px;margin-bottom:20px;padding:4px 16px;display:flex}.primary-action .neo-button{width:100%;max-width:400px;min-height:48px;padding:12px 16px;font-size:1.5rem}.primary-action-hint{text-align:center;opacity:.75;margin-top:7px;font-size:12px;font-weight:700}.gameplay-navigation{border-top:var(--border-thick);background:var(--surface);flex:none;grid-template-columns:repeat(5,1fr);margin-top:auto;display:grid}.gameplay-navigation__item{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;font-size:.6rem;font-weight:900;display:flex}.gameplay-navigation__item img{object-fit:contain;width:20px;height:20px}@media (height<=700px){#vehicleStage{flex:0 110px;max-height:110px}#tripStatusBoard{flex:1 1 0;min-height:0}.world-status{padding:3px 10px}.primary-action{margin-top:4px;margin-bottom:4px;padding:3px 16px}.primary-action .neo-button{min-height:40px;padding:8px 16px;font-size:1.1rem}.gameplay-navigation__item{min-height:38px}.passenger-board{--seat-size:clamp(15px, 4.3vw, 22px);--aisle-size:clamp(12px, 3.2vw, 19px);--seat-gap:clamp(2px, .6vw, 5px)}}@media (width<=700px){.world-status,.vehicle-stage,.trip-status-board,.live-trip-feed{width:calc(100% - 20px)}.world-status{gap:5px}.world-status__time{gap:3px;min-width:0;font-size:.75rem}.world-status__statsGRP{gap:8px}.world-status__weather{width:18px;height:18px;padding:2px}.world-status__weather img{width:14px;height:14px}.world-status__cash,.world-status__points{font-size:.75rem}.world-status__cash img,.world-status__points img{width:13px;height:13px}.vehicle-stage{padding:8px 12px}.vehicle-stage__header{gap:7px}.vehicle-stage__eyebrow{font-size:.5rem}.vehicle-stage__vehicle{width:min(90%,340px);max-height:100px;bottom:20%;transform:translate(-50%)scale(1.7)}.vehicle-stage__vehicle svg{width:100%;max-height:100px}.trip-status-board,.trip-status-board__header{padding:5px 10px}.trip-status-board__title{font-size:.6rem}.trip-status-board__content{grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:7px;padding:7px}.passenger-board{--seat-size:clamp(16px, 5vw, 22px);--aisle-size:clamp(12px, 3.5vw, 18px);--seat-gap:clamp(2px, .7vw, 5px);width:max-content;max-width:100%;padding:5px 4px}.passenger-board__front-details{gap:2px;margin:0 2px 3px}.passenger-board__front-details span{border-width:1px;height:3px}.passenger-board__divider{height:1px;margin:3px 1px}.passenger-board__rows{gap:2px}.passenger-board__row{height:var(--seat-size);min-height:var(--seat-size);flex-basis:var(--seat-size)}.passenger-seat,.passenger-seat--empty,.passenger-seat--tout{width:var(--seat-size);height:var(--seat-size);min-width:var(--seat-size);min-height:var(--seat-size);max-width:var(--seat-size);max-height:var(--seat-size)}.passenger-seat--tout{font-size:.4rem}.passenger-board__door{width:2px;height:var(--seat-size)}.trip-status-board__details{gap:6px}.trip-amenities{gap:3px}.trip-amenities__item{border-width:1px;gap:2px;min-height:34px;font-size:.4rem}.trip-amenities__item img{width:14px;height:14px}.trip-detail-label{margin-bottom:2px;font-size:.48rem}.trip-mood{border-width:1px;padding:5px 7px}.trip-mood__value{font-size:.85rem}.passenger-feedback{border-width:1px;padding:6px 7px}.passenger-feedback__items{gap:3px}.passenger-feedback p{font-size:.5rem;line-height:1.2}.passenger-feedback strong{font-size:.58rem}.trip-satisfaction-mini{border-width:1px;padding:3px 6px}.trip-satisfaction-mini .trip-detail-label{font-size:.42rem}.trip-satisfaction-mini strong{font-size:.72rem}.live-trip-feed{gap:7px;padding:7px 9px}.live-trip-feed__text{font-size:.65rem}.live-trip-feed__btn{min-height:23px;padding:5px 50px;font-size:.52rem}.primary-action{margin-top:5px;margin-bottom:5px;padding:3px 10px}.primary-action .neo-button{min-height:42px;padding:9px 12px;font-size:.85rem}.gameplay-navigation__item{gap:2px;min-height:48px;font-size:.5rem}.gameplay-navigation__item img{width:18px;height:18px}}@media (width<=380px){.world-status{gap:4px;padding-left:7px;padding-right:7px}.world-status__time{gap:2px;font-size:.6rem}.world-status__statsGRP{gap:5px}.world-status__cash,.world-status__points{font-size:.6rem}.world-status__weather{width:16px;height:16px;padding:2px}.world-status__weather img,.world-status__cash img,.world-status__points img{width:12px;height:12px}#vehicleStage{max-height:130px}.vehicle-stage{padding:6px 9px}.vehicle-stage__vehicle{width:min(92%,300px);max-height:80px;bottom:10%;transform:translate(-50%)scale(1.5)}.vehicle-stage__vehicle svg{width:100%;max-height:80px}.trip-status-board{padding-left:7px;padding-right:7px}.trip-status-board__content{grid-template-columns:minmax(0,39%) minmax(0,1fr);gap:5px;padding:5px}.passenger-board{--seat-size:15px;--aisle-size:12px;--seat-gap:3px;padding:4px 3px}.passenger-board__front-details{margin-bottom:2px}.passenger-board__front-details span{height:2px}.passenger-board__divider{margin-top:2px;margin-bottom:3px}.passenger-board__rows{gap:2px}.trip-status-board__details{gap:4px}.trip-amenities{gap:2px}.trip-amenities__item{min-height:30px;font-size:.35rem}.trip-amenities__item img{width:12px;height:12px}.trip-detail-label{font-size:.42rem}.trip-mood__value{font-size:.75rem}.passenger-feedback p{font-size:.42rem}.passenger-feedback strong{font-size:.5rem}.trip-satisfaction-mini{padding:2px 5px}.trip-satisfaction-mini .trip-detail-label{font-size:.38rem}.trip-satisfaction-mini strong{font-size:.65rem}.live-trip-feed{gap:7px;padding:7px 9px}.live-trip-feed__text{font-size:.65rem}.live-trip-feed__btn{min-height:23px;padding:5px 35px;font-size:.52rem}.primary-action .neo-button{min-height:38px;padding:7px 10px}.gameplay-navigation__item{min-height:44px;font-size:.44rem}.gameplay-navigation__item img{width:17px;height:17px}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#050a12b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg-page);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;max-height:92dvh;animation:.22s ease-out modal-slide-up;position:relative;overflow-y:auto}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-sheet.trip-summary-entrance{animation:.28s ease-out modal-scale-fade}@keyframes modal-scale-fade{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.modal-close{top:var(--space-4);right:var(--space-4);z-index:2;background:var(--bg-muted);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-primary);font-size:var(--text-xl);border-radius:50%;justify-content:center;align-items:center;line-height:1;transition:background .15s;display:flex;position:absolute}.modal-close:hover{background:var(--bg-surface)}.modal-body{min-height:200px;padding-bottom:var(--space-12)}.modal-header-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--secondary);color:var(--ink);border:3px solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);margin-bottom:var(--space-5);display:flex}.modal-kicker{font-size:var(--text-xs);letter-spacing:.12em;margin-bottom:var(--space-1);opacity:.65;font-weight:900;display:block}.modal-header-bar h2{color:var(--ink);font-size:var(--text-2xl);margin:0;line-height:1}.dispatch-header-mark{background:var(--paper);border:3px solid var(--ink);width:48px;height:48px;box-shadow:4px 4px 0 var(--ink);place-items:center;display:grid;transform:rotate(-3deg)}.dispatch-header-mark .job-icon{width:25px;height:25px}@media (width<=600px){.modal-header-bar{padding:var(--space-4);box-shadow:4px 4px 0 var(--ink)}.modal-header-bar h2{font-size:var(--text-xl)}.dispatch-header-mark{width:40px;height:40px}}.modal-title{font-size:var(--text-2xl);padding:var(--space-6) var(--space-4) var(--space-4);margin:0}.garage-section{padding:0 var(--space-4) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.garage-section label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.garage-row-title{font-weight:700}.garage-row-sub{font-size:var(--text-sm);color:var(--text-secondary)}.sub-tabs{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);flex-wrap:wrap;display:flex}.sub-tab-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);flex:30%;font-weight:600}.sub-tab-btn.active{background:var(--secondary);color:var(--ink);border-color:var(--secondary)}.sub-tab-content{padding:0 var(--space-4) var(--space-4)}.step-title{font-size:var(--text-base);margin:0 0 var(--space-2);font-weight:700}.dispatch-modal{width:100%}.dispatch-header-mark{width:40px;height:40px}.dispatch-job-list{gap:var(--space-4);flex-direction:column;display:flex}.job-card{background:var(--bg-page);border:3px solid var(--ink);border-radius:var(--radius-md);box-shadow:5px 5px 0 var(--ink);transition:transform .12s,box-shadow .12s;overflow:hidden}.job-card:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-1px,-1px)}.job-card.is-expanded{box-shadow:7px 7px 0 var(--ink)}.job-card-header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);color:inherit;text-align:left;cursor:pointer;background:#ffebcd;border:0;display:flex}.job-route-number{background:var(--ink);width:52px;min-width:52px;height:52px;color:var(--paper);border:2px solid var(--ink);flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-2deg)}.job-route-label{letter-spacing:.08em;opacity:.7;font-size:8px;font-weight:900;line-height:1}.job-route-number strong{font-size:13px;line-height:1.1}.job-card-title{flex:1;min-width:0}.job-card-title h3{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:900;line-height:1.2}.job-card-route-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink);opacity:.6;margin-top:3px;font-weight:700;display:flex}.job-expand-icon{border:2px solid var(--border-default);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.job-expand-icon .job-icon{width:13px;height:13px}.job-risk-tag{letter-spacing:.05em;border:2px solid;flex-shrink:0;padding:5px 8px;font-size:9px;font-weight:900;transform:rotate(2deg)}.tag-safe{color:var(--success);background:#39ff1414}.tag-low{color:var(--color-match-weak);background:#ff8c0014}.tag-high{color:var(--danger);background:#ff2e8814}.job-card-meta{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:2px dashed var(--border-default);background:var(--bg-muted);grid-template-columns:repeat(3,minmax(0,1fr)) auto;display:grid}.job-meta-item{align-items:center;gap:var(--space-2);min-width:0;display:flex}.job-meta-item .job-icon{flex-shrink:0;width:17px;height:17px}.job-meta-item span{flex-direction:column;min-width:0;display:flex}.job-meta-item small{letter-spacing:.06em;color:var(--text-faint);font-size:8px;font-weight:900}.job-meta-item strong{font-size:var(--text-sm);color:var(--text-primary);line-height:1.1}.job-meta-profit strong{color:#006400}.job-details-toggle{color:var(--text-primary);letter-spacing:.05em;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:center;font-size:9px;font-weight:900;text-decoration:underline}.job-details-toggle:hover{color:var(--secondary)}.job-card-details{padding:var(--space-5);border-top:3px solid var(--ink);background:var(--bg-page)}.job-detail-section{margin-bottom:var(--space-5)}.job-section-heading{margin-bottom:var(--space-3)}.section-kicker{letter-spacing:.12em;color:var(--secondary);margin-bottom:2px;font-size:8px;font-weight:900;display:block}.job-section-heading h4{font-size:var(--text-base);letter-spacing:.02em;margin:0;font-weight:900}.requirements-table{border:2px solid var(--ink)}.requirements-header{gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--ink);color:var(--paper);letter-spacing:.08em;grid-template-columns:minmax(0,1fr) auto auto;font-size:8px;font-weight:900;display:grid}.requirements-header span:nth-child(2),.requirements-header span:nth-child(3){text-align:right}.requirement-row{align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px dashed var(--border-default);grid-template-columns:30px minmax(0,1fr) auto auto;display:grid}.requirement-icon{background:var(--bg-muted);border:2px solid var(--border-default);place-items:center;width:28px;height:28px;display:grid}.requirement-icon .job-icon{width:15px;height:15px}.requirement-label{min-width:0}.requirement-title{font-size:var(--text-sm);font-weight:900}.requirement-sub{color:var(--text-faint);margin-top:2px;font-size:9px;line-height:1.3}.requirement-value{font-size:var(--text-sm);text-align:right;white-space:nowrap;font-weight:700}.requirement-required{color:var(--text-secondary)}.requirement-yours{font-weight:900}.match-text-match-good{color:var(--color-match-good)}.match-text-match-weak{color:var(--color-match-weak)}.match-text-match-poor{color:var(--color-match-poor)}.match-badge{letter-spacing:.04em;border:1px solid;grid-column:2/-1;justify-self:end;margin-top:-2px;padding:3px 7px;font-size:8px;font-weight:900}.match-good{color:var(--color-match-good);background:#39ff1414}.match-weak{color:var(--color-match-weak);background:#ff8c0014}.match-poor{color:var(--color-match-poor);background:#ff2e8814}.outcome-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.outcome-axis-note{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.outcome-box{padding:var(--space-3);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.outcome-success{background:#39ff1412}.outcome-failure{background:#ff2e8812}.outcome-box-heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);letter-spacing:.06em;font-size:10px;font-weight:900;display:flex}.outcome-success .outcome-box-heading{color:var(--success)}.outcome-failure .outcome-box-heading{color:var(--danger)}.outcome-mark{border:2px solid;place-items:center;width:22px;height:22px;display:grid}.outcome-mark .job-icon{width:12px;height:12px}.outcome-row{justify-content:space-between;align-items:center;gap:var(--space-2);border-top:1px dashed var(--border-subtle);font-size:var(--text-xs);padding:5px 0;display:flex}.outcome-row strong{font-weight:900}.incident-chance-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--ink);background:var(--bg-muted);margin-bottom:var(--space-4);display:flex}.incident-chance-icon{background:var(--ink);place-items:center;width:30px;height:30px;display:grid}.incident-chance-icon .job-icon{width:15px;height:15px}.incident-chance-row>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.incident-chance-label{letter-spacing:.08em;color:var(--text-faint);font-size:8px;font-weight:900}.incident-chance-row strong{font-size:var(--text-sm)}.accept-trip-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:48px;font-size:var(--text-base);letter-spacing:.03em;font-weight:900;display:flex}.accept-trip-btn .job-icon{width:18px;height:18px}.dispatch-loading{padding:var(--space-5);border:2px dashed var(--border-default);text-align:center}.dispatch-empty,.dispatch-error{padding:var(--space-6);border:2px solid var(--ink);background:var(--bg-muted);text-align:center}.dispatch-empty strong,.dispatch-error strong{font-size:var(--text-base);font-weight:900;display:block}.dispatch-empty p,.dispatch-error p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}@media (width<=600px){.job-card-header{padding:var(--space-3);gap:var(--space-2)}.job-route-number{width:44px;min-width:44px;height:44px}.job-card-title h3{font-size:var(--text-sm)}.job-risk-tag{padding:4px 5px;font-size:8px}.job-card-meta{padding:var(--space-3);grid-template-columns:1fr 1fr}.job-details-toggle{padding-top:var(--space-2);border-top:1px dashed var(--border-default);grid-column:1/-1}.job-card-details{padding:var(--space-4)}.requirement-row{grid-template-columns:28px minmax(0,1fr) auto auto}.requirement-sub{max-width:150px}.outcome-grid{grid-template-columns:1fr}}.garage-preview-row{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);grid-template-columns:1.4fr 1fr 1fr;display:grid}.garage-preview-thumb{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:90px;display:flex;position:relative;overflow:hidden}.garage-preview-thumb svg{width:100%;height:auto}.garage-preview-side{position:relative}.paint-profile-row{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.paint-profile-btn{background:var(--bg-surface);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;font-weight:700}.paint-profile-btn.active{background:var(--secondary);color:var(--ink);border-color:var(--secondary)}.garage-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);display:flex}.garage-row:first-child{border-top:none}.garage-row.is-equipped-stat{border-left:2px solid var(--secondary);padding-left:var(--space-3)}.parts-category-list{flex-direction:column;display:flex}.parts-category-row{color:var(--text-primary);padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;display:flex}.parts-category-row:last-child{border-bottom:none}.parts-category-name{font-weight:700}.parts-category-count{font-size:var(--text-sm);color:var(--text-faint)}.shop-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.shop-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-3);gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.shop-card.is-selected-part{border-color:var(--secondary);background:#00e5ff14}.shop-card-amount{font-weight:700;font-size:var(--text-sm);align-items:center;gap:var(--space-2);display:flex}.shop-card-price{font-size:var(--text-xs);color:var(--text-faint)}.shop-card-stats{color:var(--text-secondary);font-size:10px}.part-owned-tag{border:1px solid var(--secondary);color:var(--secondary);letter-spacing:.06em;padding:2px 6px;font-size:8px;font-weight:900;display:inline-block}.part-stat-line{font-size:var(--text-xs)}.color-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.color{border:2px solid var(--ink);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0;transition:transform .1s,box-shadow .1s}.color:hover{transform:scale(1.08)}.color.selected{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--secondary)}.garage-resource-row{align-items:center;gap:var(--space-4);padding:0 var(--space-4) var(--space-3);font-weight:700;font-size:var(--text-sm);display:flex}.garage-resource-item{align-items:center;gap:var(--space-1);display:flex}.garage-resource-icon{color:var(--secondary)}.crew-list-card{align-items:center;gap:var(--space-3);padding:var(--space-3);border:3px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-3);display:flex}.crew-list-card.is-assigned{border-color:var(--secondary);background:#00e5ff0f}.crew-list-avatar,.crew-list-avatar-placeholder{background:var(--bg-muted);width:52px;min-width:52px;height:52px;font-size:var(--text-xl);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;display:flex}.crew-list-info{flex:1;min-width:0}.crew-list-name{margin:0 0 var(--space-1);align-items:center;gap:var(--space-2);font-weight:700;display:flex}.crew-list-tier{font-size:var(--text-xs);text-transform:capitalize;color:var(--text-faint);font-weight:500}.crew-list-desc,.crew-list-stats{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.crew-list-badge{color:var(--secondary);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);background:#00e5ff2e;border-radius:999px;font-weight:700}.crew-list-locked{color:var(--text-faint);font-size:var(--text-sm);white-space:nowrap}.crew-list-bio{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0;font-style:italic;line-height:1.3}.crew-list-card.is-locked{opacity:.6}.crew-list-badge--locked{background:var(--bg-muted);color:var(--text-faint)}.crew-locked-title{margin-top:var(--space-5);color:var(--text-faint)}:root{--crew-tier-featured:#d1298a}.crew-modal-eyebrow{letter-spacing:.16em;color:var(--text-faint);margin-bottom:4px;font-size:9px;font-weight:900;display:block}.crew-featured-section{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px dashed var(--border-default)}.crew-featured-section__heading{margin-bottom:var(--space-2)}.crew-featured-section__heading h3{margin:0}.crew-list-featured-tag{background:var(--crew-tier-featured);color:#fff;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900;display:inline-block}.crew-list-card.is-featured{border-color:var(--crew-tier-featured);background:#d1298a0f}.sub-tab-content{width:100%;min-width:0;padding-bottom:var(--space-4);box-sizing:border-box}.league-loading{min-height:120px;color:var(--text-faint);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;display:flex}.league-custom-header,.league-custom-intro{width:100%;min-width:0;margin-bottom:var(--space-4)}.league-eyebrow{margin-bottom:var(--space-2);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:900;display:block}.league-title{margin:0 0 var(--space-2);font-family:var(--font-display);text-transform:uppercase;color:var(--ink);overflow-wrap:anywhere;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:900;line-height:.95}.league-custom-intro .garage-row-sub,.league-custom-header .garage-row-sub{overflow-wrap:anywhere;max-width:100%}.league-winner-banner{align-items:center;gap:var(--space-1);box-sizing:border-box;width:100%;margin-bottom:var(--space-4);padding:var(--space-4);background:var(--secondary);border:2px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);text-align:center;flex-direction:column;display:flex}.league-winner-label{letter-spacing:.12em;text-transform:uppercase;color:var(--bg-surface);opacity:.85;font-size:10px;font-weight:900}.league-winner-name{max-width:100%;font-family:var(--font-display);font-size:var(--text-lg,1.25rem);color:var(--bg-surface);overflow-wrap:anywhere;font-weight:900}.league-winner-sub{max-width:100%;font-size:var(--text-xs);color:var(--bg-surface);opacity:.85;line-height:1.4}.league-locked-note{gap:var(--space-1);box-sizing:border-box;width:100%;margin-bottom:var(--space-5);padding:var(--space-3);border-left:4px solid var(--text-faint);background:var(--surface-muted);flex-direction:column;display:flex}.league-locked-note strong{letter-spacing:.06em;font-size:10px;font-weight:900}.league-locked-note span{color:var(--text-faint);font-size:var(--text-xs);line-height:1.4}.league-member-actions{gap:var(--space-2);width:100%;margin-top:var(--space-4);display:flex}.league-member-actions .btn{width:100%;min-width:0}.league-leave-btn{border-color:var(--danger)}.league-close-btn{width:100%}.league-invite-card{justify-content:space-between;align-items:center;gap:var(--space-4);box-sizing:border-box;width:100%;min-width:0;margin-bottom:var(--space-5);padding:var(--space-4);background:var(--surface-muted);border:2px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);display:flex}.league-invite-copy{gap:var(--space-2);flex-direction:column;flex:auto;min-width:0;display:flex}.league-invite-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:900}.league-invite-id{box-sizing:border-box;width:100%;max-width:100%;padding:var(--space-2) var(--space-3);text-overflow:ellipsis;white-space:nowrap;background:var(--bg-surface);border:2px solid var(--border-default);color:var(--ink);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.04em;font-weight:900;display:block;overflow:hidden}.league-invite-actions{gap:var(--space-2);flex-shrink:0;display:flex}.league-invite-actions .btn{width:auto;min-width:90px}.league-copy-btn--success{background:var(--success);color:var(--bg-surface)}.league-board{box-sizing:border-box;border:2px solid var(--border-default);background:var(--bg-surface);width:100%;min-width:0;overflow:hidden}.league-board-header{gap:var(--space-3);box-sizing:border-box;width:100%;min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-muted);border-bottom:2px solid var(--border-default);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);grid-template-columns:44px minmax(0,1fr) minmax(100px,1fr) auto;align-items:center;font-size:9px;font-weight:900;display:grid}.league-board-header--custom{grid-template-columns:44px minmax(0,1fr) minmax(90px,1fr) auto auto}.league-standings{flex-direction:column;width:100%;min-width:0;display:flex}.league-row{gap:var(--space-3);box-sizing:border-box;width:100%;min-width:0;min-height:52px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);grid-template-columns:44px minmax(0,1fr) minmax(100px,1fr) auto;align-items:center;display:grid}.league-row:first-child{border-top:none}.league-row--custom{grid-template-columns:44px minmax(0,1fr) minmax(90px,1fr) auto auto}.league-row--top{background:var(--surface-muted)}.league-row--top .league-rank{font-size:var(--text-base)}.league-rank{min-width:0;font-family:var(--font-display);color:var(--secondary);font-weight:900}.league-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-weight:800;overflow:hidden}.league-vehicle{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);font-size:var(--text-xs);font-style:italic;font-weight:700;overflow:hidden}.league-mobile-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);opacity:.7;margin-right:4px;font-style:normal;font-weight:900;display:none}.league-trips,.league-points{color:var(--text-faint);font-size:var(--text-xs);white-space:nowrap;font-weight:700}.league-points{color:var(--text-primary)}.league-empty{gap:var(--space-1);box-sizing:border-box;width:100%;padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.league-empty strong{font-family:var(--font-display);font-weight:900}.league-empty span{color:var(--text-faint);font-size:var(--text-sm)}.league-form-card{gap:var(--space-3);box-sizing:border-box;width:100%;min-width:0;margin-top:var(--space-4);padding:var(--space-4);border:2px solid var(--border-default);background:var(--bg-surface);flex-direction:column;display:flex}.league-form-card--create{border-color:var(--ink)}.league-form-heading{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);min-width:0;display:flex}.league-form-heading>div{flex-direction:column;gap:2px;min-width:0;display:flex}.league-form-heading strong{font-size:var(--text-sm);text-transform:uppercase;font-weight:900}.league-form-heading span:last-child{color:var(--text-faint);font-size:var(--text-xs)}.league-form-number{background:var(--ink);width:32px;height:32px;color:var(--bg-surface);font-family:var(--font-display);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:900;display:flex}.league-form-label{font-size:var(--text-sm);color:var(--ink);font-weight:800}.league-form-card .btn{width:100%}.league-guest-note{gap:var(--space-1);box-sizing:border-box;width:100%;margin-top:var(--space-4);padding:var(--space-3);border-left:4px solid var(--secondary);background:var(--surface-muted);flex-direction:column;display:flex}.league-guest-note strong{letter-spacing:.06em;font-size:10px;font-weight:900}.league-guest-note span{color:var(--text-faint);font-size:var(--text-xs);line-height:1.4}.league-error{color:var(--danger)}.league-error-card{box-sizing:border-box;width:100%;padding:var(--space-4);border:2px solid var(--danger);background:var(--surface-muted);color:var(--danger)}.league-error-card p{overflow-wrap:anywhere;margin-bottom:0}@media (width<=520px){.sub-tab-content,.league-custom-header,.league-custom-intro,.league-board,.league-form-card,.league-winner-banner,.league-locked-note{max-width:100%}.league-invite-card{align-items:stretch;gap:var(--space-3);padding:var(--space-3);box-shadow:4px 4px 0 0 var(--ink);flex-direction:column}.league-invite-copy,.league-invite-id{width:100%}.league-invite-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.league-invite-actions .btn{width:100%;min-width:0}.league-board-header{gap:var(--space-2);padding:var(--space-2);grid-template-columns:32px minmax(0,1fr) auto;font-size:8px}.league-board-header:not(.league-board-header--custom){grid-template-columns:32px minmax(0,1fr) auto}.league-board-header:not(.league-board-header--custom) span:first-child{grid-column:1}.league-board-header:not(.league-board-header--custom) span:nth-child(2){grid-column:2}.league-board-header:not(.league-board-header--custom) span:nth-child(3){display:none}.league-board-header:not(.league-board-header--custom) span:nth-child(4){grid-column:3}.league-board-header--custom{grid-template-columns:32px minmax(0,1fr) auto}.league-board-header--custom span:first-child{grid-column:1}.league-board-header--custom span:nth-child(2){grid-column:2}.league-board-header--custom span:nth-child(3),.league-board-header--custom span:nth-child(4){display:none}.league-board-header--custom span:nth-child(5){grid-column:3}.league-row:not(.league-row--custom){column-gap:var(--space-2);min-height:64px;padding:var(--space-3) var(--space-2);grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;row-gap:3px}.league-row:not(.league-row--custom) .league-rank{grid-area:1/1}.league-row:not(.league-row--custom) .league-name{grid-area:1/2}.league-row:not(.league-row--custom) .league-points{grid-area:1/3;justify-self:end}.league-row:not(.league-row--custom) .league-vehicle{grid-area:2/2/auto/4;justify-self:start;min-width:0;max-width:100%}.league-row:not(.league-row--custom) .league-vehicle .league-mobile-field-label{display:inline}.league-row--custom{column-gap:var(--space-2);min-height:82px;padding:var(--space-3) var(--space-2);grid-template-rows:auto auto auto;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;row-gap:3px}.league-row--custom .league-rank{grid-area:1/1}.league-row--custom .league-name{grid-area:1/2}.league-row--custom .league-points{grid-area:1/3;justify-self:end}.league-row--custom .league-vehicle{grid-area:2/2/auto/4;justify-self:start;min-width:0;max-width:100%}.league-row--custom .league-trips{grid-area:3/2/auto/4;justify-self:start}.league-row--custom .league-vehicle .league-mobile-field-label,.league-row--custom .league-trips .league-mobile-field-label{display:inline}.league-name,.league-vehicle{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.league-trips,.league-points{white-space:nowrap}.league-row--top{padding-top:var(--space-3);padding-bottom:var(--space-3)}.league-member-actions{margin-top:var(--space-4);flex-direction:column}.league-member-actions .btn{width:100%}.league-winner-banner{padding:var(--space-3);box-shadow:4px 4px 0 0 var(--ink)}.league-winner-name{overflow-wrap:anywhere;max-width:100%}.league-form-card{padding:var(--space-3)}.league-form-heading{align-items:flex-start}.league-form-heading>div{min-width:0}}@media (width<=360px){.league-title{font-size:1.4rem}.league-row:not(.league-row--custom),.league-row--custom,.league-board-header{padding-left:var(--space-2);padding-right:var(--space-2)}.league-points{font-size:10px}.league-rank{font-size:11px}}.leaderboard-matatu-modal{box-sizing:border-box;width:100%;min-width:0;color:var(--text-primary)}.leaderboard-matatu-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:0 var(--space-4) var(--space-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3);display:flex}.leaderboard-matatu-header-copy{flex:auto;min-width:0}.leaderboard-matatu-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:2px;font-size:9px;font-weight:900;display:block}.leaderboard-matatu-header h2{font-family:var(--font-display);text-transform:uppercase;color:var(--text-primary);margin:0;font-size:clamp(1.2rem,4vw,1.6rem);line-height:1}.leaderboard-matatu-identity{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4) var(--space-3);display:flex}.leaderboard-matatu-identity-main{flex-direction:column;min-width:0;display:flex}.leaderboard-matatu-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:8px;font-weight:900}.leaderboard-matatu-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);margin:0;line-height:1.1}.leaderboard-matatu-owner{font-size:var(--text-xs);color:var(--text-faint);font-weight:700}.leaderboard-matatu-plate{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.leaderboard-matatu-plate strong{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;padding:2px 8px;display:inline-block}.leaderboard-preview-row{margin-bottom:var(--space-2)}.leaderboard-matatu-view-label{z-index:5;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-faint);letter-spacing:.08em;pointer-events:none;padding:2px 5px;font-size:8px;font-weight:900;position:absolute;top:6px;left:6px}.leaderboard-matatu-preview{width:100%;height:100%;padding:var(--space-2);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.leaderboard-matatu-preview>svg{width:100%;height:auto;max-height:100%;display:block}.leaderboard-matatu-stats{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.leaderboard-stat-label{letter-spacing:.08em;color:var(--text-faint);font-size:9px;font-weight:900}.leaderboard-matatu-stats strong{font-family:var(--font-display);font-size:var(--text-base);color:var(--secondary)}.league-loading{min-height:120px;color:var(--text-faint);font-weight:700;font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.leaderboard-matatu-error{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-4);text-align:center;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);margin:0 var(--space-4);flex-direction:column;display:flex}.leaderboard-matatu-error strong{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-primary)}.leaderboard-matatu-error span{color:var(--text-faint);font-size:var(--text-xs)}@media (width<=520px){.leaderboard-preview-row{grid-template-columns:1fr}.garage-preview-thumb{min-height:110px}}.bank-active-card{border:3px solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);padding:var(--space-4);margin-bottom:var(--space-4);background:#00e5ff14}.bank-active-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.bank-active-badge{border:2px solid var(--success);color:var(--success);letter-spacing:.06em;background:#39ff1414;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:900}.bank-package-list{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bank-package-card{background:var(--bg-page);border:3px solid var(--ink);border-radius:var(--radius-sm);box-shadow:4px 4px 0 var(--ink);padding:var(--space-3);text-align:center;transition:transform .12s,box-shadow .12s;position:relative}.bank-package-card:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.bank-package-card:active{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.bank-package-top{justify-content:center;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);display:flex}.bank-package-name{font-weight:900;font-size:var(--text-sm);margin:0}.bank-package-recommended{background:var(--secondary);color:var(--ink);border:2px solid var(--ink);letter-spacing:.05em;white-space:nowrap;padding:2px 6px;font-size:8px;font-weight:900;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.bank-package-coins{font-weight:900;font-size:var(--text-sm);margin:var(--space-2) 0 2px}.bank-package-duration{color:var(--text-faint);margin:0 0 var(--space-2);font-size:10px}.bank-buy-btn{width:100%;font-size:var(--text-sm);padding:var(--space-2)}.bank-guest-notice{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-page);border:3px solid var(--ink);border-radius:var(--radius-sm);box-shadow:4px 4px 0 var(--ink)}.bank-guest-notice__eyebrow{margin-bottom:var(--space-2);letter-spacing:.08em;color:var(--text-faint);font-size:9px;font-weight:900;display:inline-block}.bank-guest-notice__title{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:900;line-height:1.1}.bank-guest-notice__text{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.bank-status{margin-top:var(--space-3);padding:var(--space-3);border:2px solid var(--border-default);background:var(--bg-muted);font-size:var(--text-sm);text-align:center;line-height:1.4}.bank-status--error{border-color:var(--danger);color:var(--danger)}.bank-status--success{border-color:var(--success);color:var(--success)}.bank-payment-overlay{z-index:1000;padding:var(--space-4);background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bank-payment-overlay[hidden]{display:none}.bank-payment-card{background:var(--bg-page);width:min(100%,430px);max-height:90vh;color:var(--ink);border:3px solid var(--ink);border-radius:var(--radius-md);box-shadow:8px 8px 0 var(--ink);padding:var(--space-5);animation:.14s ease-out bank-payment-in;overflow-y:auto}.bank-payment-eyebrow{margin-bottom:var(--space-2);letter-spacing:.1em;color:var(--text-faint);font-size:9px;font-weight:900;display:block}.bank-payment-title{margin:0 0 var(--space-2);font-size:clamp(24px,6vw,34px);font-weight:900;line-height:.95}.bank-payment-subtitle{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}.bank-payment-amount{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-3) var(--space-3);background:var(--bg-muted);border:2px solid var(--ink);display:flex}.bank-payment-amount__label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:700}.bank-payment-amount__value{font-size:var(--text-md);text-align:right;font-weight:900}.bank-phone-section{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.bank-phone-section label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:700}.bank-payment-actions{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.bank-payment-actions .btn{width:100%}.bank-waiting{text-align:center}.bank-waiting-spinner{width:42px;height:42px;margin:var(--space-4) auto;border:4px solid var(--border-default);border-top-color:var(--ink);border-radius:50%;animation:.8s linear infinite bank-spin}.bank-waiting-amount{margin:var(--space-4) 0 var(--space-2);font-size:clamp(28px,8vw,42px);font-weight:900;line-height:1}.bank-waiting-phone{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.45}@keyframes bank-payment-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bank-spin{to{transform:rotate(360deg)}}@media (width<=600px){.bank-package-list{grid-template-columns:1fr}.bank-payment-overlay{padding:var(--space-2);align-items:flex-end}.bank-payment-card{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-height:92vh;box-shadow:6px 6px 0 var(--ink);padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.bank-package-card{transition:none}.bank-payment-card,.bank-waiting-spinner{animation:none}}.incident-header{text-align:center;margin-bottom:var(--space-4)}.incident-pill{letter-spacing:.08em;background:var(--ink);color:var(--surface);border-radius:var(--radius-sm,3px);margin-bottom:var(--space-1);padding:2px 8px;font-size:.6rem;font-weight:900;display:inline-block}.incident-pill--pickup{background:var(--yellow);color:var(--ink)}.incident-pill--success{background:var(--green);color:var(--ink)}.incident-pill--danger{background:var(--red);color:var(--surface)}.incident-card-container{gap:var(--space-3);flex-direction:column;display:flex}.incident-flavor-text{font-size:var(--text-primary);margin-bottom:var(--space-2);color:var(--text-primary);text-align:center;padding:0 var(--space-2);font-style:italic;line-height:1.5}.incident-choice{border:2px solid var(--ink);border-radius:var(--radius-md,6px);padding:var(--space-3);background:var(--surface);box-shadow:var(--shadow-hard,2px 2px 0px var(--ink))}.incident-choice--primary{background:#ffffff08}.incident-choice--secondary{opacity:.9;margin:var(--space-2) 0;border-style:dashed}.incident-choice__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.choice-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:.7rem;font-weight:900}.choice-guarantee-tag,.choice-chance-tag{border:1px solid var(--ink);border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:900}.choice-guarantee-tag{background:var(--gameplay-muted,#ccc);color:var(--ink)}.choice-chance-tag{background:var(--yellow);color:var(--ink)}.incident-stat-banner{padding:var(--space-2);font-size:var(--text-xs);margin-bottom:var(--space-2);background:#0000000d;border-radius:4px;justify-content:space-between;align-items:center;display:flex}.stat-label{text-transform:uppercase;font-weight:900}.stat-value strong{color:var(--ink)}.incident-outcome-preview{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.outcome-pill{padding:var(--space-1) var(--space-2);border:1px solid var(--ink);border-radius:4px;flex-direction:column;flex:1;align-items:center;font-size:.7rem;font-weight:700;display:flex}.outcome-pill--win{color:var(--ink);background:#39ff1426}.outcome-pill--lose{color:var(--ink);background:#ff2e8826}.outcome-label{opacity:.7;font-size:.55rem;font-weight:900}.incident-guarantee-cost{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:700}.incident-choice-btn{width:100%}.minigame-instruction{font-size:var(--text-xs);text-align:center;margin-bottom:var(--space-2)}.difficulty-badge{border:2px solid var(--ink);border-radius:var(--radius-sm,4px);letter-spacing:.05em;color:var(--ink);padding:2px 8px;font-size:.65rem;font-weight:900;display:inline-block}.difficulty-easy{background:var(--green)}.difficulty-normal{background:var(--yellow)}.difficulty-hard{background:var(--orange)}.difficulty-extreme{background:var(--red);color:var(--surface)}.target-game-header{margin-bottom:var(--space-2);justify-content:center;display:flex}.target-game-bar{border:3px solid var(--ink);border-radius:var(--radius-sm,4px);height:32px;margin:var(--space-4) 0;background:#0000001a;position:relative;overflow:hidden}.target-game-zone{border-left:2px solid var(--green);border-right:2px solid var(--green);background:#39ff1466;position:absolute;top:0;bottom:0}.target-game-marker{background:var(--ink);will-change:transform;width:10px;animation:none;position:absolute;top:0;bottom:0;left:0;transition:none!important}.target-game-marker--landed{background:var(--orange);box-shadow:0 0 0 3px #e67e2280;transition:none!important}.target-game-tap-btn{width:100%;font-size:var(--text-lg);letter-spacing:.08em;margin-bottom:var(--space-6)}.incident-result{text-align:center;padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:2px solid var(--ink)}.result-win{background:#39ff141a}.result-lose{background:#ff2e881a}.result-explanation{font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:700}.result-metrics-grid{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.result-metric-card{background:var(--surface);border:1px solid var(--ink);min-width:0;padding:var(--space-2);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;display:flex}.metric-label{letter-spacing:.05em;opacity:.6;margin-bottom:3px;font-size:.55rem;font-weight:900;display:block}.result-profit,.result-line{font-size:var(--text-lg);font-weight:900}.result-metric-card--mood{padding-left:var(--space-1);padding-right:var(--space-1)}.result-mood-change{justify-content:center;align-items:center;gap:4px;min-height:32px;display:flex}.result-mood-icon{object-fit:contain;flex:none;width:30px;height:30px}.result-mood-arrow{font-size:var(--text-sm);font-weight:900;line-height:1}.result-mood-delta{font-size:var(--text-xs);margin-top:3px;font-weight:900;line-height:1.1;display:block}.result-mood-delta.value-positive,.result-mood-delta.value-negative{font-weight:900}.result-line{margin-top:var(--space-2)}.btn-full{width:100%}.trip-summary{padding-top:var(--space-2)}.trip-summary-route{justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);font-size:var(--text-sm);line-height:1.2;display:flex}.trip-summary-route__number{color:var(--text-primary);font-weight:900}.trip-summary-route__arrow{color:var(--text-secondary);opacity:.55;font-weight:900}.trip-summary-route__destination{color:var(--text-secondary);font-weight:700}.trip-summary-profit{text-align:center;padding:var(--space-5) var(--space-3);margin-bottom:var(--space-5);border:2px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-hard)}.trip-summary-profit__label{margin-bottom:var(--space-2);font-size:var(--text-xs);letter-spacing:.1em;color:var(--text-secondary);font-weight:900;line-height:1;display:block}.trip-summary-profit__value{letter-spacing:-.04em;color:var(--text-primary);font-size:clamp(2rem,8vw,3rem);font-weight:900;line-height:1;display:block}.trip-summary-profit--positive{border-color:var(--text-primary)}.trip-summary-profit--positive .trip-summary-profit__value{color:var(--success)}.trip-summary-profit--negative{border-color:var(--danger)}.trip-summary-profit--negative .trip-summary-profit__value{color:var(--danger)}.trip-summary-profit--neutral .trip-summary-profit__value{color:var(--text-secondary)}.trip-summary-section{margin-top:var(--space-4)}.trip-summary-section__title{margin-bottom:var(--space-1);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-secondary);font-weight:900;line-height:1}.trip-summary-row{min-height:36px;padding:var(--space-1) 0;font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.trip-summary-row__label{color:var(--text-secondary)}.trip-summary-row__value{color:var(--text-primary);font-weight:800}.trip-summary-row--positive .trip-summary-row__value{color:var(--success)}.trip-summary-row--negative .trip-summary-row__value{color:var(--danger)}.trip-summary-insurance{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);border:2px solid var(--border-subtle);font-size:var(--text-xs);display:flex}.trip-summary-insurance>span{letter-spacing:.06em;color:var(--text-secondary);font-weight:900}.trip-summary-insurance>strong{text-align:right;font-weight:900}.trip-summary-insurance__active{color:var(--success)}.trip-summary-insurance__inactive{color:var(--text-secondary)}.trip-summary-section--performance{padding-top:var(--space-4);border-top:2px solid var(--border-subtle)}.trip-summary-close{width:100%;margin-top:var(--space-5)}@media (width<=480px){.trip-summary-profit{padding:var(--space-4) var(--space-3)}.trip-summary-profit__value{font-size:2.25rem}.trip-summary-row{min-height:34px}}.celebration-overlay{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);cursor:pointer;text-align:center;flex-direction:column;display:flex}.celebration-label{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:900}.celebration-cost{font-size:var(--text-lg);color:var(--danger);margin:0;font-weight:700}.celebration-hint{font-size:var(--text-xs);color:var(--text-faint);margin:var(--space-1) 0 0}.splash-scene{justify-content:center;align-items:center;width:140px;height:140px;display:flex;position:relative}.splash-icon{z-index:1;font-size:3.5rem}.splash-ring{border:3px solid #4fb8e8;border-radius:50%;width:40px;height:40px;animation:1.1s ease-out infinite splash-ring-expand;position:absolute}@keyframes splash-ring-expand{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(2.4)}}.splash-droplet{background:#4fb8e8;border-radius:50% 50% 50% 0;width:10px;height:14px;animation:.9s ease-out infinite splash-droplet-burst;position:absolute;transform:rotate(45deg)}.splash-droplet--1{--tx:-55px;--ty:-35px;animation-delay:0s}.splash-droplet--2{--tx:55px;--ty:-35px;animation-delay:80ms}.splash-droplet--3{--tx:-65px;--ty:15px;animation-delay:.16s}.splash-droplet--4{--tx:65px;--ty:15px;animation-delay:50ms}.splash-droplet--5{--tx:0px;--ty:-60px;animation-delay:.12s}@keyframes splash-droplet-burst{0%{opacity:1;transform:translate(0)rotate(45deg)scale(1)}to{transform:translate(var(--tx), var(--ty)) rotate(45deg) scale(.4);opacity:0}}.service-scene{align-items:center;gap:var(--space-4);flex-direction:column;width:220px;display:flex}.service-wrench{transform-origin:70% 70%;font-size:3rem;animation:.5s ease-in-out infinite service-wrench-tighten}@keyframes service-wrench-tighten{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}.service-bar-track{background:var(--surface);border:3px solid var(--ink);border-radius:var(--radius-sm,4px);width:100%;height:18px;overflow:hidden}.service-bar-fill{background:var(--green);width:0%;height:100%;transition:width linear}:root{--sticker-common:#8b8b8b;--sticker-featured:#d1298a}.sticker-placed-img{pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 4px #00000080)}.sticker-placed-img:active{cursor:grabbing}.sticker-placed-img:hover{filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 2px 4px #00000073)}.sticker-placed-img.is-selected{filter:drop-shadow(0 0 3px var(--accent)) drop-shadow(0 0 7px var(--accent)) drop-shadow(0 2px 4px #00000080)}.sticker-modal-eyebrow{letter-spacing:.16em;color:var(--ink);opacity:.55;margin-bottom:5px;font-size:9px;font-weight:900;line-height:1;display:block}.modal-header-bar h2{margin:0}.sticker-wallet-row{border:2px solid var(--ink);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.sticker-wallet-item{letter-spacing:.08em;color:var(--ink);align-items:center;gap:6px;font-size:10px;font-weight:900;display:inline-flex}.sticker-wallet-item__icon{color:var(--accent);font-size:12px}.sticker-wallet-item.is-full{color:var(--accent)}.sticker-editor{flex-direction:column;gap:0;display:flex}.sticker-panel-tabs{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard);grid-template-columns:repeat(3,1fr);margin-bottom:20px;display:grid}.sticker-panel-tab{border:0;border-right:2px solid var(--ink);background:var(--paper);min-height:42px;color:var(--ink);letter-spacing:.1em;cursor:pointer;padding:10px 8px;font-family:inherit;font-size:10px;font-weight:900;transition:background .12s,color .12s;position:relative}.sticker-panel-tab:last-child{border-right:0}.sticker-panel-tab:hover{background:var(--surface)}.sticker-panel-tab.active{background:var(--ink);color:var(--paper)}.sticker-editor-stage{background:var(--surface);border:3px solid var(--ink);width:100%;min-height:260px;box-shadow:var(--shadow-hard);isolation:isolate;touch-action:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.sticker-editor-stage:before{content:"CUSTOMIZE";z-index:2;letter-spacing:.15em;color:var(--ink);opacity:.35;pointer-events:none;font-size:8px;font-weight:900;position:absolute;top:12px;left:14px}.sticker-editor-stage:after{content:"";z-index:0;pointer-events:none;opacity:.08;background-image:linear-gradient(var(--ink) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0}.sticker-editor-stage .welcome-vehicle-preview{z-index:1;touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;min-height:260px;display:flex;position:relative}.sticker-editor-stage .welcome-vehicle-preview svg{pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.sticker-editor-stage .welcome-vehicle-preview svg image{-webkit-user-select:none;user-select:none}.sticker-editor-help{border:2px solid var(--ink);background:var(--paper);min-height:34px;color:var(--ink);letter-spacing:.07em;text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;font-size:9px;font-weight:900;line-height:1.3;display:flex}.sticker-editor-help__icon{color:var(--accent);flex:none;font-size:13px}.sticker-transform-panel{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard);margin-top:16px;padding:12px}.sticker-transform-panel__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.sticker-section-label{letter-spacing:.14em;color:var(--ink);opacity:.55;font-size:9px;font-weight:900}.sticker-remove-button{border:2px solid var(--ink);color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;padding:5px 8px;font-family:inherit;font-size:8px;font-weight:900;transition:background 80ms,color 80ms}.sticker-remove-button:hover{background:var(--ink);color:var(--paper)}.sticker-remove-button:active{transform:translate(1px,1px)}.sticker-transform-controls{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sticker-control-group{min-width:0}.sticker-control-group__label{letter-spacing:.1em;opacity:.5;margin-bottom:5px;font-size:8px;font-weight:900;display:block}.sticker-control-buttons{gap:4px;display:flex}.sticker-control-button{border:2px solid var(--ink);background:var(--surface);width:36px;height:34px;color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--ink);justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:16px;font-weight:900;line-height:1;transition:transform 80ms,box-shadow 80ms,background 80ms;display:flex}.sticker-control-button:hover{background:var(--accent)}.sticker-control-button:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.sticker-collection{margin-top:30px}.sticker-section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.sticker-section-heading h3{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:900;line-height:1}.sticker-collection-count{border:2px solid var(--ink);background:var(--ink);color:var(--paper);letter-spacing:.1em;padding:5px 8px;font-size:8px;font-weight:900}.sticker-palette-grid{overscroll-behavior:contain;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:260px;padding:3px;display:grid;overflow-y:auto}.sticker-palette-grid::-webkit-scrollbar{width:6px}.sticker-palette-grid::-webkit-scrollbar-track{background:var(--surface)}.sticker-palette-grid::-webkit-scrollbar-thumb{background:var(--ink)}.sticker-palette-card{border:2px solid var(--ink);background:var(--surface);min-width:0;color:var(--ink);text-align:left;cursor:pointer;box-shadow:3px 3px 0 var(--ink);flex-direction:column;gap:7px;padding:8px;font-family:inherit;transition:transform .1s,box-shadow .1s,background .1s;display:flex}.sticker-palette-card:hover{background:var(--paper);box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.sticker-palette-card:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.sticker-palette-card__art{aspect-ratio:1;background:var(--paper);border:1px solid var(--ink);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.sticker-palette-card__art img{object-fit:contain;filter:drop-shadow(0 2px 3px #00000040);width:72px;max-width:82%;height:72px;max-height:82%}.sticker-palette-card__category{z-index:2;background:var(--ink);width:auto;height:auto;color:var(--paper);letter-spacing:.08em;white-space:nowrap;pointer-events:none;margin:0;padding:3px 5px;font-size:7px;font-weight:900;line-height:1;display:inline-block;position:absolute;top:5px;left:5px}.sticker-palette-card[data-category=common] .sticker-palette-card__category{background:var(--sticker-common)}.sticker-palette-card[data-category=featured] .sticker-palette-card__category{background:var(--sticker-featured)}.sticker-palette-card__info{min-width:0}.sticker-palette-card__name{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.2;display:block;overflow:hidden}.sticker-empty-state{border:2px dashed var(--ink);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:150px;padding:24px;display:flex}.sticker-empty-state__icon{color:var(--accent);font-size:28px}.sticker-empty-state strong{font-size:11px;font-weight:900}.sticker-empty-state span{opacity:.6;max-width:300px;font-size:10px;line-height:1.4}.sticker-editor-footer{border-top:3px solid var(--ink);justify-content:space-between;align-items:center;gap:14px;margin-top:24px;padding-top:16px;display:flex}.sticker-save-info{flex-direction:column;gap:4px;min-width:0;display:flex}.sticker-save-status{letter-spacing:.1em;opacity:.45;font-size:9px;font-weight:900}.sticker-save-status.is-dirty{color:var(--accent);opacity:1}.sticker-save-cost{opacity:.5;font-size:8px;font-weight:700}.sticker-save-button{border:3px solid var(--ink);background:var(--accent);min-height:42px;color:var(--ink);letter-spacing:.06em;cursor:pointer;box-shadow:var(--shadow-hard);flex-shrink:0;padding:10px 14px;font-family:inherit;font-size:10px;font-weight:900;transition:transform .1s,box-shadow .1s}.sticker-save-button:hover:not(:disabled){transform:translate(-2px,-2px)}.sticker-save-button:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.sticker-save-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:2px 2px 0 var(--ink)}.sticker-shop{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;width:100%;min-width:0;max-height:calc(100dvh - 250px);padding-right:4px;overflow:hidden auto}.sticker-shop::-webkit-scrollbar{width:6px}.sticker-shop::-webkit-scrollbar-track{background:var(--surface)}.sticker-shop::-webkit-scrollbar-thumb{background:var(--ink)}.sticker-shop-intro{border:2px solid var(--ink);background:var(--surface);align-items:center;gap:12px;margin-bottom:20px;padding:12px;display:flex}.sticker-shop-intro__icon{border:2px solid var(--ink);background:var(--accent);width:38px;height:38px;color:var(--ink);flex:0 0 38px;justify-content:center;align-items:center;font-size:20px;font-weight:900;display:flex}.sticker-shop-intro strong{letter-spacing:.08em;margin-bottom:3px;font-size:10px;font-weight:900;display:block}.sticker-shop-intro p{opacity:.6;margin:0;font-size:10px;line-height:1.4}.sticker-catalog-section{width:100%;min-width:0;margin-bottom:24px}.sticker-catalog-section:last-child{margin-bottom:0}.sticker-catalog-section__header{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.sticker-catalog-section__eyebrow{letter-spacing:.14em;color:var(--ink);opacity:.5;margin-bottom:4px;font-size:8px;font-weight:900;display:block}.sticker-catalog-section__title{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:900;line-height:1}.sticker-catalog-section__count{border:2px solid var(--ink);background:var(--ink);min-width:28px;color:var(--paper);text-align:center;letter-spacing:.1em;flex-shrink:0;padding:5px 8px;font-size:8px;font-weight:900}.sticker-catalog-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;height:auto;max-height:none;display:grid;overflow:visible}.sticker-catalog-card{border:3px solid var(--ink);background:var(--surface);min-width:0;box-shadow:5px 5px 0 var(--ink);flex-direction:column;transition:transform .1s,box-shadow .1s;display:flex;overflow:hidden}.sticker-catalog-card:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.sticker-catalog-card.is-owned{opacity:.75}.sticker-catalog-card.is-owned:hover{opacity:1}.sticker-catalog-card__art{background:var(--paper);border-bottom:3px solid var(--ink);justify-content:center;align-items:center;min-height:150px;display:flex;position:relative;overflow:hidden}.sticker-catalog-card__art:before{content:"";opacity:.08;background-image:linear-gradient(var(--ink) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);background-size:20px 20px;position:absolute;inset:0}.sticker-catalog-card__img{z-index:1;object-fit:contain;filter:drop-shadow(0 3px 4px #00000040);width:105px;max-width:72%;height:105px;max-height:72%;position:relative}.sticker-catalog-card__category{z-index:2;background:var(--ink);color:var(--paper);letter-spacing:.1em;white-space:nowrap;padding:4px 7px;font-size:7px;font-weight:900;line-height:1;position:absolute;top:8px;left:8px}.sticker-catalog-card[data-category=common] .sticker-catalog-card__category{background:var(--sticker-common)}.sticker-catalog-card[data-category=featured] .sticker-catalog-card__category{background:var(--sticker-featured)}.sticker-catalog-card__body{flex-direction:column;flex:1;padding:12px;display:flex}.sticker-catalog-card__name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;margin:0 0 10px;font-size:13px;font-weight:900;line-height:1.1;overflow:hidden}.sticker-catalog-card__rep{letter-spacing:.08em;border-bottom:1px solid #0000002e;justify-content:space-between;align-items:center;padding-bottom:10px;font-size:9px;font-weight:900;display:flex}.sticker-catalog-card__rep span{opacity:.5}.sticker-catalog-card__rep strong{font-size:11px}.sticker-catalog-card__action{margin-top:10px}.sticker-buy-button{border:2px solid var(--ink);background:var(--accent);width:100%;min-height:38px;color:var(--ink);letter-spacing:.05em;cursor:pointer;box-shadow:3px 3px 0 var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:9px;font-weight:900;transition:transform 80ms,box-shadow 80ms;display:flex}.sticker-buy-button:hover:not(:disabled){box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.sticker-buy-button:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.sticker-buy-button:disabled{background:var(--surface);color:var(--ink);opacity:.45;cursor:not-allowed;box-shadow:2px 2px 0 var(--ink)}.sticker-buy-button.is-loading{justify-content:center}.sticker-buy-button__label{white-space:nowrap}.sticker-buy-button__price{font-size:10px}.sticker-catalog-owned{border:2px solid var(--ink);background:var(--ink);min-height:38px;color:var(--paper);letter-spacing:.1em;justify-content:center;align-items:center;gap:7px;font-size:9px;font-weight:900;display:flex}.sticker-catalog-owned__check{background:var(--accent);width:15px;height:15px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:9px;display:flex}.sticker-relinquish-button{border:2px solid var(--ink);width:100%;min-height:30px;color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;margin-top:5px;padding:6px 8px;font-family:inherit;font-size:8px;font-weight:900;transition:background 80ms,color 80ms,transform 80ms}.sticker-relinquish-button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.sticker-relinquish-button:active:not(:disabled){transform:translate(2px,2px)}.sticker-relinquish-button:disabled{opacity:.45;cursor:wait}.sticker-fallback{width:72px;height:72px;color:var(--accent);justify-content:center;align-items:center;font-size:32px;display:flex}@media (width<=600px){.sticker-editor-stage,.sticker-editor-stage .welcome-vehicle-preview{min-height:210px}.sticker-transform-controls{grid-template-columns:1fr;gap:10px}.sticker-control-group{justify-content:space-between;align-items:center;gap:10px;display:flex}.sticker-control-group__label{margin:0}.sticker-control-buttons{justify-content:flex-end}.sticker-editor-footer{flex-direction:column;align-items:stretch}.sticker-save-button{width:100%}.sticker-save-info{flex-direction:row;justify-content:space-between;align-items:center}.sticker-catalog-list{grid-template-columns:repeat(2,1fr);gap:10px}.sticker-catalog-card__art{min-height:120px}.sticker-catalog-card__img{width:78px;height:78px}.sticker-catalog-card__body{padding:9px}.sticker-catalog-card__name{font-size:11px}.sticker-buy-button{flex-direction:column;justify-content:center;gap:2px}.sticker-shop{max-height:calc(100dvh - 220px)}}@media (width<=380px){.sticker-catalog-list{grid-template-columns:1fr 1fr}.sticker-palette-grid{grid-template-columns:repeat(3,1fr)}.sticker-palette-card__art{aspect-ratio:.9}.sticker-palette-card__art img{width:55px;height:55px}}@media (prefers-reduced-motion:reduce){.sticker-palette-card,.sticker-control-button,.sticker-save-button,.sticker-buy-button,.sticker-catalog-card,.sticker-relinquish-button{transition:none}}.menu-list{padding:0 var(--space-4) var(--space-4);flex-direction:column;display:flex}.menu-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;color:var(--text-primary);text-align:left;padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:var(--text-base);background:0 0;font-weight:700;transition:background .1s,padding .1s;display:flex}.menu-row:hover{background:var(--surface-muted);padding-left:var(--space-3);padding-right:var(--space-3)}.menu-row:last-child{border-bottom:none}.menu-row-danger{color:var(--danger)}.menu-row-arrow{font-family:var(--font-display);font-weight:900;font-size:var(--text-lg);opacity:.6}.menu-row-danger .menu-row-arrow{opacity:1}.modal-error{color:var(--danger);margin-top:var(--space-3)}.modal-success{color:var(--success);margin-top:var(--space-3)}.help-section{padding:var(--space-3) 0;border-top:1px solid var(--border-subtle)}.help-section:first-child{border-top:none;padding-top:0}.help-section .step-title{margin-bottom:var(--space-1)}.help-coming-soon{margin-top:var(--space-4)}.about-version{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-muted);border:2px solid var(--ink);display:inline-flex}.community-btn{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);color:#000;border:2px solid var(--ink);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#25d366;font-weight:900;text-decoration:none;transition:transform .1s,background-color .1s;display:inline-flex}.community-btn:hover{background:#20bd5a;transform:translateY(-2px)}.community-btn:active{transform:translateY(0)}.info-modal-content,.legal-content{padding:0 var(--space-4) var(--space-5)}.info-section{padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}.info-section:last-of-type{border-bottom:none}.info-section__eyebrow{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-secondary);margin-bottom:6px;font-size:.7rem;font-weight:900}.info-section h3{font-family:var(--font-display);margin:0 0 8px;font-size:1rem;font-weight:900}.info-section p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.55}.info-note,.legal-note{margin-top:var(--space-4);padding:var(--space-3);border:2px solid var(--ink);background:var(--surface-muted);flex-direction:column;gap:4px;display:flex}.info-note strong,.legal-note strong{font-family:var(--font-display);font-size:.75rem;font-weight:900}.info-note span,.legal-note span{color:var(--text-secondary);font-size:.75rem;line-height:1.45}.about-hero{padding:var(--space-5) 0;border-bottom:var(--border)}.about-hero__eyebrow{margin-bottom:var(--space-3);border:2px solid var(--ink);background:var(--yellow);font-family:var(--font-display);letter-spacing:.08em;padding:6px 9px;font-size:.7rem;font-weight:900;display:inline-block}.about-hero h3{margin:0 0 var(--space-3);font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,8vw,3.5rem);line-height:.9}.about-hero p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.5}.about-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.about-version{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-muted);border:2px solid var(--ink);margin:0;display:inline-flex}.about-version-label{font-size:var(--text-xs);letter-spacing:.06em;font-weight:900}.about-version-value{font-family:var(--font-display);font-weight:900}.about-status{font-family:var(--font-display);letter-spacing:.06em;font-size:.7rem;font-weight:900}.legal-intro{padding:var(--space-4) 0;color:var(--text-secondary);font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);margin:0;line-height:1.55}.legal-section{padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}.legal-section h3{font-family:var(--font-display);margin:0 0 8px;font-size:.85rem;font-weight:900}.legal-section p{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.legal-note{margin-top:var(--space-5)}.legal-policy-link{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--ink);color:var(--surface);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--yellow);text-align:center;font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.04em;font-weight:900;text-decoration:none;transition:transform .1s,box-shadow .1s;display:block}.legal-policy-link:hover{box-shadow:5px 5px 0 var(--yellow);transform:translate(-1px,-1px)}.legal-policy-link:active{box-shadow:2px 2px 0 var(--yellow);transform:translate(2px,2px)}.credits-list{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:var(--text-sm);padding-left:1.25rem;line-height:1.6}.credits-list li{margin-bottom:var(--space-2)}.credits-list li:last-child{margin-bottom:0}.credits-list strong{color:var(--text-primary)}@media (width<=600px){.info-modal-content,.legal-content{padding-left:var(--space-3);padding-right:var(--space-3)}.about-meta{flex-direction:column;align-items:flex-start}}.gameplay-setup-overlay{z-index:9999;background:var(--paper);opacity:1;visibility:visible;pointer-events:auto;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;transition:opacity .28s,visibility .28s;display:flex;position:fixed;inset:0;overflow-y:auto}.gameplay-setup-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.gameplay-setup-overlay__content{text-align:center;flex-direction:column;align-items:center;width:min(520px,100%);margin:auto;display:flex}.gameplay-setup-overlay__eyebrow{letter-spacing:.16em;color:var(--ink);margin-bottom:20px;font-size:11px;font-weight:900;line-height:1}.gameplay-setup-overlay__visual{width:min(360px,82vw);height:150px;margin-bottom:22px;position:relative;overflow:hidden}.gameplay-setup-overlay__visual-glow{background:var(--accent);opacity:.12;filter:blur(18px);pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gameplay-setup-overlay__road{gap:28px;height:6px;display:flex;position:absolute;bottom:11px;left:0;right:0;overflow:hidden}.gameplay-setup-overlay__road span{background:var(--ink);flex:0 0 48px;height:5px;animation:.65s linear infinite gameplay-road-move}.gameplay-setup-overlay__road span:nth-child(2){animation-delay:-.15s}.gameplay-setup-overlay__road span:nth-child(3){animation-delay:-.3s}.gameplay-setup-overlay__road span:nth-child(4){animation-delay:-.45s}.gameplay-setup-overlay__title{letter-spacing:-.04em;color:var(--ink);text-transform:uppercase;margin:0;font-size:clamp(28px,7vw,46px);font-weight:900;line-height:.92}.gameplay-setup-overlay__status{letter-spacing:.12em;color:var(--ink);align-items:center;gap:8px;margin-top:22px;font-size:10px;font-weight:900;line-height:1;display:flex}.gameplay-setup-overlay__status-dot{border:2px solid var(--ink);background:var(--accent);flex:0 0 9px;width:9px;height:9px;animation:.9s ease-in-out infinite gameplay-status-pulse}.gameplay-setup-overlay__message{width:100%;min-height:20px;color:var(--ink);opacity:.7;margin:10px 0 22px;font-size:12px;font-weight:700;line-height:1.4;transition:opacity .12s,transform .12s}.gameplay-setup-overlay__message.is-changing{opacity:0;transform:translateY(3px)}.gameplay-setup-overlay__progress{width:min(360px,82vw)}.gameplay-setup-overlay__progress-track{border:4px solid var(--ink);background:var(--surface);width:100%;height:18px;box-shadow:var(--shadow-hard);position:relative;overflow:hidden}.gameplay-setup-overlay__progress-fill{background:var(--accent);width:8%;height:100%;position:relative;overflow:hidden}.gameplay-setup-overlay__progress-fill:after{content:"";background:#ffffff47;width:40px;animation:1.4s linear infinite gameplay-progress-shine;position:absolute;top:0;bottom:0;left:-40px;transform:skew(-20deg)}.gameplay-setup-overlay__progress-label{letter-spacing:.12em;color:var(--ink);justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;font-weight:900;line-height:1;display:flex}.gameplay-setup-overlay__dots{gap:6px;margin-top:22px;transition:opacity .16s;display:flex}.gameplay-setup-overlay__dots span{background:var(--ink);width:7px;height:7px;animation:1s ease-in-out infinite gameplay-loading-dot}.gameplay-setup-overlay__dots span:nth-child(2){animation-delay:.15s}.gameplay-setup-overlay__dots span:nth-child(3){animation-delay:.3s}.gameplay-setup-overlay.is-ready .gameplay-setup-overlay__status-dot{background:var(--ink);animation:none}.gameplay-setup-overlay.is-ready .gameplay-setup-overlay__message{opacity:1}.gameplay-setup-overlay.is-ready .gameplay-setup-overlay__dots{opacity:0}.gameplay-setup-overlay.is-ready .gameplay-setup-overlay__progress-fill{transition:width .18s}@keyframes gameplay-road-move{0%{transform:translate(0)}to{transform:translate(-76px)}}@keyframes gameplay-status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}@keyframes gameplay-loading-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes gameplay-progress-shine{0%{transform:translate(0)skew(-20deg)}to{transform:translate(420px)skew(-20deg)}}@media (prefers-reduced-motion:reduce){.gameplay-setup-overlay *,.gameplay-setup-overlay :before,.gameplay-setup-overlay :after{transition:none!important;animation:none!important}}@media (width<=480px){.gameplay-setup-overlay{padding:18px}.gameplay-setup-overlay__eyebrow{margin-bottom:16px;font-size:10px}.gameplay-setup-overlay__visual{width:min(330px,86vw);height:130px;margin-bottom:18px}.gameplay-setup-overlay__title{font-size:32px}.gameplay-setup-overlay__status{margin-top:18px;font-size:9px}.gameplay-setup-overlay__message{margin-bottom:20px;font-size:11px}.gameplay-setup-overlay__progress{width:min(330px,86vw)}.gameplay-setup-overlay__progress-track{height:16px}.gameplay-setup-overlay__dots{margin-top:18px}}@media (height<=650px){.gameplay-setup-overlay{justify-content:center;align-items:center;overflow-y:auto}.gameplay-setup-overlay__content{padding-top:12px;padding-bottom:12px}.gameplay-setup-overlay__eyebrow{margin-bottom:10px}.gameplay-setup-overlay__visual{height:105px;margin-bottom:12px}.gameplay-setup-overlay__title{font-size:28px}.gameplay-setup-overlay__status{margin-top:14px}.gameplay-setup-overlay__message{margin-top:8px;margin-bottom:14px}.gameplay-setup-overlay__dots{margin-top:14px}}#game-vfx-root{--vfx-bg:#000;--vfx-fg:#fff;--vfx-muted:#ffffffa6;--vfx-soft:#ffffff1f;--vfx-border:#fff;--vfx-shadow:#fff;z-index:99999;pointer-events:none;background:var(--vfx-bg);width:100%;height:100dvh;color:var(--vfx-fg);opacity:0;font-family:var(--font-display,"Mikado", sans-serif);justify-content:center;align-items:center;transition:opacity .16s;display:flex;position:fixed;inset:0;overflow:hidden}#game-vfx-root.game-vfx-root--active{opacity:1}#game-vfx-root.game-vfx-root--exit{opacity:0}#game-vfx-root.game-vfx-theme--dark{--vfx-bg:#000;--vfx-fg:#fff;--vfx-muted:#ffffffa6;--vfx-soft:#ffffff1f;--vfx-border:#fff;--vfx-shadow:#fff}#game-vfx-root.game-vfx-theme--yellow{--vfx-bg:#ffd21f;--vfx-fg:#000;--vfx-muted:#0000009e;--vfx-soft:#0000001f;--vfx-border:#000;--vfx-shadow:#000}.vfx-scene{background:var(--vfx-bg);color:var(--vfx-fg);padding:24px max(20px, env(safe-area-inset-right)) 24px max(20px, env(safe-area-inset-left));box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.vfx-title-group{z-index:10;text-align:center;opacity:0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:min(90vw,900px);animation:.45s cubic-bezier(.2,1.4,.4,1) .16s forwards vfx-title-in;display:flex;position:relative;transform:translateY(20px)scale(.85)}.vfx-kicker{color:var(--vfx-muted);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(11px,2vw,15px);font-weight:900;line-height:1.2;display:block}.vfx-title-group h1,.vfx-title-group h2{color:var(--vfx-fg);letter-spacing:-.04em;text-transform:uppercase;text-shadow:4px 4px 0 var(--vfx-soft);margin:0;padding:0;font-weight:900;line-height:.98;display:block}.vfx-title-group h1{font-size:clamp(42px,9vw,90px)}.vfx-title-group h2{font-size:clamp(28px,6vw,60px)}.vfx-result-symbol+.vfx-title-group,.vfx-pickup-icon+.vfx-title-group,.vfx-service-symbol+.vfx-title-group,.vfx-paint-symbol+.vfx-title-group,.vfx-sticker-shape+.vfx-title-group,.vfx-wallet+.vfx-title-group,.vfx-crew-symbol+.vfx-title-group,.vfx-upgrade-icon+.vfx-title-group,.vfx-car-icon+.vfx-title-group,.vfx-trophy+.vfx-title-group,.vfx-achievement-badge+.vfx-title-group,.vfx-clean-check+.vfx-title-group{margin-top:22px}.vfx-title-group+.vfx-metrics{margin-top:28px}.vfx-title-group+.vfx-rank,.vfx-title-group+.vfx-upgrade-value,.vfx-title-group+.vfx-achievement-name,.vfx-title-group+.vfx-big-number{margin-top:24px}.vfx-metrics{z-index:12;opacity:0;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin-top:28px;animation:.4s .38s forwards vfx-metrics-in;display:flex;position:relative;transform:translateY(15px)}.vfx-metrics--large{margin-top:35px}.vfx-metric{background:var(--vfx-bg);min-width:100px;color:var(--vfx-fg);border:4px solid var(--vfx-border);box-shadow:6px 6px 0 var(--vfx-shadow);text-align:center;box-sizing:border-box;padding:12px 16px}.vfx-metric__value{color:var(--vfx-fg);font-size:clamp(20px,4vw,32px);font-weight:900;line-height:1.05;display:block}.vfx-metric__label{color:var(--vfx-muted);letter-spacing:.12em;margin-top:5px;font-size:10px;font-weight:900;line-height:1.15;display:block}.vfx-burst,.vfx-celebration-burst,.vfx-league-burst,.vfx-promotion-burst,.vfx-reward-burst,.vfx-upgrade-burst,.vfx-achievement-burst,.vfx-unlock-burst,.vfx-paint-sparkles,.vfx-clean-sparkles,.vfx-league-stars,.vfx-rank-stars{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vfx-particle{width:var(--size);height:var(--size);background:var(--vfx-fg);border:2px solid var(--vfx-bg);animation:vfx-particle-out .65s cubic-bezier(.15,.8,.25,1) var(--delay) forwards;position:absolute;transform:rotate(0)scale(0)}@keyframes vfx-particle-out{0%{transform:translate(0)rotate(0)scale(0)}20%{transform:translate(0)rotate(45deg)scale(1)}to{transform:translate(var(--x),var(--y)) rotate(220deg) scale(.2);opacity:0}}.vfx-star{color:var(--vfx-fg);font-size:var(--size);opacity:0;animation:vfx-star-pop .75s cubic-bezier(.2,1.5,.3,1) var(--delay) forwards;position:absolute}@keyframes vfx-star-pop{0%{opacity:0;transform:scale(0)rotate(-30deg)}30%{opacity:1;transform:scale(1.3)rotate(15deg)}to{opacity:0;transform:scale(.5)rotate(40deg)}}.vfx-scene--incident{color:#fff;background:#000}.vfx-speed-lines{background:repeating-linear-gradient(110deg,#0000 0 35px,#ffffff24 36px 40px,#0000 41px 75px);animation:.5s linear infinite vfx-speed-lines;position:absolute;inset:-20%}@keyframes vfx-speed-lines{0%{transform:translate(-80px)}to{transform:translate(80px)}}.vfx-alert-ring{border:8px solid #fff;width:120px;height:120px;animation:.7s cubic-bezier(.2,1.5,.3,1) forwards vfx-alert-ring;box-shadow:0 0 0 12px #ffffff14}@keyframes vfx-alert-ring{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.4)}}.vfx-alert-icon{color:#fff;font-size:90px;font-weight:900;animation:.5s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;position:absolute}.vfx-success-flash{background:#ffffff40;animation:.5s ease-out forwards vfx-flash;position:absolute;inset:0}.vfx-result-symbol{z-index:8;border:7px solid var(--vfx-border);width:105px;height:105px;color:var(--vfx-fg);box-shadow:8px 8px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;margin:0;font-size:70px;font-weight:900;animation:.55s cubic-bezier(.15,1.5,.3,1) forwards vfx-symbol-pop;display:flex;position:relative}.vfx-scene--failure{color:#fff;background:#000;animation:.5s .1s vfx-shake}.vfx-impact-ring{border:8px solid #fff;width:140px;height:140px;animation:.65s ease-out forwards vfx-impact;position:absolute}@keyframes vfx-impact{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2)}}.vfx-scene--impact{color:#fff;background:#000;animation:.5s .1s vfx-shake}.vfx-impact-lines{background:repeating-linear-gradient(115deg,#0000 0 28px,#ffffff24 29px 34px,#0000 35px 65px);animation:.45s linear infinite vfx-impact-lines;position:absolute;inset:-30%}@keyframes vfx-impact-lines{0%{transform:translate(-60px)}to{transform:translate(60px)}}.vfx-impact-symbol{color:#fff;border:7px solid #fff;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:65px;font-weight:900;animation:.65s cubic-bezier(.2,1.4,.3,1) forwards vfx-impact-symbol;display:flex;box-shadow:9px 9px #fff}@keyframes vfx-impact-symbol{0%{transform:scale(1.6)rotate(-8deg)}45%{transform:scale(.85)rotate(4deg)}70%{transform:scale(1.1)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.vfx-passenger-dots{gap:12px;margin:0 0 25px;display:flex}.vfx-passenger-dots span{color:var(--vfx-fg);opacity:0;animation:vfx-passenger-in .4s cubic-bezier(.2,1.5,.3,1) calc(var(--i) * 70ms) forwards;font-size:28px}@keyframes vfx-passenger-in{0%{opacity:0;transform:translateY(40px)scale(0)}to{opacity:1;transform:translateY(0)scale(1)}}.vfx-pickup-icon{border:7px solid var(--vfx-border);width:90px;height:90px;color:var(--vfx-fg);box-shadow:7px 7px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;font-weight:900;animation:.5s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;display:flex}.vfx-scene--celebration{color:#000;background:#ffd21f}.vfx-trophy{z-index:10;border:7px solid var(--vfx-border);width:120px;height:120px;color:var(--vfx-fg);box-shadow:9px 9px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;margin:0;font-size:75px;animation:.65s cubic-bezier(.15,1.6,.25,1) .1s forwards vfx-trophy-in;display:flex;position:relative;transform:scale(0)rotate(-15deg)}@keyframes vfx-trophy-in{0%{transform:scale(0)rotate(-20deg)}65%{transform:scale(1.15)rotate(5deg)}to{transform:scale(1)rotate(0)}}.vfx-bottom-label{color:var(--vfx-muted);letter-spacing:.12em;opacity:0;font-size:11px;font-weight:900;animation:.3s .8s forwards vfx-fade-in;position:absolute;bottom:30px}.vfx-car-icon{z-index:5;color:var(--vfx-fg);margin:0;font-size:80px;animation:.65s cubic-bezier(.2,1.5,.3,1) forwards vfx-car-pop;position:relative}.vfx-water-drop{border:3px solid var(--vfx-border);opacity:0;width:18px;height:26px;animation:vfx-drop .8s ease-out var(--delay,0s) forwards;border-radius:60% 60% 60% 0;position:absolute;transform:rotate(-45deg)}.vfx-water-drop--1{--delay:50ms;top:30%;left:35%}.vfx-water-drop--2{--delay:.15s;top:25%;left:60%}.vfx-water-drop--3{--delay:.25s;top:55%;left:42%}.vfx-water-drop--4{--delay:.35s;top:50%;left:68%}@keyframes vfx-drop{0%{opacity:0;transform:translateY(-30px)rotate(-45deg)scale(.5)}30%{opacity:1}to{opacity:0;transform:translateY(100px)rotate(-45deg)scale(.8)}}.vfx-gear{color:var(--vfx-fg);opacity:.55;font-size:85px;animation:1s linear infinite vfx-gear-spin;position:absolute}.vfx-gear--one{transform:translate(-90px,-35px)}.vfx-gear--two{animation-direction:reverse;transform:translate(80px,35px)}@keyframes vfx-gear-spin{0%{rotate:0deg}to{rotate:360deg}}.vfx-service-symbol{z-index:5;border:7px solid var(--vfx-border);width:95px;height:95px;color:var(--vfx-fg);box-shadow:8px 8px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;display:flex;position:relative}.vfx-paint-sweep{opacity:.08;background:#000;width:45%;height:100%;animation:.85s cubic-bezier(.2,.8,.2,1) forwards vfx-paint-sweep;position:absolute;top:0;left:-20%;transform:skew(-15deg)}@keyframes vfx-paint-sweep{0%{left:-50%}to{left:120%}}.vfx-paint-symbol{border:7px solid var(--vfx-border);width:100px;height:100px;color:var(--vfx-fg);box-shadow:8px 8px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;display:flex}.vfx-sticker-shape{color:#ffd21f;background:#000;border:6px solid #000;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;font-size:65px;animation:.65s cubic-bezier(.15,1.5,.3,1) forwards vfx-sticker-drop;display:flex;transform:translateY(-80px)rotate(-20deg)scale(.5);box-shadow:8px 8px #00000059}@keyframes vfx-sticker-drop{0%{transform:translateY(-100px)rotate(-25deg)scale(.5)}65%{transform:translateY(10px)rotate(5deg)scale(1.08)}to{transform:translateY(0)rotate(0)scale(1)}}.vfx-sticker-ring{border:5px dashed var(--vfx-border);border-radius:50%;width:120px;height:120px;animation:.9s linear forwards vfx-ring-spin;position:absolute}.vfx-unlock-card{border:6px solid var(--vfx-border);width:120px;height:150px;color:var(--vfx-fg);box-shadow:9px 9px 0 var(--vfx-shadow);justify-content:center;align-items:center;font-size:70px;animation:.7s cubic-bezier(.15,1.5,.25,1) forwards vfx-unlock-card;display:flex;transform:translateY(80px)rotate(8deg)scale(.6)}@keyframes vfx-unlock-card{0%{transform:translateY(100px)rotate(10deg)scale(.5)}70%{transform:translateY(-5px)rotate(-2deg)scale(1.08)}to{transform:translateY(0)rotate(0)scale(1)}}.vfx-wallet{border:7px solid var(--vfx-border);width:110px;height:90px;color:var(--vfx-fg);box-shadow:8px 8px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-wallet-pop;display:flex}@keyframes vfx-wallet-pop{0%{transform:scale(.4)rotate(-10deg)}70%{transform:scale(1.15)rotate(3deg)}to{transform:scale(1)rotate(0)}}.vfx-coin-burst{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vfx-coin-burst span{color:var(--vfx-fg);opacity:0;animation:vfx-coin-fly .85s cubic-bezier(.2,.8,.3,1) calc(var(--i) * 25ms) forwards;font-size:30px;position:absolute}@keyframes vfx-coin-fly{0%{opacity:0;transform:translateY(100px)scale(.2)}25%{opacity:1}to{transform:translate(calc((var(--i) - 10) * 25px), calc(-90px - var(--coin-y,0px))) scale(.8);opacity:0}}.vfx-scene--league{color:#000;background:#ffd21f}.vfx-league-rays{background:repeating-conic-gradient(#0000 0deg 10deg,#00000014 10deg 14deg);animation:1.4s linear infinite vfx-rays;position:absolute;inset:-50%}@keyframes vfx-rays{to{rotate:360deg}}.vfx-trophy--league{width:145px;height:145px;font-size:90px}.vfx-rank-rays{background:repeating-conic-gradient(#0000 0deg 12deg,#00000012 12deg 16deg);animation:1.1s linear infinite vfx-rays;position:absolute;inset:-50%}.vfx-rank-arrow,.vfx-promotion-arrow,.vfx-upgrade-arrow{color:var(--vfx-fg);font-size:120px;font-weight:900;line-height:.7;animation:.8s cubic-bezier(.15,1.4,.3,1) forwards vfx-arrow-up}@keyframes vfx-arrow-up{0%{opacity:0;transform:translateY(100px)scale(.5)}to{opacity:1;transform:translateY(0)scale(1)}}.vfx-rank,.vfx-upgrade-value,.vfx-achievement-name{border:4px solid var(--vfx-border);color:var(--vfx-fg);box-shadow:6px 6px 0 var(--vfx-shadow);box-sizing:border-box;margin-top:22px;padding:10px 18px;font-size:24px;font-weight:900;line-height:1.15;animation:.5s cubic-bezier(.2,1.5,.3,1) .35s both vfx-pop}.vfx-reward-box{border:7px solid var(--vfx-border);width:120px;height:120px;color:var(--vfx-fg);box-shadow:9px 9px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:75px;animation:.65s cubic-bezier(.15,1.5,.3,1) forwards vfx-reward-box;display:flex}@keyframes vfx-reward-box{0%{transform:translateY(50px)scale(.4)rotate(-8deg)}70%{transform:translateY(-5px)scale(1.1)rotate(3deg)}to{transform:translateY(0)scale(1)rotate(0)}}.vfx-big-number{z-index:10;color:var(--vfx-fg);text-align:center;text-shadow:4px 4px 0 var(--vfx-soft);margin-top:20px;font-size:clamp(32px,7vw,64px);font-weight:900;line-height:1;animation:.5s cubic-bezier(.15,1.5,.3,1) .35s both vfx-number-pop;position:relative}@keyframes vfx-number-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.vfx-crew-symbol{border:7px solid var(--vfx-border);width:95px;height:95px;color:var(--vfx-fg);box-shadow:8px 8px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;display:flex}.vfx-upgrade-rings,.vfx-vehicle-rays{border:5px dashed var(--vfx-border);border-radius:50%;width:350px;height:350px;animation:1s linear forwards vfx-ring-spin;position:absolute}.vfx-upgrade-rays{background:repeating-conic-gradient(#0000 0deg 12deg,#00000012 12deg 16deg);animation:1.2s linear infinite vfx-rays;position:absolute;inset:-50%}.vfx-upgrade-ring{border:4px dashed var(--vfx-border);border-radius:50%;width:250px;height:250px;animation:.9s linear forwards vfx-ring-spin;position:absolute}.vfx-upgrade-ring--one{transform:rotate(0)}.vfx-upgrade-ring--two{width:190px;height:190px;animation-duration:.7s;animation-direction:reverse}.vfx-upgrade-icon{z-index:6;color:var(--vfx-fg);font-size:100px;font-weight:900;line-height:1;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;position:relative}.vfx-car-icon--large{font-size:120px}.vfx-scene--new-vehicle{color:#000;background:#ffd21f}.vfx-shield{border:7px solid var(--vfx-border);width:125px;height:145px;color:var(--vfx-fg);clip-path:polygon(50% 0,95% 20%,90% 65%,50% 100%,10% 65%,5% 20%);flex-shrink:0;justify-content:center;align-items:center;font-size:65px;animation:.65s cubic-bezier(.15,1.5,.3,1) forwards vfx-shield;display:flex}@keyframes vfx-shield{0%{opacity:0;transform:scale(.4)rotate(-10deg)}70%{opacity:1;transform:scale(1.1)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}.vfx-achievement-rays{background:repeating-conic-gradient(#0000 0deg 10deg,#00000012 10deg 14deg);animation:1.3s linear infinite vfx-rays;position:absolute;inset:-50%}.vfx-achievement-badge{z-index:8;border:7px solid var(--vfx-border);width:125px;height:125px;color:var(--vfx-fg);box-shadow:9px 9px 0 var(--vfx-shadow);flex-shrink:0;justify-content:center;align-items:center;font-size:75px;animation:.7s cubic-bezier(.15,1.5,.25,1) forwards vfx-badge;display:flex;position:relative}@keyframes vfx-badge{0%{transform:scale(0)rotate(-30deg)}65%{transform:scale(1.15)rotate(8deg)}to{transform:scale(1)rotate(0)}}.vfx-achievement-name{text-align:center;overflow-wrap:anywhere;max-width:min(90vw,700px)}.vfx-clean-ring{border:6px solid var(--vfx-border);border-radius:50%;width:170px;height:170px;animation:.85s cubic-bezier(.2,.8,.2,1) forwards vfx-clean-ring}@keyframes vfx-clean-ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.8)}}.vfx-clean-check{color:var(--vfx-fg);font-size:100px;font-weight:900;line-height:1;animation:.55s cubic-bezier(.2,1.5,.3,1) forwards vfx-pop;position:absolute}@keyframes vfx-pop{0%{opacity:0;transform:scale(.3)}65%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes vfx-symbol-pop{0%{opacity:0;transform:scale(.2)rotate(-20deg)}60%{opacity:1;transform:scale(1.15)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes vfx-title-in{0%{opacity:0;transform:translateY(20px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes vfx-metrics-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes vfx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vfx-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes vfx-shake{0%,to{transform:translate(0)}15%{transform:translate(-10px)}30%{transform:translate(10px)}45%{transform:translate(-7px)}60%{transform:translate(7px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes vfx-ring-spin{0%{opacity:0;transform:rotate(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:rotate(360deg)scale(1.1)}}@keyframes vfx-car-pop{0%{opacity:0;transform:translateY(40px)scale(.5)}70%{opacity:1;transform:translateY(-5px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){#game-vfx-root *,#game-vfx-root:before,#game-vfx-root:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=600px){.vfx-scene{padding:20px max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left))}.vfx-title-group{gap:9px;width:92vw}.vfx-kicker{letter-spacing:.14em;font-size:10px;line-height:1.25}.vfx-title-group h1{font-size:44px;line-height:.98}.vfx-title-group h2{font-size:32px;line-height:.98}.vfx-result-symbol+.vfx-title-group,.vfx-pickup-icon+.vfx-title-group,.vfx-service-symbol+.vfx-title-group,.vfx-paint-symbol+.vfx-title-group,.vfx-sticker-shape+.vfx-title-group,.vfx-wallet+.vfx-title-group,.vfx-crew-symbol+.vfx-title-group,.vfx-upgrade-icon+.vfx-title-group,.vfx-car-icon+.vfx-title-group,.vfx-trophy+.vfx-title-group,.vfx-achievement-badge+.vfx-title-group,.vfx-clean-check+.vfx-title-group{margin-top:18px}.vfx-title-group+.vfx-metrics{margin-top:24px}.vfx-metrics{gap:7px;max-width:94vw}.vfx-metrics--large{margin-top:28px}.vfx-metric{min-width:80px;box-shadow:4px 4px 0 var(--vfx-shadow);border-width:3px;padding:9px 10px}.vfx-metric__value{line-height:1.05}.vfx-metric__label{margin-top:4px;line-height:1.15}.vfx-title-group+.vfx-rank,.vfx-title-group+.vfx-upgrade-value,.vfx-title-group+.vfx-achievement-name{margin-top:18px}.vfx-title-group+.vfx-big-number{margin-top:20px}.vfx-trophy{width:95px;height:95px;font-size:60px}.vfx-car-icon{font-size:65px}.vfx-upgrade-rings,.vfx-vehicle-rays{width:280px;height:280px}.vfx-upgrade-ring{width:220px;height:220px}.vfx-result-symbol{border-width:6px;width:90px;height:90px;font-size:58px}.vfx-pickup-icon{border-width:6px;width:82px;height:82px;font-size:58px}.vfx-service-symbol{border-width:6px;width:85px;height:85px;font-size:58px}.vfx-paint-symbol{border-width:6px;width:88px;height:88px;font-size:58px}.vfx-sticker-shape{width:90px;height:90px;font-size:55px}.vfx-wallet{border-width:6px;width:95px;height:78px;font-size:55px}.vfx-crew-symbol{border-width:6px;width:85px;height:85px;font-size:58px}.vfx-achievement-badge{border-width:6px;width:100px;height:100px;font-size:60px}.vfx-clean-check{font-size:82px}.vfx-clean-ring{width:145px;height:145px}.vfx-rank-arrow,.vfx-promotion-arrow,.vfx-upgrade-arrow{font-size:95px}.vfx-rank,.vfx-upgrade-value,.vfx-achievement-name{text-align:center;max-width:88vw;padding:8px 14px;font-size:20px;line-height:1.15}.vfx-big-number{font-size:clamp(30px,8vw,54px);line-height:1}}@media (width<=380px){.vfx-title-group{width:94vw}.vfx-title-group h1{font-size:38px}.vfx-title-group h2{font-size:28px}.vfx-kicker{font-size:9px}.vfx-metrics{gap:5px}.vfx-metric{min-width:72px;padding:8px 7px}.vfx-metric__value{font-size:18px}.vfx-metric__label{font-size:8px}}
