:root{--navy:#0e2a47;--navy2:#143a61;--gold:#c9a227;--red:#c1272d;--bg:#f4f6f9;--card:#fff;--txt:#1c2a3a;--sub:#8a94a3}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:#1a2332;color:var(--txt);display:flex;flex-direction:column;align-items:center;padding:26px 12px}
.wrap{width:400px;max-width:100%}
.phone{width:100%;background:#fff;border-radius:34px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6);border:9px solid #05080d}
.statusbar{background:#0b0f16;color:#fff;font-size:12px;display:flex;justify-content:space-between;padding:6px 20px;font-weight:600}
.navhead{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:0 14px;display:flex;align-items:center;gap:8px;height:52px}
.navhead .back{font-size:22px;cursor:pointer;width:26px;color:#fff}
.navhead .back.off{visibility:hidden}
.navhead .t{font-size:16px;font-weight:700;letter-spacing:1px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navhead .badge{font-size:10px;background:rgba(201,162,39,.25);border:1px solid rgba(201,162,39,.6);color:#f0d488;padding:2px 8px;border-radius:10px}
.device-area{background:var(--bg);position:relative;overflow:hidden}
.tabbar{display:flex;background:#fff;border-top:1px solid #e6e9ee;padding:5px 0 16px}
.tab{flex:1;text-align:center;font-size:11px;color:var(--sub);cursor:pointer;padding:3px 0}
.tab .ic{font-size:21px;margin-bottom:1px}
.tab.active{color:var(--navy);font-weight:700}
.tab.active .ic{color:var(--gold)}
.page{display:none;padding:14px;animation:fade .2s}
.page.show{display:block}
.page.full{position:absolute;inset:0;background:var(--bg);overflow-y:auto;z-index:5;padding:14px 14px 34px;animation:slide .22s}
@keyframes fade{from{opacity:.3}to{opacity:1}}
@keyframes slide{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.hero{background:linear-gradient(140deg,var(--navy),#1b4a7a 60%,#274f74);color:#fff;border-radius:18px;padding:20px;position:relative;overflow:hidden}
.hero::after{content:"★";position:absolute;right:16px;top:8px;font-size:72px;color:rgba(201,162,39,.25)}
.hero .greet{font-size:14px;opacity:.85}
.hero .name{font-size:22px;font-weight:800;margin-top:2px}
.hero .row{display:flex;gap:10px;margin-top:16px}
.hero .hchip{flex:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px;font-size:11px;text-align:center}
.hero .hchip b{display:block;font-size:16px;color:#f0d488;margin-bottom:2px}
.func-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.func{background:var(--card);border-radius:14px;padding:13px 4px;text-align:center;box-shadow:0 2px 8px rgba(14,42,71,.06);cursor:pointer;transition:transform .08s}
.func:active{transform:scale(.94)}
.func .fi{width:44px;height:44px;border-radius:12px;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;font-size:22px}
.func .ft{font-size:11.5px;font-weight:600}
.func .fs{font-size:9.5px;color:var(--sub);margin-top:2px}
.c1{background:#ffe9e6}.c2{background:#e7f1ff}.c3{background:#eefae9}.c4{background:#fff4d8}.c5{background:#f5ecff}.c6{background:#e6f7f7}.c7{background:#fdeeee}.c8{background:#eef1ff}
.sec{font-size:15px;font-weight:700;margin:18px 2px 10px;color:var(--navy);display:flex;align-items:center;gap:6px}
.sec::before{content:"";width:4px;height:14px;background:var(--gold);border-radius:2px}
.news{background:var(--card);border-radius:12px;padding:11px;margin-bottom:9px;display:flex;gap:10px;box-shadow:0 1px 4px rgba(14,42,71,.05);cursor:pointer}
.news:active{background:#f7f9fc}
.news .ni{width:86px;height:62px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,var(--navy2),#2c5a8c);display:flex;align-items:center;justify-content:center;font-size:26px}
.news .nb{flex:1}
.news .nt{font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news .ns{font-size:10.5px;color:var(--sub);margin-top:5px}
.tag{display:inline-block;font-size:9.5px;padding:1px 6px;border-radius:4px;margin-right:5px;vertical-align:1px}
.tag.official{background:#eef1ff;color:#3a4f9a}
.tag.folk{background:#fff4d8;color:#9a7c05}
.match-card{background:linear-gradient(140deg,var(--navy),var(--navy2));border-radius:14px;padding:16px;color:#fff;position:relative;overflow:hidden;cursor:pointer}
.match-card::after{content:"✓";position:absolute;right:12px;bottom:-14px;font-size:90px;color:rgba(201,162,39,.18)}
.match-card .mt{font-size:15px;font-weight:800}
.match-card .ms{font-size:11.5px;opacity:.85;margin-top:5px;line-height:1.5}
.match-btn{margin-top:13px;background:linear-gradient(135deg,var(--gold),#e0b944);color:#5a4200;font-weight:800;font-size:13px;border-radius:9px;padding:11px;text-align:center}