/* =======================================================
   GAME REVIEW — 전체 테마 CSS 변수
======================================================= */
@import url('https://fonts.googleapis.com/css2?family=Galmuri11&display=swap');

:root {
    /* ── 아카이브 카드 (하단) 변수 ── */
    --gr-title: #1a1a2e; --gr-score-num: #1a1a2e; --gr-score-denom: #9aa0b2;
    --gr-score-bar-bg: #e8eaf6; --gr-score-bar-fill: #3B4FCC; --gr-meta-divider: #dde1f0;
    --gr-pill-steam-bg: #dbeafe; --gr-pill-steam-color: #1e40af; --gr-pill-steam-border: #93c5fd;
    --gr-pill-origin-bg: #ffedd5; --gr-pill-origin-color: #c2410c; --gr-pill-origin-border: #fdba74;
    --gr-pill-uplay-bg: #ede9fe; --gr-pill-uplay-color: #6d28d9; --gr-pill-uplay-border: #c4b5fd;
    --gr-pill-gog-bg: #f3e8ff; --gr-pill-gog-color: #7e22ce; --gr-pill-gog-border: #d8b4fe;
    --gr-pill-platform-color: #475569; --gr-pill-platform-border: #cbd5e1;
    --gr-pill-genre-bg: #fce7f3; --gr-pill-genre-color: #be185d; --gr-pill-genre-border: #f9a8d4;
    --gr-pill-year-bg: #dcfce7; --gr-pill-year-color: #15803d; --gr-pill-year-border: #86efac;
    --gr-card-bg: #ffffff; --gr-card-border: #e0e4f0; --gr-card-hover-border: #3B4FCC;
    --gr-card-title: #1a1a2e; --gr-card-score-bg: #3B4FCC; --gr-card-score-label: rgba(255, 255, 255, 0.65);
    --gr-card-score-num: #ffffff; --gr-card-score-denom: rgba(255, 255, 255, 0.65);
    --gr-card-bar-track: rgba(255, 255, 255, 0.25); --gr-card-accent: #6b7de8;

    /* ── RPG 샌드박스 변수 (다크 모드 기본) ── */
    --gr-hdr-bg: rgba(22, 26, 43, 0.85);
    --gr-hdr-panel: rgba(18, 22, 38, 0.9); 
    --gr-hdr-item-bg: #0a0c10;
    --gr-hdr-border: #3b4668; 
    --gr-hdr-border-inner: #111; 
    --gr-hdr-border-hi: #6c80a4;
    --gr-hdr-text: #ffffff; 
    --gr-hdr-dim: #7a8ba3; 
    --gr-hdr-shadow: 1px 1px 0 #000;
    --gr-hdr-shadow-glow: 2px 2px 0px #000;
    --gr-hdr-scanline: rgba(0, 0, 0, 0.4);
    
    /* 포인트 컬러 */
    --gr-hdr-gold: #f3d449; --gr-hdr-gold-dim: #997f26; 
    --gr-hdr-cyan: #38e1ff; --gr-hdr-purple: #c250ff;
    --gr-hdr-hp: #ff4040; --gr-hdr-mp: #4070ff; --gr-hdr-xp: #50e050;
    --gr-hdr-select: rgba(56, 225, 255, 0.15);
}

/* ── RPG 샌드박스 변수 (라이트 모드 오버라이드) ── */
body:not(.dark-theme) .gr-hdr-outer {
    --gr-hdr-bg: #f8fafc;
    --gr-hdr-panel: #ffffff; 
    --gr-hdr-item-bg: #f1f5f9;
    --gr-hdr-border: #cbd5e1; 
    --gr-hdr-border-inner: #94a3b8;
    --gr-hdr-border-hi: #64748b;
    --gr-hdr-text: #1e293b;
    --gr-hdr-dim: #64748b; 
    --gr-hdr-shadow: none;
    --gr-hdr-shadow-glow: none;
    --gr-hdr-scanline: rgba(0, 0, 0, 0.05);
    
    --gr-hdr-gold: #b45309; --gr-hdr-gold-dim: #d97706; 
    --gr-hdr-cyan: #0284c7; --gr-hdr-purple: #9333ea;
    --gr-hdr-hp: #dc2626; --gr-hdr-mp: #2563eb; --gr-hdr-xp: #16a34a;
    --gr-hdr-select: #e0f2fe;
}

/* --- Reset & Base --- */
.gr-hdr-outer *, .gr-hdr-outer *::before, .gr-hdr-outer *::after { box-sizing: border-box; margin: 0; padding: 0; }
.gr-hdr-outer { 
    background: transparent; position: relative; 
    font-family: 'Galmuri11', sans-serif; overflow: hidden; 
    width: 100vw; margin-left: calc(-50vw + 50%); image-rendering: pixelated; 
}

/* --- 센터 컨테이너 --- */
.gr-hdr-inner { max-width: 1400px; margin: 0 auto; padding: 20px 40px; position: relative; z-index: 1; }

/* 가장 큰 프레임도 두껍게 (보이는 색상 반전) */
.gr-hdr-frame {
    background: var(--gr-hdr-bg); 
    border: 3px solid var(--gr-hdr-border); /* 밝고 눈에 띄는 3px 테두리 */
    box-shadow: inset 0 0 0 2px var(--gr-hdr-border-inner), inset 0 0 10px rgba(0,0,0,0.05); /* 검은색을 안쪽으로 */
    padding: 16px; 
    position: relative;
}
.gr-hdr-frame::before {
    content: ''; position: absolute; inset: 0; z-index: 10; pointer-events: none;
    background: repeating-linear-gradient(to bottom, transparent 0px, transparent 2px, var(--gr-hdr-scanline) 2px, var(--gr-hdr-scanline) 4px);
}

.gr-hdr-layout-split, .gr-hdr-bottom { position: relative; z-index: 20; }

/* ==========================================
   레이아웃 분할 (좌측 윙 + 우측 트로피)
========================================== */
.gr-hdr-layout-split { display: flex; gap: 10px; align-items: stretch; }
.gr-hdr-layout-left { flex: 1; display: flex; flex-direction: column; gap: 10px; min-width: 0; }

/* 타이틀 바 */
.gr-hdr-top-bar { display: flex; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 2px dashed var(--gr-hdr-border); }
.gr-hdr-title-group { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.gr-hdr-book { width: 24px; height: 24px; position: relative; }
.gr-hdr-book-cover { position: absolute; left: 5px; top: 0; width: 17px; height: 24px; background: var(--gr-hdr-purple); border: 1.5px solid var(--gr-hdr-gold); }
.gr-hdr-book-spine { position: absolute; left: 2px; top: 2px; width: 4px; height: 20px; background: var(--gr-hdr-gold); }
.gr-hdr-book-line { position: absolute; left: 9px; width: 8px; height: 1.5px; background: var(--gr-hdr-gold-dim); }
.gr-hdr-title-main { font-size: 18px; font-weight: bold; color: var(--gr-hdr-gold); text-shadow: var(--gr-hdr-shadow-glow); }
.gr-hdr-title-sub { font-size: 11px; color: var(--gr-hdr-dim); }

.gr-hdr-section-label { font-size: 11px; color: var(--gr-hdr-cyan); margin-bottom: 4px; text-shadow: var(--gr-hdr-shadow); }
.gr-hdr-section-label::before { content: '▶'; font-size: 8px; margin-right: 6px; color: var(--gr-hdr-gold); }
.gr-hdr-top-quest { flex: 1; margin-left: 320px; padding: 6px 10px; }
.gr-hdr-quest-desc { font-size: 11px; color: var(--gr-hdr-text); line-height: 1.4; }

/* ── 메인 그리드 ── */
.gr-hdr-main-grid {
    flex: 1; display: grid;
    grid-template-columns: 2.8fr 1fr 0.7fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 8px; 
}

/* ★ 모든 외곽 패널 공통 (최외곽선 3px 두껍게 적용 + 색상 반전) ★ */
.gr-hdr-panel-box, .gr-hdr-sort-section, .gr-hdr-options-sidebar { 
    background: var(--gr-hdr-panel); 
    border: 3px solid var(--gr-hdr-border); /* 밝은 3px 테두리가 바깥쪽 */
    box-shadow: inset 0 0 0 2px var(--gr-hdr-border-inner); /* 검은색 테두리는 안쪽 */
    padding: 8px; 
}

/* 열 배치 */
.gr-hdr-party-section { grid-column: 1; grid-row: 1; }
.gr-hdr-status-section { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; justify-content: center; }
.gr-hdr-search-section { grid-column: 1 / 4; grid-row: 3; }
.gr-hdr-genre-section { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; }
.gr-hdr-sort-section { grid-column: 3; grid-row: 1 / 3; display: flex; flex-direction: column; }

/* 아카이브 레벨 박스 (골드 테두리로 위 구조와 완벽히 동일한 두께감) */
.gr-hdr-lv-badge { 
    grid-column: 4; grid-row: 1; background: var(--gr-hdr-item-bg); 
    border: 3px solid var(--gr-hdr-gold); /* 골드 3px 테두리 */
    box-shadow: inset 0 0 0 2px var(--gr-hdr-border-inner), 0 0 10px rgba(243, 212, 73, 0.1); /* 검은색 안쪽 */
    padding: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; 
}
.gr-hdr-options-sidebar { grid-column: 4; grid-row: 2 / 4; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }

/* 1. 파티 (내부 요소 얇게 유지: 바깥이 검정, 안쪽이 밝은색) */
.gr-hdr-party-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.gr-hdr-char {
    background: var(--gr-hdr-bg); 
    border: 2px solid var(--gr-hdr-border-inner); 
    box-shadow: inset 0 0 0 2px var(--gr-hdr-border);
    padding: 12px 6px; cursor: pointer; transition: all 0.1s; 
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.gr-hdr-char:hover { box-shadow: inset 0 0 0 2px var(--gr-hdr-border-hi); }
.gr-hdr-char.active { box-shadow: inset 0 0 0 2px var(--gr-hdr-cyan), 0 0 8px rgba(56, 225, 255, 0.4); background: var(--gr-hdr-select); }
.gr-hdr-portrait { border: 2px solid var(--gr-hdr-border-inner); width: 28px; height: 28px; background: var(--gr-hdr-item-bg); flex-shrink: 0; }
.gr-hdr-char.active .gr-hdr-portrait { border-color: var(--gr-hdr-cyan); }
.gr-hdr-portrait svg { width: 100%; height: 100%; display: block; }
.gr-hdr-char-info { display: flex; flex-direction: column; gap: 2px; align-items: center; text-align: center; }
.gr-hdr-char-name { font-size: 12px; font-weight: bold; text-shadow: var(--gr-hdr-shadow); color: var(--gr-hdr-text); }
.gr-hdr-char-class { font-size: 9px; color: var(--gr-hdr-dim); white-space: nowrap; }

/* 2. Status */
.gr-hdr-stats-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px; }
.gr-hdr-stat-card { background: var(--gr-hdr-bg); border: 2px solid var(--gr-hdr-border-inner); box-shadow: inset 0 0 0 2px var(--gr-hdr-border); padding: 6px 8px; display: flex; flex-direction: column; gap: 4px; }
.gr-hdr-stat-label { font-size: 10px; color: var(--gr-hdr-text); text-shadow: var(--gr-hdr-shadow); display: flex; justify-content: space-between; align-items: baseline; }
.gr-hdr-stat-type { font-size: 24px; font-weight: 900; line-height: 0.8; letter-spacing: 1px; opacity: 0.95; }
.gr-hdr-stat--hp .gr-hdr-stat-type { color: var(--gr-hdr-hp); }
.gr-hdr-stat--mp .gr-hdr-stat-type { color: var(--gr-hdr-mp); }
.gr-hdr-stat--xp .gr-hdr-stat-type { color: var(--gr-hdr-xp); }
.gr-hdr-stat-value { font-size: 15px; font-weight: bold; text-shadow: var(--gr-hdr-shadow); color: var(--gr-hdr-text); margin-top: 1px; }
.gr-hdr-stat-bar { height: 6px; background: var(--gr-hdr-item-bg); border: 2px solid var(--gr-hdr-border-inner); }
.gr-hdr-stat-bar-fill { height: 100%; box-shadow: inset 0 2px 0 rgba(255,255,255,0.3); transition: width 1s ease; }

/* 3. 장르 */
.gr-hdr-genre-grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; align-content: stretch; }
.gr-hdr-genre-chip { display: flex; align-items: center; justify-content: center; background: var(--gr-hdr-item-bg); border: 2px solid var(--gr-hdr-border-inner); font-size: 11px; padding: 4px 2px; text-shadow: var(--gr-hdr-shadow); color: var(--gr-hdr-dim); cursor: pointer; transition: all 0.1s; }
.gr-hdr-genre-chip:hover { border-color: var(--gr-hdr-border-hi); color: var(--gr-hdr-text); }
.gr-hdr-genre-chip.active { border-color: var(--gr-hdr-gold); background: var(--gr-hdr-gold-dim); color: #fff; text-shadow: 1px 1px 0 #000; }

/* 4. 정렬 */
.gr-hdr-menu-item { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 4px; border: 2px solid transparent; cursor: pointer; }
.gr-hdr-menu-item:hover { border-color: var(--gr-hdr-border-hi); background: var(--gr-hdr-select); }
.gr-hdr-menu-item.active { border-color: var(--gr-hdr-cyan); background: var(--gr-hdr-select); }
.gr-hdr-menu-icon { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; background: var(--gr-hdr-item-bg); border: 1px solid var(--gr-hdr-border-inner); flex-shrink: 0; padding: 3px; }
.gr-hdr-menu-icon svg { width: 100%; height: 100%; display: block; }
.gr-hdr-menu-icon.time svg { fill: var(--gr-hdr-cyan); }
.gr-hdr-menu-icon.star svg { fill: var(--gr-hdr-gold); }
.gr-hdr-menu-icon.alpha svg { fill: var(--gr-hdr-purple); }
.gr-hdr-menu-label { font-size: 12px; font-weight: bold; color: var(--gr-hdr-text); white-space: nowrap; }
.gr-hdr-menu-item.active .gr-hdr-menu-label { color: var(--gr-hdr-cyan); }

/* 5. 레벨 & 옵션 */
.gr-hdr-lv-label { color: var(--gr-hdr-gold); font-size: 11px; text-shadow: var(--gr-hdr-shadow); }
.gr-hdr-lv-num { color: var(--gr-hdr-text); font-size: 24px; text-shadow: var(--gr-hdr-shadow-glow); margin-top: 2px; }
.gr-hdr-lv-sub { color: var(--gr-hdr-cyan); font-size: 9px; margin-top: 4px; }
.gr-hdr-lv-bar { flex: 1; height: 6px; background: var(--gr-hdr-border); border: 1px solid var(--gr-hdr-border-inner); }
.gr-hdr-lv-bar-fill { box-shadow: inset 0 2px 0 rgba(255,255,255,0.4); }

.gr-hdr-toggle-item { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 4px 0; width: 100%; }
.gr-hdr-toggle-label { font-size: 11px; color: var(--gr-hdr-text); }
.gr-hdr-switch { position: relative; width: 30px !important; height: 16px !important; flex-shrink: 0; background: var(--gr-hdr-item-bg); border: 2px solid var(--gr-hdr-border-inner); cursor: pointer; transition: all 0.2s; }
.gr-hdr-switch-knob { position: absolute; top: 1px; left: 1px; width: 10px; height: 10px; background: var(--gr-hdr-dim); transition: transform 0.2s, background 0.2s; }
.gr-hdr-switch.on { border-color: var(--gr-hdr-cyan); }
.gr-hdr-switch.on .gr-hdr-switch-knob { background: var(--gr-hdr-cyan); transform: translateX(14px); }

/* 6. 검색창 (외곽 박스와 동일하게 적용) */
.gr-hdr-cmd { 
    display: flex; align-items: center; background: var(--gr-hdr-item-bg); 
    border: 3px solid var(--gr-hdr-border); /* 밝은 3px 바깥 테두리 */
    box-shadow: inset 0 0 5px rgba(0,0,0,0.1), inset 0 0 0 2px var(--gr-hdr-border-inner); /* 검은색 안쪽 */
    height: 32px; padding: 0 10px; 
}
.gr-hdr-cmd:focus-within { border-color: var(--gr-hdr-cyan); }
.gr-hdr-cmd-prompt { color: var(--gr-hdr-xp); font-size: 14px; margin-right: 8px; font-weight: bold; }
.gr-hdr-cmd input { flex: 1; height: 100%; margin: 0 !important; padding: 0 !important; color: var(--gr-hdr-text) !important; font-size: 12px; background: transparent !important; border: none !important; box-shadow: none !important; outline: none !important; line-height: 1; font-family: inherit; }
.gr-hdr-cmd input::placeholder { color: var(--gr-hdr-dim); opacity: 0.5; }
.gr-hdr-cmd-cursor { background: var(--gr-hdr-xp); width: 6px; height: 14px; flex-shrink: 0; margin-left: 5px; animation: gr-hdr-blink 1s step-end infinite; }
@keyframes gr-hdr-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ── 7. 우측 트로피 (내부 요소 얇게 유지) ── */
.gr-hdr-layout-right { flex: 0 0 160px; display: flex; flex-direction: column; }
.gr-hdr-trophies-panel { flex: 1; display: flex; flex-direction: column; }
.gr-hdr-trophies-vertical { display: flex; flex-direction: column; gap: 3px; flex: 1; justify-content: space-between; }
.gr-hdr-trophy {
    display: flex; align-items: center; justify-content: center;
    flex-direction: row; gap: 8px; background: var(--gr-hdr-bg); 
    border: 2px solid var(--gr-hdr-border-inner); 
    box-shadow: inset 0 0 0 2px var(--gr-hdr-border); 
    padding: 6px 8px; transition: all 0.1s;
}
.gr-hdr-trophy:hover { box-shadow: inset 0 0 0 2px var(--gr-hdr-gold); background: var(--gr-hdr-item-bg); }
.gr-hdr-trophy-icon { width: 28px !important; height: 28px !important; flex-shrink: 0; image-rendering: pixelated; }
.gr-hdr-trophy-icon svg { width: 100%; height: 100%; display: block; }
.gr-hdr-trophy-info { display: flex; flex-direction: column; gap: 1px; overflow: hidden; text-align: left; }
.gr-hdr-trophy-name { font-size: 12px; font-weight: bold; text-shadow: var(--gr-hdr-shadow); color: var(--gr-hdr-text); line-height: 1.2; white-space: nowrap; }
.gr-hdr-trophy-desc { font-size: 10px; color: var(--gr-hdr-dim); line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.gr-hdr-trophy.locked { opacity: 0.5; }
.gr-hdr-trophy.locked .gr-hdr-trophy-name { color: var(--gr-hdr-dim); }

/* 하단 힌트 바 */
.gr-hdr-bottom { display: flex; align-items: center; justify-content: space-between; border-top: 2px dashed var(--gr-hdr-border); padding-top: 10px; margin-top: 10px; }
.gr-hdr-hints { display: flex; gap: 12px; font-size: 10px; color: var(--gr-hdr-dim); }
.gr-hdr-hint-key { display: inline-flex; align-items: center; gap: 4px; }
.gr-hdr-hint-key kbd { font-size: 10px; font-family: inherit; padding: 2px 4px; border: 1px solid var(--gr-hdr-border-inner); background: var(--gr-hdr-item-bg); color: var(--gr-hdr-text); text-shadow: none; font-weight: bold; }
.gr-hdr-version { font-size: 10px; color: var(--gr-hdr-dim); }


/* =======================================================
   GAME REVIEW — 반응형 대공사 (iPad / iPhone 맞춤)
======================================================= */

@media (max-width: 1024px) {
    .gr-hdr-layout-split { flex-direction: column; }
    .gr-hdr-layout-right { flex: none; }
    .gr-hdr-trophies-vertical { flex-direction: row; flex-wrap: wrap; gap: 6px; }
    .gr-hdr-trophy { flex: 1 1 calc(33.333% - 8px); justify-content: flex-start; }
}

@media (max-width: 768px) {
    .gr-hdr-inner { padding: 16px; }
    .gr-hdr-top-bar { flex-direction: column; align-items: stretch; gap: 12px; }
    .gr-hdr-top-quest { margin-left: 0; }
    
    .gr-hdr-main-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
    .gr-hdr-party-section { grid-column: 1 / 3; grid-row: 1; }
    .gr-hdr-status-section { grid-column: 1 / 3; grid-row: 2; }
    .gr-hdr-genre-section { grid-column: 1; grid-row: 3; }
    .gr-hdr-sort-section { grid-column: 2; grid-row: 3; }
    .gr-hdr-search-section { grid-column: 1 / 3; grid-row: 4; }
    .gr-hdr-lv-badge { grid-column: 1; grid-row: 5; }
    .gr-hdr-options-sidebar { grid-column: 2; grid-row: 5; }
    
    .gr-hdr-trophy { flex: 1 1 calc(50% - 8px); }
}

@media (max-width: 480px) {
    .gr-hdr-inner { padding: 12px 8px; }
    
    .gr-hdr-main-grid { grid-template-columns: 1fr; gap: 8px; }
    .gr-hdr-party-section, .gr-hdr-status-section, .gr-hdr-genre-section, 
    .gr-hdr-sort-section, .gr-hdr-search-section, .gr-hdr-lv-badge, 
    .gr-hdr-options-sidebar { grid-column: 1; grid-row: auto; }
    
    .gr-hdr-party-grid { grid-template-columns: 1fr 1fr; }
    .gr-hdr-stats-grid { grid-template-columns: 1fr; }
    .gr-hdr-trophy { flex: 1 1 100%; justify-content: flex-start; }
    .gr-hdr-hints { display: none; }
}


/* =======================================================
   GAME REVIEW — 아카이브 카드 그리드 (하단 본문)
======================================================= */
.gr-archive-container { max-width: 1400px; margin: 0 auto; padding: 40px 32px 48px; }
.gr-archive-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.gr-search-empty { display: none; text-align: center; color: var(--gr-hdr-dim); font-size: 13px; padding: 3rem 0; }
.gr-search-empty.gr-visible { display: block; }
.gr-card.gr-hidden { display: none; }
.gr-cover-hidden .gr-card-img, .gr-cover-hidden .gr-card-img--fallback { display: none; }
.gr-card { border-radius: 10px; border: 1.5px solid var(--gr-card-border); background: var(--gr-card-bg); overflow: hidden; transition: border-color 0.18s ease, box-shadow 0.2s ease, transform 0.18s ease; font-family: 'Pretendard Variable', 'Pretendard', sans-serif; }
.gr-card > a { display: block; text-decoration: none; }
.gr-card:hover { border-color: var(--gr-card-hover-border); box-shadow: 0 6px 24px rgba(59, 79, 204, 0.13); transform: translateY(-2px); }
.gr-card-img { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; }
.gr-card-img--fallback { background: var(--gr-score-bar-bg); display: flex; align-items: center; justify-content: center; }
.gr-card-img-fallback-title { font-size: 11px; font-weight: 700; color: var(--gr-hdr-dim); padding: 8px; text-align: center; }
.gr-card-body { padding: 10px 12px 13px; display: flex; flex-direction: column; gap: 7px; background: var(--gr-card-bg); }
.gr-card-top { display: flex; gap: 8px; align-items: flex-start; }
.gr-score-badge { background: var(--gr-card-score-bg); border-radius: 6px; padding: 5px 8px; display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.gr-score-num { font-size: 17px; font-weight: 700; color: var(--gr-card-score-num); line-height: 1; }
.gr-score-denom { font-size: 8px; color: var(--gr-card-score-label); }
.gr-title-wrap { flex: 1; min-width: 0; height: calc(12px * 1.4 * 2); display: flex; align-items: center; }
.gr-card-title { font-size: 12px; font-weight: 700; color: var(--gr-card-title); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.4; }
.gr-card-pills { display: flex; gap: 4px; flex-wrap: nowrap; overflow: hidden; }

/* 알약 배지 */
.gr-pill { font-size: 9px; font-weight: 600; padding: 2px 7px; border-radius: 20px; white-space: nowrap; line-height: 1.4; }
.gr-pill-steam { background: var(--gr-pill-steam-bg); color: var(--gr-pill-steam-color); border: 0.5px solid var(--gr-pill-steam-border); }
.gr-pill-origin { background: var(--gr-pill-origin-bg); color: var(--gr-pill-origin-color); border: 0.5px solid var(--gr-pill-origin-border); }
.gr-pill-uplay { background: var(--gr-pill-uplay-bg); color: var(--gr-pill-uplay-color); border: 0.5px solid var(--gr-pill-uplay-border); }
.gr-pill-gog { background: var(--gr-pill-gog-bg); color: var(--gr-pill-gog-color); border: 0.5px solid var(--gr-pill-gog-border); }
.gr-pill-platform { background: #f1f5f9; color: var(--gr-pill-platform-color); border: 0.5px solid var(--gr-pill-platform-border); }
.gr-pill-genre { background: var(--gr-pill-genre-bg); color: var(--gr-pill-genre-color); border: 0.5px solid var(--gr-pill-genre-border); }
.gr-pill-year { background: var(--gr-pill-year-bg); color: var(--gr-pill-year-color); border: 0.5px solid var(--gr-pill-year-border); }

/* 다크 테마 배지 */
body.dark-theme .gr-pill-genre { background: rgba(190, 24, 93, 0.2); }
body.dark-theme .gr-pill-year { background: rgba(21, 128, 61, 0.2); }
body.dark-theme .gr-pill-platform { background: rgba(71, 85, 105, 0.2); }
body.dark-theme .gr-pill-steam { background: rgba(30, 64, 175, 0.25); color: #93c5fd; border-color: rgba(147, 197, 253, 0.35); }
body.dark-theme .gr-pill-origin { background: rgba(194, 65, 12, 0.25); color: #fdba74; border-color: rgba(253, 186, 116, 0.35); }
body.dark-theme .gr-pill-uplay { background: rgba(109, 40, 217, 0.25); color: #c4b5fd; border-color: rgba(196, 181, 253, 0.35); }
body.dark-theme .gr-pill-gog { background: rgba(126, 34, 206, 0.25); color: #d8b4fe; border-color: rgba(216, 180, 254, 0.35); }

@media (max-width: 900px) { .gr-archive-grid { grid-template-columns: repeat(3, 1fr); } }

/* =======================================================
   GAME REVIEW — 싱글 페이지 아카이브 주의사항 배너
======================================================= */
.gr-notice-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 28px 0 32px;
    padding: 16px 20px;
    border-left: 3px solid var(--gr-score-bar-fill);
    background: color-mix(in srgb, var(--gr-score-bar-fill) 7%, transparent);
    border-radius: 0 8px 8px 0;
}
.gr-notice-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--gr-score-bar-fill);
    opacity: 0.85;
    margin-top: 1px;
}
.gr-notice-icon svg { width: 100%; height: 100%; display: block; }
.gr-notice-text {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.8;
    color: var(--gr-score-denom);
}

body.dark-theme .gr-notice-banner {
    background: color-mix(in srgb, var(--gr-score-bar-fill) 12%, transparent);
}

/* 게임 리뷰 싱글: 다크모드에서 이미지 항상 원본 밝기 유지 */
body.dark-theme .entry-content .gr-review-gallery img,
body.dark-theme .entry-content .gr-review-gallery img:hover {
    filter: brightness(1) grayscale(0) !important;
    transition: none !important;
}
@media (max-width: 480px) { .gr-archive-container { padding: 20px 14px 28px; } .gr-archive-grid { grid-template-columns: 1fr; } }