/* aevion.ai — award-layer styles */
::selection { background: rgba(0,255,102,0.22); color: var(--aev-fg); }
html { scroll-behavior: smooth; }
body { scrollbar-width: thin; scrollbar-color: var(--aev-surface-4) var(--aev-surface-0); }
body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-thumb { background: var(--aev-surface-4); border-radius: 5px; }
body::-webkit-scrollbar-track { background: var(--aev-surface-0); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--aev-cyan); outline-offset: 3px; }

/* ---- scroll reveal (sections verify themselves into view) ---- */
[data-ledger] { opacity: 0; transform: translateY(26px);
  transition: opacity 800ms var(--aev-ease), transform 800ms var(--aev-ease); }
[data-ledger].revealed { opacity: 1; transform: none; }

/* ---- boot sequence ---- */
.boot { position: fixed; inset: 0; z-index: 200; background: var(--aev-surface-0);
  background-image: var(--aev-glow-wash); display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: opacity 380ms var(--aev-ease); }
.boot[data-leaving="true"] { opacity: 0; }
.boot-box { font-family: var(--aev-font-mono); font-size: 12px; line-height: 1.9;
  color: var(--aev-fg-muted); min-width: min(340px, 80vw); }
.boot-line { animation: boot-in 160ms var(--aev-ease); }
.boot-line:first-child { color: var(--aev-green); letter-spacing: 0.18em; }
.boot-line:last-child:nth-child(5) { color: var(--aev-fg); letter-spacing: 0.08em; }
.boot-caret { display: inline-block; width: 9px; height: 14px; background: var(--aev-green);
  vertical-align: middle; animation: boot-blink 900ms steps(1) infinite; }
@keyframes boot-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes boot-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

/* ---- receipt tape ---- */
.rticker { overflow: hidden; margin-top: 52px; padding: 11px 0;
  border-top: 1px solid var(--aev-ghost); border-bottom: 1px solid var(--aev-ghost);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.rticker-track { display: flex; gap: 56px; width: max-content;
  animation: rticker 46s linear infinite; }
.rticker-track span { font-family: var(--aev-font-mono); font-size: 10.5px;
  letter-spacing: 0.08em; color: var(--aev-fg-dim); white-space: nowrap; }
@keyframes rticker { to { transform: translateX(-50%); } }

/* ---- session ledger HUD ---- */
.hud { position: fixed; left: 20px; bottom: 20px; z-index: 60; display: flex; flex-direction: column-reverse; }
.hud-head { display: inline-flex; align-items: center; gap: 9px; cursor: pointer;
  font-family: var(--aev-font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--aev-fg-muted);
  background: rgba(13,13,15,0.72); backdrop-filter: blur(16px);
  border: 1px solid var(--aev-ghost); border-top-color: var(--aev-ghost-top);
  border-radius: var(--aev-r-full); padding: 9px 15px;
  transition: color var(--aev-fast), border-color var(--aev-fast); }
.hud-head:hover { color: var(--aev-fg); border-color: rgba(255,255,255,0.14); }
.hud-list { list-style: none; margin: 0 0 8px; padding: 13px 15px; display: flex; flex-direction: column; gap: 7px;
  background: rgba(13,13,15,0.85); backdrop-filter: blur(20px);
  border: 1px solid var(--aev-ghost); border-top-color: var(--aev-ghost-top);
  border-radius: var(--aev-r-md); box-shadow: var(--aev-shadow-float); }
.hud-list li { font-family: var(--aev-font-mono); font-size: 10px; letter-spacing: 0.05em; color: var(--aev-fg-dim); }
.hud-list li .aui-c-green { font-weight: 600; }
.hud-pending { color: var(--aev-fg-faint); font-style: normal; }
.hud-sealed { color: var(--aev-green); border-top: 1px solid var(--aev-ghost); padding-top: 7px; }
@media (max-width: 980px) { .hud { display: none; } }

/* ---- proof city radar sweep ---- */
.city-map { position: relative; overflow: hidden; }
.city-sweep { position: absolute; inset: -45%; pointer-events: none; z-index: 0;
  background: conic-gradient(from 0deg, rgba(0,240,255,0.09), transparent 16%);
  animation: city-sweep 9s linear infinite; }
.district { position: relative; z-index: 1; }
@keyframes city-sweep { to { transform: rotate(360deg); } }

/* ---- staged verifier checks ---- */
.vstages { display: flex; gap: 16px; flex-wrap: wrap;
  font-family: var(--aev-font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--aev-fg-faint); }
.vstages span { transition: color var(--aev-fast); }
.vstages span[data-on="true"] { color: var(--aev-cyan); }
.vstages span[data-done="true"] { color: var(--aev-green); }

/* ---- reduced motion: everything resolves instantly ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-ledger] { opacity: 1; transform: none; transition: none; }
  .rticker-track { animation: none; }
  .city-sweep { display: none; }
  .boot { display: none; }
}
