/* 每日一诗 /today/ 皮肤 + 卡片样式。源自成品 demo(14-festival-full),去演示说明。
   皮肤:免费 宣纸rice/随色season/水墨夜ink;节日自动 春节chunjie/元宵yuanxiao/端午duanwu/中秋zhongqiu。 */
*{box-sizing:border-box}
html,body{margin:0;scroll-behavior:smooth}
body{--btnink:#fff;color:var(--ink);font-family:"Songti SC","SimSun",serif;background:linear-gradient(160deg,var(--bg1),var(--bg2));background-attachment:fixed;transition:background .8s;min-height:100svh}
/* ---- 免费皮肤 ---- */
body[data-theme="rice"]{--bg1:#f7f3e9;--bg2:#efe8d6;--ink:#2b2620;--ink2:#5b5446;--accent:#b23a2e;--hero:#2b2620;--muted:#9b9382;--line:#e2dac7;--card:rgba(255,255,255,.5)}
body[data-theme="season"]{--bg1:#eef4e3;--bg2:#d6e7c2;--ink:#33302a;--ink2:#5f594d;--accent:#5f8a39;--hero:#33302a;--muted:#9a9789;--line:rgba(0,0,0,.08);--card:rgba(255,255,255,.45)}
body[data-theme="ink"]{--bg1:#17171b;--bg2:#0e0e12;--ink:#e6e3da;--ink2:#9a978c;--accent:#c0392b;--hero:#ece9e0;--muted:#6f6c64;--line:rgba(255,255,255,.12);--card:rgba(255,255,255,.05)}
/* ---- 节日皮肤(当天自动) ---- */
body[data-theme="chunjie"]{--bg1:#fbece4;--bg2:#f1d4c6;--ink:#4a221c;--ink2:#7a4438;--accent:#c0392b;--hero:#a8201a;--muted:#a8857a;--line:#e7cdc0;--card:rgba(255,250,247,.55);--btnink:#fff}
body[data-theme="yuanxiao"]{--bg1:#251a30;--bg2:#140f1c;--ink:#f0e6d8;--ink2:#c2b5c6;--accent:#e8a23a;--hero:#f4c95d;--muted:#8a7e90;--line:rgba(232,162,58,.22);--card:rgba(232,162,58,.07);--btnink:#2a1c0c}
body[data-theme="duanwu"]{--bg1:#e9f1e1;--bg2:#cfe0c2;--ink:#243a26;--ink2:#4a6149;--accent:#3f7a4f;--hero:#1f3a24;--muted:#7e947b;--line:rgba(63,122,79,.2);--card:rgba(255,255,255,.45);--btnink:#fff}
body[data-theme="zhongqiu"]{--bg1:#1c2b46;--bg2:#0d1525;--ink:#eef0f5;--ink2:#aab4c8;--accent:#e8d59a;--hero:#f5ecd2;--muted:#7d8597;--line:rgba(232,213,154,.22);--card:rgba(232,213,154,.07);--btnink:#16223a}
/* ---- 顶栏 + 皮肤切换 ---- */
.topbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:11px 16px;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:12.5px;color:var(--muted);z-index:30}
.topbar a.home{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.topbar .seal-s{width:20px;height:20px;border-radius:5px;background:var(--accent);color:var(--btnink);font-family:"KaiTi",serif;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.sk{display:flex;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 5px}
.sk button{font:inherit;font-size:12px;border:0;background:transparent;color:var(--ink2);padding:5px 11px;border-radius:999px;cursor:pointer}
.sk button.on{background:var(--accent);color:var(--btnink)}
/* ---- 首屏名句 ---- */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:60px 24px 40px;overflow:hidden}
.hero .ju,.hero .by{position:relative;z-index:2}
.seal{position:absolute;top:14%;right:13%;width:56px;height:56px;border-radius:9px;background:var(--accent);color:var(--btnink);font-family:"KaiTi",serif;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;font-size:17px;letter-spacing:1px;transform:rotate(-4deg);padding:8px 0;box-shadow:0 3px 10px rgba(0,0,0,.18);z-index:2}
.ju{font-family:"KaiTi","STKaiti",serif;font-size:clamp(28px,8vw,58px);letter-spacing:.06em;line-height:1.65;color:var(--hero);font-weight:500;text-align:center;white-space:nowrap;animation:rise 1s cubic-bezier(.2,.7,.2,1) both}
.by{margin-top:26px;font-family:"KaiTi",serif;font-size:16px;color:var(--ink2);letter-spacing:3px}
.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:12px;font-family:"PingFang SC",sans-serif;letter-spacing:2px;animation:bob 2.4s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
/* ---- 正文流 ---- */
.feed{max-width:560px;margin:0 auto;padding:0 24px 60px}
.blk{padding:38px 0;border-top:1px solid var(--line)}
.blk:first-child{border-top:0}
.lbl{font-family:"PingFang SC",sans-serif;font-size:11px;letter-spacing:3px;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.lbl:after{content:"";flex:1;height:1px;background:var(--line)}
.blk p{font-size:15px;line-height:2;color:var(--ink2);margin:0}
.blk .big{font-family:"KaiTi",serif;font-size:18px;line-height:1.95;color:var(--ink)}
.conf{font-family:"PingFang SC",sans-serif;font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-left:8px}
/* 跨学科 */
.ix-item{padding:13px 0;border-bottom:1px dashed var(--line)}
.ix-item:first-child{padding-top:2px}.ix-item:last-child{border-bottom:0;padding-bottom:0}
.ix-h{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.ix-disc{font-family:"PingFang SC",sans-serif;font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 9px;white-space:nowrap;opacity:.85}
.ix-topic{font-family:"KaiTi",serif;font-size:15px;color:var(--ink);letter-spacing:1px}
.ix-pts{margin:2px 0 0;padding:0;list-style:none}
.ix-pts li{position:relative;padding-left:16px;font-size:14px;line-height:1.85;color:var(--ink2);margin-bottom:6px}
.ix-pts li:last-child{margin-bottom:0}
.ix-pts li:before{content:"";position:absolute;left:3px;top:11px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.7}
/* 揭示动画 */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
/* 全诗折叠 */
details.fold{border:1px solid var(--line);border-radius:14px;background:var(--card)}
details.fold summary{list-style:none;cursor:pointer;padding:15px 20px;font-family:"KaiTi",serif;font-size:15px;color:var(--accent);text-align:center;letter-spacing:2px}
details.fold summary::-webkit-details-marker{display:none}
.full{padding:20px 22px 24px;text-align:center}
.full .ti{font-family:"KaiTi",serif;font-size:19px;letter-spacing:2px;margin-bottom:4px}
.full .au{font-size:12px;color:var(--muted);font-family:"PingFang SC",sans-serif;letter-spacing:2px;margin-bottom:16px}
.full p{font-size:16.5px;line-height:2.1;letter-spacing:1px;margin:0;color:var(--ink)}
/* 诗人 + 年表 */
.poet{display:flex;gap:14px;align-items:flex-start}
.poet .av{flex:0 0 auto;width:50px;height:50px;border-radius:50%;background:var(--accent);color:var(--btnink);font-family:"KaiTi",serif;font-size:24px;display:flex;align-items:center;justify-content:center}
.poet .nm{font-family:"KaiTi",serif;font-size:17px;color:var(--ink);margin-bottom:4px}
.poet .nm small{font-family:"PingFang SC",sans-serif;font-size:12px;color:var(--muted);margin-left:8px}
.tl{list-style:none;padding:0;margin:10px 0 0}
.tl li{font-size:13.5px;line-height:1.7;color:var(--ink2);padding:5px 0;border-bottom:1px dashed var(--line)}
.tl .yr{font-family:"PingFang SC",sans-serif;color:var(--accent);margin-right:8px}
/* 创作地 */
.loc{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.loc .stamp{flex:0 0 auto;width:46px;height:46px;border-radius:8px;background:var(--accent);color:var(--btnink);font-family:"KaiTi",serif;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.loc .lname{font-family:"KaiTi",serif;font-size:19px;color:var(--ink);letter-spacing:2px;margin-bottom:5px}
.loc .lnote{font-size:13px;line-height:1.7;color:var(--ink2)}
/* VIP 入口 */
.vip{text-align:center;border:1px dashed var(--accent);border-radius:14px;padding:22px 18px;background:var(--card)}
.vip .vt{font-family:"KaiTi",serif;font-size:16px;letter-spacing:2px;color:var(--accent)}
.vip .vd{font-size:12.5px;color:var(--muted);margin:8px 0 16px;font-family:"PingFang SC",sans-serif}
.vip a{display:inline-block;background:var(--accent);color:var(--btnink);text-decoration:none;font-family:"PingFang SC",sans-serif;font-size:14px;padding:9px 26px;border-radius:999px}
/* 动作按钮 */
.acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px;font-family:"PingFang SC",sans-serif}
.acts button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--card);color:var(--ink2);padding:9px 16px;border-radius:999px;cursor:pointer}
.acts button.on{color:#e0245e;border-color:#f3b6c6;background:#fff1f4}
/* 加载/出错 */
.dstate{min-height:100svh;display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:"PingFang SC",sans-serif;font-size:14px;letter-spacing:1px}
/* ---- 节日纹样 ---- */
.fes-moon{display:none;position:absolute;top:7%;left:14%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fffdf2,#f5ecd2 58%,#e8d59a);box-shadow:0 0 60px 12px rgba(245,236,210,.28);z-index:0}
body[data-theme="zhongqiu"] .fes-moon{display:block}
body[data-theme="yuanxiao"] .hero{background-image:radial-gradient(circle at 20% 28%,rgba(244,201,93,.22),transparent 13%),radial-gradient(circle at 78% 22%,rgba(244,201,93,.18),transparent 11%),radial-gradient(circle at 60% 72%,rgba(244,201,93,.16),transparent 13%)}
.fes-lan{display:none;position:absolute;top:0;width:30px;height:38px;z-index:0}
.fes-lan.l{left:15%}.fes-lan.r{right:15%}
body[data-theme="chunjie"] .fes-lan{display:block}
.fes-lan i{position:absolute;top:8px;left:0;width:30px;height:26px;background:var(--accent);border-radius:50%;box-shadow:inset 0 -3px 6px rgba(0,0,0,.15)}
.fes-lan b{position:absolute;left:50%;transform:translateX(-50%);width:14px;height:4px;background:#c79a3e;border-radius:2px}
.fes-lan b.t{top:5px}.fes-lan b.d{top:33px}
.fes-lan s{position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:7px;background:#c79a3e}
.fes-orn{display:none;position:absolute;top:64px;left:0;right:0;height:10px;z-index:0;background:repeating-linear-gradient(90deg,var(--accent) 0 7px,transparent 7px 16px);opacity:.35}
body[data-theme="duanwu"] .fes-orn{display:block}
/* ---- 分享卡弹窗(多样式选择) ---- */
.card-mask{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:16px}
.cardbox{text-align:center;max-width:340px}
#cardImg{width:266px;max-width:76vw;border-radius:12px;box-shadow:0 12px 44px rgba(0,0,0,.5);display:block;margin:0 auto}
.cardchips{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin:14px 0 6px}
.cardchip{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:12.5px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);color:#eee;padding:6px 13px;border-radius:999px;cursor:pointer}
.cardchip.on{background:#fff;color:#222;border-color:#fff}
.cardchip .vlk{font-size:9px;color:#e8c25a;border:1px solid #e8c25a;border-radius:4px;padding:0 3px;margin-left:4px;font-style:normal;vertical-align:1px}
.cardtip{color:#ddd;font-size:12px;margin:4px 0 12px;font-family:"PingFang SC",sans-serif;line-height:1.6}
.carddl{display:inline-block;background:#fff;color:#222;text-decoration:none;padding:9px 26px;border-radius:999px;font-size:14px;font-family:"PingFang SC",sans-serif}
/* ---- 站点底部(Auth.mountFooter 注入;复用 .foot/.beian/.police-badge,适配各皮肤变量) ---- */
.foot{position:relative;z-index:1;text-align:center;padding:34px 18px 40px;margin-top:10px;border-top:1px solid var(--line);color:var(--muted);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:12.5px;letter-spacing:.04em}
.foot p{margin:0}
.foot .foot-note{margin:8px 0 0;font-size:12px;line-height:1.7;opacity:.85}
.foot .beian{margin:7px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--accent)}
.foot .police-badge{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
