:root{--noir:#111419;--emerald:#284139;--egyptian:#bb6830;--khaki:#f8e794;--wasabi:#809070;--balsamico:#150c0c;--burnt:#341e0f;--honey:#85431e;--whiskey:#d39858;--champagne:#eaceaa}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;overflow-x:hidden}body{background-color:var(--noir);color:var(--champagne);font-family:Crimson Text,serif;font-size:17px;line-height:1.85;position:relative}.font-temple{font-family:UnifrakturMaguntia,cursive}.font-carved{text-transform:uppercase;letter-spacing:2.5px;font-family:Cinzel,serif}.font-scroll{font-family:Crimson Text,serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--balsamico)}::-webkit-scrollbar-thumb{background:var(--egyptian)}::-webkit-scrollbar-thumb:hover{background:var(--whiskey)}@keyframes pulse-glow{0%,to{opacity:.4;box-shadow:0 0 4px}50%{opacity:1;box-shadow:0 0 12px}}@keyframes pulse-dot{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.03}50%{opacity:.06}}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.3}94%{opacity:1}96%{opacity:.5}97%{opacity:1}}@keyframes count-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes alert-flash{0%{background:#bb68301f;border-left-color:#bb6830}50%{background:#f8e79414;border-left-color:#f8e794}to{background:#bb68300d;border-left-color:#bb6830}}@keyframes border-glow{0%,to{border-color:#bb683033}50%{border-color:#bb683080}}@keyframes hieroglyph-breathe{0%,to{opacity:.03}50%{opacity:.07}}.animate-pulse-dot{animation:2s ease-in-out infinite pulse-dot}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-scan{animation:8s linear infinite scan-line}.animate-fade-in{animation:.4s ease-out forwards fade-slide-in}.animate-breathe{animation:4s ease-in-out infinite breathe}.animate-flicker{animation:6s ease-in-out infinite flicker}.animate-count{animation:.6s ease-out count-pulse}.animate-alert{animation:2s ease-in-out infinite alert-flash}.animate-border-glow{animation:3s ease-in-out infinite border-glow}.animate-hiero{animation:6s ease-in-out infinite hieroglyph-breathe}@keyframes node-pulse{0%,to{r:22;opacity:.3}50%{r:28;opacity:.1}}@keyframes edge-flow{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}
