:root{
  --surface:#f9f9f7;
  --surface-low:#f4f4f2;
  --text:#1a1c1b;
  --muted:#3f4852;
  --primary:#00629d;
  --primary-bright:#00a3ff;
  --orange:#ff8a00;
  --yellow:#ffd600;
  --sky:#e0f2ff;
  --tertiary:#455f87;
  --shadow-blue:rgba(30,58,95,.12);
  --glass:rgba(255,255,255,.60);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--surface)}
a{text-decoration:none;color:inherit}

.topbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(24px,5vw,72px);
  background:rgba(224,242,255,.78);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.55);
  box-shadow:0 2px 12px rgba(30,58,95,.06);
}
.topbar-brand{
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:30px;
  font-weight:900;
  font-style:italic;
  letter-spacing:-.04em;
  color:var(--primary);
}
.topbar-links{
  display:flex;
  align-items:center;
  gap:34px;
  font-size:18px;
  color:rgba(63,72,82,.78);
}
.topbar-links a{
  position:relative;
  padding:26px 0 10px;
  font-weight:650;
}
.topbar-links a.active{
  color:var(--primary);
  font-weight:850;
}
.topbar-links a.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:var(--primary);
  border-radius:999px;
}
.profile-icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  color:var(--primary);
  font-size:21px;
  font-weight:800;
}

.main-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:118px 20px 76px;
  background:
    linear-gradient(180deg,rgba(224,242,255,.04) 0%,rgba(249,249,247,.20) 64%,rgba(249,249,247,.80) 100%),
    url("/assets/mountain.png") center/cover no-repeat;
  overflow:hidden;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.44),transparent 17%),
    linear-gradient(180deg,rgba(224,242,255,.08),rgba(249,249,247,.55));
  pointer-events:none;
}
.start-panel{
  position:relative;
  z-index:2;
  width:min(900px,92vw);
  min-height:540px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:54px;
  align-items:center;
  padding:34px;
  border-radius:24px;
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.62);
  border-left:1px solid rgba(255,255,255,.50);
  box-shadow:0 14px 44px rgba(30,58,95,.14),0 3px 9px rgba(30,58,95,.08);
}
.character-frame{
  height:480px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.character-frame img{
  max-height:100%;
  max-width:95%;
  object-fit:contain;
  filter:drop-shadow(0 22px 28px rgba(30,58,95,.20));
  animation:float 4.8s ease-in-out infinite;
}
.start-content{display:flex;flex-direction:column;gap:18px}
.season-badge{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 13px;
  border-radius:999px;
  background:var(--orange);
  color:#1f1200;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.start-content h1{
  margin:0;
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:clamp(38px,4.4vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
  color:#10243f;
  font-weight:900;
}
.start-content p{
  margin:0;
  max-width:410px;
  font-size:17px;
  line-height:1.65;
  color:rgba(63,72,82,.92);
}
.hud-preview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:6px;
}
.hud-card{
  min-height:80px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 3px 8px rgba(30,58,95,.06);
}
.hud-card.weather{grid-column:1/-1}
.hud-icon{
  width:24px;
  color:var(--primary);
  font-size:25px;
  line-height:1;
  font-weight:900;
  text-align:center;
}
.hud-icon.yellow{color:var(--yellow)}
.hud-icon.blue{color:var(--primary-bright)}
.hud-label{
  margin-bottom:2px;
  color:rgba(63,72,82,.70);
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.hud-label.row{display:flex;justify-content:space-between;gap:12px}
.hud-card strong{
  color:#98cbff;
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:24px;
  line-height:1;
  font-weight:900;
}
.hud-card strong span{
  font-family:Inter,system-ui,sans-serif;
  color:rgba(63,72,82,.80);
  font-size:16px;
  margin-left:2px;
}
.weather-text{
  color:#1a1c1b!important;
  font-size:22px!important;
  font-weight:650!important;
}
.hud-grow{flex:1}
.stamina-line{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#e2e3e1;
  overflow:hidden;
  margin-top:6px;
}
.stamina-line i{
  display:block;
  height:100%;
  width:100%;
  border-radius:999px;
  background:var(--yellow);
}
.start-button{
  margin-top:20px;
  width:100%;
  height:64px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#fff;
  font-size:20px;
  font-weight:900;
  background:linear-gradient(135deg,#e0f2ff 0%,#00a3ff 100%);
  border-top:1px solid rgba(255,255,255,.85);
  box-shadow:0 12px 24px rgba(0,163,255,.24);
  transition:transform .16s ease,filter .16s ease;
}
.start-button:hover{filter:brightness(1.03);transform:translateY(-1px)}
.start-button:active{transform:scale(.97)}
.start-button span{font-size:24px}

.how-section{
  position:relative;
  z-index:3;
  padding:96px clamp(20px,5vw,64px) 100px;
  background:var(--surface-low);
}
.how-head{
  text-align:center;
  max-width:680px;
  margin:0 auto 56px;
}
.how-head h2{
  margin:0 0 16px;
  font-family:Manrope,Inter,system-ui,sans-serif;
  font-size:32px;
  line-height:1.25;
  color:var(--primary);
  font-weight:900;
}
.how-head p{
  margin:0;
  font-size:18px;
  line-height:1.55;
  color:#253244;
}
.how-grid{
  max-width:1160px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.how-card{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:34px 32px;
  border-radius:12px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 4px 8px rgba(30,58,95,.08),0 1px 3px rgba(30,58,95,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.how-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 24px rgba(30,58,95,.12);
}
.how-icon{
  width:64px;height:64px;
  display:grid;place-items:center;
  border-radius:50%;
  margin-bottom:24px;
  font-size:31px;
  font-weight:900;
}
.blue-soft{background:rgba(0,163,255,.18);color:var(--primary)}
.orange-soft{background:rgba(255,138,0,.22);color:var(--orange)}
.gray-soft{background:rgba(69,95,135,.18);color:var(--tertiary)}
.how-card h3{
  margin:0 0 18px;
  font-size:20px;
  font-weight:650;
}
.how-card p{
  margin:0;
  max-width:260px;
  color:#253244;
  font-size:16px;
  line-height:1.5;
}

/* Existing game pages */
body:not(.main-site-page){
  min-height:100vh;
  color:#f6fbff;
  background:#081827;
}
body:not(.main-site-page):before{
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(8,24,39,.64)),url('/assets/mountain.png') center/cover no-repeat;
  z-index:-2;
}
body:not(.main-site-page):after{
  content:"";
  position:fixed;
  inset:0;
  background:radial-gradient(circle at 78% 7%,rgba(255,255,255,.72) 0,rgba(255,214,0,.25) 22%,transparent 48%),linear-gradient(90deg,rgba(224,242,255,.16),transparent 35%,rgba(255,138,0,.08));
  z-index:-1;
  pointer-events:none;
}
.nav{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px clamp(18px,4vw,64px);
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.36);
}
.brand{font-weight:950;font-style:italic;letter-spacing:-.04em;font-size:28px;text-decoration:none;color:var(--primary)}
.brand span{color:var(--orange)}
.links{display:flex;gap:14px;flex-wrap:wrap}
.links a{color:#45515f;text-decoration:none;padding:8px 2px;border-bottom:2px solid transparent;font-weight:750}
.links a:hover,.links a.active{color:var(--primary);border-color:var(--orange)}
.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.card{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);border-radius:28px;box-shadow:0 24px 80px rgba(0,0,0,.24);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pad{padding:clamp(22px,4vw,42px)}
.btn{appearance:none;border:0;border-radius:18px;padding:15px 20px;font-weight:900;text-decoration:none;cursor:pointer;color:#09243b;background:linear-gradient(135deg,#fff,#58bfff);box-shadow:0 12px 30px rgba(88,191,255,.28)}
.btn.secondary{color:#f6fbff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.grid{display:grid;gap:18px}
.grid.cols3{grid-template-columns:repeat(3,1fr)}
.grid.cols2{grid-template-columns:repeat(2,1fr)}
.mini{padding:22px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
.mini h3{margin:0 0 8px;font-size:22px}
.mini p{margin:0;color:#d7e5f2;line-height:1.5}
.section{padding:54px 0}
.page-title{padding:54px 0 22px}
.page-title h1{font-size:clamp(36px,5vw,64px);margin:0 0 12px;color:#fff;text-shadow:0 10px 28px rgba(0,0,0,.28)}
.gamebox{display:grid;grid-template-columns:1fr 320px;gap:20px}
.mountain-panel{height:540px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05));border-radius:28px}
.trail{position:absolute;left:50%;bottom:48px;width:8px;height:78%;background:linear-gradient(0deg,var(--yellow),rgba(255,255,255,.32));border-radius:999px;transform:translateX(-50%)}
.avatar{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);font-size:52px;transition:bottom .25s ease}
.summit{position:absolute;top:28px;left:50%;transform:translateX(-50%);font-size:54px}
.hud{display:grid;gap:14px}
.bar{height:12px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden}
.fill{height:100%;width:100%;background:linear-gradient(90deg,#72e0a7,var(--yellow));border-radius:999px}
.stat{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stat strong{font-size:26px}
.equip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.item{padding:22px;border-radius:24px;background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.24);position:relative;overflow:hidden;box-shadow:0 18px 54px rgba(0,0,0,.18);backdrop-filter:blur(14px)}
.item .icon{font-size:42px}
.item h3{margin:12px 0 8px}
.score{width:100%;border-collapse:separate;border-spacing:0 12px}
.score th{text-align:left;color:#d7e5f2;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.score td,.score th{padding:14px 16px}
.score tbody tr{background:rgba(255,255,255,.13)}
.score tbody tr td:first-child{border-radius:18px 0 0 18px}
.score tbody tr td:last-child{border-radius:0 18px 18px 0}
.footer{padding:34px;text-align:center;color:rgba(255,255,255,.72)}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
@media(max-width:900px){
  .topbar{height:70px;padding:0 20px}
  .topbar-brand{font-size:25px}
  .topbar-links{display:none}
  .main-hero{min-height:auto;padding:100px 18px 56px}
  .start-panel{width:100%;grid-template-columns:1fr;gap:22px;padding:22px;min-height:auto}
  .character-frame{height:330px}
  .start-content{text-align:left}
  .hud-preview{grid-template-columns:1fr}
  .hud-card.weather{grid-column:auto}
  .how-section{padding:70px 20px}
  .how-grid{grid-template-columns:1fr;gap:22px}
  .how-card{min-height:220px}
  .gamebox{grid-template-columns:1fr}
  .grid.cols3,.grid.cols2,.equip{grid-template-columns:1fr}
  .links{display:none}
}
