:root{color-scheme:dark;--bg:#0b1019;--ink:#f4f5f7;--muted:#929fb1;--accent:#f3ad5f;--accent-hot:#fd704c;--line:rgba(231,240,251,.18)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--bg);overflow:hidden;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink)}body{touch-action:none}button{font:inherit}#game-root{width:100%;height:100%;height:100dvh;position:relative;overflow:hidden}#canvas{display:block;width:100%;height:100%;outline:none}#loading{position:absolute;inset:0;isolation:isolate;background:radial-gradient(ellipse at 61% 41%,#24344e 0%,#0c1420 55%,#080c13 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .4s ease,visibility .4s ease}#loading.hidden{opacity:0;visibility:hidden;pointer-events:none}.grain{position:absolute;inset:0;z-index:-1;opacity:.27;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.17' filter='url(%23n)'/%3E%3C/svg%3E")}.horizon{position:absolute;inset:0;overflow:hidden;z-index:-1;opacity:.66}.city{position:absolute;left:0;right:0;bottom:19%;height:40%;background:linear-gradient(to top,#040911 0%,transparent 96%),repeating-linear-gradient(90deg,transparent 0 8%,rgba(24,33,46,.9) 8% 12%,transparent 12% 16%,rgba(29,38,53,.85) 16% 25%,transparent 25% 30%);clip-path:polygon(0 58%,5% 58%,5% 29%,10% 29%,10% 43%,14% 43%,14% 10%,21% 10%,21% 48%,28% 48%,28% 30%,33% 30%,33% 49%,40% 49%,40% 14%,46% 14%,46% 38%,55% 38%,55% 22%,61% 22%,61% 56%,67% 56%,67% 16%,72% 16%,72% 40%,78% 40%,78% 26%,83% 26%,83% 48%,90% 48%,90% 20%,94% 20%,94% 55%,100% 55%,100% 100%,0 100%)}.loading-content{position:relative;width:min(88vw,690px);margin-top:-1vh;text-align:center;filter:drop-shadow(0 8px 26px rgba(0,0,0,.15))}h1{font-size:clamp(66px,14vw,138px);line-height:.91;letter-spacing:-.105em;font-weight:950;margin:4px 0 18px;transform:scaleX(.94);white-space:nowrap;text-shadow:0 5px 24px rgba(0,0,0,.55)}h1>span:first-child{color:#f0525b}h1 .title-dot{color:#f0525b}.subtitle{font-size:clamp(10px,1.25vw,13px);font-weight:600;letter-spacing:.16em;color:#c4cfda;margin:0 0 46px}.load-panel{width:min(100%,560px);margin:0 auto;text-align:left}.progress-heading,.progress-footer{display:flex;justify-content:space-between;align-items:center;gap:15px}.progress-heading{font-size:13px;font-weight:600;margin-bottom:12px}.progress-heading #percent{font-variant-numeric:tabular-nums;font-size:20px;color:#fa7880;font-weight:800}.progress-track{height:16px;border-radius:12px;background:rgba(222,238,254,.19);overflow:hidden;border:1px solid rgba(249,220,190,.1)}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#ed505b,#fb907b);box-shadow:0 0 21px rgba(240,82,91,.4);transition:width .15s ease}.progress-footer{margin-top:12px;font-size:11px;letter-spacing:.02em;color:var(--muted)}#details{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.error-panel{margin:24px auto 0;width:min(100%,560px);background:rgba(50,17,24,.83);border:1px solid rgba(247,131,117,.48);border-radius:12px;padding:14px 16px;color:#ffe1da;font-size:13px;text-align:left}.error-panel[hidden]{display:none}.error-panel p{margin:0 0 12px;white-space:pre-wrap;line-height:1.45}.error-panel button{padding:9px 16px;border:0;border-radius:8px;background:#ed9c6a;color:#171922;font-weight:800;cursor:pointer}#fullscreen{position:absolute;top:18px;right:18px;z-index:15;display:inline-flex;align-items:center;gap:8px;background:rgba(17,24,36,.77);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#f7f8fb;padding:10px 12px;cursor:pointer;transition:background .15s}#fullscreen:hover{background:rgba(38,50,68,.96)}#fullscreen svg{width:17px;height:17px;flex:none}#toast{position:absolute;bottom:20px;right:20px;z-index:30;background:#202b3b;color:#fff;max-width:320px;padding:10px 14px;border-radius:8px;box-shadow:0 6px 20px #0007;display:none;font-size:12px}#toast.show{display:block}@media(max-width:620px){.loading-content{margin-top:-3vh}.subtitle{margin-bottom:37px;letter-spacing:.17em}.progress-footer{font-size:10px}#fullscreen{top:10px;right:10px;padding:9px}#fullscreen-label{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* SaveMe: русская загрузка, высокий прогресс-бар, чистый фон без нижней дороги. */
@media(max-width:420px){h1{font-size:clamp(56px,16vw,92px)}.progress-track{height:14px}.subtitle{letter-spacing:.09em}}
