.footer{background-color:var(--bg-primary);border-top:1px solid #ffffff1a;padding:80px 0 40px;position:relative;overflow:hidden}.footer-bg-grid{opacity:.5;z-index:1;pointer-events:none;background-image:linear-gradient(#40e0d00d 1px,#0000 1px),linear-gradient(90deg,#40e0d00d 1px,#0000 1px);background-size:40px 40px;width:100%;height:100%;position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 80%);mask-image:linear-gradient(#000 0%,#0000 80%)}.footer-scan-line{opacity:.8;z-index:10;background:linear-gradient(90deg,#0000,#40e0d0,#0000);width:100%;height:1px;animation:6s linear infinite scanLine;position:absolute;top:0;left:0;box-shadow:0 0 10px #40e0d0}@keyframes scanLine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.footer-content{z-index:5;flex-direction:column;gap:40px;margin-bottom:60px;display:flex;position:relative}@media (min-width:768px){.footer-content{flex-direction:row;justify-content:space-between}}.footer-ascii-wrapper{width:600px;height:100px;margin-bottom:0;margin-left:-145px;position:relative;overflow:hidden}@media (max-width:768px){.footer-content{text-align:center;align-items:center}.footer-logo{flex-direction:column;align-items:center;display:flex}.footer-ascii-wrapper{transform-origin:top;width:600px;max-width:none;height:120px;margin-bottom:-40px;margin-left:-300px;position:relative;left:50%;overflow:visible;transform:scale(.5)}.footer-logo p{text-align:center;margin-top:10px;padding-left:0!important}}.footer-logo h3{margin-bottom:8px;font-size:1.5rem;transition:color .3s;display:inline-block;position:relative}.footer-logo:hover h3{color:#40e0d0;text-shadow:0 0 10px #40e0d080}.footer-logo p{opacity:.7;font-size:.9rem}.footer-links{gap:60px;display:flex}@media (max-width:768px){.footer-links{text-align:center;grid-template-columns:1fr 1fr;gap:20px;width:100%;margin-top:30px;display:grid}.link-group{align-items:center}.link-group a:hover{color:#40e0d0;padding-left:0}.link-group a:hover:before{display:none}}.link-group{flex-direction:column;gap:16px;display:flex}.link-group h4{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:8px;font-size:.8rem}.link-group a{color:var(--text-secondary);font-size:.95rem;text-decoration:none;transition:all .3s;position:relative}.link-group a:hover{color:#40e0d0;text-shadow:0 0 8px #40e0d04d;padding-left:5px}.link-group a:before{content:">";opacity:0;color:#40e0d0;transition:all .3s;position:absolute;left:-10px}.link-group a:hover:before{opacity:1;left:-15px}.footer-bottom{border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:40px;display:flex}@media (max-width:768px){.footer-bottom{text-align:center;flex-direction:column;gap:30px}}.system-status{color:var(--text-secondary);background:#40e0d00d;border:1px solid #40e0d01a;border-radius:4px;align-items:center;gap:10px;padding:6px 12px;font-family:JetBrains Mono,Courier New,monospace;font-size:.8rem;display:flex}.status-dot{background-color:#0f8;border-radius:50%;width:6px;height:6px;animation:2s infinite pulsebox;box-shadow:0 0 8px #0f8}@keyframes pulsebox{0%{opacity:.5;box-shadow:0 0 #0f8}50%{opacity:1;box-shadow:0 0 10px #0f8}to{opacity:.5;box-shadow:0 0 #0f8}}.footer-bottom p{color:var(--text-tertiary);font-size:.85rem}[data-theme=light] .footer{background-color:#fff;border-top:1px solid #00000014}[data-theme=light] .footer-bg-grid{opacity:.6;background-image:linear-gradient(#0071e30d 1px,#0000 1px),linear-gradient(90deg,#0071e30d 1px,#0000 1px)}[data-theme=light] .footer-scan-line{background:linear-gradient(90deg,#0000,#0071e3,#0000);box-shadow:0 0 10px #0071e380}[data-theme=light] .footer-logo:hover h3{color:#0071e3;text-shadow:0 0 10px #0071e34d}[data-theme=light] .link-group a:hover{color:#0071e3;text-shadow:0 0 8px #0071e326}[data-theme=light] .link-group a:before{color:#0071e3}[data-theme=light] .system-status{color:#555;background:#0071e30d;border:1px solid #0071e31a}[data-theme=light] .status-text{color:#555;font-weight:600}[data-theme=light] .status-dot{background-color:#0071e3;animation:2s infinite lightPulsebox;box-shadow:0 0 8px #0071e3}@keyframes lightPulsebox{0%{opacity:.6;box-shadow:0 0 #0071e380}50%{opacity:1;box-shadow:0 0 10px #0071e3cc}to{opacity:.6;box-shadow:0 0 #0071e380}}
