/* css/theme.css */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@700&family=Share+Tech+Mono&display=swap');

body { 
    font-family: 'Noto Sans JP', sans-serif; 
    background-color: #020617; 
    color: #f1f5f9; 
    margin: 0; 
    overflow-x: hidden; 
}

.font-mono-tech { font-family: 'Share Tech Mono', monospace; }
.font-serif-jp { font-family: 'Noto Serif JP', serif; }

.neon-glow-orange { filter: drop-shadow(0 0 15px rgba(249, 115, 22, 0.6)); }
.neon-border-orange { box-shadow: 0 0 20px rgba(249, 115, 22, 0.3), inset 0 0 10px rgba(249, 115, 22, 0.1); }

.grid-bg { 
    background-image: linear-gradient(rgba(15, 23, 42, 0.9) 2px, transparent 2px), linear-gradient(90deg, rgba(15, 23, 42, 0.9) 2px, transparent 2px); 
    background-size: 40px 40px; 
    background-color: #020617; 
    position: fixed; 
    inset: 0; 
    z-index: -1; 
}

@keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } }
.animate-float { animation: float 4s ease-in-out infinite; }

@keyframes orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.orbit-ring { animation: orbit 10s linear infinite; }

.hidden { display: none !important; }
.rank-glow-sphere { filter: blur(40px); transition: all 0.5s ease-out; }