html,body,#game{width:100vw;height:100dvh;margin:0;overflow:hidden;background:#101012}html,body{position:fixed;inset:0;overscroll-behavior:none}#game{position:fixed;inset:0;isolation:isolate}#game:before{content:"";position:absolute;inset:-30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 10%,#25132e,#17151c 50%,#101012 85%)}canvas{display:block;touch-action:none}.defeat-ui{position:absolute;z-index:1200;width:1280px;height:720px;transform-origin:top left;pointer-events:none;font-family:Arial Black,Impact,sans-serif}.defeat-ui__warning{position:absolute;top:214px;left:50%;display:flex;width:max-content;margin:0;transform:translate(-50%);color:#ed0725;font:124px/1.3 Gorvex,Impact,sans-serif;letter-spacing:-.075em;white-space:nowrap}.defeat-ui__letter{display:inline-block;-webkit-text-stroke:2px #ffe8a3;paint-order:stroke fill;text-shadow:0 4px 0 #920711,0 7px 1px #250208,0 0 13px #ff9d16;animation:defeat-letter-enter .55s cubic-bezier(.16,1.4,.36,1) both,defeat-letter-energy 2.3s ease-in-out infinite;animation-delay:calc(var(--letter-index) * 75ms),calc(.85s + var(--letter-index) * .12s)}.defeat-ui__subtitle{position:absolute;top:360px;left:50%;width:max-content;margin:0;transform:translate(-50%);color:#fff;font:italic 900 27px/1.3 Arial Black,sans-serif;text-shadow:-2px -2px 0 #18050a,2px -2px 0 #18050a,-2px 2px 0 #18050a,2px 2px 0 #18050a,0 4px 8px #120207;animation:defeat-copy-enter .48s .34s both}.defeat-ui__replay{position:absolute;top:445px;left:50%;display:flex;align-items:center;justify-content:center;gap:20px;width:360px;height:82px;padding:0;border:0;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);background:#e03412;color:#130c02;cursor:pointer;pointer-events:auto;transform:translate(-50%);filter:drop-shadow(0 8px 0 #280806) drop-shadow(0 0 10px #f33611);transition:transform .18s cubic-bezier(.2,1.6,.3,1),filter .18s ease;animation:defeat-copy-enter .5s .48s both}.defeat-ui__replay:before{content:"";position:absolute;inset:4px;z-index:0;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);background:linear-gradient(180deg,#fff783 0,#ffd22f 22%,#ffb918 56%,#df8711);box-shadow:inset 0 3px #fff7a2,inset 0 -5px #aa4907;animation:defeat-replay-pulse 2.6s 1s ease-in-out infinite}.defeat-ui__replay:after{content:"";position:absolute;top:4px;bottom:4px;left:-70px;width:46px;z-index:1;transform:skew(-24deg);background:linear-gradient(90deg,transparent,#fff9bd80,transparent);animation:defeat-replay-sweep 3s 1.2s ease-in-out infinite}.defeat-ui__replay>span{position:relative;z-index:2}.defeat-ui__replay-label{font:italic 900 35px/1 Arial Black,Impact,sans-serif;text-shadow:0 2px 0 #fff1a2}.defeat-ui__replay-icon{font:900 43px/1 Arial,sans-serif;transition:transform .32s ease}.defeat-ui__replay-arrows{font:900 40px/1 Arial,sans-serif;letter-spacing:-.17em;padding-right:7px;transition:transform .22s ease}.defeat-ui__replay:is(:hover,:focus-visible){transform:translate(-50%) scale(1.08);filter:drop-shadow(0 10px 0 #380705) drop-shadow(0 0 22px #ffbb18)}.defeat-ui__replay:is(:hover,:focus-visible):before{animation:none;filter:brightness(1.2)}.defeat-ui__replay:is(:hover,:focus-visible):after{animation-duration:.85s}.defeat-ui__replay:is(:hover,:focus-visible) .defeat-ui__replay-icon{transform:rotate(180deg)}.defeat-ui__replay:is(:hover,:focus-visible) .defeat-ui__replay-arrows{transform:translate(5px)}.defeat-ui__replay:active{transform:translate(-50%) scale(.98)}.defeat-ui__replay:focus-visible{outline:4px solid #fff;outline-offset:4px}@keyframes defeat-letter-enter{0%{opacity:0;transform:translateY(-55px) rotate(-11deg) scale(1.26)}65%{opacity:1;transform:translateY(7px) rotate(3deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes defeat-letter-energy{0%,to{transform:translateY(0) rotate(0);filter:drop-shadow(0 0 2px #ffae21)}42%{transform:translateY(-5px) rotate(-1deg);filter:drop-shadow(0 0 9px #ffe271)}58%{transform:translateY(-2px) rotate(1deg);filter:drop-shadow(0 0 15px #fff5ac)}}@keyframes defeat-copy-enter{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes defeat-replay-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}@keyframes defeat-replay-sweep{0%,19%{left:-70px}54%,to{left:390px}}@media(orientation:portrait)and (max-width:820px){.defeat-ui{display:none}}@media(prefers-reduced-motion:reduce){.defeat-ui *,.defeat-ui *:before,.defeat-ui *:after{animation:none!important;transition:none!important}}.scene-loading{position:absolute;inset:0;z-index:1500;display:grid;place-items:center;overflow:hidden;color:#fff0ce;background:linear-gradient(180deg,#08050d12,#09050d38 35%,#09050d65 72%,#09050d28),url(/NI-MBAYA/assets/nairobi-loading-background-DlpnkK2I.webp) center / cover,#100d18;font-family:Arial,sans-serif;text-align:center}.scene-loading__card{display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:22px;align-items:center;width:min(850px,86vw);box-sizing:border-box;padding:0 8px;margin-top:40px;filter:drop-shadow(0 3px 12px #0009)}.scene-loading__brand{position:relative;grid-column:1 / -1;display:block;padding:0 0 22px;color:#ffc51d;font:italic 900 clamp(70px,11vw,160px)/.95 "Arial Black",Arial,sans-serif;letter-spacing:-.025em;text-shadow:3px 6px 0 #160d04,0 1px 0 #ffe893}.scene-loading__brand:after{content:"";position:absolute;inset:auto 0 0;height:10px;background:#efb70b;clip-path:polygon(0 65%,18% 22%,72% 0,100% 40%,88% 62%,30% 70%,5% 100%)}.scene-loading h2{grid-column:1 / -1;margin:18px 0 22px;font-size:clamp(16px,2.1vw,25px);font-weight:800;letter-spacing:.23em;line-height:1.25;text-shadow:0 2px 5px #000}.scene-loading p{grid-column:1 / -1;margin:11px 0 0;color:#f0e9db;font-size:clamp(15px,2vw,23px);line-height:1.4;text-shadow:0 2px 5px #000}.scene-loading__spinner{grid-column:1;grid-row:3;box-sizing:border-box;width:62px;height:62px;border:6px solid #bfb8a43d;border-top-color:#ffce0b;border-right-color:#ffac0b;border-radius:50%;animation:scene-loading-spin .85s linear infinite}.scene-loading__track{grid-column:2;grid-row:3;position:relative;width:100%;height:35px;overflow:hidden;background:#e5b51c;clip-path:polygon(17px 0,calc(100% - 17px) 0,100% 50%,calc(100% - 17px) 100%,17px 100%,0 50%)}.scene-loading__track:before{content:"";position:absolute;inset:2px;background:linear-gradient(180deg,#252427,#151418);clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,16px 100%,0 50%)}.scene-loading__fill{position:absolute;top:3px;bottom:3px;left:3px;width:0;background:linear-gradient(110deg,#ffbc08,#ffcf0a 75%,#fff49b);box-shadow:0 0 18px #ffbc08aa;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);transition:width .3s ease}.scene-loading__track:after{content:"";position:absolute;top:3px;bottom:3px;left:-40%;width:40%;background:linear-gradient(90deg,transparent,#ffda3980,#fff0b7bb,transparent);animation:loading-travel 1.25s ease-in-out infinite}.scene-loading p.scene-loading__hint{margin-top:25px;color:#c4ad9f;font-size:clamp(10px,1.25vw,15px);letter-spacing:.22em;line-height:1.6;text-transform:uppercase}.scene-loading.is-ready .scene-loading__track:after{animation:none;opacity:0}@keyframes scene-loading-spin{to{transform:rotate(360deg)}}@keyframes loading-travel{to{transform:translate(350%)}}@media(max-height:480px){.scene-loading__card{width:min(760px,84vw);margin-top:16px;grid-template-columns:42px minmax(0,1fr);column-gap:16px}.scene-loading__brand{font-size:clamp(60px,11vw,115px);padding-bottom:12px}.scene-loading h2{margin:12px 0;font-size:clamp(12px,2vw,18px)}.scene-loading__spinner{width:42px;height:42px;border-width:4px}.scene-loading__track{height:28px}.scene-loading p{margin-top:8px;font-size:16px}.scene-loading p.scene-loading__hint{margin-top:14px;font-size:10px}}@media(max-width:480px)and (min-height:481px){.scene-loading__card{grid-template-columns:38px minmax(0,1fr);column-gap:12px}.scene-loading__brand{font-size:clamp(46px,13vw,64px)}.scene-loading__spinner{width:38px;height:38px;border-width:4px}.scene-loading__track{height:28px}.scene-loading h2{letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){.scene-loading__spinner{animation:none}.scene-loading__track:after{animation:none;left:30%}.scene-loading__fill{transition:none}}
