/* dolvun.com 首页：配色和字体跟游戏一致（字体文件放在 /play/fonts） */
@font-face{font-family:"Pixelify Sans";src:url("/play/fonts/pixelify-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"VT323";src:url("/play/fonts/vt323.woff2") format("woff2");font-display:swap}
@font-face{font-family:"ZCOOL QingKe HuangYou";src:url("/play/fonts/zcool-qingke.woff2") format("woff2");font-display:swap}
:root{
  --ground:#1B2418; --panel:#253220; --panel2:#2F3F28; --line:#40522F;
  --bone:#EDE3C8; --muted:#A7AD8C; --ochre:#E3A53C; --ochre-ink:#2A1C08; --ember:#D9603F; --leaf:#A3C95E; --sky:#8BBCD2;
  --f-display:"Pixelify Sans",system-ui,sans-serif;
  --f-body:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  color-scheme:dark;
}
html[lang^="zh"]{--f-display:"ZCOOL QingKe HuangYou","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--bone);font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-text-size-adjust:100%}
a{color:var(--ochre)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--f-display);font-weight:400;color:var(--ochre);line-height:1.2;letter-spacing:.02em}
h2{font-size:32px;margin:0 0 16px}
h3{font-size:22px;margin:0 0 6px}
p{margin:0 0 14px}
.muted{color:var(--muted)}

.top{display:flex;align-items:center;gap:16px;padding:14px 0}
.logo{font-family:var(--f-display);font-size:30px;color:var(--ochre);text-decoration:none;text-shadow:2px 2px 0 #5A3A12;letter-spacing:.06em}
.top nav{margin-left:auto;display:flex;gap:18px;flex:none;white-space:nowrap;font-size:15px}
.top nav a{color:var(--bone);text-decoration:none}
.top nav a:hover{color:var(--ochre)}
.top nav a.langbtn{border:1px solid var(--line);border-radius:6px;padding:2px 10px;background:var(--panel)}
.top nav a.langbtn:hover{border-color:var(--ochre)}

.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;padding:36px 0 56px}
.hero h1{font-size:54px;margin:0 0 10px;text-shadow:3px 3px 0 #5A3A12}
.hero .kicker{font-size:20px;color:var(--bone);margin:0 0 18px}
.hero .shot{border:3px solid #5A3A12;border-radius:10px;overflow:hidden;box-shadow:0 12px 40px #0008;image-rendering:pixelated}
.play{display:inline-block;background:var(--ochre);color:var(--ochre-ink);font-weight:800;font-size:22px;padding:16px 34px;border-radius:10px;
  text-decoration:none;border:2px solid #F2C271;box-shadow:0 4px 0 #8a5a18}
.play:hover{filter:brightness(1.08)}
.play:active{transform:translateY(2px);box-shadow:0 2px 0 #8a5a18}
.facts{display:flex;gap:10px 18px;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none;color:var(--muted);font-size:15px}
.facts li::before{content:"▸ ";color:var(--leaf)}

section{padding:44px 0;border-top:1px solid var(--line)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.card p{margin:0;color:var(--bone)}
.shots{display:grid;grid-template-columns:2.2fr 1fr;gap:18px;align-items:start}
.shots figure{margin:0}
.shots img{border:1px solid var(--line);border-radius:8px}
.shots figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.eras{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.eras li{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:6px 12px;font-size:15px}
.eras li.soon{color:var(--muted);border-style:dashed}
ol.steps,ul.steps{padding-left:22px}
ol.steps li,ul.steps li{margin-bottom:10px}
.faq h3{font-size:19px;color:var(--bone);font-family:var(--f-body);font-weight:700;margin:22px 0 6px}
.cta{text-align:center;padding:56px 0}
.cta h2{margin-bottom:22px}
footer{border-top:1px solid var(--line);padding:26px 0 40px;color:var(--muted);font-size:14px}
footer a{color:var(--muted)}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;gap:24px;padding-top:16px}
  .hero h1{font-size:42px}
  .grid3{grid-template-columns:1fr}
  .shots{grid-template-columns:1fr}
  .shots figure.phone{max-width:320px;margin:0 auto}
  h2{font-size:28px}
}
@media (max-width:480px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .top nav{gap:12px;font-size:14px}
  .top nav .opt{display:none}
  .play{display:block;text-align:center}
}

/* 首页顶部的游戏：电脑上直接嵌入就能玩；手机上先显示画面和按钮，点了铺满全屏玩 */
.intro{display:flex;align-items:baseline;gap:14px;min-width:0}
.intro h1{margin:0;line-height:1.1;display:flex;align-items:baseline;gap:12px;min-width:0}
.intro h1 .logo{font-size:32px;flex:none}
.intro h1 .sub{font-family:var(--f-body);font-size:15px;color:var(--muted);letter-spacing:0;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intro p{margin:0;color:var(--muted);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gamebox{position:relative;width:100%;height:clamp(600px,calc(100vh - 110px),980px);background:#0d120b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gamebox iframe{display:block;width:100%;height:100%;border:0;background:var(--ground)}
.gamebox .cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:url("/assets/img/camp.webp") center/cover no-repeat;image-rendering:pixelated}
.gamebox .cover::before{content:"";position:absolute;inset:0;background:linear-gradient(#0000 40%,#000a)}
.gamebox .cover .play{position:relative}
.gamebox .cover small{position:relative;color:var(--bone);text-shadow:0 1px 2px #000}
.gamebox.live .cover{display:none}
.gamebox .bar{display:none}
.gamebox.full{position:fixed;inset:0;z-index:100;height:100vh;height:100dvh;border:0;display:flex;flex-direction:column}
.gamebox.full .bar{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;background:#10160d;border-bottom:1px solid var(--line);flex:none}
.gamebox.full .bar button{background:none;border:1px solid var(--line);color:var(--bone);border-radius:6px;font-size:14px;padding:4px 10px}
.gamebox.full .bar span{font-family:var(--f-display);color:var(--ochre);font-size:20px}
.gamebox.full iframe{flex:1;height:auto}
.gametools{display:flex;justify-content:flex-end;gap:10px;padding:8px 0 0;font-size:14px}
.gametools button{background:var(--panel);border:1px solid var(--line);color:var(--bone);border-radius:6px;padding:5px 12px;cursor:pointer}
@media (max-width:900px),(hover:none){
  .gamebox{height:auto;aspect-ratio:16/10}
  .gametools{display:none}
  /* 手机：站名和导航同一行，副标题单独占一整行 */
  .top{position:relative;display:block}
  .intro h1{display:block}
  .intro h1 .sub{display:block;white-space:normal;margin-top:6px;color:var(--bone)}
  .top nav{position:absolute;right:0;top:18px}
}

.ic{width:1em;height:1em;vertical-align:-.15em}

/* 隐私政策等文字页 */
.doc{max-width:760px;padding:24px 0 40px}
.doc h1{font-size:40px;margin:10px 0 6px}
.doc h2{font-size:24px;margin:28px 0 8px}
.doc ul{padding-left:22px}
.doc li{margin-bottom:6px}
