/* Website identity: src/style/theme.js and the Varkath home-page hero. */
@font-face{font-family:Cinzel;src:url('/brand-cinzel.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/brand-lato.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Metropolis;src:url('/brand-metropolis.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{
  color-scheme:dark;font-family:Lato,system-ui,sans-serif;color:#e9f0f5;background:#020303;
  --brand:#23afdc;--brand-bright:#2ec7f8;--brand-light:#00d3ff;
  --surface:#09121d;--muted:#a4b6c4;--line:#294555;--error:#ffa2ae;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
button,input,select{font:inherit}
button,select,summary{cursor:pointer}
button,.quiet{
  min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:8px;
  background:#0c1925;color:#e9f0f5;font-family:Metropolis,Lato,sans-serif;font-size:13px;
  text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;
}
button:hover,.quiet:hover{background:#112b3b;border-color:var(--brand)}
button:active{background:#081018}
button:disabled{cursor:wait;opacity:.6}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--brand-bright);outline-offset:3px;
}
.primary,#launch,#install-action,.text-entry button[type=submit]{
  border-color:var(--brand);background:linear-gradient(145deg,#0d6887,#084158);color:#fff;
  box-shadow:inset 0 1px 0 #8be6ff18,0 4px 18px #00aaf612;
}
.primary:hover,#launch:hover,#install-action:hover,.text-entry button[type=submit]:hover{
  border-color:var(--brand-light);background:linear-gradient(145deg,#107492,#0c526b);box-shadow:0 4px 22px #00aaf625;
}
#launch-panel{
  position:absolute;inset:0;z-index:1;display:grid;place-items:center;overflow:auto;
  padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
  text-align:center;background:#060c14;
  background-image:linear-gradient(180deg,#03080e40,#02060ce6),url('/brand-background.png');
  background-size:cover;background-position:center;
}
.launch-content{width:min(100%,480px);margin:auto;position:relative;z-index:1}
.launch-mark{position:relative;width:min(100%,400px);margin:0 auto 16px;animation:logo-breathe 7s ease-in-out infinite}
.launch-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 0 26px #23afdc30)}
.launch-eyebrow{margin:0 0 32px;color:var(--brand-bright);font:11px/1.5 Metropolis,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.launch-status{padding:26px 20px;border-top:1px solid #23afdc70;border-bottom:1px solid #23afdc26;background:linear-gradient(90deg,#06101a00,#06101ab3 20%,#06101ab3 80%,#06101a00)}
#launch-title{margin:0 0 12px;font:400 clamp(20px,2.4vw,26px)/1.4 Cinzel,Georgia,serif;color:#f2f7fa;letter-spacing:.035em}
#launch-detail{margin:0 auto;max-width:400px;min-height:24px;font-size:15px;line-height:1.6;color:#b7c9d6;overflow-wrap:anywhere}
.launch-progress{display:flex;align-items:center;gap:14px;margin:22px auto 0;max-width:340px}
.launch-progress:has(progress[hidden]){display:none}
progress{appearance:none;-webkit-appearance:none;display:block;flex:1;min-width:0;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:#1c3342;color:var(--brand-bright)}
progress::-webkit-progress-bar{border-radius:4px;background:#1c3342}
progress::-webkit-progress-value{border-radius:4px;background:linear-gradient(90deg,#1ea3ce,#00d3ff);transition:width .25s}
progress::-moz-progress-bar{border-radius:4px;background:linear-gradient(90deg,#1ea3ce,#00d3ff)}
.progress-value{min-width:36px;color:var(--brand-bright);font:12px Metropolis,sans-serif;font-variant-numeric:tabular-nums;text-align:right}
#launch{margin-top:22px;min-width:170px}
.launch-hints{margin:22px auto 0;max-width:360px;color:var(--muted);font-size:12px;line-height:1.75}
.launch-hints p{margin:0}
.touch-hint{display:none}
@media(pointer:coarse){.desktop-hint{display:none}.touch-hint{display:block}}
kbd{font:inherit;color:#dcebf3}
#launch-panel[data-phase=error] #launch-title{color:var(--error)}
#launch-panel[data-phase=error] .launch-status{border-top-color:#f5576c80}
.text-entry{
  position:absolute;z-index:4;display:flex;align-items:center;gap:8px;
  bottom:calc(max(env(safe-area-inset-bottom,0px),var(--keyboard-offset,0px)) + 12px);
  left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));
  width:auto;max-width:800px;margin:0 auto;padding:10px;background:#08121df5;
  border:1px solid #23afdc80;border-radius:12px;box-shadow:0 8px 32px #0009,inset 0 1px 0 #a8dfff0a;
}
.text-entry input{
  flex:1;min-width:0;min-height:44px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;
  background:#030a12;color:#f2f7fa;caret-color:var(--brand-bright);font:16px/1.4 Lato,system-ui,sans-serif;
}
.text-entry input::placeholder{color:#94aaba;opacity:1}
.text-entry input:focus{border-color:var(--brand);background:#071320}
.text-entry input::selection{background:#126483;color:#fff}
.text-entry input:-webkit-autofill{-webkit-text-fill-color:#f2f7fa;caret-color:var(--brand-bright);box-shadow:inset 0 0 0 100px #071320}
.text-entry label,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.text-entry button{flex:none}
.install-prompt{
  position:absolute;z-index:5;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));
  width:min(380px,calc(100% - 32px));padding:22px;border:1px solid #23afdc70;border-radius:14px;
  background:linear-gradient(145deg,#0e2031fa,#060d16fa);box-shadow:0 16px 48px #000b;color:#b7c9d6;
}
.install-prompt h2{margin:0 0 10px;font:400 20px/1.4 Cinzel,Georgia,serif;color:#f2f7fa}
.install-prompt p{margin:0;font-size:14px;line-height:1.65}
.install-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
#install-never{grid-column:1 / -1;background:transparent;border-color:transparent;color:var(--muted);font-size:12px}
#install-never:hover{color:#e9f0f5;border-color:var(--line);background:#112b3b}
#suspended{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:#02070db3;color:#deedf5;pointer-events:none;font-size:14px}
@media(max-width:500px){
  .launch-mark{width:min(100%,300px)}.launch-eyebrow{margin-bottom:24px;font-size:10px}
  .launch-status{padding:22px 0}.launch-hints{max-width:280px}
  .text-entry{gap:6px;padding:8px;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(max(env(safe-area-inset-bottom,0px),var(--keyboard-offset,0px)) + 8px)}
  .text-entry button{padding:10px 12px;font-size:12px}
}
@media(max-height:540px) and (min-width:600px){
  #launch-panel{padding:20px 32px}.launch-content{max-width:760px;width:100%;display:grid;grid-template-columns:1fr 1.15fr;column-gap:40px;align-items:center}
  .launch-mark{grid-column:1;grid-row:1;width:min(100%,280px);margin:0 auto 20px}
  .launch-eyebrow{grid-column:1;grid-row:2;margin:0;font-size:9px}
  .launch-status{grid-column:2;grid-row:1 / 3;padding:20px 0}
  .launch-hints{grid-column:1 / -1;margin-top:24px;max-width:560px}
}
@media(prefers-reduced-motion:reduce){button,.quiet,progress::-webkit-progress-value{transition:none}}

/* Small compositor animations only; all effects are children of the loading panel. */
.launch-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict}
.launch-halo{position:absolute;left:50%;top:36%;width:min(90vw,740px);height:440px;margin:-220px 0 0 0;translate:-50% 0;background:radial-gradient(ellipse,#27cfff18,transparent 67%);animation:halo-breathe 9s ease-in-out infinite}
.launch-particles{position:absolute;inset:0}
.launch-particles i{position:absolute;left:var(--x);top:var(--y);width:var(--size,3px);height:var(--size,3px);border-radius:50%;background:#b8f2ff;box-shadow:0 0 9px 2px #37cbf880;opacity:0;animation:ember-rise var(--duration,12s) linear infinite;animation-delay:var(--delay,0s)}
.launch-particles i:nth-child(1){--x:12%;--y:88%;--duration:14s;--delay:-3s}
.launch-particles i:nth-child(2){--x:26%;--y:76%;--duration:11s;--delay:-8s;--size:2px}
.launch-particles i:nth-child(3){--x:38%;--y:92%;--duration:16s;--delay:-11s}
.launch-particles i:nth-child(4){--x:64%;--y:80%;--duration:13s;--delay:-5s;--size:2px}
.launch-particles i:nth-child(5){--x:82%;--y:91%;--duration:17s;--delay:-14s}
.launch-particles i:nth-child(6){--x:91%;--y:57%;--duration:12s;--delay:-7s;--size:2px}
.launch-particles i:nth-child(7){--x:8%;--y:49%;--duration:15s;--delay:-10s;--size:2px}
.launch-particles i:nth-child(8){--x:73%;--y:42%;--duration:13s;--delay:-2s}
.launch-particles i:nth-child(9){--x:19%;--y:27%;--duration:18s;--delay:-6s;--size:2px}
.launch-particles i:nth-child(10){--x:46%;--y:68%;--duration:16s;--delay:-13s;--size:2px}
.launch-particles i:nth-child(11){--x:57%;--y:36%;--duration:14s;--delay:-9s;--size:2px}
.launch-particles i:nth-child(12){--x:87%;--y:24%;--duration:19s;--delay:-15s;--size:2px}
.launch-flare{position:absolute;left:51.5%;top:73%;width:180px;height:72px;margin:-36px 0 0 -90px;pointer-events:none;background:radial-gradient(ellipse,#d5ffff50, #2bd6ff1a 24%,transparent 65%);animation:flare-breathe 6s ease-in-out infinite}
.launch-flare::before,.launch-flare::after{content:'';position:absolute;left:50%;top:50%;border-radius:50%;background:linear-gradient(90deg,transparent,#23cfff50 25%,#e4ffff 50%,#23cfff50 75%,transparent)}
.launch-flare::before{width:180px;height:2px;margin:-1px 0 0 -90px;box-shadow:0 0 9px #23afff55}
.launch-flare::after{width:2px;height:28px;margin:-14px 0 0 -1px;background:linear-gradient(0deg,transparent,#d4ffff,transparent)}
.launch-status{animation:status-arrive .65s ease-out both}
progress{box-shadow:0 0 14px #23cfff24}
@keyframes logo-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes halo-breathe{0%,100%{opacity:.4;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
@keyframes flare-breathe{0%,100%{opacity:.35;transform:scaleX(.78)}50%{opacity:.85;transform:scaleX(1.08)}}
@keyframes ember-rise{0%{opacity:0;transform:translate3d(0,24px,0)}20%{opacity:.6}75%{opacity:.3}100%{opacity:0;transform:translate3d(32px,-180px,0)}}
@keyframes status-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
html[data-page-hidden=true] #launch-panel *,#launch-panel[data-phase=error] *{animation-play-state:paused}
@media(pointer:coarse){.launch-particles i:nth-child(n+9){display:none}}
@media(prefers-reduced-motion:reduce){
  #launch-panel *{animation:none!important}
  .launch-particles{display:none}.launch-flare{opacity:.45}.launch-halo{opacity:.6}
}
