/* ============================================================
   Sangrok XR Studio — Common Stylesheet
   공통 변수 / 리셋 / 배경 / 헤더 / 네비 / 푸터
   ============================================================ */

/* ── Variables ── */
:root {
    --xr-dark:          #0a0b10;
    --xr-panel:         #12141d;
    --xr-border:        #222638;
    --xr-primary:       #00c9b1;
    --xr-primary-glow:  rgba(0, 201, 177, 0.5);
    --xr-secondary:     #00bcd4;
    --xr-tertiary:      #8e24aa;
    --xr-tertiary-glow: rgba(142, 36, 170, 0.4);
    --xr-text:          #ffffff;
    --xr-text-dim:      #9da3af;
}

/* ── Reset ── */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* ── Body Base ── */
body {
    background-color: var(--xr-dark);
    color: var(--xr-text);
    font-family: 'Pretendard', 'Inter', sans-serif;
    overflow-x: hidden;
    background-image: radial-gradient(rgba(34, 38, 56, 0.8) 1px, transparent 1px);
    background-size: 30px 30px;
    background-position: center;
    position: relative;
}

/* Ambient glow lights */
body::before {
    content: "";
    position: fixed;
    top: -20%; left: -10%; width: 60vw; height: 60vw;
    background: radial-gradient(circle, rgba(142, 36, 170, 0.12) 0%, transparent 60%);
    z-index: 0; pointer-events: none;
}
body::after {
    content: "";
    position: fixed;
    bottom: -20%; right: -10%; width: 50vw; height: 50vw;
    background: radial-gradient(circle, rgba(0, 188, 212, 0.09) 0%, transparent 60%);
    z-index: 0; pointer-events: none;
}

/* ── Header ── */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 50px;
    background: rgba(10, 11, 16, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    position: sticky;
    top: 0;
    z-index: 50;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}

.logo-mark {
    width: 40px; height: 40px;
    background: linear-gradient(135deg, var(--xr-primary), var(--xr-secondary));
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit', sans-serif;
    font-weight: 900;
    color: #fff;
    font-size: 1.4rem;
    box-shadow: 0 5px 20px var(--xr-primary-glow);
}

.logo-text {
    font-family: 'Outfit', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.logo-text span { color: var(--xr-primary); }

/* ── Nav ── */
nav ul { display: flex; gap: 40px; list-style: none; }

nav ul li a {
    color: var(--xr-text-dim);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    transition: 0.3s ease;
    position: relative;
}

nav ul li a:hover { color: var(--xr-text); }

nav ul li a::after {
    content: '';
    position: absolute;
    bottom: -8px; left: 50%;
    width: 0%; height: 2px;
    background: var(--xr-primary);
    transition: 0.3s ease;
    transform: translateX(-50%);
    box-shadow: 0 0 10px var(--xr-primary);
}

nav ul li a:hover::after,
nav ul li a.active::after { width: 100%; }

nav ul li a.active { color: var(--xr-text); }

/* ── Footer ── */
footer {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 40px 50px;
    display: flex;
    justify-content: space-between;
    color: var(--xr-text-dim);
    font-size: 0.9rem;
    font-weight: 300;
    position: relative;
    z-index: 10;
}
