:root{--navy:#0A1628;--navy2:#0F1F38;--blue:#1E90FF;--teal:#14B8A6;--gold:#C9A54C;}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:#E6EDF7;font-family:'Vazirmatn',sans-serif}
.mono{font-family:'JetBrains Mono',monospace}
.blueprint{background-image:linear-gradient(rgba(30,144,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(30,144,255,.07) 1px,transparent 1px),linear-gradient(rgba(30,144,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(30,144,255,.03) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
.corner{position:relative}
.corner::before,.corner::after{content:"";position:absolute;width:18px;height:18px;border-color:rgba(201,165,76,.5);transition:all .3s}
.corner::before{top:-1px;right:-1px;border-top:2px solid;border-right:2px solid}
.corner::after{bottom:-1px;left:-1px;border-bottom:2px solid;border-left:2px solid}
.corner:hover::before,.corner:hover::after{width:32px;height:32px;border-color:var(--gold)}
.draw path,.draw line,.draw polyline{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 4s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.reveal{opacity:0;transform:translateY(28px);transition:all .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.fade-up{animation:fu .9s both}
@keyframes fu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.pulse-ring{animation:pr 2.2s infinite}
@keyframes pr{0%{box-shadow:0 0 0 0 rgba(20,184,166,.6)}100%{box-shadow:0 0 0 16px rgba(20,184,166,0)}}
.field{width:100%;background:#0A1628;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:.7rem .9rem;color:#fff;outline:none;transition:border .2s}
.field:focus{border-color:var(--blue)}
.field.err{border-color:#ef4444}
select.field option{background:#0F1F38}