@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@400;500;600;700;800&display=swap');

:root{--bg:#06070A;--text:#F4F7FC;--muted:#8A96AA;--purple:#9B6CFF;--purple-soft:#C8B6FF}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;background:var(--bg);color:var(--text);overflow:hidden}
body{font-family:Geist,Arial,sans-serif}
.app-shell{position:fixed;inset:0;background:var(--bg);isolation:isolate}
.app-frame{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;background:var(--bg);opacity:0;visibility:hidden;filter:blur(10px);transform:scale(1.008);pointer-events:none;transition:opacity .5s ease,filter .7s ease,transform .7s ease,visibility 0s linear .7s}
.app-frame.is-visible{opacity:1;visibility:visible;filter:blur(0);transform:scale(1);pointer-events:auto;transition:opacity .5s ease,filter .7s ease,transform .7s ease,visibility 0s}
.app-loader{position:absolute;inset:0;z-index:2;display:grid;place-items:center;overflow:hidden;background:var(--bg);opacity:1;visibility:visible;transition:opacity .55s ease,visibility 0s linear 0s}
.app-loader.is-leaving{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}
.app-loader__grid{position:absolute;inset:0;background:linear-gradient(rgba(148,163,184,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.012) 1px,transparent 1px),radial-gradient(circle at 50% 45%,rgba(139,92,246,.08),transparent 36%),var(--bg);background-size:100% 72px,96px 100%,auto,auto}
.app-loader__scan{position:absolute;left:12%;right:12%;top:9%;height:1px;background:linear-gradient(90deg,transparent,rgba(155,108,255,.9),transparent);box-shadow:0 0 24px rgba(139,92,246,.34);animation:appScan 4.4s cubic-bezier(.22,.61,.36,1) infinite}
.app-loader__brand{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));color:rgba(248,250,252,.74);font:800 13px/1 Geist Mono,monospace;letter-spacing:-.04em;text-decoration:none}.app-loader__brand span{color:var(--purple-soft)}
.app-loader__content{position:relative;z-index:1;width:min(620px,88vw);text-align:center}
.app-loader__kicker{margin:0;color:rgba(200,182,255,.86);font:700 11px/1 Geist Mono,monospace;letter-spacing:.28em;text-transform:uppercase}
.app-loader h1{margin:28px 0 0;color:#F8FAFC;font-size:clamp(30px,5vw,58px);font-weight:780;letter-spacing:-.055em;line-height:1.02}
.app-loader__status{min-height:1.2em;margin:28px 0 0;color:rgba(148,163,184,.65);font:600 10px/1.4 Geist Mono,monospace;letter-spacing:.12em;text-transform:uppercase}
.app-loader__rail{width:min(360px,72vw);height:1px;margin:22px auto 0;background:rgba(148,163,184,.11);overflow:hidden}.app-loader__rail span{display:block;width:18%;height:100%;background:linear-gradient(90deg,rgba(155,108,255,.35),rgba(200,182,255,.95));box-shadow:0 0 15px rgba(139,92,246,.34);transition:width .65s cubic-bezier(.22,.61,.36,1)}
.app-loader__back{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:rgba(148,163,184,.46);font:600 9px/1 Geist Mono,monospace;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s ease}.app-loader__back:hover{color:var(--purple-soft)}
@keyframes appScan{0%{top:9%;opacity:.16}48%{opacity:.95}100%{top:91%;opacity:.22}}
@media(max-width:760px){.app-loader__scan{left:5%;right:5%}.app-loader__content{width:90vw}.app-loader h1{font-size:clamp(28px,10vw,44px)}.app-loader__kicker{font-size:9px}.app-loader__status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.app-frame,.app-loader,.app-loader__rail span{transition:none}.app-loader__scan{animation:none;top:50%}}

/* Edge-to-edge embedded app hardening. */
html, body, .app-shell {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: #06070A !important;
}
.app-frame {
  display: block;
  outline: 0;
  box-shadow: none;
  color-scheme: dark;
}
