/* KolTeK Systems — INQUIRIES / effects stylesheet
   Deferred visual layer: text-shadow stacks, glows, conic-gradient shines,
   backdrop-filter, blend modes, hover states. The critical inline CSS
   handles layout/positioning/base colors; this file makes them glow. */

/* @property registration enables compositor-thread interpolation of the
   --glow-t custom property in letterGlow. Without it, the property would
   flip discretely on each keyframe stop. */
@property --glow-t {
  syntax: '<number>';
  inherits: false;
  initial-value: 0;
}

:root {
  --shadow-dark-halo:
    0 0 2px  rgba(var(--ink), 0.95),
    0 0 4px  rgba(var(--ink), 0.90),
    0 0 7px  rgba(var(--ink), 0.70),
    0 0 10px rgba(var(--ink), 0.40);
  --halo-tight:
    0 0 1px  rgba(var(--ink), 1),
    0 0 3px  rgba(var(--ink), 0.95),
    0 0 6px  rgba(var(--ink), 0.85),
    0 0 10px rgba(var(--ink), 0.5);
  --glow-sm:
    0 0 1px  rgba(var(--ink), 0.9),
    0 0 3px  rgba(var(--ink), 0.7),
    0 0 1px  rgba(200,235,255, 0.85),
    0 0 6px  rgba(140,210,255, 0.55),
    0 0 14px rgba(80,170,240, 0.3);
  --glow-md:
    0 0 1px  rgba(var(--ink), 0.95),
    0 0 3px  rgba(var(--ink), 0.85),
    0 0 6px  rgba(var(--ink), 0.55),
    0 0 1px  rgba(230,245,255, 0.9),
    0 0 5px  rgba(160,220,255, 0.65),
    0 0 14px rgba(100,185,248, 0.4),
    0 0 32px rgba(60,140,220, 0.18);
  --glow-lg:
    0 0 2px  rgba(var(--ink), 1),
    0 0 5px  rgba(var(--ink), 0.90),
    0 0 10px rgba(var(--ink), 0.6),
    0 0 18px rgba(var(--ink), 0.3),
    0 0 0px  rgba(240,250,255, 1.0),
    0 0 5px  rgba(200,235,255, 0.9),
    0 0 18px rgba(120,200,255, 0.7),
    0 0 42px rgba(70,155,235, 0.4),
    0 0 80px rgba(40,120,200, 0.18),
    0 0 130px rgba(20,90,170, 0.06);
  --noise-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}

.vignette {
  position: fixed; inset: 0; z-index: var(--z-vignette); pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 0%, transparent 30%, rgba(1,4,10, 0.06) 48%, rgba(1,4,10, 0.22) 62%, rgba(1,4,10, 0.45) 78%, rgba(1,4,10, 0.72) 92%, rgba(1,4,10, 0.85) 100%);
  opacity: 0; contain: layout paint;
  animation: introVignetteFade 0.8s var(--ease-smooth) 1.05s forwards;
}
@keyframes introVignetteFade { from { opacity: 0; } to { opacity: 1; } }

.scanlines {
  position: fixed; inset: 0; z-index: var(--z-scanlines); pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 2px, rgba(0,0,0, 0.035) 2px, rgba(0,0,0, 0.035) 4px);
  opacity: 0; contain: layout paint;
  animation: introScanlinesFade 0.8s var(--ease-smooth) 1.15s forwards;
}
@keyframes introScanlinesFade { from { opacity: 0; } to { opacity: 0.35; } }

/* Backdrop-filter gated behind body.effects-ready so the GPU-heavy
   compositor work only kicks in after the first styled frame has been
   committed (set by double-rAF in the inline boot). */
.hud-backdrop-top {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-hud-back);
  height: clamp(80px, 16dvh, 130px); pointer-events: none;
  background: linear-gradient(180deg, rgba(2,8,16, 0.95) 0%, rgba(2,8,16, 0.82) 25%, rgba(2,8,16, 0.55) 50%, rgba(2,8,16, 0.18) 75%, transparent 100%);
  opacity: 0; contain: layout paint style;
  animation: introVignetteFade 0.7s var(--ease-smooth) 1.10s forwards;
}
.hud-backdrop-top::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 90px;
  -webkit-mask-image: linear-gradient(180deg, black 0%, black 40%, transparent 100%);
  mask-image: linear-gradient(180deg, black 0%, black 40%, transparent 100%);
  pointer-events: none; will-change: transform;
}
body.effects-ready .hud-backdrop-top::before {
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.hud-backdrop-bottom {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: var(--z-hud-back);
  height: 100px; pointer-events: none;
  background: linear-gradient(0deg, rgba(2,8,16, 0.85) 0%, rgba(2,8,16, 0.55) 35%, rgba(2,8,16, 0.15) 70%, transparent 100%);
  opacity: 0; contain: layout paint style;
  animation: introVignetteFade 0.7s var(--ease-smooth) 1.10s forwards;
}
.hud-backdrop-bottom::before {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 55px;
  -webkit-mask-image: linear-gradient(0deg, black 0%, black 30%, transparent 100%);
  mask-image: linear-gradient(0deg, black 0%, black 30%, transparent 100%);
  pointer-events: none; will-change: transform;
}
body.effects-ready .hud-backdrop-bottom::before {
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}

#corner-logo {
  text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.95), 0 0 6px rgba(var(--ink),0.85), 0 0 10px rgba(var(--ink),0.55), 0 0 1px rgba(255,255,255,0.9), 0 0 4px rgba(200,235,255,0.7), 0 0 14px rgba(120,195,255,0.5), 0 0 32px rgba(60,140,220,0.2);
}
#corner-logo::before { box-shadow: 0 0 8px rgba(var(--ch-accent),0.45), -1px 0 14px rgba(60,140,220,0.2); }
#corner-logo .logo-sub {
  text-shadow: var(--halo-tight), 0 0 3px rgba(120,200,255,0.55), 0 0 12px rgba(60,140,220,0.3);
}
#corner-sys {
  text-shadow: var(--halo-tight), 0 0 1px rgba(240,250,255,0.8), 0 0 5px rgba(160,220,255,0.55), 0 0 14px rgba(80,165,240,0.3);
}
#corner-sys::after { box-shadow: 0 0 8px rgba(80,170,248,0.3), 0 1px 12px rgba(50,130,210,0.15); }
#corner-sys .pulse {
  box-shadow: 0 0 6px rgba(110,240,255,0.7), 0 0 14px rgba(70,200,255,0.5), 0 0 6px rgba(var(--ink),0.8), 0 0 14px rgba(var(--ink),0.5);
  animation: sysPulse 3s ease-in-out infinite;
}
@keyframes sysPulse { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }

.topnav a {
  transition: color 0.3s, text-shadow 0.3s;
  text-shadow: var(--halo-tight), 0 0 1px rgba(200,235,255,0.7), 0 0 5px rgba(120,195,255,0.4), 0 0 14px rgba(60,140,220,0.18);
}
.topnav a:hover, .topnav a:focus-visible {
  color: var(--fg-bright);
  text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.90), 0 0 6px rgba(var(--ink),0.70), 0 0 1px rgba(240,250,255,0.9), 0 0 6px rgba(160,225,255,0.65), 0 0 14px rgba(100,185,248,0.4), 0 0 28px rgba(60,140,220,0.18);
}
.topnav a:not(.active)::after {
  content: ''; position: absolute; bottom: -6px; left: 0; right: 0; height: 1px;
  background: rgba(var(--ch-accent), 0.5); box-shadow: 0 0 6px rgba(80,170,248,0.25);
  transform: scaleX(0); transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease; opacity: 0;
}
.topnav a:not(.active):hover::after, .topnav a:not(.active):focus-visible::after { transform: scaleX(1); opacity: 1; }
.topnav a.active {
  text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.90), 0 0 6px rgba(var(--ink),0.65), 0 0 1px rgba(245,252,255,0.95), 0 0 6px rgba(160,225,255,0.75), 0 0 14px rgba(100,185,248,0.45), 0 0 32px rgba(60,140,220,0.2);
}
.topnav a.active::after { box-shadow: 0 0 8px rgba(80,170,248,0.4); }
.topnav a .nav-prefix { transition: color 0.3s; }
.topnav a:hover .nav-prefix, .topnav a:focus-visible .nav-prefix { color: rgba(160,225,255,0.8); }
.topnav a.active .nav-prefix { color: rgba(160,225,255,0.85); }

#corner-coord { text-shadow: var(--halo-tight), 0 0 1px rgba(225,245,255,0.65), 0 0 5px rgba(120,200,255,0.45), 0 0 14px rgba(60,140,220,0.2); }
#corner-coord::before { box-shadow: 0 0 8px rgba(80,170,248,0.3), 0 -1px 12px rgba(50,130,210,0.15); }
#corner-coord a { transition: color 0.3s, text-shadow 0.3s; }
#corner-coord a:hover { color: var(--fg-bright); text-shadow: var(--glow-md); }
#corner-status { text-shadow: var(--halo-tight), 0 0 1px rgba(225,245,255,0.6), 0 0 5px rgba(120,200,255,0.4), 0 0 14px rgba(60,140,220,0.18); }
#corner-status::before { box-shadow: 0 0 8px rgba(80,170,248,0.3), 0 -1px 12px rgba(50,130,210,0.15); }
#corner-status .bright { text-shadow: var(--halo-tight), 0 0 1px rgba(245,252,255,0.8), 0 0 5px rgba(140,215,255,0.55), 0 0 14px rgba(70,160,240,0.25); }

#packet-counter { text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.9), 0 0 1px rgba(120,200,255,0.4), 0 0 6px rgba(60,140,220,0.15); }
#packet-counter .pkt-val { color: rgba(160,225,255,0.7); font-variant-numeric: tabular-nums; transition: color 0.15s; }
#packet-counter .pkt-val.flash { color: rgba(220,248,255,0.95); text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.8), 0 0 2px rgba(200,240,255,0.7), 0 0 8px rgba(100,185,248,0.4); }

.form-panel {
  box-shadow: hsl(var(--fp-hue2) 50% 2%) 0px 10px 16px -8px, hsl(var(--fp-hue2) 50% 4%) 0px 20px 36px -14px;
  transition: box-shadow 0.6s ease, border-color 0.6s ease;
  will-change: transform;
}
body.effects-ready .form-panel {
  -webkit-backdrop-filter: blur(14px) saturate(1.1) brightness(0.85);
  backdrop-filter: blur(14px) saturate(1.1) brightness(0.85);
}
.form-panel.transmitting {
  border-color: rgba(var(--ch-accent), 0.5);
  box-shadow: 0 0 40px rgba(100,185,248,0.15), 0 0 80px rgba(60,140,220,0.08), inset 0 0 30px rgba(100,185,248,0.04);
}
.form-panel.transmitting .fp-shine, .form-panel.transmitting .fp-glow { filter: blur(12px) saturate(2) brightness(1.2) !important; }

.form-panel .fp-shine, .form-panel .fp-glow { --fp-h: var(--fp-hue1); }
.form-panel .fp-shine-bottom, .form-panel .fp-glow-bottom { --fp-h: var(--fp-hue2); --fp-conic: 135deg; }
.form-panel .fp-shine, .form-panel .fp-glow { animation: fpBloom 1.5s var(--ease-smooth) 0.60s both; }
.form-panel .fp-shine { animation-delay: 0.60s; animation-duration: 1.6s; }
.form-panel .fp-glow { animation-delay: 0.65s; }
.form-panel .fp-glow-bright { animation-delay: 0.63s; animation-duration: 1.4s; }
.form-panel .fp-shine-bottom { animation-delay: 0.65s; animation-duration: 1.7s; }
.form-panel .fp-glow-bottom { animation-delay: 0.70s; }
.form-panel .fp-glow-bright.fp-glow-bottom { animation-delay: 0.70s; animation-duration: 1.4s; }
@keyframes fpBloom { 0% { opacity: 0; } 40% { opacity: 0.6; } 65% { opacity: 0.45; } 100% { opacity: 1; } }

.form-panel .fp-shine, .form-panel .fp-shine::before, .form-panel .fp-shine::after {
  pointer-events: none; border-radius: 0; border-top-right-radius: inherit; border-bottom-left-radius: inherit;
  border: 1px solid transparent; width: 45%; height: auto; min-height: 0px; aspect-ratio: 1;
  display: block; position: absolute; right: calc(var(--fp-border) * -1); top: calc(var(--fp-border) * -1); left: auto; z-index: 1; --start: 12%;
  background: conic-gradient(from var(--fp-conic, -45deg) at center in oklch, transparent var(--start, 0%), hsl(var(--fp-h), var(--fp-sat, 80%), var(--fp-lit, 60%)), transparent var(--end, 50%)) border-box;
  mask: linear-gradient(transparent), linear-gradient(black); mask-repeat: no-repeat; mask-clip: padding-box, border-box; -webkit-mask-composite: source-out; mask-composite: subtract;
}
.form-panel .fp-shine::before, .form-panel .fp-shine::after { content: ""; width: auto; inset: -2px; mask: none; -webkit-mask: none; }
.form-panel .fp-shine::after { z-index: 2; --start: 17%; --end: 33%; background: conic-gradient(from var(--fp-conic, -45deg) at center in oklch, transparent var(--start, 0%), hsl(var(--fp-h), var(--fp-sat, 80%), var(--fp-lit, 85%)), transparent var(--end, 50%)); }
.form-panel .fp-shine-bottom { top: auto; bottom: calc(var(--fp-border) * -1); left: calc(var(--fp-border) * -1); right: auto; }

.form-panel .fp-glow {
  pointer-events: none; border-top-right-radius: calc(var(--fp-radius) * 2.5); border-bottom-left-radius: calc(var(--fp-radius) * 2.5);
  border: calc(var(--fp-radius) * 1.25) solid transparent; inset: calc(var(--fp-radius) * -2); width: 45%; height: auto; min-height: 0px; aspect-ratio: 1;
  display: block; position: absolute; left: auto; bottom: auto;
  mask: var(--noise-mask); -webkit-mask-image: var(--noise-mask); mask-mode: luminance; -webkit-mask-mode: luminance; mask-size: 29%; -webkit-mask-size: 29%;
  opacity: 1; z-index: 3;
}
body.effects-ready .fp-glow { filter: blur(10px) saturate(1.0) brightness(0.45); mix-blend-mode: plus-lighter; }
.form-panel .fp-glow-bottom { inset: calc(var(--fp-radius) * -2); top: auto; right: auto; }
.form-panel .fp-glow::before, .form-panel .fp-glow::after {
  content: ""; position: absolute; inset: 0; border: inherit; border-radius: inherit;
  background: conic-gradient(from var(--fp-conic, -45deg) at center in oklch, transparent var(--start, 0%), hsl(var(--fp-h), var(--fp-sat, 95%), var(--fp-lit, 60%)), transparent var(--end, 50%)) border-box;
  mask: linear-gradient(transparent), linear-gradient(black); mask-repeat: no-repeat; mask-clip: padding-box, border-box; -webkit-mask-composite: source-out; mask-composite: subtract;
  filter: saturate(1.5) brightness(0.9);
}
.form-panel .fp-glow::after { --fp-lit: 75%; --fp-sat: 80%; --start: 15%; --end: 35%; border-width: calc(var(--fp-radius) * 1.75); border-radius: calc(var(--fp-radius) * 2.75); inset: calc(var(--fp-radius) * -0.25); z-index: 4; opacity: 0.6; }
.form-panel .fp-glow-bright { --fp-lit: 80%; --fp-sat: 80%; --start: 13%; --end: 37%; border-width: 4px; border-radius: calc(var(--fp-radius) + 2px); inset: -6px; left: auto; filter: blur(2px) brightness(0.55); }
.form-panel .fp-glow-bright::after { content: none; }
.form-panel .fp-glow-bright.fp-glow-bottom { inset: -6px; right: auto; top: auto; }

.form-panel .form-tag { text-shadow: var(--halo-soft), 0 0 1px rgba(var(--fp-sapphire),0.55), 0 0 6px rgba(var(--fp-sapphire-dim),0.28); }
.form-panel .form-title { text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.9), 0 0 1px rgba(var(--fp-sapphire),0.15), 0 0 4px rgba(var(--fp-sapphire-dim),0.06); }
.form-title.glow-active span {
  --glow-t: 0;
  animation: letterGlow 5s ease infinite;
  animation-delay: calc(var(--i, 0) * 0.07s);
}
@keyframes letterGlow {
  0%, 5%    { --glow-t: 0; color: rgba(var(--fp-sapphire),0.65); text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.9), 0 0 1px rgba(var(--fp-sapphire),0.15); }
  14%       { --glow-t: 1; color: rgba(255,255,255,1); text-shadow: 0 0 2px rgba(var(--ink),1), 0 0 4px rgba(var(--ink),0.7), 0 0 1px rgba(255,255,255,1), 0 0 4px rgba(200,225,255,0.90), 0 0 10px rgba(150,195,255,0.75), 0 0 22px rgba(120,170,240,0.55), 0 0 45px rgba(85,135,210,0.30), 0 0 75px rgba(65,110,195,0.14); }
  30%, 100% { --glow-t: 0; color: rgba(var(--fp-sapphire),0.65); text-shadow: 0 0 1px rgba(var(--ink),1), 0 0 3px rgba(var(--ink),0.9), 0 0 1px rgba(var(--fp-sapphire),0.15); }
}
.form-panel .form-divider { background: linear-gradient(90deg, rgba(180,190,210,0.70) 0%, rgba(150,160,185,0.45) 40%, rgba(120,130,160,0.18) 80%, transparent 100%); box-shadow: 0 0 8px rgba(150,165,200,0.25), 0 0 18px rgba(120,135,170,0.10); }
.form-panel .form-divider::after { box-shadow: 0 0 10px rgba(150,165,200,0.35), 0 0 22px rgba(120,135,170,0.15); }
.form-divider.visible::after { animation: dividerBreatheComposited 6s ease-in-out 2s infinite; }
@keyframes dividerBreatheComposited { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } }

.form-panel .form-copy a { text-shadow: 0 0 2px rgba(var(--ink),1), 0 0 5px rgba(var(--ink),0.8), 0 0 1px rgba(var(--fp-sapphire),0.70), 0 0 8px rgba(var(--fp-sapphire-dim),0.35), 0 0 25px rgba(var(--fp-sapphire-dim),0.15); }
.form-panel .form-copy a:hover { color: rgba(var(--fp-sapphire-bright),1); text-shadow: 0 0 1px rgba(var(--fp-sapphire-bright),1), 0 0 4px rgba(var(--fp-sapphire-bright),0.80), 0 0 12px rgba(var(--fp-sapphire),0.55), 0 0 30px rgba(var(--fp-sapphire),0.30), 0 0 60px rgba(var(--fp-sapphire-dim),0.18), 0 0 90px rgba(var(--fp-sapphire-dim),0.06); }

.field-label { text-shadow: var(--halo-soft), 0 0 1px rgba(120,200,255,0.6), 0 0 8px rgba(80,165,240,0.3); transition: color 0.3s, text-shadow 0.3s; }
.field-group:focus-within .field-label { text-shadow: var(--halo-soft), 0 0 1px rgba(160,225,255,0.8), 0 0 8px rgba(100,185,248,0.45), 0 0 18px rgba(60,140,220,0.2); }
.field-input, .field-textarea { transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease; }
.field-input:focus, .field-textarea:focus { box-shadow: 0 0 16px rgba(100,185,248,0.10), 0 0 32px rgba(60,140,220,0.05), inset 0 0 16px rgba(100,185,248,0.04); }
.field-glow-wrap::after {
  content: ''; position: absolute; bottom: 0; left: 50%; width: 100%; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(100,185,248,0.8) 30%, rgba(160,225,255,1) 50%, rgba(100,185,248,0.8) 70%, transparent 100%);
  box-shadow: 0 0 8px rgba(100,185,248,0.4), 0 0 20px rgba(60,140,220,0.15);
  transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform 0.4s var(--ease-out-quint); pointer-events: none;
}
.field-glow-wrap:focus-within::after { transform: translateX(-50%) scaleX(1); }
.verify-group { transition: border-color 0.3s, box-shadow 0.3s; }
.verify-group:hover { border-color: rgba(var(--ch-accent), 0.28); box-shadow: 0 0 12px rgba(100,185,248,0.04); }
.verify-checkbox { transition: border-color 0.3s, background 0.3s, box-shadow 0.3s; }
.verify-input:checked ~ .verify-checkbox { box-shadow: 0 0 10px rgba(100,185,248,0.12), inset 0 0 6px rgba(100,185,248,0.06); }
.verify-label { text-shadow: var(--shadow-dark-halo); }

.submit-btn {
  transition: color 0.4s, text-shadow 0.4s, box-shadow 0.4s, border-image 0.4s, background 0.4s;
  text-shadow: 0 0 2px rgba(var(--ink),1), 0 0 5px rgba(var(--ink),0.8), 0 0 1px rgba(var(--fp-sapphire),0.65), 0 0 10px rgba(var(--fp-sapphire-dim),0.25);
  backdrop-filter: blur(1px);
}
.submit-btn::after {
  content: ''; position: absolute; inset: -1px;
  background: linear-gradient(105deg, transparent 0%, transparent 35%, rgba(var(--fp-sapphire),0.08) 45%, rgba(var(--fp-sapphire-bright),0.14) 50%, rgba(var(--fp-sapphire),0.08) 55%, transparent 65%, transparent 100%);
  background-size: 250% 100%; pointer-events: none; opacity: 0;
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 1px, transparent 2px, transparent calc(100% - 2px), rgba(0,0,0,1) calc(100% - 1px), rgba(0,0,0,1) 100%), linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 1px, transparent 2px, transparent calc(100% - 2px), rgba(0,0,0,1) calc(100% - 1px), rgba(0,0,0,1) 100%);
  mask-composite: add; -webkit-mask-composite: source-over;
}
.submit-btn::before { content: ''; position: absolute; inset: 0; border: 1px solid rgba(var(--fp-sapphire),0.04); pointer-events: none; opacity: 0; transition: opacity 0.4s ease; }
.submit-btn:hover:not(:disabled)::before { opacity: 1; }
.submit-btn:hover:not(:disabled)::after { opacity: 0 !important; animation: none; }
.submit-btn .arrow { transition: transform 0.3s; }
.submit-btn:hover:not(:disabled) .arrow { transform: translateX(5px); }
.form-status { text-shadow: var(--shadow-dark-halo); }
.form-status.success { color: rgba(80,220,180,0.85); text-shadow: var(--shadow-dark-halo), 0 0 8px rgba(60,200,160,0.2); }
.form-status.error { color: rgba(255,130,110,0.8); text-shadow: var(--shadow-dark-halo), 0 0 8px rgba(255,100,80,0.15); }

.form-panel .field-label { text-shadow: var(--halo-soft); }
.form-panel .field-group:focus-within .field-label { text-shadow: var(--halo-soft), 0 0 6px rgba(180,190,210,0.15); }
.form-panel .field-input:focus, .form-panel .field-textarea:focus { box-shadow: 0 0 12px rgba(150,165,200,0.06), 0 0 24px rgba(120,135,170,0.03), inset 0 0 12px rgba(150,165,200,0.02); }
.form-panel .field-glow-wrap::after { background: linear-gradient(90deg, transparent 0%, rgba(170,180,205,0.50) 30%, rgba(200,210,230,0.70) 50%, rgba(170,180,205,0.50) 70%, transparent 100%); box-shadow: 0 0 6px rgba(170,180,205,0.25), 0 0 14px rgba(140,150,180,0.10); }
.form-panel .verify-group:hover { border-color: rgba(160,172,200,0.22); box-shadow: 0 0 10px rgba(150,165,200,0.03); }
.form-panel .verify-input:checked ~ .verify-checkbox { box-shadow: 0 0 8px rgba(150,165,200,0.08), inset 0 0 4px rgba(150,165,200,0.04); }
.form-panel .submit-btn { color: rgba(var(--fp-sapphire),0.55); border-image: conic-gradient(from 0deg at 50% 50%, rgba(var(--fp-sapphire),0.18) 0deg, rgba(var(--fp-sapphire-dim),0.07) 45deg, rgba(var(--fp-sapphire-dim),0.07) 90deg, rgba(var(--fp-sapphire-bright),0.40) 135deg, rgba(var(--fp-sapphire),0.18) 180deg, rgba(var(--fp-sapphire-dim),0.07) 225deg, rgba(var(--fp-sapphire-dim),0.07) 270deg, rgba(var(--fp-sapphire-bright),0.40) 315deg, rgba(var(--fp-sapphire),0.18) 360deg) 1; text-shadow: var(--halo-soft); box-shadow: 0 0 10px rgba(var(--fp-sapphire-dim),0.05); }
.form-panel .submit-btn:not(:disabled) { color: rgb(var(--fp-sapphire)); border-image: conic-gradient(from 0deg at 50% 50%, rgba(var(--fp-sapphire),0.25) 0deg, rgba(var(--fp-sapphire-dim),0.10) 45deg, rgba(var(--fp-sapphire-dim),0.10) 90deg, rgba(var(--fp-sapphire-bright),0.58) 135deg, rgba(var(--fp-sapphire),0.25) 180deg, rgba(var(--fp-sapphire-dim),0.10) 225deg, rgba(var(--fp-sapphire-dim),0.10) 270deg, rgba(var(--fp-sapphire-bright),0.58) 315deg, rgba(var(--fp-sapphire),0.25) 360deg) 1; text-shadow: 0 0 2px rgba(var(--ink),1), 0 0 5px rgba(var(--ink),0.80), 0 0 1px rgba(var(--fp-sapphire),0.70), 0 0 8px rgba(var(--fp-sapphire-dim),0.35), 0 0 25px rgba(var(--fp-sapphire-dim),0.15); box-shadow: 0 0 10px rgba(var(--fp-sapphire-dim),0.06); }
.form-panel .submit-btn:not(:disabled)::after { animation: sapphireShimmer 6s ease-in-out 2s infinite; }
.form-panel .submit-btn::after { background: linear-gradient(105deg, transparent 0%, transparent 35%, rgba(var(--fp-sapphire),0.08) 45%, rgba(var(--fp-sapphire-bright),0.14) 50%, rgba(var(--fp-sapphire),0.08) 55%, transparent 65%, transparent 100%); background-size: 250% 100%; }
@keyframes sapphireShimmer { 0%, 30% { background-position: 200% 0; opacity: 0; } 35% { opacity: 1; } 65% { opacity: 1; } 70%, 100% { background-position: -50% 0; opacity: 0; } }
.form-panel .submit-btn:hover:not(:disabled) { color: rgb(var(--fp-sapphire-bright)); border-image: conic-gradient(from 0deg at 50% 50%, rgba(var(--fp-sapphire),0.38) 0deg, rgba(var(--fp-sapphire-dim),0.18) 45deg, rgba(var(--fp-sapphire-dim),0.18) 90deg, rgba(var(--fp-sapphire-bright),0.85) 135deg, rgba(var(--fp-sapphire),0.38) 180deg, rgba(var(--fp-sapphire-dim),0.18) 225deg, rgba(var(--fp-sapphire-dim),0.18) 270deg, rgba(var(--fp-sapphire-bright),0.85) 315deg, rgba(var(--fp-sapphire),0.38) 360deg) 1; text-shadow: 0 0 1px rgba(var(--fp-sapphire-bright),1), 0 0 4px rgba(var(--fp-sapphire-bright),0.75), 0 0 12px rgba(var(--fp-sapphire),0.50), 0 0 28px rgba(var(--fp-sapphire-dim),0.30), 0 0 55px rgba(var(--fp-sapphire-dim),0.12); box-shadow: 0 0 4px rgba(var(--fp-sapphire-bright),0.15), 0 0 15px rgba(var(--fp-sapphire),0.20), 0 0 40px rgba(var(--fp-sapphire-dim),0.15), 0 0 80px rgba(var(--fp-sapphire-dim),0.08), -12px -12px 35px rgba(var(--fp-sapphire-dim),0.10), 12px 12px 35px rgba(var(--fp-sapphire-dim),0.10); }
.form-panel .form-status.success { color: rgba(120,210,175,0.80); text-shadow: var(--shadow-dark-halo), 0 0 6px rgba(100,200,165,0.15); }
.form-panel .form-status.error { color: rgba(240,140,130,0.75); text-shadow: var(--shadow-dark-halo), 0 0 6px rgba(240,120,100,0.10); }

.form-panel .field-input:not(:focus), .form-panel .field-textarea:not(:focus) { animation: fieldBreathNeutral 8s ease-in-out infinite; will-change: border-color; }
@keyframes fieldBreathNeutral { 0%, 100% { border-color: rgba(130,140,165,0.13); } 50% { border-color: rgba(150,160,185,0.20); } }

.form-copy a { transition: color 0.4s, text-shadow 0.4s; text-shadow: 0 0 2px rgba(var(--ink),1), 0 0 5px rgba(var(--ink),0.8), 0 0 1px rgba(var(--fp-sapphire),0.70), 0 0 8px rgba(var(--fp-sapphire-dim),0.35), 0 0 25px rgba(var(--fp-sapphire-dim),0.15); }
.form-copy a:hover { color: rgba(var(--fp-sapphire-bright),1); text-shadow: 0 0 1px rgba(var(--fp-sapphire-bright),1), 0 0 4px rgba(var(--fp-sapphire-bright),0.80), 0 0 12px rgba(var(--fp-sapphire),0.55), 0 0 30px rgba(var(--fp-sapphire),0.30), 0 0 60px rgba(var(--fp-sapphire-dim),0.18), 0 0 90px rgba(var(--fp-sapphire-dim),0.06); }
