@charset "utf-8";
/* ==========================================================================
   활동 등급(/grade.php) · 이용가이드(/guide.php) 전용 모양 (2026-10-29)
   - 굿라이브 헤더와 같은 남색 바탕(--chrome-*)에 빨강(--primary)·형광(--highlight) 포인트
   - 색은 모두 color.css 의 값을 써서 다크·화이트 모드가 함께 바뀐다
   ========================================================================== */

/* ---------- 공용 : 어두운 머리 띠 ---------- */
.gl-lv-hero, .gl-ug-hero {position:relative;overflow:hidden;border-radius:var(--r-lg, 14px);background:var(--chrome-bg);color:var(--chrome-text);box-shadow:var(--soft-shadow, var(--shadow))}
.gl-lv-hero:before, .gl-ug-hero:before {content:"";position:absolute;top:-80px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(closest-side, rgba(217,58,28,.45), rgba(217,58,28,0));pointer-events:none}
.gl-lv-hero:after, .gl-ug-hero:after {content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg, var(--primary) 0%, var(--primary) 40%, var(--highlight) 40%, var(--highlight) 46%, transparent 46%)}
.gl-lv-hero a, .gl-ug-hero a {color:var(--highlight)}

/* ==========================================================================
   활동 등급
   ========================================================================== */
.gl-lv-hero {display:flex;align-items:center;gap:32px;padding:30px 34px 34px}
.gl-lv-ring {position:relative;flex:none;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--g) calc(var(--p) * 1%), rgba(255,255,255,.12) 0)}
.gl-lv-ring > div {position:absolute;inset:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--chrome-solid);text-align:center}
.gl-lv-ring small {color:var(--chrome-text-muted);font-size:11px;font-weight:800;letter-spacing:1.5px}
.gl-lv-ring b {margin:2px 0;font-size:26px;font-weight:900;line-height:1.2;color:#fff}
.gl-lv-ring em {font-style:normal;font-size:12px;font-weight:700;color:var(--highlight)}
.gl-lv-ring .fa {font-size:34px;color:var(--chrome-text-muted)}
.gl-lv-info {position:relative;z-index:1;flex:1;min-width:0}
.gl-lv-now {margin:0;font-size:19px;line-height:1.5;color:var(--chrome-text)}
.gl-lv-now strong, .gl-lv-now b {color:#fff}
.gl-lv-now b {padding:0 2px;box-shadow:inset 0 -8px 0 rgba(217,58,28,.55)}
.gl-lv-now .gl-grade {font-size:12px;line-height:22px;padding:0 10px;border-radius:11px;vertical-align:2px}
.gl-lv-sub {margin:6px 0 0;color:var(--chrome-text-muted);font-size:13px}
.gl-lv-sub strong {color:#fff}
.gl-lv-sub a {font-weight:700}
/* 7단계 진행 줄 */
.gl-lv-track {display:flex;margin:22px 0 0;padding:0;list-style:none}
.gl-lv-track li {position:relative;flex:1;padding-top:20px;text-align:center}
.gl-lv-track li:before {content:"";position:absolute;top:6px;left:0;right:0;height:2px;background:rgba(255,255,255,.16)}
.gl-lv-track li:first-child:before {left:50%}
.gl-lv-track li:last-child:before {right:50%}
.gl-lv-track li.is-done:before, .gl-lv-track li.is-now:before {background:var(--g)}
.gl-lv-track i {position:absolute;top:1px;left:50%;width:12px;height:12px;margin-left:-6px;border:2px solid var(--chrome-solid);border-radius:50%;background:rgba(255,255,255,.28);box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.gl-lv-track li.is-done i, .gl-lv-track li.is-now i {background:var(--g);box-shadow:0 0 0 1px var(--g)}
.gl-lv-track li.is-now i {top:-3px;width:20px;height:20px;margin-left:-10px;box-shadow:0 0 0 3px rgba(255,255,255,.9), 0 0 14px var(--g)}
.gl-lv-track span {display:block;color:var(--chrome-text-muted);font-size:11px;font-weight:600;white-space:nowrap}
.gl-lv-track li.is-now span {color:#fff;font-weight:800}

/* 계단형 등급표 */
.gl-lv-stair {display:grid;grid-template-columns:repeat(7, 1fr);align-items:end;gap:8px;margin:0;padding:24px 18px 0;list-style:none;border-bottom:1px solid var(--border-soft)}
.gl-lv-step {position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:calc(64px + var(--h) * 24px);padding:12px 10px 14px;border-top:4px solid var(--g);border-radius:10px 10px 0 0;background:var(--surface-2);background:linear-gradient(to top, color-mix(in srgb, var(--g) 26%, var(--surface)), color-mix(in srgb, var(--g) 8%, var(--surface)));text-align:center}
.gl-lv-step em {color:var(--g);font-size:11px;font-style:normal;font-weight:800;letter-spacing:1px}
.gl-lv-step b {margin:2px 0 4px;color:var(--text-strong);font-size:16px;font-weight:900}
.gl-lv-step span {color:var(--text-muted);font-size:12px;white-space:nowrap}
.gl-lv-stair li.is-mine .gl-lv-step {box-shadow:inset 0 0 0 2px var(--g)}
.gl-lv-me {position:absolute;top:-30px;left:50%;transform:translateX(-50%);padding:0 9px;border-radius:10px;background:var(--primary);color:var(--on-accent);font-size:11px;font-style:normal;font-weight:800;line-height:20px;white-space:nowrap}
.gl-lv-me:after {content:"";position:absolute;bottom:-4px;left:50%;margin-left:-4px;border:4px solid transparent;border-bottom:0;border-top-color:var(--primary)}
.gl-lv-rules {display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin:0;padding:16px 18px 18px;list-style:none}
.gl-lv-rules li {display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r-md, 10px);background:var(--surface-2)}
.gl-lv-rules p {margin:0;color:var(--text);font-size:13px;line-height:1.65}
.gl-lv-rules strong {color:var(--text-strong)}
.gl-lv-ic {flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--c);color:#fff;font-size:16px}

/* 시상대 순위 */
.gl-lv-podium {display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:10px;margin:0;padding:22px 18px 0;list-style:none}
.gl-lv-podium li {display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}
.gl-lv-podium li > b {max-width:100%;overflow:hidden;color:var(--text-strong);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.gl-lv-podium li > b .gl-grade {margin-right:3px}
.gl-lv-xp {color:var(--text-muted);font-size:12px;font-weight:700}
.gl-lv-podium li > i {display:block;width:100%;border-radius:10px 10px 0 0;background:var(--surface-3)}
.gl-lv-podium li.is-1 > i {height:84px;background:linear-gradient(to top, var(--primary-hover), var(--primary))}
.gl-lv-podium li.is-2 > i {height:58px;background:linear-gradient(to top, #3b4a63, #5d6f8c)}
.gl-lv-podium li.is-3 > i {height:42px;background:linear-gradient(to top, #7a5418, #b7791f)}
.gl-lv-medal {display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-3);color:var(--text-strong);font-size:15px;font-weight:900}
.gl-lv-podium li.is-1 .gl-lv-medal {width:42px;height:42px;background:var(--highlight);color:#0a172a;font-size:18px;box-shadow:0 0 0 4px rgba(237,255,0,.18)}
.gl-lv-list {display:grid;grid-template-columns:repeat(3, 1fr);gap:6px 12px;margin:0;padding:16px 18px 18px;list-style:none;border-top:1px solid var(--border-soft)}
.gl-lv-list li {display:flex;align-items:center;gap:8px;min-width:0;padding:9px 12px;border-radius:var(--r-sm, 8px);background:var(--surface-2);font-size:13px}
.gl-lv-list li > b {flex:none;width:20px;color:var(--primary-text);font-weight:800;text-align:center}
.gl-lv-rank .gl-empty {margin:0}

/* ==========================================================================
   이용가이드
   ========================================================================== */
.gl-ug-hero {padding:30px 30px 26px}
.gl-ug-hero-t {position:relative;z-index:1;max-width:640px}
.gl-ug-kicker {display:inline-block;padding:0 10px;border-radius:12px;background:var(--primary);color:#fff;font-size:12px;font-weight:800;line-height:24px}
.gl-ug-hero h2 {margin:12px 0 6px;color:#fff;font-size:26px;font-weight:900;letter-spacing:-.5px}
.gl-ug-hero-t p {margin:0;color:var(--chrome-text-muted);font-size:14px;line-height:1.7}
.gl-ug-map {position:relative;z-index:1;display:grid;grid-template-columns:repeat(5, 1fr);gap:8px;margin-top:22px}
.gl-ug-map a {display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--chrome-line);border-radius:12px;background:var(--chrome-field);color:#fff;text-decoration:none;transition:background-color .15s, border-color .15s}
.gl-ug-map a:hover {border-color:var(--c);background:rgba(255,255,255,.14);text-decoration:none}
.gl-ug .gl-ug-map a, .gl-ug .gl-ug-map a:hover {color:#fff}
.gl-ug-map .fa {flex:none;width:30px;height:30px;border-radius:9px;background:var(--c);font-size:14px;line-height:30px;text-align:center}
.gl-ug-map em {flex:none;color:var(--highlight);font-size:11px;font-style:normal;font-weight:800}
.gl-ug-map b {min-width:0;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}

.gl-ug-sec {padding:26px 28px;scroll-margin-top:16px}
.gl-ug-hd {display:flex;align-items:center;gap:14px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px dashed var(--border)}
.gl-ug-ic {flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:var(--c);color:#fff;font-size:20px;box-shadow:0 6px 16px -6px var(--c)}
.gl-ug-hd em {display:block;color:var(--primary-text);font-size:11px;font-style:normal;font-weight:800;letter-spacing:1.5px}
.gl-ug-hd h3 {margin:2px 0 0;color:var(--text-strong);font-size:20px;font-weight:800}
.gl-ug a {color:var(--primary-text);font-weight:600}
.gl-ug strong {color:var(--text-strong)}
.gl-ug-lead {margin:0 0 16px;color:var(--text);font-size:14px;line-height:1.75}
.gl-ug-sub {display:flex;align-items:center;gap:8px;margin:20px 0 10px;color:var(--text-strong);font-size:14px}
.gl-ug-sub:before {content:"";width:4px;height:14px;border-radius:2px;background:var(--primary)}
.gl-ug-lead + .gl-ug-sub {margin-top:4px}

/* 순서 흐름 : 번호 동그라미를 세로 줄로 잇는다 */
.gl-ug-flow {margin:0;padding:0;list-style:none;counter-reset:gdstep}
.gl-ug-cards + .gl-ug-flow {margin-top:18px}
.gl-ug-flow li {position:relative;padding:0 0 18px 46px;font-size:14px;line-height:1.7;counter-increment:gdstep}
.gl-ug-flow li:last-child {padding-bottom:2px}
.gl-ug-flow li:before {content:counter(gdstep);position:absolute;top:0;left:0;width:28px;height:28px;border:2px solid var(--primary);border-radius:50%;background:var(--surface);color:var(--primary-text);font-size:13px;font-weight:800;line-height:24px;text-align:center;box-sizing:border-box}
.gl-ug-flow li:after {content:"";position:absolute;top:30px;bottom:2px;left:13px;width:2px;background:var(--border)}
.gl-ug-flow li:last-child:after {display:none}
.gl-ug-flow li > b {display:block;color:var(--text-strong);font-size:15px;line-height:28px}
.gl-ug-flow li > span {display:block;color:var(--text)}

/* 카드 묶음 */
.gl-ug-cards {display:grid;grid-template-columns:repeat(3, 1fr);gap:10px}
.gl-ug-card {position:relative;display:block;padding:16px 16px 16px 60px;border:1px solid var(--border-soft);border-radius:var(--r-md, 12px);background:var(--surface);font-weight:400 !important}
.gl-ug-card > em {position:absolute;top:16px;left:16px;width:32px;height:32px;border-radius:10px;background:var(--tint);color:var(--accent);font-size:14px;font-style:normal;font-weight:900;line-height:32px;text-align:center}
.gl-ug-card > b {display:block;margin-bottom:4px;color:var(--text-strong);font-size:14px}
.gl-ug-card > span {display:block;color:var(--text-muted);font-size:13px;line-height:1.6}
.gl-ug-card.is-link {transition:border-color .15s, transform .15s}
.gl-ug-card.is-link:hover {border-color:var(--primary);text-decoration:none;transform:translateY(-2px)}
.gl-ug-card.is-link > b:after {content:"\f061";margin-left:6px;color:var(--primary-text);font:normal 11px/1 FontAwesome;opacity:0;transition:opacity .15s}
.gl-ug-card.is-link:hover > b:after {opacity:1}
.gl-ug-card.is-link:hover > em {background:var(--primary);color:var(--on-accent)}

/* 알아 두기 */
.gl-ug-tip {display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border-left:4px solid var(--primary);border-radius:0 var(--r-md, 10px) var(--r-md, 10px) 0;background:var(--surface-2);color:var(--text);font-size:13px;line-height:1.7}
.gl-ug-tip > .fa {flex:none;width:22px;margin-top:2px;color:var(--primary-text);font-size:16px;text-align:center}
.gl-ug-tip b {color:var(--text-strong)}

/* 포인트 표 → 칸 */
.gl-ug-pts {display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:10px;margin-bottom:20px}
.gl-ug-pts > div {display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r-md, 12px);background:var(--primary-soft)}
.gl-ug-pts .fa {grid-row:1 / 3;width:40px;height:40px;border-radius:12px;background:var(--primary);color:var(--on-accent);font-size:17px;line-height:40px;text-align:center}
.gl-ug-pts span {color:var(--text-strong);font-size:14px;font-weight:700}
.gl-ug-pts b {grid-row:1 / 3;grid-column:3;color:var(--primary-text);font-size:22px;font-weight:900}
.gl-ug-pts small {color:var(--text-muted);font-size:12px;line-height:1.5}

/* 자주 묻는 질문 */
.gl-ug-faq {display:grid;gap:8px}
.gl-ug-faq details {border:1px solid var(--border-soft);border-radius:var(--r-md, 12px);background:var(--surface)}
.gl-ug-faq details[open] {border-color:var(--primary);background:var(--surface-2)}
.gl-ug-faq summary {position:relative;padding:14px 48px 14px 52px;color:var(--text-strong);font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.gl-ug-faq summary::-webkit-details-marker {display:none}
.gl-ug-faq summary:before {content:"Q";position:absolute;top:12px;left:16px;width:24px;height:24px;border-radius:7px;background:var(--primary);color:var(--on-accent);font-size:12px;font-weight:900;line-height:24px;text-align:center}
.gl-ug-faq summary:after {content:"\f067";position:absolute;top:16px;right:18px;color:var(--text-faint);font:normal 13px/1 FontAwesome}
.gl-ug-faq details[open] summary:after {content:"\f068";color:var(--primary-text)}
.gl-ug-faq details p {margin:0;padding:0 18px 16px 52px;color:var(--text);font-size:14px;line-height:1.75}

/* ---------- PC 본문 폭이 좁을 때 (왼쪽 단이 있는 화면) ---------- */
#wrapper:not(.gl-home):not(.gl-wide) .gl-ug-cards {grid-template-columns:repeat(2, 1fr)}
#wrapper:not(.gl-home):not(.gl-wide) .gl-ug-map {grid-template-columns:repeat(4, 1fr)}
@media (min-width:1380px) {
    #wrapper:not(.gl-home):not(.gl-wide) .gl-ug-cards {grid-template-columns:repeat(3, 1fr)}
    #wrapper:not(.gl-home):not(.gl-wide) .gl-ug-map {grid-template-columns:repeat(5, 1fr)}
}

/* ---------- 휴대폰 ---------- */
@media (max-width:767px) {
    .gl-lv-hero {flex-direction:column;align-items:stretch;gap:18px;padding:22px 16px 24px;text-align:center}
    .gl-lv-ring {width:128px;height:128px;margin:0 auto}
    .gl-lv-ring b {font-size:22px}
    .gl-lv-now {font-size:16px}
    .gl-lv-track span {font-size:10px;letter-spacing:-.3px}
    /* 계단 → 가로 띠 그래프 */
    .gl-lv-stair {grid-template-columns:1fr;gap:6px;padding:14px 12px}
    .gl-lv-stair li {display:flex}
    .gl-lv-step {flex-direction:row;align-items:center;gap:10px;width:calc(46% + var(--h) * 7.7%);height:auto;padding:10px 12px;border-top:0;border-left:4px solid var(--g);border-radius:0 10px 10px 0;background:linear-gradient(to right, color-mix(in srgb, var(--g) 24%, var(--surface)), color-mix(in srgb, var(--g) 6%, var(--surface)));text-align:left}
    .gl-lv-step em {flex:none;width:36px}
    .gl-lv-step b {flex:1;margin:0;font-size:14px}
    .gl-lv-me {position:static;transform:none;order:3}
    .gl-lv-me:after {display:none}
    .gl-lv-rules, .gl-lv-list {grid-template-columns:1fr;padding:12px}
    .gl-lv-podium {padding:18px 12px 0;gap:6px}
    .gl-lv-podium li > b {font-size:12px}
    .gl-lv-podium li > b .gl-grade {display:none}

    .gl-ug-hero {padding:22px 16px 20px}
    .gl-ug-hero h2 {font-size:20px}
    .gl-ug-map, #wrapper .gl-ug-map {grid-template-columns:repeat(2, 1fr) !important;gap:6px}
    .gl-ug-map a {padding:8px 10px;gap:8px}
    .gl-ug-map em {display:none}
    .gl-ug-sec {padding:20px 16px}
    .gl-ug-ic {width:40px;height:40px;font-size:17px;border-radius:12px}
    .gl-ug-hd h3 {font-size:17px}
    .gl-ug-cards, #wrapper .gl-ug-cards {grid-template-columns:1fr !important}
    .gl-ug-faq summary {padding-left:46px}
    .gl-ug-faq summary:before {left:12px}
    .gl-ug-faq details p {padding:0 14px 14px 46px}
}
@media (prefers-reduced-motion:reduce) {
    .gl-ug-card.is-link, .gl-ug-map a {transition:none}
    .gl-ug-card.is-link:hover {transform:none}
}
