/* rptsys-web · 与 ai-x-ai.online 一致的「节日数据观察台」设计系统（节选复用其令牌 + appbar/masthead/matrix/footer）
   令牌值逐字复制自站点首页内联样式，保证视觉一致。style-src 'self' 下作为外部样式表加载。 */
:root{
  --paper:#F5EFE2;  --paper2:#EFE6D2;  --paper3:#EAE0C9;  --paper-glass:rgba(245,239,226,.92);
  --ink:#211C14;    --ink2:#4B4436;    --ink3:#7A715F;
  --red:#8C1F28;    --red2:#A83A45;    --red-soft:#F3D4D6;
  --line:#C8BBA0;   --gold:#A3803F;    --gold-soft:#F0E4CD;
  --green:#2E6B3E;  --blue:#1F4E5F;    --blue2:#2E7C92;   --night:#171511;
  --intel:#2E7C92;  --intel2:#3E97AE;  --intel-bright:#0E8FAE;  --intel-soft:#E3EFF3;
  --badge-ink:#fff; --shadow:0 6px 22px rgba(33,28,20,.16);
  --max:1180px; --bar-h:50px;
  --font-stack:Georgia,"Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --ui-stack:system-ui,-apple-system,"Microsoft YaHei","PingFang SC",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Courier New",monospace;
}
[data-theme="dark"]{
  --paper:#171511; --paper2:#211E18; --paper3:#2C2820; --paper-glass:rgba(23,21,17,.95);
  --ink:#EAE3D4; --ink2:#C8BCA6; --ink3:#9E927E;
  --red:#D6606B; --red2:#E07C86; --red-soft:#4A2426;
  --line:#4D4639; --gold:#C9A65B; --gold-soft:#3A3324;
  --green:#5CA872; --blue:#5DA9BF; --blue2:#7CC4D8; --night:#0E0C09;
  --intel:#5DA9BF; --intel2:#7CC4D8; --intel-bright:#7CC4D8; --intel-soft:#1C2733;
  --badge-ink:#171511; --shadow:0 6px 28px rgba(0,0,0,.45);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#171511; --paper2:#211E18; --paper3:#2C2820; --paper-glass:rgba(23,21,17,.95);
    --ink:#EAE3D4; --ink2:#C8BCA6; --ink3:#9E927E;
    --red:#D6606B; --red2:#E07C86; --red-soft:#4A2426;
    --line:#4D4639; --gold:#C9A65B; --gold-soft:#3A3324;
    --green:#5CA872; --blue:#5DA9BF; --blue2:#7CC4D8; --night:#0E0C09;
    --intel:#5DA9BF; --intel2:#7CC4D8; --intel-bright:#7CC4D8; --intel-soft:#1C2733;
    --badge-ink:#171511; --shadow:0 6px 28px rgba(0,0,0,.45);
  }
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--font-stack);line-height:1.66;-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px;}
a{color:var(--red);}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--red);color:var(--paper);padding:10px 16px;font-weight:bold;font-size:13px;text-decoration:none;}
.skip-link:focus{left:0;top:0;}

/* ---------- appbar ---------- */
.appbar{position:sticky;top:0;z-index:100;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);}
.appbar .inner{max-width:var(--max);margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:10px;height:var(--bar-h);}
.appbar .inner .sep{flex:1;}
.logo{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:var(--paper);white-space:nowrap;flex-shrink:0;}
.logo .cn{font-size:17px;font-weight:900;letter-spacing:1px;}
.logo .en{font-size:10px;color:var(--gold);letter-spacing:1px;font-family:var(--ui-stack);text-transform:uppercase;}
.crumbs{font-family:var(--ui-stack);font-size:12.5px;letter-spacing:.5px;color:var(--ink3);}
.crumbs a{color:#C8BCA6;text-decoration:none;}
.crumbs a:hover{color:#fff;}
.crumbs .cur{color:var(--gold);}
/* 左侧外链（ANY-AI助手）：描边胶囊，金色点缀，与深色 appbar 协调 */
.navlink{font-family:var(--ui-stack);font-size:12.5px;color:var(--gold);text-decoration:none;padding:4px 13px;border:1px solid var(--gold);border-radius:999px;white-space:nowrap;letter-spacing:.3px;transition:background .15s,color .15s;flex-shrink:0;}
.navlink:hover{background:var(--gold);color:var(--ink);}
/* 登录态胶囊 */
.authstate{font-family:var(--ui-stack);font-size:13px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.authstate .dot{width:8px;height:8px;border-radius:50%;background:var(--ink3);display:inline-block;}
.authstate.on .dot{background:var(--green);}
.authstate .who{color:#FFD9A0;font-weight:600;}
.authstate .role{font-size:11px;border:1px solid var(--gold);color:var(--gold);padding:1px 6px;border-radius:2px;}
.authstate a{color:rgba(245,239,226,.9);text-decoration:none;}
.authstate a:hover{color:#fff;text-decoration:underline;}
.authstate .btn-mini{border:1px solid rgba(245,239,226,.35);padding:4px 10px;border-radius:3px;color:var(--paper);}
.authstate .btn-mini:hover{background:rgba(255,255,255,.1);}
.authstate .btn-admin{background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-weight:700;padding:4px 10px;border-radius:3px;}

/* ---------- masthead ---------- */
.masthead-top{display:flex;justify-content:space-between;align-items:baseline;border-top:4px double var(--ink);border-bottom:1px solid var(--ink);padding:7px 2px;font-size:12px;letter-spacing:1px;color:var(--ink2);margin-top:20px;}
.masthead-top .left{font-weight:bold;color:var(--red);}
.masthead{text-align:center;padding:36px 10px 26px;border-bottom:4px double var(--ink);}
.masthead .kicker{font-size:12px;letter-spacing:6px;color:var(--red);text-transform:uppercase;margin-bottom:14px;font-weight:bold;}
.masthead h1{font-size:clamp(32px,5.4vw,58px);font-weight:900;letter-spacing:2px;line-height:1.14;}
.masthead h1 .accent{color:var(--red);}
.masthead .sub{margin-top:14px;font-size:14px;letter-spacing:3px;color:var(--ink2);}
.masthead .rule{width:88px;height:3px;background:var(--red);margin:20px auto 0;}
.intro-bar{text-align:center;padding:16px 10px;font-size:13.5px;color:var(--ink2);letter-spacing:1px;border-bottom:1px solid var(--line);}
.intro-bar b{color:var(--red);}

/* ---------- 门户矩阵 ---------- */
.matrix .year-block{margin:28px 0 10px;}
.year-head{display:flex;align-items:center;gap:12px;margin:24px 0 14px;}
.year-head::before{content:"";display:block;width:34px;height:3px;background:var(--red);}
.year-head h2{font-size:clamp(20px,2.6vw,28px);font-weight:900;}
.year-head .count{margin-left:auto;font-size:12px;color:var(--ink3);border:1px solid var(--line);padding:3px 10px;font-family:var(--ui-stack);}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.cell{background:var(--paper2);border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:16px 14px;position:relative;display:flex;flex-direction:column;color:inherit;transition:transform .12s,box-shadow .12s;}
.cell::before{content:"";position:absolute;top:-3px;left:0;width:42px;height:3px;background:var(--red);}
.cell:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.cell .hname{font-size:20px;font-weight:900;letter-spacing:1px;}
.cell .meta{font-size:12px;color:var(--ink3);margin-top:4px;font-family:var(--ui-stack);}
.rlinks{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.rchip{font-family:var(--ui-stack);font-size:11.5px;text-decoration:none;color:var(--red);border:1px solid var(--red);border-radius:20px;padding:3px 10px;letter-spacing:.3px;}
.rchip:hover{background:var(--red);color:var(--paper);}
.rchip.dl{color:var(--gold);border-color:var(--gold);}
.rchip.dl:hover{background:var(--gold);color:var(--ink);}

.empty{text-align:center;color:var(--ink3);font-size:14px;padding:48px 0;font-family:var(--ui-stack);}

/* ---------- footer ---------- */
.footer-nav{border-top:4px double var(--ink);margin-top:48px;padding:20px 0 40px;}
.footer-nav p{font-size:12.5px;color:var(--ink3);font-family:var(--ui-stack);letter-spacing:.5px;}
.footer-nav a{color:var(--ink2);text-decoration:none;}
.footer-nav a:hover{color:var(--red);}

@media (max-width:960px){ .grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:640px){
  .appbar .inner{padding:0 14px;}
  .crumbs{display:none;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .masthead{padding:26px 6px 20px;}
  .masthead h1{font-size:clamp(26px,7vw,32px);letter-spacing:1px;}
}
@media (max-width:420px){ .grid{grid-template-columns:1fr;} }
