@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7f7f7;background:#000;font-synthesis:none;--white: #f7f7f7;--soft: #b7b7b7;--muted: #737373;--line: #292929}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;background:#000}body{min-width:320px}button{font:inherit;color:inherit}.app{position:relative;min-height:100svh;max-width:520px;margin:auto;padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:#000}.topbar{height:52px;display:flex;align-items:center}.wordmark,.back,.text-button{border:0;background:none}.wordmark{font-size:15px;padding:0}.wordmark strong{font-weight:650}.wordmark span{font-weight:300;color:#aaa}.error{position:relative;z-index:5;margin:10px 0;padding:11px 14px;border:1px solid #555;border-radius:12px;color:#ccc;font-size:12px}.home{min-height:calc(100svh - max(44px,env(safe-area-inset-top)) - max(48px,env(safe-area-inset-bottom)));display:grid;grid-template-rows:auto minmax(280px,1fr) auto;position:relative}.hero-title{padding:74px 2px 0}.hero-title h1{margin:0;font-size:clamp(48px,14vw,72px);line-height:.91;letter-spacing:-4px;display:flex;flex-direction:column}.hero-title h1 strong{font-weight:650}.hero-title h1 span{font-weight:300;color:#d0d0d0}.hero-title p,.kicker{font-size:9px;letter-spacing:5px;color:#858585;margin:25px 2px 0;text-transform:uppercase}.space-object{position:relative;display:grid;place-items:center;min-height:300px}.black-hole{position:relative;isolation:isolate;width:min(72vw,350px);aspect-ratio:1;border-radius:50%;background:#000;will-change:transform;animation:idle-black-hole-breathe 5.2s ease-in-out infinite}.black-hole:before{content:"";position:absolute;z-index:-1;inset:-4.5%;border-radius:inherit;background:radial-gradient(circle,transparent 64%,rgba(255,255,255,.2) 70%,rgba(255,255,255,.06) 77%,transparent 83%);filter:blur(6px);will-change:opacity,transform;animation:idle-black-hole-halo 5.2s ease-in-out infinite}.black-hole:after{content:"";position:absolute;z-index:2;inset:-1px;padding:1px;border-radius:inherit;background:conic-gradient(from 24deg,#ffffff38,#fffffffa 13%,#ffffff75 28%,#ffffffc2 56%,#ffffff4d 79%,#ffffff38);filter:drop-shadow(0 0 4px rgba(255,255,255,.46));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;will-change:opacity,transform;animation:idle-black-hole-highlight 17s linear infinite,idle-black-hole-rim 5.2s ease-in-out infinite}.black-hole-core{position:absolute;z-index:1;inset:1px;border-radius:inherit;background:radial-gradient(circle at 42% 35%,#080808 0,#020202 36%,#000 68%);box-shadow:inset -8px -10px 24px #ffffff05}.space-object.is-paused .black-hole,.space-object.is-paused .black-hole:before,.space-object.is-paused .black-hole:after{animation-play-state:paused}@keyframes idle-black-hole-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes idle-black-hole-halo{0%,to{opacity:.62;transform:scale(1)}50%{opacity:.88;transform:scale(1.018)}}@keyframes idle-black-hole-highlight{to{transform:rotate(1turn)}}@keyframes idle-black-hole-rim{0%,to{opacity:.72}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.black-hole,.black-hole:before,.black-hole:after{animation:none;transform:none}}.star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 5px #fff;opacity:.72}.star-a{left:8%;top:25%}.star-b{right:6%;top:37%;opacity:.5}.star-c{left:15%;bottom:14%;opacity:.4}.home-actions{padding:0 5% max(5vh,20px);text-align:center}.primary,.secondary{min-height:58px;border-radius:999px;padding:0 24px;font-weight:450;font-size:16px;transition:transform .12s ease,opacity .12s ease}.primary{width:100%;border:1px solid #ededed;background:#050505;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px}.primary:active,.secondary:active{transform:scale(.985);opacity:.7}.play{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #fff}.content{padding:42px 0}.back{padding:8px 0;color:#8a8a8a;font-size:12px}.content h2,.centered h2,.benchmark-progress h2{font-size:clamp(38px,11vw,58px);letter-spacing:-2.5px;font-weight:450;margin:16px 0 44px}.quiet{font-size:11px;color:#777}.benchmark-progress,.centered{min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center;text-align:center}.benchmark-progress h2{margin:18px 0}.percentage{font-weight:300;font-size:64px;letter-spacing:-4px}.progress-track{height:2px;background:#222;margin:42px auto 18px;width:86%}.progress-track i{display:block;height:100%;background:#fff;transition:width .12s linear}.text-button{color:#898989;padding:14px;font-size:12px}.centered{align-items:center}.centered .primary{margin-top:28px}.compact{min-height:54px}.result{text-align:center;padding:9vh 0 30px}.result .kicker{margin:0}.score{font-size:clamp(62px,18vw,88px);font-weight:300;letter-spacing:-6px;line-height:1;margin:22px 0}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.secondary{border:1px solid #3b3b3b;background:#111}.category-scores{width:min(100%,340px);margin:42px auto 0;display:grid;gap:12px;color:#8c8c8c;font-size:11px;letter-spacing:1.5px;text-align:left}.category-scores span{display:flex;justify-content:space-between}.category-scores b{font-weight:400;color:#d8d8d8;font-variant-numeric:tabular-nums}.debug-export{width:100%;margin-bottom:12px}.content pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #222;border-radius:12px;background:#080808;padding:14px;color:#aaa;font:10px/1.55 ui-monospace,monospace}@media(max-height:720px){.hero-title{padding-top:44px}.black-hole{width:min(52vw,250px)}.home-actions{padding-bottom:2vh}.space-object{min-height:230px}}@media(min-width:600px){.app{border-left:1px solid #111;border-right:1px solid #111}}.benchmark-progress{position:relative;overflow:hidden}.benchmark-progress>*:not(.running-black-hole){position:relative;z-index:2}.running-black-hole{position:absolute!important;z-index:0!important;left:50%;top:43%;width:min(58vw,250px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#000;border:1px solid rgba(255,255,255,.42);box-shadow:0 0 12px #ffffff3d,0 0 38px #ffffff14;animation:benchmark-pulse 2.4s ease-in-out infinite;transition:opacity .3s ease}.benchmark-canvas{position:fixed;z-index:1;left:50%;top:50%;width:min(90vw,410px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:1;pointer-events:none;animation:benchmark-scene-enter .45s ease-out both}.stage-gpu .benchmark-progress{justify-content:flex-start;padding-top:max(38px,7vh)}.stage-gpu .benchmark-progress .kicker{margin:0}.stage-gpu .benchmark-progress .percentage{margin-top:12px;font-size:24px;letter-spacing:-1px}.stage-gpu .benchmark-progress .progress-track{width:72%;margin:15px auto 0}.stage-gpu .benchmark-progress .quiet{margin-top:auto}.stage-gpu .running-black-hole{opacity:0}@keyframes benchmark-pulse{50%{opacity:.72;transform:translate(-50%,-50%) scale(.985)}}@keyframes benchmark-scene-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.975)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.running-black-hole,.benchmark-canvas{animation:none}}.stage-gpu.screen-running{max-width:none;min-height:100svh;padding:0}.stage-gpu .benchmark-progress{position:fixed;z-index:2;inset:0;min-height:100svh;padding:0;display:block;overflow:hidden;pointer-events:none}.stage-gpu .benchmark-progress .kicker{position:fixed;z-index:3;top:max(26px,calc(env(safe-area-inset-top) + 14px));left:0;width:100%;margin:0;text-align:center;color:#d7d7d7;font-size:9px;letter-spacing:4px}.stage-gpu .benchmark-progress .percentage{position:fixed;z-index:3;right:max(22px,calc(env(safe-area-inset-right) + 16px));bottom:max(25px,calc(env(safe-area-inset-bottom) + 14px));margin:0;color:#aaa;font-size:11px;font-weight:400;letter-spacing:0}.stage-gpu .benchmark-progress .progress-track{position:fixed;z-index:3;left:max(22px,calc(env(safe-area-inset-left) + 16px));right:max(22px,calc(env(safe-area-inset-right) + 16px));bottom:max(49px,calc(env(safe-area-inset-bottom) + 38px));width:auto;height:1px;margin:0;background:#ffffff29}.stage-gpu .benchmark-progress .progress-track i{background:#ffffffe0;transition:width .16s linear}.stage-gpu .benchmark-progress .quiet,.stage-gpu .benchmark-progress .text-button,.stage-gpu .running-black-hole{display:none}.benchmark-canvas{inset:0;width:100vw;height:100svh;object-fit:cover;transform:none;background:#000;animation:benchmark-cinematic-enter .55s ease-out both}@keyframes benchmark-cinematic-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.benchmark-canvas{animation:none}}.cinematic-running.screen-running{max-width:none;min-height:100svh;padding:0}.cinematic-overlay{position:fixed;z-index:3;inset:0;pointer-events:none}.cinematic-overlay>p{position:absolute;top:max(25px,calc(env(safe-area-inset-top) + 13px));left:0;width:100%;margin:0;text-align:center;color:#ffffff80;font-size:7px;font-weight:500;letter-spacing:4px}.cinematic-overlay>small{position:absolute;top:max(45px,calc(env(safe-area-inset-top) + 33px));left:0;width:100%;text-align:center;color:#ffffff4d;font:7px/1.4 ui-monospace,monospace;letter-spacing:1px}.cinematic-progress{position:absolute;left:39%;right:39%;bottom:max(20px,calc(env(safe-area-inset-bottom) + 10px));height:1px;background:#ffffff09}.cinematic-progress i{display:block;height:100%;background:#ffffff38;transition:width .12s linear}.cinematic-overlay>button{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));width:38px;height:38px;border:0;background:none;padding:0;color:#ffffff24;font-size:13px;font-weight:200;pointer-events:auto}.cinematic-overlay.is-debug .cinematic-progress{left:max(20px,calc(env(safe-area-inset-left) + 14px));right:max(20px,calc(env(safe-area-inset-right) + 14px));background:#ffffff14}.cinematic-overlay.is-debug .cinematic-progress i{background:#ffffff7a}.screen-result .result{animation:result-reveal .48s ease-out both}@keyframes result-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.screen-result .result{animation:none}}:root{--app-safe-top: max( env(safe-area-inset-top, 0px), var(--tg-safe-area-inset-top, 0px), var(--tg-content-safe-area-inset-top, 0px) );--app-safe-right: max( env(safe-area-inset-right, 0px), var(--tg-safe-area-inset-right, 0px), var(--tg-content-safe-area-inset-right, 0px) );--app-safe-bottom: max( env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px), var(--tg-content-safe-area-inset-bottom, 0px) );--app-safe-left: max( env(safe-area-inset-left, 0px), var(--tg-safe-area-inset-left, 0px), var(--tg-content-safe-area-inset-left, 0px) )}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;overscroll-behavior:none}html{height:100dvh}body{position:fixed;inset:0;height:100dvh;height:var(--tg-viewport-height, 100dvh);touch-action:manipulation}#root,.app{height:100dvh;height:var(--tg-viewport-height, 100dvh);max-height:100dvh;overflow:hidden}.app{width:100%;min-height:100svh;padding:max(20px,var(--app-safe-top)) max(22px,var(--app-safe-right)) max(24px,var(--app-safe-bottom)) max(22px,var(--app-safe-left))}.topbar{justify-content:flex-start}.home{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}.space-object{min-height:0}.black-hole{width:min(72vw,40dvh,350px)}.screen-interrupted,.screen-result,.screen-rawDebug{display:grid;grid-template-rows:52px minmax(0,1fr)}.centered,.content,.result{min-height:0;overflow:hidden}.screen-interrupted .centered{height:100%}.interrupted-screen{padding:0 4% 8%}.interrupted-screen h2{margin:0 0 42px;line-height:.94}.interrupted-screen .primary{max-width:300px}.interrupted-debug{max-width:100%;margin:-20px 0 20px;color:#777;white-space:pre-wrap;overflow-wrap:anywhere;font:9px/1.4 ui-monospace,monospace}@media(max-height:720px){.result{padding:2dvh 0 0}.score{margin:12px 0;font-size:clamp(54px,16vw,72px)}.category-scores{margin-top:26px}.interrupted-screen h2{margin-bottom:28px}}
