:root{--blue:#1E6BFF;--teal:#14B8A6;--gold:#C9A44C;--bg:#F7F9FC;--card:#fff;--tx:#0F172A;--mut:#64748b;--ln:#e2e8f0}
.dark{--bg:#0A0F1C;--card:#111827;--tx:#E5E7EB;--mut:#94a3b8;--ln:#1f2937}
body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--tx);transition:background .3s}
.mono{font-family:'JetBrains Mono',monospace}
.card{background:var(--card);border:1px solid var(--ln);border-radius:1rem;transition:transform .2s,box-shadow .2s}
.lift:hover{transform:translateY(-3px);box-shadow:0 12px 30px -12px rgba(30,107,255,.35)}
.mut{color:var(--mut)}
.blueprint{background-image:linear-gradient(rgba(30,107,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(30,107,255,.08) 1px,transparent 1px),linear-gradient(rgba(30,107,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(30,107,255,.04) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
.inp{width:100%;background:var(--bg);border:1px solid var(--ln);border-radius:.6rem;padding:.5rem .7rem;color:var(--tx);outline:none}
.inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,107,255,.15)}
.btn{border-radius:.7rem;padding:.5rem 1rem;font-weight:600;transition:all .2s}
.btn-b{background:var(--blue);color:#fff}.btn-b:hover{filter:brightness(1.1)}
.btn-g{background:var(--gold);color:#1a1405}.btn-g:hover{filter:brightness(1.08)}
.btn-o{border:1px solid var(--ln)}.btn-o:hover{border-color:var(--blue);color:var(--blue)}
.gold{color:var(--gold)}.blue{color:var(--blue)}.teal{color:var(--teal)}
.hex{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.fade{animation:fu .6s ease both}
@keyframes fu{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.floor{animation:fl 6s infinite both}
@keyframes fl{0%{opacity:0;transform:translateY(-14px)}12%,85%{opacity:1;transform:none}100%{opacity:0}}
.stamp{animation:st .7s cubic-bezier(.3,1.6,.5,1) both}
@keyframes st{from{transform:scale(2.4) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(-12deg);opacity:1}}
.dim{position:relative;height:1px;background:var(--mut);opacity:.4;margin:3rem auto;max-width:900px}
.dim:before,.dim:after{content:'';position:absolute;top:-5px;width:1px;height:11px;background:var(--mut)}
.dim:before{right:0}.dim:after{left:0}
.glass{backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 75%,transparent)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{header,footer,.noprint{display:none!important}body{background:#fff;color:#000}}