/* Home v3 and /friends/ — one world, two doors. Scoped to .hv-main. */
.hv-main{--hv-panel:#1b1d25;--hv-line:#30323c;--hv-ink:#f8f7f3;--hv-muted:#a5a8b3;--hv-soft:#c3c6ce;--hv-accent:#ff876f;--hv-gold:#f3c969;color:var(--hv-ink);padding-top:24px!important}
.hv-main a{color:inherit;text-decoration:none}
.hv-main h1,.hv-main h2,.hv-main h3,.hv-main p{margin:0}
.hv-serif,.hv-main h1{font-family:"AppleMyungjo","Noto Serif KR","Nanum Myeongjo",Georgia,serif;font-weight:700;letter-spacing:-.01em}
.hv-eyebrow{font-size:13px;letter-spacing:.14em;font-weight:700;color:var(--hv-muted);margin-bottom:6px!important}
.hv-gold{color:var(--hv-gold)}
.hv-lede{font-size:19px;line-height:1.65;color:#e4e2dc;max-width:560px;margin-top:18px!important;word-break:keep-all}
.hv-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--hv-soft)!important}
.hv-link:hover{color:var(--hv-accent)!important}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid rgba(248,247,243,.55);background:rgba(16,18,24,.45);font-weight:700;font-size:16px;color:var(--hv-ink)!important}
.hv-btn:hover{border-color:var(--hv-accent)}
.hv-btn[hidden]{display:none}
.hv-primary{background:var(--hv-accent);border-color:var(--hv-accent);color:#1a1110!important}
.hv-primary:hover{background:#ff9d89}
.hv-wide{display:flex;width:100%;min-height:48px;margin-top:14px;border-color:var(--hv-line);background:none;font-size:15px}
.hv-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hv-pill{padding:4px 12px;border-radius:999px;border:1px solid var(--hv-line);font-size:13px;color:var(--hv-soft);white-space:nowrap}

.hv-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;border-radius:24px;background:#151821}
.hv-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hv-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,18,24,.72) 0%,rgba(16,18,24,.25) 48%,rgba(16,18,24,0) 70%),linear-gradient(180deg,rgba(16,18,24,0) 35%,rgba(16,18,24,.6) 72%,#101218 100%)}
.hv-hero-copy{position:relative;z-index:1;padding:0 48px 56px}
.hv-hero h1{font-size:60px;line-height:1.2;max-width:760px}
.hv-meta{margin-top:20px!important;font-size:14px;color:var(--hv-soft)}

.hv-main .sp-recent{margin:28px 0 0!important;padding:18px 22px;border:1px solid var(--hv-line);border-radius:16px;background:var(--hv-panel)}
.hv-section{margin-top:72px}
.hv-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.hv-head h2{font-size:32px;line-height:1.3;letter-spacing:-.01em}
.hv-head h2 a:hover{color:var(--hv-accent)}

.hv-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hv-game{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--hv-panel);border:1px solid var(--hv-line);transition:border-color .2s}
.hv-game:hover,.hv-chapter:hover,.hv-main a.hv-friend:hover{border-color:var(--hv-accent)}
.hv-game-art{position:relative}
.hv-game-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 25%}
.hv-badge{position:absolute;left:16px;top:16px;padding:4px 12px;border-radius:999px;background:var(--hv-gold);color:#1f1a0c;font-size:13px;font-weight:700}
.hv-game-copy{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}
.hv-game-copy h3{font-size:22px}
.hv-game-copy p{color:var(--hv-muted);font-size:15px;line-height:1.6}
.hv-go{margin-top:10px;color:var(--hv-accent);font-weight:700;font-size:15px}

.hv-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.hv-ranking{border:1px solid var(--hv-line);border-radius:20px;background:var(--hv-panel);padding:26px 26px 20px}
.hv-ranking-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hv-ranking-head h2{font-size:20px}
.hv-ranking-head span{font-size:13px;color:var(--hv-muted)}
.hv-ranking ol{list-style:none;margin:18px 0 0;padding:0}
.hv-ranking li{display:flex;align-items:center;gap:14px;min-height:52px;border-top:1px solid var(--hv-line)}
.hv-rank-no{width:28px;font-weight:700;color:var(--hv-muted)}
.hv-ranking li:first-child .hv-rank-no{color:var(--hv-gold)}
.hv-rank-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hv-rank-empty .hv-rank-name{color:var(--hv-muted)}
.hv-rank-score{font-variant-numeric:tabular-nums;font-weight:700}
.hv-rank-note{margin-top:12px!important;font-size:13px;color:var(--hv-muted)}

.hv-stories .hv-head{margin-bottom:18px}
.hv-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hv-chapter{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--hv-panel);border:1px solid var(--hv-line);transition:border-color .2s}
.hv-chapter img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hv-chapter>div{padding:14px 16px 18px}
.hv-chapter-no{font-size:13px;color:var(--hv-accent);font-weight:700}
.hv-chapter h3{margin:2px 0 6px!important;font-size:17px}
.hv-chapter p:last-child{font-size:14px;color:var(--hv-muted);line-height:1.55;word-break:keep-all}
.hv-story-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}

.hv-friends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hv-friend{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--hv-panel);border:1px solid var(--hv-line);transition:border-color .2s}
.hv-friend img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.hv-friend>div{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
.hv-friend-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}
.hv-friend h3{font-size:18px}
.hv-friend-head span{font-size:12px;color:var(--hv-muted)}
.hv-friend p{font-size:14px;color:var(--hv-soft);line-height:1.6;word-break:keep-all}

.hv-page-intro{padding:40px 0 8px}
.hv-page-intro h1{font-size:48px;line-height:1.25}
.hv-friend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.hv-friend-list .hv-friend{scroll-margin-top:100px}
.hv-friend-list .hv-friend>div{padding:20px 22px 22px;gap:8px}
.hv-friend-list h2{font-size:24px}
.hv-friend-list p{font-size:16px}
.hv-friend-list .hv-link{align-self:flex-start;color:var(--hv-accent)!important;font-weight:700}
.hv-cta-band{margin-top:64px;padding:40px;border:1px solid var(--hv-line);border-radius:24px;background:var(--hv-panel);text-align:center}
.hv-cta-band h2{font-size:28px;line-height:1.4}
.hv-cta-band .hv-ctas{justify-content:center}

@media(max-width:760px){
.hv-main{padding-top:8px!important}
.hv-hero{min-height:620px;border-radius:18px}
.hv-hero-art{object-position:30% top}
.hv-hero:after{background:linear-gradient(180deg,rgba(16,18,24,0) 0%,rgba(16,18,24,.35) 28%,rgba(16,18,24,.86) 52%,#101218 100%)}
.hv-hero-copy{padding:0 20px 32px}
.hv-hero h1{font-size:36px}
.hv-lede{font-size:16px}
.hv-ctas .hv-btn{flex:1 1 100%}
.hv-section{margin-top:56px}
.hv-head h2{font-size:26px}
.hv-games,.hv-split,.hv-chapters,.hv-friend-list{grid-template-columns:minmax(0,1fr)}
.hv-friends{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hv-friends .hv-friend>div{padding:12px 12px 14px}
.hv-friends .hv-friend h3{font-size:16px}
.hv-friends .hv-friend p{font-size:13px}
.hv-ranking{padding:22px 18px 16px}
.hv-page-intro h1{font-size:34px}
.hv-cta-band{padding:28px 20px}
.hv-cta-band h2{font-size:22px}
}
