:root{
  --purple:#6730bd;
  --purple-dark:#51229e;
  --red:#d60b24;
  --orange:#c26b22;
  --text:#141414;
  --muted:#a8adb7;
  --line:#eef0f5;
  --bg:#f5f6f9;
  --card:#fff;
  --nav:#e60020;
  --shadow:0 10px 28px rgba(17,24,39,.08);
  --radius:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:#e5e7eb}
body.article-app,body.pay-app{margin:0;min-height:100vh;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text)}
a{text-decoration:none;color:inherit}.phone-page,.app-shell,.article-detail,.pay-shell{width:min(100%,560px);margin:0 auto}.phone-page{min-height:100vh;background:var(--bg);padding-bottom:86px;box-shadow:0 0 0 1px rgba(17,24,39,.04)}
.feed-header{position:sticky;top:0;z-index:50;height:56px;background:#fff;display:grid;grid-template-columns:56px 1fr 56px;align-items:center;border-bottom:1px solid #f1f1f1}.feed-header h1{margin:0;text-align:center;font-size:19px;line-height:1;font-weight:800;letter-spacing:.02em}.feed-close,.feed-more{height:56px;display:grid;place-items:center;color:#111;font-size:24px}.feed-more{font-size:21px}.search-band{position:sticky;top:56px;z-index:49;background:linear-gradient(180deg,#6b33c6,#5d2eaf);padding:12px 19px 14px}.search-box{height:49px;background:#fff;border-radius:25px;display:flex;align-items:center;padding:0 17px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02),0 4px 14px rgba(72,31,145,.18)}.search-box i{font-size:19px;color:#969ba6;margin-right:10px}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:16px;color:#222}.search-box input::placeholder{color:#b9bec9}.vip-notice{width:calc(100% - 24px);margin:12px auto 0;display:flex;align-items:center;gap:8px;background:#fff8e7;color:#9a5b11;border:1px solid #f8dfac;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;box-shadow:0 6px 16px rgba(194,107,34,.08)}.feed-list{padding:12px 12px 8px}.feed-card{position:relative;display:block;background:#fff;border-radius:4px;margin:0 0 12px;padding:20px 20px 18px;box-shadow:0 3px 14px rgba(20,30,50,.04);border:1px solid rgba(238,240,245,.88);overflow:hidden}.feed-card:active{transform:scale(.995)}.feed-card-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.feed-card h2{margin:0;font-size:20px;line-height:1.46;font-weight:900;color:#0b0b0c;letter-spacing:-.02em;word-break:break-word}.feed-price{margin-top:2px;white-space:nowrap;color:var(--red);font-size:22px;font-weight:900;letter-spacing:.01em}.feed-price.is-free{font-size:16px;color:#16a34a;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:999px;padding:4px 10px}.feed-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.feed-tags span{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--orange);border-radius:4px;color:var(--orange);background:#fff;font-size:14px;font-weight:800}.feed-summary{margin:12px 0 0;color:#7b8290;font-size:14px;line-height:1.65}.feed-dash{border-top:1px dashed #e0e0e0;margin:16px 0 12px}.feed-time{color:#babec7;font-size:15px;line-height:1.2}.corner-ribbon{position:absolute;left:-31px;top:16px;width:96px;height:24px;transform:rotate(-45deg);display:grid;place-items:center;background:#f5bd27;color:#fff;font-size:13px;font-weight:900;box-shadow:0 2px 4px rgba(0,0,0,.06)}.corner-ribbon.free{background:#16a34a}.corner-ribbon.archive{background:#9ca3af}.stamp-mark{position:absolute;right:16px;bottom:22px;width:64px;height:64px;border:4px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:31px;font-weight:950;transform:rotate(-12deg);opacity:.96}.feed-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#a1a7b2;text-align:center;background:#fff;border-radius:10px;border:1px dashed #e3e7ef}.feed-empty i{font-size:34px}.feed-empty b{font-size:16px;color:#565d6b}.feed-empty span{font-size:13px}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:80;width:min(100%,560px);height:70px;transform:translateX(-50%);background:#fff;border-top:1px solid #eceff5;display:flex;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 20px rgba(17,24,39,.08)}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#b4b6bc;font-size:13px;font-weight:600}.bottom-nav a i{font-size:23px}.bottom-nav a.active{color:var(--nav);font-weight:800}.feed-tabs a.active i{filter:drop-shadow(0 4px 8px rgba(230,0,32,.18))}
/* 通用按钮与支付页 */
.btn{min-height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:800;border:1px solid transparent;text-decoration:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#e60020,#ff3851);color:#fff;box-shadow:0 12px 24px rgba(230,0,32,.18)}.btn-ghost{background:#fff;color:#222;border-color:#e8ecf2}.pay-app{background:linear-gradient(180deg,#f7f2ff,#f6f7fb)}.pay-shell{padding:18px 14px 92px}.pay-jump-card,.toast-card{max-width:460px;margin:8vh auto;background:#fff;border-radius:20px;padding:26px 20px;box-shadow:var(--shadow);text-align:center}.pay-jump-card h3,.toast-card h2{margin:0 0 10px}.pay-jump-card p,.toast-card p{color:#7c8491;line-height:1.75}.pay-jump-card .btn{width:100%;margin-top:10px}.toast-page{min-height:100vh;display:grid;place-items:center;padding:24px}
/* 详情页：保留支付解锁逻辑，只统一成清爽移动端 */
.article-detail{min-height:100vh;background:#f6f7fb;padding:0 13px 100px}.detail-nav{height:54px;display:flex;align-items:center;justify-content:space-between}.detail-nav a{font-size:22px;color:#111}.detail-nav .pill-btn{font-size:13px;background:#fff;border:1px solid #e8ecf2;border-radius:999px;padding:8px 12px;color:#444}.detail-hero{background:#fff;border-radius:18px;margin-top:6px;padding:22px 18px;box-shadow:var(--shadow)}.detail-sub{display:flex;flex-wrap:wrap;gap:8px;color:#a25b14;font-size:13px;font-weight:800}.detail-sub span{border:1px solid #d48a42;border-radius:999px;padding:5px 9px}.detail-title{font-size:24px;line-height:1.45;margin:13px 0 8px;font-weight:950}.article-meta,.meta-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#9aa1ad;font-size:13px}.summary-panel,.content-card,.lock-card,.benefit-card,.member-card,.stats-strip,.hero-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;box-shadow:var(--shadow)}.summary-panel,.content-card,.lock-card{margin-top:14px;padding:18px}.summary-panel h3,.content-card h3,.lock-card h3{margin:0 0 10px;font-size:17px}.summary-panel p,.content-card p,.lock-card p{line-height:1.85;color:#555;margin:0}.paid-content{font-size:16px;line-height:1.9;white-space:normal;color:#222}.mask{max-height:148px;overflow:hidden;position:relative}.mask:after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(transparent,#fff)}.pay-price{font-size:28px;font-weight:950;color:var(--red);margin:8px 0}.unlock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.bottom-paybar{position:fixed;left:50%;bottom:0;z-index:70;width:min(100%,560px);transform:translateX(-50%);background:#fff;border-top:1px solid #edf0f5;padding:10px 13px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(17,24,39,.08)}.pay-actions{display:flex;gap:10px}.pay-actions .btn{flex:1}.pay-modal{position:fixed;left:50%;bottom:-280px;transform:translateX(-50%);width:min(100%,560px);z-index:90;background:#fff;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -18px 46px rgba(17,24,39,.20);transition:.25s}.pay-modal.show{bottom:0}.modal-handle{width:42px;height:4px;background:#d8dde6;border-radius:999px;margin:0 auto 14px}.pay-modal h3{text-align:center;margin:0}.pay-modal .hint{text-align:center;color:#89909d;font-size:13px;margin:6px 0 16px}.pay-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pay-option{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:16px;text-align:center}.pay-option i{font-size:31px}.pay-option.wx i{color:#09bb07}.pay-option.ali i{color:#1677ff}.pay-option b{display:block;margin-top:8px}.pay-option span{display:block;margin-top:3px;color:#9aa1ad;font-size:12px}
/* 包周页兼容 */
.app-shell{background:#f6f7fb;min-height:100vh;padding:14px 14px 92px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6730bd,#e60020);color:#fff;display:grid;place-items:center}.brand-text b{display:block;font-size:17px}.brand-text span{display:block;font-size:12px;color:#8a92a0}.top-actions{display:flex;gap:8px}.icon-btn,.pill-btn{height:38px;border-radius:999px;background:#fff;border:1px solid #edf0f5;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;color:#333;font-weight:800}.hero-card{padding:22px 18px;color:#fff;background:linear-gradient(135deg,#6730bd,#e60020);border:0}.hero-card h1{margin:6px 0 8px;font-size:25px}.hero-card p{margin:0;line-height:1.75;color:rgba(255,255,255,.86)}.hero-kicker{font-size:13px;font-weight:800}.hero-actions{display:flex;gap:10px;margin-top:16px}.primary-cta,.secondary-cta{height:42px;border-radius:999px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.primary-cta{background:#fff;color:#e60020}.secondary-cta{border:1px solid rgba(255,255,255,.55);color:#fff}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;margin-top:12px}.mini-stat{text-align:center}.mini-stat b{display:block;font-size:18px;color:#111}.mini-stat span{display:block;font-size:12px;color:#8a92a0}.member-card{display:flex;align-items:center;justify-content:space-between;padding:15px;margin-top:12px}.member-card .left{display:flex;align-items:center;gap:10px}.gem{width:40px;height:40px;border-radius:50%;background:#fff3cc;color:#bd7c00;display:grid;place-items:center}.member-card b{display:block}.member-card span{display:block;font-size:12px;color:#8a92a0;margin-top:2px}.member-card em{font-style:normal;color:var(--red);font-weight:900}.section-head{display:flex;align-items:center;justify-content:space-between;margin:20px 3px 10px}.section-head h2{font-size:19px;margin:0}.section-head span{color:#9aa1ad;font-size:13px}.article-list{display:grid;gap:12px}.article-card{display:block;background:#fff;border:1px solid #edf0f5;border-radius:16px;padding:16px;box-shadow:var(--shadow)}.article-card-top{display:flex;justify-content:space-between;gap:10px}.tag,.state-badge,.price-pill{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.tag{background:#f7f2ff;color:#6730bd}.state-badge{background:#f2f4f7;color:#667085}.state-feature{background:#fff1f2;color:#e60020}.state-archive{background:#f3f4f6;color:#6b7280}.article-title{font-size:17px;line-height:1.5;margin:10px 0 7px;font-weight:900}.article-summary{font-size:13px;color:#747c89;line-height:1.7;margin:0 0 10px}.price-pill{background:#fff1f2;color:#e60020}.price-pill.free{background:#f0fdf4;color:#16a34a}.weekly-hero{border-radius:22px;padding:26px 20px;color:#fff;background:linear-gradient(135deg,#111827,#6730bd 55%,#e60020);box-shadow:var(--shadow);position:relative;overflow:hidden}.weekly-hero h1{font-size:28px;margin:0 0 10px}.weekly-hero p{margin:0;color:rgba(255,255,255,.86);line-height:1.75}.weekly-price{font-size:44px;font-weight:950;margin:20px 0 6px}.weekly-price small{font-size:15px}.benefit-card{padding:16px;margin-top:12px}.benefit-row{display:flex;gap:10px;padding:12px 0;border-bottom:1px dashed #e1e5ed;color:#586171;line-height:1.65}.benefit-row:last-child{border-bottom:0}.benefit-row i{color:#6730bd;margin-top:3px}.support-float{display:none}
@media (min-width:561px){body.article-app.feed-home{background:#dfe3ea}.feed-card{border-radius:10px}.feed-header{border-radius:0}.phone-page{min-height:100vh}.bottom-nav{border-radius:0}}
@media (max-width:430px){.feed-card{padding:19px 20px 17px}.feed-card h2{font-size:19px}.feed-price{font-size:21px}.feed-time{font-size:14px}.stamp-mark{width:58px;height:58px;font-size:28px}.unlock-grid{grid-template-columns:1fr}.pay-actions .btn{padding:0 10px;font-size:14px}.pay-options{grid-template-columns:1fr 1fr}.stats-strip{gap:6px}.mini-stat b{font-size:16px}.hero-card h1{font-size:23px}}
