*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#131b30;font-family:system-ui,sans-serif;color:#fff}canvas{display:block}[hidden]{display:none!important}.preview-label{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:900;font-size:10px;font-weight:800;letter-spacing:.12em;color:#fff;background:#17243bdc;padding:8px 12px;border-radius:20px;pointer-events:none;white-space:nowrap}#message{position:fixed;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.container-fill-meta{display:none!important}#sair{display:none!important}dialog{width:min(440px,calc(100% - 32px));border:1px solid #536c97;border-radius:24px;background:#131f36;color:#fff;padding:28px;box-shadow:0 20px 70px #0008}dialog::backdrop{background:#071023b8;backdrop-filter:blur(8px)}dialog p{line-height:1.6;color:#c2cde0}.eyebrow{font-size:11px;letter-spacing:.15em;color:#ffcb37;font-weight:800}dialog button,.intro button{width:100%;padding:16px;border:0;border-radius:12px;background:linear-gradient(110deg,#ffe95b,#ffb521);color:#192440;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 0 #b37e15}h1{font-size:28px;margin:8px 0}.intro{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 12% 0%,#264f8790,transparent 55%),#0c152af0;overflow:auto}.intro-card{display:grid;grid-template-columns:1fr 1fr;max-width:930px;border-radius:28px;overflow:hidden;background:#16243d;border:1px solid #365278;box-shadow:0 30px 100px #0006}.intro-art{width:100%;height:100%;min-height:500px;object-fit:cover}.intro-copy{padding:42px;align-self:center}.intro h1{font-size:clamp(30px,4vw,49px);line-height:1.05;letter-spacing:-.04em;margin:18px 0}.intro h1 span{color:#ffd332}.intro-copy>p:not(.eyebrow){color:#c1cfe3;line-height:1.6;font-size:15px}.controls{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 12px}.controls span{border:1px solid #4b6583;border-radius:8px;padding:8px;font-size:12px;color:#e3edff}.intro small{display:block;color:#91a5c2;font-size:11px;line-height:1.5;margin-top:20px}.intro button:disabled{opacity:.6;cursor:wait}.intro .mobile-controls{font-size:12px;margin-bottom:24px}#end-preview{position:fixed;z-index:920;left:15px;top:15px;background:#142641e8;color:#fff;border:1px solid #7d96ba;padding:10px 14px;border-radius:10px;cursor:pointer}#diagnostic{position:fixed;z-index:910;bottom:48px;left:50%;transform:translateX(-50%);white-space:nowrap;color:white;text-shadow:0 1px 4px black;font-size:11px}@media(max-width:650px){.intro{padding:18px}.intro-card{grid-template-columns:1fr;width:min(400px,100%);border-radius:22px}.intro-art{height:200px;min-height:0;object-position:center 35%}.intro-copy{padding:22px}.intro h1{font-size:36px;margin:12px 0}.intro-copy>p:not(.eyebrow){font-size:13px}.controls{margin:15px 0 8px}.intro small{margin-top:16px}.intro .mobile-controls{font-size:11px;margin-bottom:18px}}@media(max-height:700px) and (min-width:651px){.intro-art{min-height:400px}.intro-copy{padding:26px}.intro h1{font-size:36px}.controls{margin-top:15px}}
.is-demo .intro{background:linear-gradient(180deg,#07324a55,#061827d9),url('/subway-v2/assets/subway-background-mobile.webp') center 37%/cover}
.is-demo:not(.demo-error) .intro-card{display:block;max-width:360px;text-align:center;background:#071e35dc}
.is-demo:not(.demo-error) .intro-art,.is-demo:not(.demo-error) .controls,.is-demo:not(.demo-error) .mobile-controls,.is-demo:not(.demo-error) .intro small{display:none}
.is-demo:not(.demo-error) .intro-copy{padding:24px}
.is-demo:not(.demo-error) .intro h1{font-size:30px}
.is-demo:not(.demo-error) .intro button{pointer-events:none}
#demo-goal{position:fixed;z-index:930;top:68px;left:50%;transform:translateX(-50%);width:min(340px,calc(100% - 32px));padding:10px 14px;border:1px solid #7bdfff;border-radius:16px;background:#071e35e8;text-align:center;box-shadow:0 8px 24px #0018}
#demo-goal span{display:block;color:#d4f6ff;font-size:10px;letter-spacing:.08em;font-weight:900}
#demo-goal strong{display:block;margin:2px 0;color:#ffe25b;font-size:24px}
.demo-progress{height:6px;border-radius:8px;background:#5c7b91;overflow:hidden}
.demo-progress i{display:block;height:100%;width:0;background:#00e884;transition:width .2s}
#demo-cashout{position:fixed;z-index:940;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 32px));min-height:82px;padding:18px;border:2px solid #baffdc;border-radius:20px;background:#00d977;color:#063744;font-size:clamp(18px,5vw,25px);font-weight:1000;box-shadow:0 12px 32px #0019;cursor:pointer;touch-action:manipulation}
.result-action,.result-back{display:block;text-align:center;text-decoration:none;border-radius:12px;padding:13px;font-weight:900}
.result-action{background:#00e884;color:#073744}.result-back{margin-top:8px;color:#d2e6f1}
.is-running, .is-running body, .is-running canvas{touch-action:none;overscroll-behavior:none}
