/* 项目主页样式：照游戏 expedition-theme.css 的「掌机皮肤」——灰蓝底、米白扫描线面板、handheld-frame.svg 像素边框、
   橙红主按钮、PixelifyPS 像素字（只有西文，中文落到系统字体）。手机竖屏优先 */
@font-face{font-family:SitePixel;src:url('/static/fonts/PixelifyPS-400.5acb718082.ttf') format('truetype');font-weight:400 550;font-display:swap}
@font-face{font-family:SitePixel;src:url('/static/fonts/PixelifyPS-700.98023f71bb.ttf') format('truetype');font-weight:551 900;font-display:swap}
:root{
 --ink:#404858;--muted:#687080;--accent:#b84840;--navy:#303850;--slate:#7888a0;--bar:#485870;--paper:#f8f8e8;--paper-line:#f0f0e0;--cream:#f8e8a0;
 --key:#d8e0e8;--salmon:#e89078;--sky:#a0c8d8;--green:#70b890;
 --frame:url('/static/handheld-frame.5f74f3324a.svg');
 --pixel:SitePixel,'Microsoft YaHei','PingFang SC','Noto Sans SC',sans-serif;--text:'Microsoft YaHei','PingFang SC','Noto Sans SC',system-ui,sans-serif;
 --gutter:16px;--max:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:var(--ink);font:16px/1.7 var(--text);
 background:var(--slate) repeating-linear-gradient(0deg,#7888a0 0 6px,#7484a0 6px 8px)}
a{color:#b84840}a:hover{color:#d06050}
img{max-width:100%}
code{font-family:Consolas,'Cascadia Mono',monospace;font-size:.9em;background:#e0e0d0;border:1px solid #b0b0b8;padding:0 4px;overflow-wrap:anywhere}
pre{overflow:auto;background:#e8e8d8;border:2px solid #b0b0b8;padding:12px 14px}pre code{border:0;background:none;padding:0}
:focus-visible{outline:3px solid #d06050;outline-offset:2px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.muted{color:var(--muted)}

/* 像素边框：和游戏同一张 9 宫格 */
.frame,.panel,.btn,.channel,.features li,.log>li,.screen,.side details,.toast,.qr{border:8px solid transparent;border-image:var(--frame) 8 stretch;border-radius:0;background-clip:padding-box;box-shadow:0 4px 0 #30385080}

/* 顶栏 */
.top{position:sticky;top:0;z-index:10;background:#485870f2;border-bottom:4px solid var(--navy)}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:56px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;color:#fff8e8;text-decoration:none;font:700 18px var(--pixel);white-space:nowrap}
.brand:hover{color:var(--cream)}
.brand img{width:32px;height:32px;image-rendering:pixelated;box-shadow:0 0 0 2px var(--navy)}
.nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
.nav a{color:#e8ecf4;text-decoration:none;font:700 15px var(--pixel);padding:6px 10px;white-space:nowrap}
.nav a:hover{background:#ffffff1f;color:#fff}.nav a[aria-current]{color:var(--navy);background:var(--cream)}
@media(max-width:620px){.top .wrap{padding-top:6px;gap:2px}.nav{margin:0 -10px;width:calc(100% + 20px);padding-bottom:6px}.nav a{font-size:14px;padding:5px 9px}}

/* QQ / 微信内置浏览器提示 */
.inapp{background:var(--cream);color:#503838;font-weight:700;text-align:center;padding:10px var(--gutter);line-height:1.5;border-bottom:4px solid var(--navy)}
.inapp b{background:#503838;color:var(--cream);padding:0 6px}

main{flex:1;padding:24px 0 48px}
h1,h2,h3{font-family:var(--pixel);line-height:1.35;font-weight:700}
h1{font-size:28px;margin:0 0 14px}h2{font-size:22px;margin:32px 0 12px}h3{font-size:18px;margin:22px 0 8px}
.on-slate{color:#fff8e8}.on-slate a{color:var(--cream)}
h2.on-slate{text-shadow:2px 2px 0 var(--navy)}
.eyebrow{display:block;font:700 12px var(--pixel);letter-spacing:1px;color:#f8f8e8;background:#687898;padding:2px 10px;margin:0 0 12px;text-transform:uppercase}

/* 面板和按钮：照游戏的 .panel / button */
.panel{background-color:var(--paper);background-image:repeating-linear-gradient(0deg,#f8f8e8 0 4px,#f0f0e0 4px 6px);padding:18px 20px}
.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font:700 16px var(--pixel);line-height:1.3;min-height:48px;padding:4px 14px;color:var(--ink);
 background-color:var(--key);background-image:linear-gradient(#f0f0f0 0 4px,#d8e0e8 4px calc(100% - 4px),#a8b0c8 calc(100% - 4px))}
.btn:hover{color:var(--ink);background-color:#e8e8d0;background-image:linear-gradient(#fff8d8 0 4px,#e8e8d0 4px calc(100% - 4px),#c0b890 calc(100% - 4px))}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 #30385080}
.btn.primary{color:#503838;background-color:var(--salmon);background-image:linear-gradient(#ffc0a0 0 4px,#e89078 4px calc(100% - 4px),#c06058 calc(100% - 4px))}
.btn.primary:hover{color:#503838;background-image:linear-gradient(#ffd0a8 0 4px,#f0a088 4px calc(100% - 4px),#c87060 calc(100% - 4px))}
.btn.small{font-size:14px;min-height:40px;padding:2px 10px}
.ico{width:22px;height:22px;flex-shrink:0;shape-rendering:crispEdges}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* 首页 */
.hero{display:grid;gap:24px;align-items:center;grid-template-columns:1fr}
.logo{font:700 clamp(40px,11vw,76px)/1.05 var(--pixel);color:var(--cream);text-shadow:3px 3px 0 var(--navy),-1px -1px 0 var(--navy),1px -1px 0 var(--navy),-1px 1px 0 var(--navy);margin:0;letter-spacing:1px;overflow-wrap:anywhere}
.logo-sub{font:700 clamp(20px,5.5vw,30px) var(--text);color:#fff8e8;letter-spacing:4px;margin:10px 0 0;text-shadow:2px 2px 0 var(--navy)}
.tagline{color:var(--ink);margin:0 0 16px}
.intro{margin-top:18px}
.dl-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.dl-main .btn.primary{font-size:19px;min-height:56px;padding:4px 18px}
.dl-meta{font-size:13px;color:var(--muted)}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.qr{display:none;background:#fff;padding:4px;text-align:center;color:var(--ink);font-size:12px;line-height:1.3}
.qr svg{display:block;width:104px;height:104px}
@media(min-width:900px){.hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.qr{display:block}.logo{font-size:clamp(40px,3.7vw,60px);white-space:nowrap}}
.screen{background:#d8d8c0;padding:2px;margin:0}
.screen img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--navy)}
.shots{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,340px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px}
.shots figure{margin:0;scroll-snap-align:start}.shots figcaption{font-size:14px;color:#fff8e8;margin-top:6px;text-shadow:1px 1px 0 var(--navy);line-height:1.5}
@media(min-width:900px){.shots{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}
.features{display:grid;gap:14px;grid-template-columns:1fr;padding:0;margin:0;list-style:none}
@media(min-width:620px){.features{grid-template-columns:1fr 1fr}}@media(min-width:960px){.features{grid-template-columns:repeat(4,1fr)}}
.features li{background:var(--paper);padding:10px 12px}
.features strong{display:flex;align-items:center;gap:8px;font:700 17px var(--pixel);color:var(--accent);margin-bottom:2px}
.features p{margin:0;font-size:14px;color:var(--ink);line-height:1.6}
.join{display:grid;gap:16px}@media(min-width:760px){.join{grid-template-columns:1fr 1fr}}

/* 下载页 */
.latest h2{margin:0 0 8px;font-size:24px;color:var(--accent)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}
.channels{display:grid;gap:12px;margin:16px 0 0}@media(min-width:760px){.channels{grid-template-columns:repeat(3,1fr)}}
.channel{background:#e8ecf0;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.channel strong{font:700 17px var(--pixel)}.channel small{color:var(--muted);font-size:13px;line-height:1.5}.channel .btns,.channel>.btn{margin-top:auto}
.code{font:700 18px var(--pixel);color:var(--accent);letter-spacing:2px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:10px}
.steps li{counter-increment:s;position:relative;padding:4px 0 4px 44px}
.steps li:before{content:counter(s);position:absolute;left:0;top:4px;width:30px;height:30px;background:var(--salmon);color:#503838;font:700 16px/30px var(--pixel);text-align:center;box-shadow:0 3px 0 #c06058}
.note{background:#e0e0d0;color:#505868;border:2px solid #b0b0b8;border-left:4px solid #c86858;padding:8px 12px;font-size:14px;margin:12px 0}
.note p{margin:0}

/* 表格：窄屏横向滚动 */
.table{overflow-x:auto;margin:12px 0;border:2px solid #9098b0;background:#fdfdf4}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55}
th,td{padding:6px 10px;border-bottom:1px solid #d8d8c8;text-align:left;vertical-align:top}
th{background:#d8e0e8;font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:0}tbody tr:hover{background:#f0d89833}

/* 更新日志 */
.log{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.log>li{background-color:var(--paper);padding:10px 14px}
.log h2{margin:0 0 4px;font-size:19px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.log h2 a{color:var(--ink)}
.log ul{margin:4px 0 0;padding-left:20px;font-size:15px}.log li li{margin:2px 0}
.tag{font:700 12px var(--text);padding:1px 8px;white-space:nowrap;border:2px solid var(--navy)}
.tag.apk{background:var(--salmon);color:#503838}.tag.bundle{background:var(--green);color:#183828}.tag.beta{background:var(--cream);color:#584838}
.date{font:400 14px var(--text);color:var(--muted)}

/* Wiki 与长文 */
.doc{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:960px){.doc{grid-template-columns:230px minmax(0,1fr)}}
.side{font-size:14px;align-self:start}
.side details{background:var(--paper);padding:4px 10px}
.side summary{cursor:pointer;font:700 15px var(--pixel);padding:4px 0}
.side ul{list-style:none;padding:0;margin:2px 0 6px}.side li{margin:1px 0}.side p{margin:8px 0 2px;color:var(--accent);font-weight:700}
.side a{text-decoration:none;color:var(--ink)}.side a:hover{color:var(--accent)}.side a[aria-current]{background:#f0d898;box-shadow:inset 3px 0 #c85848;padding:0 4px}
@media(min-width:960px){.side{position:sticky;top:72px;max-height:calc(100vh - 90px);overflow:auto}.side details[open] summary{display:none}}
.prose{min-width:0;overflow-wrap:break-word}
.prose h1{font-size:26px}.prose h2{border-bottom:2px solid #c8c8b8;padding-bottom:2px}
.prose blockquote{margin:12px 0;padding:6px 12px;border-left:4px solid #c86858;background:#e8e8d8;color:#505868}
.prose blockquote p{margin:2px 0}
.prose li{margin:2px 0}.prose hr{border:0;border-top:2px dashed #c8c8b8;margin:24px 0}
.prose .anchor{opacity:0;margin-left:6px;text-decoration:none;color:var(--muted)}.prose :hover>.anchor{opacity:1}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:6px}.crumbs a{color:var(--muted)}
.edit{font-size:13px;margin-top:28px;color:var(--muted)}

/* 404 */
.lost{text-align:center;padding:20px 0}.lost .logo{font-size:clamp(72px,24vw,150px)}

/* 页脚 */
.foot{background:var(--bar);border-top:4px solid var(--navy);color:#e0e4ec;font-size:13px;padding:16px 0 24px}
.foot p{margin:4px 0;line-height:1.6}.foot a{color:var(--cream)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background-color:var(--paper);padding:6px 14px;font-weight:700;z-index:20;pointer-events:none;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.toast{animation:pop .18s ease-out}@keyframes pop{from{transform:translate(-50%,8px);opacity:0}}}
.stack{display:grid;gap:20px}
.intro .hero-cta{margin-top:4px}
.direct{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:16px 0 4px}.direct .btn{font-size:19px;min-height:56px;padding:4px 18px}.direct small{color:var(--muted);font-size:13px}
.latest h3{margin:18px 0 0;font-size:16px;color:var(--muted)}
.direct{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:16px 0 4px}.direct .btn{font-size:19px;min-height:56px;padding:4px 18px}.direct small{color:var(--muted);font-size:13px}
.latest h3{margin:18px 0 0;font-size:16px;color:var(--muted)}
.support{display:grid;gap:16px}@media(min-width:760px){.support{grid-template-columns:1fr 1fr}}
.support .panel{display:flex;flex-direction:column;align-items:flex-start}.support h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--accent)}.support .btn{margin-top:auto}.support p{margin:0 0 12px}
.video-title{font-weight:700;color:var(--ink)}
.star-count{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:2px 12px;background:#fff;border:2px solid var(--navy);box-shadow:0 3px 0 #30385080;color:var(--ink);text-decoration:none;font:700 17px var(--pixel)}.star-count:hover{color:var(--ink);background:#fff8d8}.star-count .ico{color:#e0a020}
.support .btns{margin-top:auto}
