/* ===== 文档工具 · 金句集风格喜庆主题（红 + 金） =====
   仅在主页 / 抬头 / 菜单栏 / 关于 上覆盖，底层工具面板保持原样（其它不变）。 */

:root{
  --f-red:#9e1b32;
  --f-red-deep:#7a1020;
  --f-red-bright:#b5272d;
  --f-gold:#c9a227;
  --f-gold-soft:#d8be7a;
  --f-paper:#f6f1e7;
  --f-paper-2:#fbf8f1;
  --f-white:#fffdf9;
  --f-ink:#221c19;
  --f-ink-soft:#5a4f48;
  --f-line:#e6dcc8;
  --f-shadow:0 18px 40px -22px rgba(60,30,20,.45);
  --f-shadow-sm:0 8px 22px -14px rgba(60,30,20,.4);
  --f-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;
}

/* ===== 抬头：简洁喜庆红金条 ===== */
.app-header.festive-header{
  background:linear-gradient(135deg,var(--f-red-deep),var(--f-red) 60%,var(--f-red-bright));
  border-bottom:2px solid rgba(201,162,39,.55);
  padding:12px 22px;
  box-shadow:0 6px 22px -10px rgba(122,16,32,.6);
  position:sticky;top:0;z-index:50;
}
.festive-header .brand{display:flex;align-items:center;gap:12px;cursor:pointer}
.festive-header .logo{
  width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:900;color:var(--f-gold-soft);
  background:linear-gradient(145deg,#00000022,transparent),linear-gradient(145deg,var(--f-red-bright),var(--f-red-deep));
  border:1px solid rgba(201,162,39,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.festive-header .brand h1{
  margin:0;font-family:var(--f-serif);font-size:20px;font-weight:800;letter-spacing:2px;color:#fff;
  background:none;-webkit-text-fill-color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);
}
.festive-header .brand .subtitle{margin:2px 0 0;font-size:12px;color:rgba(255,247,234,.82);letter-spacing:.5px}
.festive-header .header-actions{display:flex;align-items:center;gap:10px}
.festive-header .badge{
  font-size:12px;color:var(--f-gold-soft);border:1px solid rgba(201,162,39,.55);
  background:rgba(0,0,0,.12);padding:5px 12px;border-radius:999px;white-space:nowrap;
}
.hdr-btn{
  font-family:var(--f-serif);font-size:15px;font-weight:600;cursor:pointer;
  color:#fff7ea;background:rgba(255,255,255,.08);
  border:1px solid rgba(201,162,39,.5);border-radius:999px;
  padding:8px 20px;transition:.18s;letter-spacing:1px;
}
.hdr-btn:hover{background:var(--f-gold);color:var(--f-red-deep);border-color:var(--f-gold)}
.hdr-btn.active{background:var(--f-gold);color:var(--f-red-deep);border-color:var(--f-gold)}

/* ===== 菜单栏：三列 mega-menu ===== */
.megamenu{
  position:fixed;top:64px;right:22px;z-index:45;
  width:min(940px,94vw);
  background:var(--f-white);border:1px solid var(--f-line);border-radius:16px;
  box-shadow:var(--f-shadow);padding:18px 20px 14px;
  animation:fade .2s ease;
}
.megamenu[hidden]{display:none}
.megamenu-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mm-col h4{
  font-family:var(--f-serif);font-size:15px;font-weight:800;color:var(--f-red-deep);
  margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--f-gold);
  letter-spacing:1px;
}
.mm-list{display:flex;flex-direction:column;gap:6px}
.mm-link{
  display:flex;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;
  font-family:var(--f-serif);font-size:14px;color:var(--f-ink-soft);
  background:transparent;border:1px solid transparent;border-radius:10px;
  padding:8px 11px;transition:.15s;
}
.mm-link .ico{font-size:16px;width:20px;text-align:center;flex:0 0 auto}
.mm-link:hover{background:var(--f-paper);color:var(--f-red);border-color:var(--f-gold-soft);transform:translateX(2px)}
.mm-link .mm-sub{font-size:11px;color:#a99a86;margin-left:auto}
.mm-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px;padding-top:12px;border-top:1px dashed var(--f-line);
}
.mm-footer .mm-note{font-size:12px;color:var(--f-ink-soft)}
.mm-logout{
  font-family:var(--f-serif);font-size:13px;cursor:pointer;color:var(--f-red);
  background:var(--f-paper);border:1px solid var(--f-gold);border-radius:999px;
  padding:6px 16px;transition:.15s;
}
.mm-logout:hover{background:var(--f-gold);color:#fff}

/* ===== 主页：金句集喜庆风 ===== */
.home-view.panel.card{
  background:transparent;border:none;box-shadow:none;padding:0;
}
.home-hero{
  position:relative;overflow:hidden;color:#fff7ea;border-radius:0 0 18px 18px;
  margin:0;padding:58px 24px 50px;text-align:center;
  background:
    radial-gradient(1200px 500px at 80% -10%,rgba(201,162,39,.28),transparent 60%),
    radial-gradient(900px 600px at 10% 120%,rgba(201,162,39,.18),transparent 55%),
    linear-gradient(160deg,#7a1020 0%,#9e1b32 55%,#821527 100%);
}
.home-hero::after{
  content:"";position:absolute;inset:0;opacity:.10;pointer-events:none;
  background-image:
    repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 1px,transparent 1px 22px),
    repeating-linear-gradient(-45deg,rgba(255,255,255,.5) 0 1px,transparent 1px 22px);
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 75%);
}
.home-hero > *{position:relative;z-index:1}
.home-hero .eyebrow{
  display:inline-block;letter-spacing:4px;font-size:13px;font-family:var(--f-serif);
  color:var(--f-gold-soft);border:1px solid rgba(201,162,39,.5);
  padding:6px 16px;border-radius:999px;margin-bottom:20px;
}
.home-hero h2{
  font-family:var(--f-serif);font-size:clamp(30px,5vw,52px);font-weight:900;line-height:1.25;
  letter-spacing:3px;margin:0 0 14px;text-shadow:0 4px 24px rgba(0,0,0,.25);color:#fff;
}
.home-hero .sub{font-size:15px;line-height:1.9;color:rgba(255,247,234,.9);max-width:620px;margin:0 auto}
.home-hero .hero-pill{
  display:inline-block;margin-top:20px;font-size:13px;color:var(--f-gold-soft);
  background:rgba(0,0,0,.14);border:1px solid rgba(201,162,39,.45);
  padding:7px 18px;border-radius:999px;
}

.home-featured{padding:34px 6px 8px}
.home-featured .ff-head{text-align:center;margin-bottom:24px}
.home-featured .ff-head h3{
  font-family:var(--f-serif);font-size:26px;font-weight:900;color:var(--f-red-deep);margin:0 0 8px;letter-spacing:2px;
}
.home-featured .ff-head p{font-size:14px;color:var(--f-ink-soft);margin:0}
.ff-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ff-group h4{
  font-family:var(--f-serif);font-size:15px;font-weight:800;color:var(--f-red-deep);
  margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--f-gold);letter-spacing:1px;
}
.home-view .home-cards{display:flex;flex-direction:column;gap:10px}
.home-view .home-card{
  display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--f-ink);
  background:var(--f-white);border:1px solid var(--f-line);border-left:4px solid var(--f-red);
  border-radius:12px;padding:14px 16px;transition:.16s;box-shadow:var(--f-shadow-sm);
}
.home-view .home-card:hover{transform:translateY(-3px);border-color:var(--f-gold);border-left-color:var(--f-gold);box-shadow:var(--f-shadow)}
.home-view .home-card:active{transform:translateY(-1px) scale(.99)}
.home-view .home-card .hc-ico{font-size:24px;flex:0 0 auto}
.home-view .home-card b{font-size:14.5px;font-weight:700;font-family:var(--f-serif);color:var(--f-ink)}
.home-view .home-card span{font-size:12px;color:var(--f-ink-soft);line-height:1.5;display:block;margin-top:2px}

/* ===== 关于弹窗 ===== */
.about-modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(34,28,25,.55);backdrop-filter:blur(4px);padding:18px;
  animation:fade .2s ease;
}
.about-modal[hidden]{display:none}
.about-card{
  position:relative;width:100%;max-width:560px;max-height:88vh;overflow:auto;
  background:var(--f-paper-2);border:1px solid var(--f-line);border-radius:20px;
  box-shadow:var(--f-shadow);padding:34px 32px 30px;
  background-image:
    radial-gradient(700px 300px at 90% -20%,rgba(201,162,39,.18),transparent 60%),
    linear-gradient(180deg,var(--f-white),var(--f-paper-2));
}
.about-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:6px;border-radius:20px 20px 0 0;
  background:linear-gradient(90deg,var(--f-gold),var(--f-red));
}
.about-close{
  position:absolute;top:14px;right:16px;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--f-line);background:var(--f-white);color:var(--f-ink-soft);
  font-size:18px;cursor:pointer;line-height:1;transition:.15s;
}
.about-close:hover{background:var(--f-red);color:#fff;border-color:var(--f-red)}
.about-card .a-seal{
  width:56px;height:56px;border-radius:14px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-serif);font-size:28px;font-weight:900;color:var(--f-gold-soft);
  background:linear-gradient(145deg,var(--f-red-bright),var(--f-red-deep));
  border:1px solid rgba(201,162,39,.55);box-shadow:var(--f-shadow-sm);
}
.about-card h2{font-family:var(--f-serif);font-size:24px;font-weight:900;color:var(--f-red-deep);text-align:center;margin:0 0 6px;letter-spacing:2px}
.about-card .a-tag{text-align:center;font-size:13px;color:var(--f-ink-soft);margin:0 0 18px;letter-spacing:1px}
.about-card .a-desc{font-size:14.5px;line-height:1.9;color:var(--f-ink-soft);margin:0 0 18px}
.about-card .a-desc b{color:var(--f-red)}
.about-contact{
  display:flex;flex-direction:column;gap:10px;align-items:center;
  background:var(--f-white);border:1px dashed var(--f-gold);border-radius:14px;
  padding:18px 16px;margin:6px 0 4px;
}
.about-contact .c-label{font-size:13px;color:var(--f-ink-soft);letter-spacing:1px}
.about-contact .c-wechat{
  font-family:var(--f-serif);font-size:22px;font-weight:900;color:var(--f-red-deep);letter-spacing:2px;
  display:flex;align-items:center;gap:10px;
}
.about-contact .c-copy{
  font-size:13px;cursor:pointer;color:var(--f-red);background:var(--f-paper);
  border:1px solid var(--f-gold);border-radius:999px;padding:5px 16px;transition:.15s;
}
.about-contact .c-copy:hover{background:var(--f-gold);color:#fff}
.about-card .a-foot{text-align:center;font-size:12px;color:var(--f-ink-soft);opacity:.85;margin:16px 0 0}

/* ===== 响应式 ===== */
@media (max-width:880px){
  .megamenu{right:12px;left:12px;width:auto}
  .megamenu-cols{grid-template-columns:1fr;gap:14px}
  .ff-cols{grid-template-columns:1fr;gap:18px}
  .home-hero{padding:44px 18px 38px}
}
