/* Wzrdz Signal theme v1. Canonical source: wzrdz-infra/theme. */
:root {
  --wzrdz-bg: #050505;
  --wzrdz-fg: #f5f5f5;
  --wzrdz-muted: #a3a4ab;
  --wzrdz-soft: #c5c7d0;
  --wzrdz-blue: #4169e1;
  --wzrdz-yellow: #ffe600;
  --wzrdz-panel: rgba(8, 9, 13, .72);
  --wzrdz-panel-opaque: rgba(8, 9, 13, .92);
  --wzrdz-border: rgba(65, 105, 225, .42);
  --wzrdz-heading: rgba(65, 105, 225, .38);
  --wzrdz-input-bg: #101115;
  --wzrdz-input-border: rgba(65, 105, 225, .6);
  --wzrdz-hover: rgba(65, 105, 225, .15);
  --wzrdz-hover-border: #6688ef;
  --wzrdz-font-ui: ui-monospace, SFMono-Regular, Consolas, monospace;
  --wzrdz-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --wzrdz-flight-duration: 60s;
  --wzrdz-hyperspace-duration: 2.8s;
}
.wzrdz-button {
  appearance: none;
  background: transparent;
  color: var(--wzrdz-fg);
  border: 1px solid var(--wzrdz-blue);
  border-radius: 3px;
  padding: 14px 20px;
  font: 400 14px var(--wzrdz-font-ui);
  cursor: pointer;
}
.wzrdz-button:hover { background: var(--wzrdz-hover); border-color: var(--wzrdz-hover-border); }
.wzrdz-button:disabled { opacity: .6; cursor: wait; }
.wzrdz-button:focus-visible,.wzrdz-motion-toggle:focus-visible { outline: 2px solid var(--wzrdz-yellow); outline-offset: 4px; }
.wzrdz-motion-toggle { appearance: none; background: none; color: var(--wzrdz-muted); border: 0; border-radius: 0; padding: 0; font: 10px var(--wzrdz-font-ui); cursor: pointer; }
.wzrdz-motion-toggle:hover { text-decoration: underline; text-underline-offset: 3px; }
.wzrdz-stars {
  position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
  background: var(--wzrdz-bg) url("stars.svg") center/1200px 800px;
}
.wzrdz-stars[data-fixed="true"] { position: fixed; }
.wzrdz-stars > div {
  position: absolute; inset: -15%; background: url("stars.svg") center/1200px 800px; opacity: 0;
}
@keyframes wzrdz-flight {
  0% { transform: scale(.7); opacity: 0; }
  20% { opacity: .55; }
  75% { opacity: .4; }
  100% { transform: scale(1.4); opacity: 0; }
}
@keyframes wzrdz-hyperspace {
  0% { transform: scale(.65); opacity: 0; }
  20% { opacity: .7; }
  75% { opacity: .45; }
  100% { transform: scale(1.65); opacity: 0; }
}
@media(min-width:769px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .wzrdz-stars:not([data-paused="true"]) { background-image: none; }
  .wzrdz-stars:not([data-paused="true"]) > div { animation: wzrdz-flight var(--wzrdz-flight-duration) linear infinite; animation-delay: -15s; will-change: transform,opacity; }
  .wzrdz-stars:not([data-paused="true"]) > div + div { animation-delay: -45s; transform-origin: 48% 46%; }
  .wzrdz-stars[data-fast="true"]:not([data-paused="true"]) > div { background: url("hyperspace.svg") center/100% 100% no-repeat; animation-name: wzrdz-hyperspace; animation-duration: var(--wzrdz-hyperspace-duration); animation-delay: -.7s; transform-origin: 50% 50%; }
  .wzrdz-stars[data-fast="true"]:not([data-paused="true"]) > div + div { animation-delay: -2.1s; transform-origin: 50% 50%; }
}

/* Persistent Scry backdrop. The existing two-child .wzrdz-stars remains compatible. */
.wzrdz-scene { position: relative; isolation: isolate; height: 100%; min-height: 100%; background: var(--wzrdz-bg); --scry-scene-bg: transparent; }
.wzrdz-sky { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: var(--wzrdz-bg) url("stars.svg") center/1200px 800px; }
.wzrdz-slow,.wzrdz-rays { position:absolute; inset:0; opacity:0; }
.wzrdz-slow i { position:absolute; inset:-15%; background:url("stars.svg") center/1200px 800px; opacity:0; }
.wzrdz-ray { position:absolute; left:50%; top:50%; width:64px; height:1px; transform-origin:left center; background:linear-gradient(to right, transparent, rgba(245,245,245,.8)); opacity:0; }
@keyframes wzrdz-ray {
  0% { transform:translate(calc(var(--ray-x) * .015),calc(var(--ray-y) * .015)) rotate(var(--ray-angle)) scaleX(.015); opacity:0; }
  12% { opacity:.3; }
  65% { opacity:.75; }
  96% { opacity:.65; }
  100% { transform:translate(var(--ray-x),var(--ray-y)) rotate(var(--ray-angle)) scaleX(1); opacity:0; }
}
@media(min-width:769px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .wzrdz-sky[data-moving="true"] { background-image:none; }
  .wzrdz-sky[data-moving="true"] > [data-active="true"] { opacity:1; }
  .wzrdz-sky[data-moving="true"] .wzrdz-slow[data-active="true"] i { animation:wzrdz-flight var(--wzrdz-flight-duration) linear infinite; animation-delay:-15s; }
  .wzrdz-sky[data-moving="true"] .wzrdz-slow[data-active="true"] i+i { animation-delay:-45s; transform-origin:48% 46%; }
  .wzrdz-sky[data-moving="true"] .wzrdz-rays[data-active="true"] .wzrdz-ray { animation:wzrdz-ray var(--ray-duration) cubic-bezier(.45,0,.85,.7) infinite; animation-delay:var(--ray-delay); }
  .wzrdz-sky[data-moving="true"][data-settling="true"] .wzrdz-slow { animation:wzrdz-arrival 650ms ease-out; }
}
@keyframes wzrdz-arrival { from { opacity:0; } to { opacity:1; } }
@media(min-width:769px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .wzrdz-scene:has(.wzrdz-sky[data-moving="true"]) [data-scry-reveal] { animation:wzrdz-content-arrival 180ms ease-out; }
}
@keyframes wzrdz-content-arrival { from { opacity:.65; } to { opacity:1; } }

/* Blend arrivals: the loaded texture is continuous underneath transient streaks. */
.wzrdz-sky[data-blend="true"][data-settling="true"] .wzrdz-slow { animation:none; }
.wzrdz-stars[data-wzrdz-starfield][hidden] { display:none; }

/* Central Icon System StarLines: shared navigation, without underlines. */
.wzrdz-link,.wzrdz-link:hover,.wzrdz-link:focus-visible{text-decoration:none}
.wzrdz-link-icon{color:var(--wzrdz-muted,#a3a4ab);display:inline-block;width:1em;height:1em;vertical-align:-.12em;opacity:.8}
.wzrdz-link-star{fill:var(--wzrdz-yellow,#ffe600);fill-opacity:0}
.wzrdz-link:is(:hover,:focus-visible) .wzrdz-link-star{fill-opacity:1}
.wzrdz-link:is(:hover,:focus-visible),.wzrdz-link:is(:hover,:focus-visible) .wzrdz-link-letter{color:var(--wzrdz-yellow,#ffe600)}
.wzrdz-link:is(:hover,:focus-visible) :is(.wzrdz-link-icon,.wzrdz-brand-orb){color:var(--wzrdz-yellow,#ffe600);opacity:1}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .wzrdz-link[data-wzrdz-link-ready]:is(:hover,:focus-visible){color:var(--wzrdz-link-rest,inherit)}
 .wzrdz-link-letter{transition:color 90ms linear}
 .wzrdz-link:is(:hover,:focus-visible) .wzrdz-link-star{transition:fill-opacity 180ms linear;transition-delay:calc(var(--link-full-delay,1000ms) + 180ms)}
 .wzrdz-link-icon,.wzrdz-brand-orb{transition:color 180ms linear,opacity 180ms linear}
 .wzrdz-link:is(:hover,:focus-visible) .wzrdz-link-letter{transition-delay:calc(220ms + var(--letter) * 70ms)}
 .wzrdz-link:is(:hover,:focus-visible) :is(.wzrdz-link-icon,.wzrdz-brand-orb){transition-delay:var(--link-full-delay,1000ms)}
 .wzrdz-link:is(:hover,:focus-visible) .wzrdz-link-trail{animation:wzrdz-link-shimmer 1800ms ease-in-out infinite;animation-delay:calc(var(--link-full-delay,1000ms) + 180ms + var(--trail) * 600ms)}
}
@keyframes wzrdz-link-shimmer{0%,100%{stroke:var(--wzrdz-yellow,#ffe600)}35%{stroke:var(--wzrdz-fg,#f5f5f5)}65%,80%{stroke:#050505}}

/* Shared server-rendered masthead. Landing supplies the optional navigation slot. */
.wzrdz-header{width:min(100% - 96px,1040px);margin-inline:auto;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--wzrdz-blue,#4169e1);font-family:var(--wzrdz-font-ui,monospace)}
.page>.wzrdz-header{width:100%}
.wzrdz-header .account-nav{display:flex;align-items:center;justify-content:flex-end;min-width:0;font:11px var(--wzrdz-font-ui,monospace);color:var(--wzrdz-muted,#a3a4ab)}
.account-nav a{min-width:0;overflow-wrap:anywhere;text-align:right}
.account-nav a[hidden]{display:none}
a.wzrdz-brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:400;letter-spacing:-1px;line-height:normal;text-decoration:none;color:var(--wzrdz-fg,#f5f5f5)}
.wzrdz-brand-orb{display:block;flex:none;width:43px;height:43px;--orb-reflection:var(--wzrdz-bg,#050505)}
.wzrdz-brand-domain{color:var(--wzrdz-muted,#a3a4ab)}
@media(max-width:768px){.wzrdz-header{width:calc(100% - 40px);padding:25px 0}a.wzrdz-brand{font-size:20px}.wzrdz-brand-orb{width:35px;height:35px}}
