:root{
  --bg:#081119;
  --panel:#111b29;
  --panel-soft:#182638;
  --panel-teal:#0f2930;
  --cyan:#58d4ff;
  --teal:#4ac3d2;
  --violet:#6e6cff;
  --gold:#cba45a;
  --text:#f3f9ff;
  --muted:#afc0cf;
  --ink:#162230;
  --ink-soft:#5c6b7b;
  --paper:#f3f7fb;
  --line:rgba(255,255,255,.12);
  --line-dark:rgba(22,34,48,.1);
  --shadow:0 24px 72px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}

.hh-page{
  background:
    radial-gradient(circle at 14% 0,rgba(88,212,255,.12),transparent 20%),
    radial-gradient(circle at 86% 9%,rgba(110,108,255,.12),transparent 18%),
    linear-gradient(180deg,#081119,#0a1420 38%,#081018 100%);
}

.hh-wrap{
  width:min(1180px,92%);
  margin:0 auto;
}

.hh-header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(8,17,25,.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}

.hh-header-inner{
  min-height:76px;
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  gap:24px;
  align-items:center;
}

.hh-brand img{
  max-width:160px;
  max-height:44px;
  object-fit:contain;
}

.hh-nav{
  justify-self:end;
  display:flex;
  gap:24px;
  color:#edf5ff;
  font-size:14px;
  font-weight:900;
}

.hh-nav a{
  position:relative;
  padding:28px 0 24px;
}

.hh-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  height:2px;
  border-radius:99px;
  background:var(--gold);
  transform:scaleX(0);
  transition:.2s ease;
}

.hh-nav a:hover::after,
.hh-nav a.is-active::after{
  transform:scaleX(1);
}

.hh-menu{
  display:none;
  width:44px;
  height:40px;
  padding:8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}

.hh-menu span{
  display:block;
  width:24px;
  height:2px;
  margin:5px auto;
  background:#fff;
  border-radius:99px;
}

.hh-header-btn,
.hh-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  font-weight:1000;
  transition:.2s ease;
}

.hh-header-btn,
.hh-btn-primary{
  background:linear-gradient(135deg,var(--gold),#efd08a 58%,var(--teal));
  color:#101827;
  box-shadow:0 16px 36px rgba(215,176,105,.18);
}

.hh-header-btn:hover,
.hh-btn:hover{
  transform:translateY(-2px);
}

.hh-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cyan);
  font-size:13px;
  font-weight:1000;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.hh-kicker::before{
  content:"";
  width:32px;
  height:2px;
  background:var(--teal);
}

.hh-hero{
  padding:84px 0 62px;
}

.hh-hero-shell{
  text-align:center;
}

.hh-hero h1{
  margin:20px auto 0;
  max-width:900px;
  font-size:clamp(40px,6vw,72px);
  line-height:1;
  letter-spacing:-.05em;
}

.hh-hero-desc{
  max-width:860px;
  margin:24px auto 0;
  color:#d8e5f1;
  font-size:18px;
  line-height:1.84;
}

.hh-hero-cover{
  margin:38px auto 0;
  max-width:980px;
  min-height:360px;
  padding:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:36px;
  background:
    radial-gradient(circle at 50% 20%,rgba(110,108,255,.18),transparent 24%),
    radial-gradient(circle at 72% 58%,rgba(88,212,255,.12),transparent 26%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 68px),
    linear-gradient(145deg,#111c29,#0a141d);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.hh-hero-cover img{
  max-height:320px;
  object-fit:contain;
}

.hh-room-status{
  margin:20px auto 0;
  max-width:980px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.hh-room-status article,
.room-panel,
.hh-relation-map article,
.hh-mobile-list article,
.hh-faq-media,
.hh-faq-list details,
.hh-final-box{
  border-radius:28px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.hh-room-status article{
  padding:18px;
  text-align:left;
  background:linear-gradient(145deg,var(--panel),#0d1721);
}

.hh-room-status strong{
  display:block;
  margin-bottom:8px;
  font-size:14px;
}

.hh-room-status span{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}

.hh-section{
  padding:92px 0;
}

.hh-section-head{
  max-width:860px;
  margin:0 auto 38px;
  text-align:center;
}

.hh-section-head-left{
  text-align:left;
  margin-left:0;
}

.hh-section-head h2,
.hh-final-box h2{
  margin:14px 0 0;
  font-size:clamp(32px,4vw,52px);
  line-height:1.08;
  letter-spacing:-.04em;
}

.hh-section-head p,
.hh-final-box p{
  margin:0;
  color:var(--muted);
  line-height:1.82;
}

.hh-rooms-section,
.hh-mobile-section,
.hh-scene-section,
.hh-final{
  background:var(--paper);
  color:var(--ink);
}

.hh-room-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.room-panel{
  padding:24px;
  background:#fff;
  border-color:var(--line-dark);
  box-shadow:0 18px 46px rgba(22,34,48,.08);
}

.room-panel span,
.hh-mobile-list span{
  display:inline-block;
  color:#0a7ca9;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.room-panel h3,
.hh-relation-map strong,
.hh-mobile-list h3,
.scene-slice h3{
  margin:12px 0 10px;
  color:var(--ink);
  font-size:30px;
  line-height:1.15;
}

.room-panel p,
.hh-mobile-list p,
.scene-slice p{
  margin:0;
  color:var(--ink-soft);
  line-height:1.78;
}

.room-private{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:16px;
  align-items:center;
}

.room-private figure{
  margin:0;
  min-height:220px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:linear-gradient(145deg,#eef5ff,#f5fbf8);
}

.room-private img{
  max-height:180px;
  object-fit:contain;
}

.room-friends{
  background:
    linear-gradient(145deg,rgba(88,212,255,.08),transparent),
    #fff;
}

.room-mobile{
  background:
    linear-gradient(145deg,rgba(74,195,210,.08),transparent),
    #fff;
}

.room-guide{
  background:
    linear-gradient(145deg,rgba(215,176,105,.08),transparent),
    #fff;
}

.hh-private-section,
.hh-guide-section,
.hh-faq-section{
  background:#081119;
}

.hh-relation-map{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.hh-relation-map article{
  padding:24px;
  background:linear-gradient(145deg,var(--panel),#0d1824);
}

.hh-relation-map strong{
  display:block;
  color:#fff;
}

.hh-relation-map p{
  margin:0;
  color:#d8e5f1;
  line-height:1.78;
}

.hh-relation-center{
  display:grid;
  grid-column:1 / -1;
  grid-template-columns:.9fr 1.1fr;
  gap:18px;
  align-items:center;
  background:
    linear-gradient(145deg,rgba(88,212,255,.12),transparent),
    linear-gradient(145deg,var(--panel),#0d1824);
}

.hh-relation-center figure{
  margin:0;
  min-height:260px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:#0b1420;
  border:1px solid rgba(255,255,255,.08);
}

.hh-relation-center img{
  max-height:220px;
  object-fit:contain;
}

.hh-mobile-layout{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:20px;
  align-items:start;
}

.hh-phone-frame{
  margin:0;
  min-height:520px;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:34px;
  background:linear-gradient(180deg,#101b29,#142638);
  border:1px solid rgba(22,34,48,.08);
  box-shadow:0 18px 46px rgba(22,34,48,.08);
}

.hh-phone-frame img{
  max-height:470px;
  object-fit:contain;
}

.hh-mobile-list{
  display:grid;
  gap:14px;
}

.hh-mobile-list article{
  padding:22px;
  background:#fff;
  border-color:var(--line-dark);
  box-shadow:0 18px 46px rgba(22,34,48,.08);
}

.hh-mobile-list a{
  display:inline-flex;
  margin-top:14px;
  color:#0a7ca9;
  font-weight:1000;
}

.hh-door-route{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}

.hh-door-route article{
  position:relative;
  padding:24px 22px;
  border-radius:24px;
  background:linear-gradient(145deg,var(--panel),#0d1824);
  border:1px solid var(--line);
}

.hh-door-route article::after{
  content:"";
  position:absolute;
  top:50%;
  right:-8px;
  width:16px;
  height:2px;
  background:rgba(255,255,255,.16);
}

.hh-door-route article:last-child::after{display:none}

.hh-door-route strong{
  display:block;
  margin-bottom:10px;
  font-size:20px;
}

.hh-door-route span{
  color:#d8e5f1;
  line-height:1.72;
  font-size:14px;
}

.hh-scene-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.scene-slice{
  padding:24px;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line-dark);
  box-shadow:0 18px 46px rgba(22,34,48,.08);
}

.scene-visual,
.scene-table{
  padding:18px;
}

.scene-visual figure,
.scene-table figure{
  margin:0;
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:linear-gradient(145deg,#eef5ff,#f5fbf8);
}

.scene-visual img,
.scene-table img{
  max-height:220px;
  object-fit:contain;
}

.hh-faq-board{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:start;
}

.hh-faq-media{
  margin:0;
  min-height:320px;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,var(--panel-soft),#0d1824);
}

.hh-faq-media img{
  max-height:260px;
  object-fit:contain;
}

.hh-faq-list{
  display:grid;
  gap:12px;
}

.hh-faq-list details{
  background:linear-gradient(145deg,var(--panel-soft),#0d1824);
  overflow:hidden;
}

.hh-faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-weight:1000;
}

.hh-faq-list summary::-webkit-details-marker{display:none}

.hh-faq-list summary::after{
  content:"+";
  color:var(--gold);
  font-size:24px;
}

.hh-faq-list details[open] summary::after{
  content:"-";
}

.hh-faq-list p{
  margin:0;
  padding:0 24px 24px;
  color:#d8e5f1;
  line-height:1.78;
}

.hh-final{
  padding:48px 0 92px;
}

.hh-final-box{
  padding:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#fff;
  border-color:var(--line-dark);
  box-shadow:0 18px 46px rgba(22,34,48,.08);
}

.hh-final-box h2{
  color:var(--ink);
}

.hh-final-box p{
  color:var(--ink-soft);
}

.hh-footer{
  padding:34px 0;
  background:#081119;
  border-top:1px solid var(--line);
}

.hh-footer-inner{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
}

.hh-footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.hh-footer-brand img{
  max-width:150px;
  max-height:44px;
  object-fit:contain;
}

.hh-footer-brand p{
  margin:4px 0 0;
  color:var(--muted);
}

.hh-footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  color:#edf5ff;
  font-weight:800;
}

.img-missing{display:none!important}

@media(max-width:1080px){
  .hh-header-inner{
    grid-template-columns:auto auto 1fr;
  }

  .hh-nav{
    position:absolute;
    top:76px;
    left:4%;
    right:4%;
    display:none;
    flex-direction:column;
    gap:0;
    padding:12px 18px 20px;
    background:#0c1621;
    border:1px solid var(--line);
    border-radius:20px;
  }

  .hh-nav.is-open{display:flex}

  .hh-nav a{
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }

  .hh-nav a:last-child{border-bottom:0}
  .hh-nav a::after{display:none}

  .hh-menu{
    display:block;
    justify-self:end;
  }

  .hh-header-btn{display:none}

  .hh-room-status,
  .hh-room-grid,
  .hh-scene-grid{
    grid-template-columns:1fr 1fr;
  }

  .hh-mobile-layout,
  .hh-faq-board,
  .hh-relation-center{
    grid-template-columns:1fr;
  }

  .room-private{
    grid-template-columns:1fr;
  }

  .hh-door-route{
    grid-template-columns:1fr;
  }

  .hh-door-route article::after{display:none}
}

@media(max-width:720px){
  .hh-wrap{width:90%}
  .hh-hero{padding:58px 0 42px}
  .hh-hero h1{font-size:42px}
  .hh-hero-desc{font-size:16px}

  .hh-room-status,
  .hh-room-grid,
  .hh-relation-map,
  .hh-scene-grid{
    grid-template-columns:1fr;
  }

  .hh-hero-cover,
  .hh-room-status article,
  .room-panel,
  .hh-relation-map article,
  .hh-phone-frame,
  .hh-mobile-list article,
  .scene-slice,
  .hh-faq-media,
  .hh-faq-list details,
  .hh-final-box{
    border-radius:24px;
  }

  .hh-hero-cover,
  .hh-room-status article,
  .room-panel,
  .hh-relation-map article,
  .hh-phone-frame,
  .hh-mobile-list article,
  .scene-slice,
  .hh-final-box{
    padding-left:20px;
    padding-right:20px;
  }

  .hh-hero-cover{
    min-height:280px;
  }

  .hh-final-box,
  .hh-footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}
