:root{--sky-1: #4fb3ff;--sky-2: #bfe8ff;--ink: #1d2742;--muted: #5b6785;--primary: #ff8a1f;--primary-dark: #e56f00;--surface: #ffffff;--tint: #f2f8ff;--night: #1b1f3b;--radius: 18px;--shadow: 0 10px 30px rgba(29, 39, 66, .12)}*,*:before,*:after{box-sizing:border-box}body.landing{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--surface);line-height:1.6;overflow-x:hidden}h1,h2,h3,.brand__name{font-family:Fredoka,Nunito,sans-serif;line-height:1.15;margin:0 0 .5em}h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}h3{font-size:1.2rem}p{margin:0 0 1rem}a{color:inherit}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.15rem;border-radius:999px;font-weight:800;text-decoration:none;border:2px solid transparent;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}button.btn{font:inherit;font-weight:800;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn:focus-visible{outline:3px solid #1d2742;outline-offset:2px}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 5px 0 var(--primary-dark)}.btn--primary:hover{box-shadow:0 7px 0 var(--primary-dark)}.btn--light{background:#fff;color:var(--ink);box-shadow:0 5px #1d27422e}.btn--ghost{color:var(--ink);border-color:#1d274233;background:#fff9}.btn--lg{padding:.85rem 1.6rem;font-size:1.05rem}.nav{position:sticky;top:0;z-index:10;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(29,39,66,.06)}.nav__inner{display:flex;align-items:center;gap:1.5rem;height:68px}.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}.brand__mark{width:30px;height:30px;border-radius:9px;transform:rotate(45deg) scale(.85);background:linear-gradient(135deg,#ffd36e,var(--primary));box-shadow:inset -6px -6px #0000001f}.brand__name{font-size:1.5rem;margin:0}.brand__name span{color:var(--primary)}.nav__links{display:flex;gap:1.4rem;margin-left:auto;font-weight:700}.nav__links a{text-decoration:none;color:var(--muted)}.nav__links a:hover{color:var(--ink)}.nav__actions{display:flex;gap:.5rem}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 85%,#fff 100%);padding:4rem 0 3rem}.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:2rem;align-items:center}.hero h1{font-size:clamp(2.2rem,5.2vw,3.8rem);color:#fff;text-shadow:0 4px 0 rgba(29,39,66,.18)}.hero h1 span{display:block;color:#fff6c9}.hero .lead{color:#0f2950;font-size:1.12rem;max-width:34rem}.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 1rem}.hero__note{font-size:.92rem;color:#24456f}.pill{display:inline-block;background:#ffffffd9;color:var(--ink);font-weight:800;font-size:.85rem;padding:.3rem .85rem;border-radius:999px}.hero__art{position:relative}.iso-city{width:100%;height:auto;filter:drop-shadow(0 25px 30px rgba(15,41,80,.25))}.iso-building{animation:rise .7s ease-out both}.iso-building:nth-of-type(2n){animation-delay:.12s}.iso-building:nth-of-type(3n){animation-delay:.24s}.chip{position:absolute;display:inline-flex;align-items:center;gap:.45rem;background:#fff;border-radius:999px;padding:.4rem .85rem;font-weight:800;font-size:.9rem;box-shadow:var(--shadow);animation:bob 3.2s ease-in-out infinite}.chip i{width:18px;height:18px;border-radius:50%;display:inline-block}.chip--coin{top:8%;left:2%}.chip--coin i{background:radial-gradient(circle at 35% 35%,#fff3a6,#f7b500 60%,#c98a00)}.chip--level{bottom:12%;right:0;animation-delay:1.2s}.chip--level i{background:linear-gradient(135deg,#a98bff,#6b4dff);border-radius:5px;transform:rotate(45deg) scale(.8)}.hero__clouds span{position:absolute;background:#fff;border-radius:999px;opacity:.8;height:34px;animation:drift 60s linear infinite}.hero__clouds span:before{content:"";position:absolute;background:#fff;border-radius:50%;width:46px;height:46px;top:-22px;left:22px}.hero__clouds span:nth-child(1){width:130px;top:12%;left:-10%}.hero__clouds span:nth-child(2){width:90px;top:30%;left:-30%;animation-duration:80s;opacity:.6}.hero__clouds span:nth-child(3){width:160px;top:6%;left:-55%;animation-duration:95s}.stats{margin-top:-1.5rem;position:relative;z-index:2}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem}.stats__grid div{text-align:center}.stats strong{display:block;font-family:Fredoka,sans-serif;font-size:2.1rem;color:var(--primary);line-height:1.1}.stats span{color:var(--muted);font-weight:700;font-size:.95rem}.section{padding:5rem 0}.section--tint{background:var(--tint)}.section--night{background:radial-gradient(circle at 20% 20%,#2c3470,var(--night) 60%);color:#e9ecff}.section--night .lead{color:#c6cbf2}.section__head{text-align:center;max-width:40rem;margin:0 auto 2.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.8rem;color:var(--primary);margin-bottom:.5rem}.eyebrow--light{color:#ffd36e}.lead{font-size:1.08rem;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.card{background:#fff;border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow);transition:transform .2s}.card:hover{transform:translateY(-4px)}.card p{color:var(--muted);margin:0}.card__icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.6rem;margin-bottom:1rem}.card__icon--blue{background:#e0f1ff}.card__icon--yellow{background:#fff4cc}.card__icon--green{background:#e3f8da}.card__icon--pink{background:#ffe3ee}.card__icon--purple{background:#ece6ff}.card__icon--orange{background:#ffeadb}.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.6rem}.tags li{background:#fff;border-radius:999px;padding:.5rem 1rem;font-weight:700;box-shadow:0 3px #1d274214}.tags__special{background:linear-gradient(135deg,#fff1b8,#ffd36e)!important}.checks{list-style:none;padding:0;margin:0}.checks li{padding-left:1.8rem;position:relative;margin-bottom:.5rem;font-weight:700}.checks li:before{content:"✓";position:absolute;left:0;color:#7ee07a;font-weight:900}.race{display:grid;place-items:center}.race__track{position:relative;width:min(100%,420px);aspect-ratio:1.6;border-radius:999px;background:#3a405f;border:14px solid #2a2f4a;box-shadow:inset 0 0 0 46px #4a5175,0 25px 50px #00000059}.race__track:after{content:"";position:absolute;inset:48px;border-radius:999px;background:#3f9a52;box-shadow:inset 0 0 0 3px #ffe27a}.race__car{position:absolute;top:50%;left:50%;width:30px;height:16px;border-radius:6px;margin:-8px 0 0 -15px;z-index:1;offset-path:inset(9px round 999px);offset-rotate:auto;animation:lap 6s linear infinite}.race__car--1{background:#ff5d5d}.race__car--2{background:#ffd36e;animation-delay:-1.1s;animation-duration:6.4s}.race__car--3{background:#6cc4ff;animation-delay:-2.3s;animation-duration:6.9s}@supports not (offset-path: inset(0)){.race__car{display:none}}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.steps li{background:var(--tint);border-radius:var(--radius);padding:1.6rem}.steps p{color:var(--muted);margin:0}.steps__n{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:.9rem;background:var(--primary);color:#fff;font-family:Fredoka,sans-serif;font-size:1.3rem;box-shadow:0 4px 0 var(--primary-dark)}.cta{padding:0 0 5rem}.cta__inner{text-align:center;border-radius:28px;padding:3.5rem 1.5rem;color:#fff;background:linear-gradient(135deg,#ff9a3c,#ff5f6d 55%,#7a5cff);box-shadow:var(--shadow)}.cta__inner p{opacity:.92;font-size:1.1rem;margin-bottom:1.6rem}.footer{border-top:1px solid #e7ecf5;padding:1.5rem 0;color:var(--muted);font-size:.95rem}.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer p{margin:0}.footer nav{display:flex;gap:1.2rem}.footer a{text-decoration:none;font-weight:700}.footer a:hover{color:var(--ink)}.auth{position:relative;overflow:hidden;min-height:calc(100vh - 140px);background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 75%,#fff 100%);padding:3rem 0 4rem;display:flex;align-items:center}.auth__inner{position:relative;display:grid;grid-template-columns:1fr minmax(0,460px);gap:3rem;align-items:center}.auth__art{text-align:center}.auth__tagline{font-family:Fredoka,sans-serif;font-size:1.6rem;color:#0f2950;margin-top:1rem}.auth__card{background:#fff;border-radius:24px;padding:2.2rem;box-shadow:0 20px 50px #0f29502e}.auth__card h1{font-size:2rem;margin-bottom:.25rem}.auth__subtitle{color:var(--muted);margin-bottom:1.5rem}.auth__text{color:var(--muted)}.form .field{margin-bottom:1.1rem}.field label{display:block;font-weight:800;margin-bottom:.35rem}.input{width:100%;font:inherit;color:var(--ink);background:var(--tint);border:2px solid #dbe6f5;border-radius:14px;padding:.75rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s}.input::placeholder{color:#93a0bb}.input:focus{outline:none;background:#fff;border-color:var(--sky-1);box-shadow:0 0 0 4px #4fb3ff33}.input.is-invalid{border-color:#ff5d5d;background:#fff5f5}.field__hint{color:var(--muted);font-size:.9rem;margin:.35rem 0 0}.field__hint--ok{color:#2e8b1f;font-weight:700}.field__hint--bad{color:#d93636;font-weight:700}.field__hint button{font:inherit;font-weight:800;color:var(--primary-dark);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.input.is-valid{border-color:#7ccf5f}.field__error{color:#d93636;font-weight:700;font-size:.9rem;margin:.35rem 0 0}.form__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.form__switch{text-align:center;color:var(--muted);margin:1.2rem 0 0}.form__actions{display:flex;flex-wrap:wrap;gap:.8rem}.check{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--primary)}.link{color:var(--primary-dark);font-weight:800;text-decoration:none}.link:hover{text-decoration:underline}.btn--block{width:100%}.alert{border-radius:14px;padding:.8rem 1rem;font-weight:700;margin-bottom:1.2rem}.alert--success{background:#e3f8da;color:#2e6b1f}.error-page__inner{position:relative;text-align:center;max-width:40rem}.error-page__code{font-family:Fredoka,sans-serif;font-size:clamp(5rem,18vw,9rem);line-height:1;color:#fff;text-shadow:0 6px 0 rgba(29,39,66,.18);margin:0}.error-page h1{font-size:clamp(1.8rem,4vw,2.6rem)}.error-page .lead{color:#0f2950;margin-bottom:1.8rem}.player-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 100%);padding:2.5rem 0 0}.player-hero__inner{position:relative;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding-bottom:1.8rem}.player-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);margin:.3rem 0 0;text-shadow:0 3px 0 rgba(29,39,66,.18);word-break:break-word}.player-hero__avatar{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#ffd36e,var(--primary));color:#fff;font-family:Fredoka,sans-serif;font-size:2.2rem;box-shadow:0 6px 0 var(--primary-dark),var(--shadow)}.player-hero__code{margin-left:auto;background:#ffffffe6;border-radius:16px;padding:.6rem 1rem;text-align:center;box-shadow:var(--shadow)}.player-hero__code span{display:block;font-size:.8rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.player-hero__code strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem}.tabs{position:relative;display:flex;gap:.4rem}.tabs__link{padding:.75rem 1.4rem;border-radius:16px 16px 0 0;font-weight:800;text-decoration:none;color:#0f2950;background:#ffffff73}.tabs__link:hover{background:#ffffffb3}.tabs__link.is-active{background:var(--tint);color:var(--ink)}.player .footer{background:var(--tint)}.player main{background:var(--tint)}.player-body{padding-top:2rem;padding-bottom:4rem}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem}.tile,.panel,.city-card{background:#fff;border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}.tile h2,.panel h2{font-size:1.15rem;margin-bottom:.4rem}.tile__value{font-family:Fredoka,sans-serif;font-size:1.7rem;margin:0 0 .3rem;word-break:break-word}.tile__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em}.tile__value--small{font-size:1.15rem}.tile__note{color:var(--muted)}.badge{display:inline-block;border-radius:999px;padding:.2rem .7rem;font-weight:800;font-size:.85rem}.badge--ok{background:#e3f8da;color:#2e6b1f}.city-card{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center}.city-card .hero__note{color:var(--muted);margin:0}.panels{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.panel h2{margin-bottom:1.2rem}@keyframes rise{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes drift{to{transform:translate(180vw)}}@keyframes lap{to{offset-distance:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.iso-car{display:none}}@media(max-width:960px){.nav__links{display:none}.nav__actions{margin-left:auto}.hero{padding-top:2.5rem}.hero__inner,.split{grid-template-columns:1fr}.hero__art{max-width:560px;margin:0 auto;width:100%}.features,.steps{grid-template-columns:1fr 1fr}.split--reverse .race{order:2}.auth__inner{grid-template-columns:1fr;gap:1.5rem}.auth__art{order:2;max-width:420px;margin:0 auto}.auth__card{width:100%;max-width:480px;margin:0 auto}.tiles{grid-template-columns:1fr 1fr}.city-card,.panels{grid-template-columns:1fr}}@media(max-width:600px){.brand__name{font-size:1.25rem}.nav__actions .btn{padding:.5rem .9rem;font-size:.9rem}.stats__grid{grid-template-columns:1fr 1fr}.features,.steps{grid-template-columns:1fr}.section{padding:3.5rem 0}.hero__cta .btn{width:100%}.chip{font-size:.78rem}.hero__clouds{opacity:.35}.auth{padding:1.5rem 0 3rem}.auth__card{padding:1.5rem}.auth__card h1{font-size:1.6rem}.auth__tagline{font-size:1.25rem}.form__actions .btn,.form__actions form{width:100%}.tiles{grid-template-columns:1fr}.player-hero{padding-top:1.5rem}.player-hero__avatar{width:60px;height:60px;font-size:1.7rem}.player-hero__code{margin-left:0;width:100%}.tabs__link{flex:1;text-align:center;padding:.7rem .5rem}}
