.hv-top{position:sticky;top:0;z-index:70;background:rgba(14,15,45,.97)}
/* Header height is pinned to 64px: the mobile drawer is positioned from this value instead of measuring the bar in JS. */
.hv-top__bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hv-emblem{display:inline-flex;align-items:baseline;font-family:var(--hv-face-display);font-weight:800;font-size:1.3rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--hv-snow);min-height:48px;align-items:center}
.hv-emblem__b{color:var(--hv-night);background:var(--hv-violet-soft);padding:.05em .32em;margin-left:.12em;border-radius:var(--hv-bubble)}
.hv-emblem:hover{color:var(--hv-snow)}
.hv-emblem:hover .hv-emblem__b{background:var(--hv-snow)}
.hv-burger{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--hv-night-3);border:0;border-radius:var(--hv-bubble);cursor:pointer}
.hv-burger__bars{position:relative;display:block;width:22px;height:16px}
.hv-burger__bars span{position:absolute;left:0;width:100%;height:2px;background:var(--hv-snow);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.hv-burger__bars span:nth-child(1){top:0}
.hv-burger__bars span:nth-child(2){top:7px}
.hv-burger__bars span:nth-child(3){top:14px}
.hv-burger[aria-expanded="true"] .hv-burger__bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hv-burger[aria-expanded="true"] .hv-burger__bars span:nth-child(2){opacity:0}
.hv-burger[aria-expanded="true"] .hv-burger__bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hv-route{display:none}
.hv-route[data-open="yes"]{display:block;position:fixed;inset:64px 0 0 0;z-index:39;background:var(--hv-night);padding:1.25rem 16px 2rem;overflow-y:auto}
.hv-route__list{list-style:none;display:grid;gap:.4rem}
.hv-route__link{display:flex;align-items:center;min-height:52px;padding:0 1rem;color:var(--hv-snow);font-family:var(--hv-face-display);font-weight:800;font-size:1.25rem;text-transform:uppercase;text-decoration:none;background:var(--hv-night-2);border-radius:var(--hv-bubble)}
.hv-route__link[aria-current]{background:var(--hv-violet-deep)}
.hv-locked,.hv-locked body{overflow:hidden}
@media (min-width:1000px){
  .hv-burger{display:none}
  .hv-route,.hv-route[data-open="yes"]{display:block;position:static;padding:0;background:none;overflow:visible}
  .hv-route__list{display:flex;gap:.25rem}
  .hv-route__link{min-height:44px;padding:0 .85rem;font-family:var(--hv-face-body);font-weight:700;font-size:.95rem;text-transform:none;background:none;color:var(--hv-fog)}
  .hv-route__link:hover{color:var(--hv-snow);background:var(--hv-night-3)}
  .hv-route__link[aria-current]{color:var(--hv-snow);background:var(--hv-night-3);box-shadow:inset 0 -3px 0 var(--hv-violet-soft)}
}

.hv-trail{background:var(--hv-night-2)}
.hv-trail__line{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding-block:.7rem;font-size:.9rem;color:var(--hv-dim)}
.hv-trail__line a{color:var(--hv-link);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}
.hv-trail__line a:hover{text-decoration:underline}
.hv-trail__line span{color:var(--hv-snow)}
.hv-trail__gem{fill:var(--hv-violet-soft);flex:none}

.hv-quill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.8rem 1.4rem;font-family:var(--hv-face-body);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid transparent;border-radius:var(--hv-bubble);cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.hv-quill--lead{background:var(--hv-violet);color:var(--hv-snow);padding-block:1rem}
.hv-quill--lead:hover{background:var(--hv-violet-deep);color:var(--hv-snow);transform:translateY(-2px);box-shadow:0 6px 0 -2px var(--hv-violet-soft)}
.hv-quill--pale{background:var(--hv-snow);color:var(--hv-charcoal);border-color:var(--hv-charcoal);border-radius:var(--hv-bubble-flip)}
.hv-quill--pale:hover{background:var(--hv-fog);color:var(--hv-charcoal);transform:translateY(-2px)}
.hv-quill--ghost{background:transparent;color:var(--hv-snow);border-color:var(--hv-snow)}
.hv-quill--ghost:hover{background:var(--hv-snow);color:var(--hv-night)}
.hv-quill:active{transform:translateY(1px);box-shadow:none}
.hv-quill__icon{flex:none}

.hv-realm{position:relative;overflow:hidden;background:var(--hv-night) url("/img/realm-glow.webp?v=1") center/cover no-repeat}
.hv-realm::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 0%,rgba(88,101,242,.35),transparent 70%),linear-gradient(180deg,rgba(14,15,45,.15),var(--hv-night) 96%)}
.hv-realm__inner{position:relative;text-align:center;padding-block:3.5rem 3rem}
.hv-realm__kicker{display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-snow);background:rgba(88,101,242,.3);padding:.35rem .9rem;border-radius:var(--hv-bubble)}
.hv-realm__title{margin:1.1rem auto 0;max-width:15em;font-size:clamp(2.2rem,1rem + 5.2vw,4.1rem)}
.hv-realm__accent{color:var(--hv-violet-soft)}
.hv-realm__lead{margin:1.2rem auto 0;max-width:36em;font-size:clamp(1.05rem,.95rem + .5vw,1.25rem);color:var(--hv-fog)}
.hv-realm__acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:1.8rem}
.hv-sigils{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:2.4rem}
.hv-sigil{display:block;padding:5px;background:var(--hv-night-3);border-radius:20px;transition:transform .2s ease,background-color .2s ease}
.hv-sigil img{width:56px;height:56px;border-radius:15px}
.hv-sigil:hover{transform:translateY(-4px) rotate(-3deg);background:var(--hv-violet)}
.hv-sigils li:nth-child(even) .hv-sigil{margin-top:12px}
@media (min-width:768px){.hv-realm__inner{padding-block:5rem 4.2rem}.hv-sigil img{width:64px;height:64px}}

.hv-stage{padding-block:3rem}
.hv-stage__head{margin-bottom:1.6rem}
.hv-stage__intro{margin-top:.6rem;max-width:44em;color:var(--hv-fog)}
.hv-stage--ledger{padding-block:2.5rem}
.hv-stage--desk{padding-block:3.5rem 4rem;background:radial-gradient(80% 60% at 100% 0%,rgba(235,69,158,.12),transparent 60%)}
.hv-stage--ask{background:var(--hv-night-2)}
.hv-stage--flat{padding-block:2.2rem}
.hv-stage--kin{background:var(--hv-night-2);padding-block:3rem 3.5rem}
@media (min-width:1000px){.hv-stage{padding-block:4.5rem}.hv-stage--ledger{padding-block:3rem}.hv-stage--flat{padding-block:2.8rem}}

.hv-banners{display:grid;gap:1.2rem}
.hv-banner{position:relative;padding:1.6rem;border-radius:var(--hv-r-stage);background:var(--hv-night-2);overflow:hidden}
.hv-banner--ember{background:radial-gradient(90% 90% at 0% 0%,rgba(253,162,32,.2),transparent 65%),radial-gradient(70% 80% at 100% 100%,rgba(88,101,242,.28),transparent 70%),var(--hv-night-2)}
.hv-banner--spring{background:radial-gradient(90% 90% at 100% 0%,rgba(87,242,135,.14),transparent 65%),radial-gradient(70% 70% at 0% 100%,rgba(0,176,244,.16),transparent 70%),var(--hv-night-2)}
.hv-banner__count{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-night);background:var(--hv-ember);padding:.2rem .7rem;border-radius:var(--hv-bubble)}
.hv-banner--spring .hv-banner__count{background:var(--hv-spring)}
.hv-banner__title{margin-top:.9rem;font-size:clamp(1.5rem,1rem + 2vw,2.4rem);text-transform:uppercase;line-height:1.05}
.hv-banner__title a{color:var(--hv-snow);text-decoration:none}
.hv-banner__title a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.hv-banner__text{margin-top:.8rem}
.hv-banner__games{list-style:none;display:grid;gap:.5rem;margin-top:1.3rem}
.hv-banner__games li{display:flex;align-items:center;gap:.75rem}
.hv-banner__games img{width:40px;height:40px;border-radius:11px;flex:none}
.hv-banner__games a{color:var(--hv-snow);font-weight:700;text-decoration:none;min-height:44px;display:flex;align-items:center}
.hv-banner__games a:hover{text-decoration:underline}
@media (min-width:880px){
  .hv-banners{grid-template-columns:7fr 5fr;align-items:start}
  .hv-banner{padding:2.4rem}
  .hv-banner--spring{margin-top:3rem}
}

.hv-mosaic{display:grid;gap:1rem;grid-template-columns:1fr}
.hv-plate{position:relative;display:flex;flex-direction:column;background:var(--hv-night-2);border-radius:var(--hv-r-card);overflow:hidden;transition:transform .2s ease,background-color .2s ease}
.hv-plate:hover{transform:translateY(-3px);background:var(--hv-night-3)}
.hv-plate__frame{aspect-ratio:16/10;overflow:hidden;background:var(--hv-night-3)}
.hv-plate__frame img{width:100%;height:100%;object-fit:cover}
.hv-plate__body{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem 1.2rem 1.3rem;flex:1}
.hv-plate__kicker{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-dim)}
.hv-plate__name{font-size:1.2rem}
.hv-plate__link{color:var(--hv-snow);text-decoration:none}
.hv-plate__link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.hv-plate__link:focus-visible{outline:none}
.hv-plate:focus-within{outline:3px solid var(--hv-violet-soft);outline-offset:3px}
.hv-plate__line{font-size:.97rem}
.hv-plate__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:auto;padding-top:.5rem;font-size:.85rem;color:var(--hv-dim)}
.hv-plate__score{font-family:var(--hv-face-display);font-weight:800;font-size:1.05rem;color:var(--hv-night);background:var(--hv-ember);padding:.1rem .55rem;border-radius:var(--hv-bubble)}
.hv-plate__score small{font-size:.7em}
.hv-plate--grand .hv-plate__name{font-size:clamp(1.4rem,1rem + 1.4vw,2rem);text-transform:uppercase;line-height:1.1}
.hv-plate--grand .hv-plate__line{font-size:1.05rem}
@media (min-width:640px){
  .hv-mosaic{grid-template-columns:repeat(2,1fr)}
  .hv-plate--grand,.hv-plate--strip{grid-column:1/-1}
  .hv-mosaic--n3 .hv-plate--wide:last-child{grid-column:auto}
}
@media (min-width:1000px){
  .hv-mosaic{grid-template-columns:repeat(6,1fr);gap:1.25rem}
  .hv-plate--grand{grid-column:span 3;grid-row:span 2}
  .hv-plate--grand .hv-plate__frame{aspect-ratio:auto;flex:1;min-height:260px}
  .hv-plate--grand .hv-plate__body{flex:none;padding:1.5rem 1.6rem 1.7rem}
  .hv-plate--wide{grid-column:span 3;flex-direction:row}
  .hv-plate--wide .hv-plate__frame{flex:0 0 44%;aspect-ratio:auto}
  .hv-plate--slim{grid-column:span 2}
  .hv-plate--strip{grid-column:1/-1;flex-direction:row}
  .hv-plate--strip .hv-plate__frame{flex:0 0 34%;aspect-ratio:auto;min-height:210px}
  .hv-plate--strip .hv-plate__body{justify-content:center;padding:1.6rem 2rem}
  .hv-plate--strip .hv-plate__name{font-size:1.5rem}
  .hv-mosaic--n3 .hv-plate--wide:last-child{grid-column:span 3}
}

.hv-ledger{width:100%;overflow-x:auto;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-ledger::-webkit-scrollbar-track{background:var(--hv-night-2);border-radius:0 0 16px 16px}
.hv-ledger__table{width:100%;min-width:720px;font-size:.95rem}
.hv-ledger--duel .hv-ledger__table{min-width:560px}
.hv-ledger--legal .hv-ledger__table{min-width:640px}
.hv-ledger__table caption{caption-side:top;text-align:left;padding:1.1rem 1.2rem .6rem;font-family:var(--hv-face-display);font-weight:800;color:var(--hv-snow);font-size:1rem}
.hv-ledger__table th,.hv-ledger__table td{padding:.85rem 1.2rem;text-align:left;vertical-align:top}
.hv-ledger__table thead th{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--hv-dim);border-bottom:2px solid var(--hv-night-4);white-space:nowrap}
.hv-ledger__table tbody tr:nth-child(odd){background:rgba(255,255,255,.035)}
.hv-ledger__table tbody th{color:var(--hv-snow);font-weight:700}
.hv-ledger__table tbody th a{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-underline-offset:3px}
.hv-ledger__score{display:inline-block;min-width:3.2em;text-align:center;font-family:var(--hv-face-display);font-weight:800;color:var(--hv-night);background:var(--hv-ember);border-radius:var(--hv-bubble);padding:.05rem .4rem}
.hv-ledger__note{margin-top:.9rem;font-size:.92rem;color:var(--hv-dim);max-width:52em}
.hv-tick{display:inline-flex;align-items:center;gap:.4rem}
.hv-tick--yes .hv-tick__icon{color:var(--hv-spring)}
.hv-tick--no .hv-tick__icon{color:var(--hv-ekko)}
.hv-tick__icon{flex:none}

.hv-paths{display:grid;gap:1rem}
.hv-path{padding:1.5rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-path__title{font-size:1.3rem;margin-bottom:.6rem}
.hv-path__title a{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-decoration-thickness:2px;text-underline-offset:4px}
.hv-path p a{text-decoration:underline;text-underline-offset:3px}
.hv-path__list{margin-top:1rem;padding-left:0;list-style:none;counter-reset:hvrank;display:grid;gap:.35rem}
.hv-path__list li{counter-increment:hvrank;display:flex;gap:.7rem;align-items:baseline;color:var(--hv-snow)}
.hv-path__list li::before{content:counter(hvrank);font-family:var(--hv-face-display);font-weight:800;color:var(--hv-violet-soft);min-width:1.2em}
.hv-path--rank{background:radial-gradient(90% 80% at 0% 100%,rgba(88,101,242,.3),transparent 70%),var(--hv-night-2)}
.hv-path__versus{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;color:var(--hv-snow);font-weight:700}
.hv-path__versus b{font-family:var(--hv-face-display);color:var(--hv-ember)}
.hv-path__or{font-family:var(--hv-face-display);text-transform:uppercase;font-size:.8rem;color:var(--hv-night);background:var(--hv-fog);padding:.15rem .6rem;border-radius:var(--hv-bubble)}
.hv-path--how{background:transparent;padding-inline:0}
@media (min-width:900px){
  .hv-paths{grid-template-columns:repeat(12,1fr);gap:1.25rem}
  .hv-path--rank{grid-column:1/6;grid-row:1/3;padding:2rem}
  .hv-path--duel{grid-column:6/13}
  .hv-path--method{grid-column:6/13}
  .hv-path--how{grid-column:1/-1;display:grid;grid-template-columns:5fr 7fr;gap:0 2rem;padding:1.2rem 0 0}
  .hv-path--how .hv-path__title{grid-row:1/3}
}

.hv-ask{width:100%;display:grid;gap:.6rem}
.hv-ask__item{background:var(--hv-night-3);border-radius:var(--hv-r-card)}
.hv-ask__q{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:1rem 1.2rem;cursor:pointer;list-style:none;color:var(--hv-snow);font-weight:700;font-size:1.05rem}
.hv-ask__q::-webkit-details-marker{display:none}
.hv-ask__sign{position:relative;flex:none;width:28px;height:28px;border-radius:var(--hv-bubble);background:var(--hv-violet)}
.hv-ask__sign::before,.hv-ask__sign::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--hv-snow);transform:translate(-50%,-50%);transition:transform .2s ease}
.hv-ask__sign::after{transform:translate(-50%,-50%) rotate(90deg)}
.hv-ask__item[open] .hv-ask__sign::after{transform:translate(-50%,-50%) rotate(0deg)}
.hv-ask__a{padding:0 1.2rem 1.2rem}

.hv-herald{padding:2rem 1.5rem;border-radius:var(--hv-r-stage);background:radial-gradient(80% 100% at 100% 0%,rgba(88,101,242,.45),transparent 65%),radial-gradient(60% 80% at 0% 100%,rgba(235,69,158,.22),transparent 70%),var(--hv-night-3)}
.hv-herald__title{font-size:clamp(1.6rem,1rem + 2.4vw,2.6rem)}
.hv-herald__text{margin-top:.8rem;max-width:40em}
.hv-herald__mail{margin-top:1.2rem;font-family:var(--hv-face-display);font-weight:800;font-size:clamp(1.2rem,.9rem + 1.6vw,2rem);overflow-wrap:anywhere}
.hv-herald__link{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-decoration-thickness:3px;text-underline-offset:6px}
.hv-herald__more{margin-top:1rem}
.hv-herald__more a{text-decoration:underline;text-underline-offset:3px}
.hv-herald--mine,.hv-herald--why{margin-block:2rem}
.hv-herald--page{margin-top:2.5rem}
@media (min-width:768px){.hv-herald{padding:3rem}}

.hv-lede{padding-block:2.4rem 2rem;background:radial-gradient(70% 120% at 0% 0%,rgba(88,101,242,.28),transparent 60%)}
.hv-lede--ember{background:radial-gradient(70% 120% at 0% 0%,rgba(253,162,32,.16),transparent 60%),radial-gradient(60% 100% at 100% 0%,rgba(88,101,242,.24),transparent 60%)}
.hv-lede--spring{background:radial-gradient(70% 120% at 100% 0%,rgba(87,242,135,.12),transparent 60%),radial-gradient(60% 100% at 0% 0%,rgba(0,176,244,.16),transparent 60%)}
.hv-lede--legal,.hv-lede--map,.hv-lede--lost{background:none}
.hv-lede__kicker{font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-dim)}
.hv-lede__kicker a{color:var(--hv-link)}
.hv-lede__title{margin-top:.6rem}
.hv-lede__title--game{text-transform:none;font-size:clamp(2rem,1rem + 4vw,3.4rem);line-height:1.05}
.hv-lede__verdict{margin-top:1rem;max-width:44em;font-size:clamp(1.05rem,1rem + .35vw,1.2rem);color:var(--hv-snow)}
.hv-lede__more{margin-top:1rem;max-width:48em}
@media (min-width:1000px){.hv-lede{padding-block:3.5rem 2.8rem}}

.hv-fact{display:grid;gap:1rem;margin-block:.5rem 2.5rem;padding:1rem;border-radius:var(--hv-r-stage);background:var(--hv-night-2)}
.hv-fact__cover{aspect-ratio:16/10;border-radius:var(--hv-r-card);overflow:hidden;background:var(--hv-night-3)}
.hv-fact__cover img{width:100%;height:100%;object-fit:cover}
.hv-fact__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:.9rem 1.2rem;align-content:start}
.hv-fact__cell dt{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--hv-dim)}
.hv-fact__cell dd{margin-top:.15rem;color:var(--hv-snow);font-size:.95rem;line-height:1.4}
.hv-fact__cell dd a{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-underline-offset:3px}
.hv-fact__cell--wide{grid-column:1/-1}
.hv-fact__side{display:grid;gap:1rem;align-content:start}
.hv-fact__cta{width:100%}
@media (min-width:1000px){
  .hv-fact{grid-template-columns:260px 1fr 250px;gap:1.6rem;padding:1.3rem}
  .hv-fact__cover{aspect-ratio:auto;min-height:100%}
}
.hv-play{display:grid;gap:.25rem}
.hv-stars{position:relative;display:inline-block;width:max-content;line-height:0}
.hv-stars__base,.hv-stars__fill{display:flex;gap:2px}
.hv-stars__base svg{fill:var(--hv-night-4)}
.hv-stars__fill{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap}
.hv-stars__fill svg{fill:var(--hv-ember);flex:none}
.hv-play__value{color:var(--hv-fog);font-size:.95rem}
.hv-play__value strong{font-family:var(--hv-face-display);font-size:1.5rem}
.hv-play__label{font-size:.8rem;color:var(--hv-dim)}
.hv-play--compact .hv-play__value strong{font-size:1.2rem}
.hv-seal{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:.2rem;width:max-content;max-width:100%;padding:.6rem 1rem .7rem;background:var(--hv-violet-deep);border-radius:var(--hv-bubble);color:var(--hv-snow)}
.hv-seal__num{font-family:var(--hv-face-display);font-weight:800;font-size:2rem;line-height:1}
.hv-seal__max{font-weight:700;color:var(--hv-snow)}
.hv-seal__label{flex-basis:100%;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--hv-snow);margin-top:.2rem}
.hv-seal--big .hv-seal__num{font-size:3rem}
.hv-seal--small .hv-seal__num{font-size:1.5rem}

.hv-folio__body{padding-bottom:3rem}
.hv-folio__part{margin-top:2.4rem;max-width:46rem;margin-inline:auto}
.hv-folio__part:first-child{margin-top:0}
.hv-folio__part h2{font-size:clamp(1.3rem,1rem + 1.2vw,1.9rem);margin-bottom:.9rem}
.hv-pair{margin:2.4rem auto 0;max-width:62rem}
.hv-pair--tall{max-width:36rem}
.hv-pair__shots{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}
.hv-pair__shot{overflow:hidden;border-radius:var(--hv-r-card);background:var(--hv-night-3)}
.hv-pair__shot img{width:100%;height:100%;object-fit:cover}
.hv-pair__caption{margin-top:.7rem;font-size:.9rem;color:var(--hv-dim);max-width:44em}
@media (max-width:560px){.hv-pair--wide .hv-pair__shots{grid-template-columns:1fr}}
.hv-verdict{margin:3rem auto 0;max-width:62rem;padding:1.5rem;border-radius:var(--hv-r-stage);background:var(--hv-night-2)}
.hv-verdict__title{font-size:clamp(1.4rem,1rem + 1.4vw,2rem)}
.hv-verdict__cols{display:grid;gap:1.4rem;margin-top:1.2rem}
.hv-verdict__col h3{margin-bottom:.6rem}
.hv-verdict__col ul{list-style:none;display:grid;gap:.5rem}
.hv-verdict__col li{position:relative;padding-left:1.6rem}
.hv-verdict__col--plus li::before{content:"";position:absolute;left:.15rem;top:.5em;width:.7rem;height:.7rem;background:var(--hv-spring);transform:rotate(45deg);border-radius:2px}
.hv-verdict__col--minus li::before{content:"";position:absolute;left:0;top:.72em;width:.95rem;height:.22rem;background:var(--hv-ekko);border-radius:3px}
.hv-verdict__score{display:grid;gap:1rem;align-items:center;margin-top:1.6rem}
.hv-verdict__score p:last-child{max-width:36em}
@media (min-width:768px){
  .hv-verdict{padding:2.2rem}
  .hv-verdict__cols{grid-template-columns:1.1fr 1fr}
  .hv-verdict__score{grid-template-columns:auto 1fr;gap:1.6rem}
}

.hv-kin{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
.hv-kin__link{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:.6rem .6rem .9rem;border-radius:var(--hv-r-card);background:var(--hv-night-3);text-decoration:none;color:var(--hv-fog);transition:transform .2s ease,background-color .2s ease}
.hv-kin__link:hover{transform:translateY(-3px);background:var(--hv-night-4);color:var(--hv-fog)}
.hv-kin__frame{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden}
.hv-kin__frame img{width:100%;height:100%;object-fit:cover}
.hv-kin__name{color:var(--hv-snow);font-weight:700;line-height:1.3;margin-top:.3rem}
.hv-kin__meta{font-size:.85rem;color:var(--hv-dim)}
@media (min-width:1000px){
  .hv-kin{grid-template-columns:repeat(4,1fr);gap:1.2rem}
  .hv-kin__item:nth-child(even){transform:translateY(1.2rem)}
}

.hv-rank{list-style:none;display:grid;gap:1.2rem;margin-block:1rem 2.5rem}
.hv-rank__item{position:relative;display:grid;grid-template-columns:1fr;gap:.4rem;padding:1.4rem;border-radius:var(--hv-r-stage);background:var(--hv-night-2)}
.hv-rank__num{font-family:var(--hv-face-display);font-weight:800;font-size:3.2rem;line-height:.9;color:var(--hv-violet-soft)}
.hv-rank__head{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem}
.hv-rank__head img{width:64px;height:64px;border-radius:16px;flex:none}
.hv-rank__name{font-size:clamp(1.2rem,1rem + 1vw,1.6rem);text-transform:none}
.hv-rank__name a{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-underline-offset:4px}
.hv-rank__meta{margin-top:.3rem;font-size:.85rem;color:var(--hv-dim)}
.hv-rank__body p{max-width:46em}
.hv-rank__tip{padding:.7rem 1rem;background:var(--hv-night-3);border-radius:var(--hv-bubble)}
@media (min-width:768px){
  .hv-rank__item{grid-template-columns:7rem 1fr;gap:1.5rem;padding:2rem}
  .hv-rank__num{font-size:5.5rem}
  .hv-rank__item:nth-child(even){margin-left:2.5rem}
}
.hv-outro{margin-bottom:3.5rem;padding:1.6rem;border-radius:var(--hv-r-stage);background:radial-gradient(80% 90% at 100% 100%,rgba(253,162,32,.14),transparent 70%),var(--hv-night-2)}
.hv-outro__title{font-size:clamp(1.3rem,1rem + 1.2vw,1.8rem);margin-bottom:.7rem}

.hv-duel{display:grid;gap:1rem;margin-top:1.5rem;align-items:center}
.hv-duel__side{padding:1.2rem;border-radius:var(--hv-r-stage);background:var(--hv-night-2)}
.hv-duel__side--a{background:radial-gradient(80% 80% at 0% 0%,rgba(88,101,242,.3),transparent 70%),var(--hv-night-2)}
.hv-duel__side--b{background:radial-gradient(80% 80% at 100% 0%,rgba(253,162,32,.18),transparent 70%),var(--hv-night-2)}
.hv-duel__frame{aspect-ratio:16/10;border-radius:var(--hv-r-card);overflow:hidden}
.hv-duel__frame img{width:100%;height:100%;object-fit:cover}
.hv-duel__name{margin-block:1rem .6rem;font-size:clamp(1.2rem,1rem + 1vw,1.6rem);text-transform:none}
.hv-duel__name a{color:var(--hv-snow);text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-underline-offset:4px}
.hv-duel__nums{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:1rem}
.hv-duel__vs{justify-self:center;font-family:var(--hv-face-display);font-weight:800;text-transform:uppercase;color:var(--hv-night);background:var(--hv-snow);padding:.5rem 1rem;border-radius:var(--hv-bubble)}
.hv-duel__who{margin-top:1rem}
.hv-duel__who h2{margin-bottom:.9rem}
.hv-duel__who p{max-width:44em}
.hv-next__links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
@media (min-width:900px){
  .hv-duel{grid-template-columns:1fr auto 1fr;gap:1.4rem}
  .hv-duel__side{padding:1.6rem}
  .hv-duel__side--b{margin-top:3rem}
}

.hv-guide{display:grid;gap:1rem}
.hv-guide__item{padding:1.4rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-guide__title{margin-bottom:.6rem}
@media (min-width:900px){
  .hv-guide{grid-template-columns:repeat(6,1fr)}
  .hv-guide__item--1{grid-column:1/5}
  .hv-guide__item--2{grid-column:5/7;grid-row:1/3}
  .hv-guide__item--3{grid-column:1/5}
}
.hv-next{padding:1.8rem;border-radius:var(--hv-r-stage);background:radial-gradient(90% 100% at 100% 0%,rgba(88,101,242,.35),transparent 65%),var(--hv-night-3)}
.hv-next p{max-width:42em;margin-top:.7rem}
.hv-next__title{font-size:clamp(1.4rem,1rem + 1.6vw,2.1rem)}

.hv-criteria{list-style:none;counter-reset:hvcrit;display:grid;gap:1rem}
.hv-criteria__item{counter-increment:hvcrit;position:relative;padding:1.3rem 1.3rem 1.3rem 4.2rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-criteria__item::before{content:counter(hvcrit);position:absolute;left:1.2rem;top:1.05rem;font-family:var(--hv-face-display);font-weight:800;font-size:2rem;line-height:1;color:var(--hv-violet-soft)}
.hv-criteria__item h3{margin-bottom:.4rem}
@media (min-width:900px){.hv-criteria{grid-template-columns:repeat(2,1fr)}.hv-criteria__item:first-child{grid-column:1/-1}}
.hv-lexicon{columns:1;column-gap:2rem}
.hv-lexicon__entry{break-inside:avoid;padding:1rem 0 1.1rem}
.hv-lexicon__entry dt{color:var(--hv-snow);font-family:var(--hv-face-display);font-weight:800;font-size:1.05rem}
.hv-lexicon__entry dd{margin-top:.3rem}
@media (min-width:900px){.hv-lexicon{columns:2}}
.hv-board{list-style:none;display:grid;gap:.5rem;margin-bottom:3rem}
.hv-board__row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.3rem 1rem;padding:.8rem 1.1rem;border-radius:var(--hv-bubble);background:var(--hv-night-2)}
.hv-board__row a{color:var(--hv-snow);font-weight:700;text-decoration:underline;text-decoration-color:var(--hv-violet-soft);text-underline-offset:3px;min-height:32px;display:inline-flex;align-items:center}
.hv-board__hub{grid-column:1;font-size:.85rem;color:var(--hv-dim)}
.hv-board__score{grid-column:2;grid-row:1/3;font-family:var(--hv-face-display);font-weight:800;font-size:1.5rem;color:var(--hv-ember)}
.hv-board__score small{font-size:.55em;color:var(--hv-dim)}

.hv-about{display:grid;gap:1.2rem;padding-block:1rem 3.5rem}
.hv-about__part{padding:1.5rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-about__part h2{font-size:clamp(1.25rem,1rem + 1vw,1.7rem);margin-bottom:.8rem}
.hv-about__part a{text-decoration:underline;text-underline-offset:3px}
.hv-about__part--3{background:radial-gradient(90% 100% at 100% 0%,rgba(88,101,242,.35),transparent 65%),var(--hv-night-3)}
@media (min-width:900px){
  .hv-about{grid-template-columns:repeat(2,1fr);gap:1.4rem}
  .hv-about__part{padding:2rem}
  .hv-about__part--3{grid-column:1/-1}
}
.hv-contact-grid{display:grid;gap:2rem;padding-block:2.5rem 3.5rem}
.hv-contact-grid h2{font-size:clamp(1.25rem,1rem + 1vw,1.7rem)}
.hv-postal{display:grid;gap:.2rem;margin-block:1rem;color:var(--hv-snow)}
@media (min-width:900px){.hv-contact-grid{grid-template-columns:3fr 2fr}}

.hv-legal{padding-bottom:3.5rem}
.hv-legal__date{margin-top:.8rem;font-size:.9rem;color:var(--hv-dim)}
.hv-legal__part{margin-top:2.2rem}
.hv-legal__part h2{font-size:clamp(1.15rem,1rem + .8vw,1.55rem);margin-bottom:.8rem;text-transform:none;line-height:1.25}
.hv-legal__no{color:var(--hv-violet-soft)}
.hv-legal__part>p,.hv-legal__part .hv-bullets{max-width:46em}
.hv-legal__part p+.hv-ledger,.hv-legal__part .hv-ledger+p{margin-top:1rem}
.hv-legal__dl{display:grid;gap:.1rem;margin-block:1rem;padding:1rem 1.2rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-legal__dl div{display:grid;gap:.1rem .9rem;padding-block:.45rem}
.hv-legal__dl dt{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hv-dim)}
.hv-legal__dl dd{color:var(--hv-snow)}
@media (min-width:768px){.hv-legal__dl div{grid-template-columns:14rem 1fr}}

.hv-atlas{display:grid;gap:1.2rem;padding-block:1rem 3.5rem}
.hv-atlas__group{padding:1.5rem;border-radius:var(--hv-r-card);background:var(--hv-night-2)}
.hv-atlas__group h2{font-size:1.2rem;margin-bottom:.8rem}
.hv-atlas__list,.hv-atlas__list ul{list-style:none;display:grid;gap:.2rem}
.hv-atlas__list ul{margin:.3rem 0 .6rem 1rem;padding-left:.9rem;border-left:2px solid var(--hv-night-4)}
.hv-atlas__list a{display:inline-flex;align-items:center;min-height:36px;color:var(--hv-link);text-decoration:underline;text-underline-offset:3px}
@media (min-width:900px){.hv-atlas{grid-template-columns:3fr 2fr}.hv-atlas__group--1{grid-row:span 3}}

.hv-foot{background:#090a22;padding-top:3rem;color:var(--hv-fog)}
.hv-foot__grid{display:grid;gap:2rem}
.hv-foot__text{margin-top:.6rem;max-width:26em;font-size:.95rem}
.hv-foot__addr{display:grid;gap:.15rem;margin-top:1rem;font-size:.95rem;color:var(--hv-snow)}
.hv-foot__addr a{color:var(--hv-link);min-height:32px;display:inline-flex;align-items:center}
.hv-foot__nav{display:grid;gap:1.6rem}
.hv-foot__cap{font-weight:700;color:var(--hv-snow);letter-spacing:.013em;margin-bottom:.4rem}
.hv-foot__cap a{color:var(--hv-snow);text-decoration:none}
.hv-foot__cap a:hover{text-decoration:underline}
.hv-foot__list{list-style:none;display:grid}
.hv-foot__list a,.hv-foot__reopen{display:inline-flex;align-items:center;min-height:36px;color:var(--hv-fog);text-decoration:none;font-size:.95rem}
.hv-foot__list a:hover,.hv-foot__reopen:hover{color:var(--hv-snow);text-decoration:underline}
.hv-foot__reopen{background:none;border:0;padding:0;cursor:pointer;text-align:left}
.hv-foot__base{margin-top:2.5rem;padding-block:1.4rem 2rem;font-size:.85rem;color:var(--hv-dim)}
@media (min-width:768px){.hv-foot__nav{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.hv-foot__grid{grid-template-columns:1.2fr 1.1fr 1.3fr;gap:2.5rem}}

.hv-notice{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:grid;gap:.9rem;max-width:46rem;margin-inline:auto;padding:1.1rem 1.2rem;border-radius:var(--hv-r-stage);background:var(--hv-night-3);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.hv-notice[hidden]{display:none}
.hv-notice__text{font-size:.93rem;color:var(--hv-snow)}
.hv-notice__text a{color:var(--hv-link)}
.hv-notice__acts{display:flex;flex-wrap:wrap;gap:.6rem}
.hv-notice__acts .hv-quill{min-height:48px;padding-block:.7rem}
@media (min-width:700px){.hv-notice{grid-template-columns:1fr auto;align-items:center;padding:1.2rem 1.4rem}}
.hv-lift{position:fixed;right:16px;bottom:16px;z-index:50;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:var(--hv-bubble);background:var(--hv-violet);color:var(--hv-snow);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .15s ease,background-color .15s ease}
.hv-lift:hover{background:var(--hv-violet-deep);transform:translateY(-3px)}
.hv-lift[hidden],[data-hv-notice-open] .hv-lift{display:none}
