:root {
  --navy:#071522; --navy2:#102536; --paper:#fffdf8; --ivory:#f5f0e7;
  --ink:#13202c; --muted:#687078; --line:#ded6c8; --gold:#bd8e32;
  --red:#b4312c; --amber:#c77b14; --green:#27794d; --blue:#326e9e;
}
*{box-sizing:border-box} body{margin:0;background:var(--ivory);color:var(--ink);
font-family:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif}
a{color:inherit;text-decoration:none}.topbar{min-height:76px;padding:0 clamp(20px,4vw,64px);
display:flex;align-items:center;gap:36px;background:var(--navy);color:#f7f4ec}
.brand{display:flex;align-items:center;gap:12px;color:#f1ce81;font:700 clamp(20px,2vw,29px)
"Songti SC",serif;margin-right:auto}.brand-mark{width:35px;height:35px;border:1px solid var(--gold);
border-radius:50%;display:grid;place-items:center}.topbar nav{display:flex;gap:22px}.topbar nav a{color:#ced5da}
.status{font-size:13px;color:#aeb9c0}.status i{display:inline-block;width:8px;height:8px;background:#45b878;
border-radius:50%;margin-right:7px}.notice{text-align:center;padding:8px 16px;background:#f1dfb8;
color:#6c5017;font-size:12px;border-bottom:1px solid #dec283}.page{width:min(1240px,100%);
margin:auto;padding:42px clamp(18px,4vw,52px) 70px}.page-head{display:flex;align-items:flex-end;
justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{color:var(--gold);font-size:11px;
font-weight:800;letter-spacing:.14em;margin:0 0 7px}h1,h2,h3,p{margin-top:0}h1{font:700 clamp(30px,4vw,48px)
"Songti SC",serif;margin-bottom:0}h2{font:700 23px "Songti SC",serif;margin:0 0 18px}
.legend{display:flex;gap:16px;color:var(--muted);font-size:13px}.dot{display:inline-block;width:9px;
height:9px;border-radius:50%;margin-right:7px}.dot.high,.badge.high{background:var(--red)}
.dot.medium,.badge.medium{background:var(--amber)}.dot.low,.badge.low{background:var(--blue)}
.calendar-list{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--paper)}
.date-row{display:grid;grid-template-columns:135px 1fr;border-bottom:1px solid var(--line)}
.date-row:last-child{border:0}.date-cell{padding:20px;background:#f0e9dd;display:flex;flex-direction:column}
.date-cell strong{font:700 31px "Songti SC",serif}.date-cell span{font-size:11px;color:var(--muted)}
.event-line{min-height:54px;padding:12px 18px;display:grid;grid-template-columns:18px 48px 1fr auto;
align-items:center;border-bottom:1px solid #eee7dc;transition:.15s}.event-line:last-child{border:0}
.event-line:hover{background:#fff6e4}.slot,.region{font-size:12px;color:var(--muted)}
.empty{padding:70px 25px;text-align:center;background:var(--paper);border:1px dashed var(--line);
border-radius:14px;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:9px}
.empty.compact{padding:25px}.back{display:inline-block;color:var(--gold);font-weight:700;margin-bottom:28px}
.badge{display:inline-flex;padding:5px 9px;border-radius:999px;color:white;font-size:10px;font-weight:800}
.badge.neutral{background:#e7e1d7;color:#4a535a}.badge.verified{background:#e3f1e8;color:var(--green)}
.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);gap:30px;align-items:start}
.news-card,.signal-card,.evidence-box,.analysis-box{display:block;background:var(--paper);
border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px}
.news-card:hover{border-color:#c3a05b;box-shadow:0 8px 22px rgba(28,34,37,.07)}
.card-top{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.news-card h3{
font:700 21px "Songti SC",serif;margin:15px 0 8px}.news-card p{color:#525b61;line-height:1.65}
.news-card small{color:var(--gold)}.signal-card{display:grid;grid-template-columns:54px 1fr;gap:8px 14px}
.score{grid-row:1;width:51px;height:51px;display:grid;place-items:center;border-radius:50%;
background:var(--navy);color:#f4ca72;font-weight:800}.signal-card div:nth-child(2){display:flex;
flex-direction:column;gap:5px}.signal-card div:nth-child(2) span{font-size:11px;color:var(--muted)}
.signal-card p,.signal-card dl,.signal-card em{grid-column:1/-1}.signal-card p{line-height:1.6}
dl{display:grid;grid-template-columns:72px 1fr;gap:7px;margin:0;font-size:12px}dt{color:var(--muted)}
dd{margin:0;line-height:1.5}.signal-card em{font-size:10px;color:var(--amber)}
.article-page{max-width:1000px}.article-head{padding:12px 0 30px;border-bottom:1px solid var(--line)}
.article-head h1{margin:16px 0}.article-head>p{font-size:17px;line-height:1.75;color:#4d575e}
.article-head small{color:var(--muted)}.tag-row{display:flex;gap:8px}.evidence-box,.analysis-box{
margin-top:22px;padding:25px}.evidence{padding:15px 0;border-top:1px solid #ece5da}.evidence>div{
display:flex;justify-content:space-between;gap:15px}.evidence span,.evidence a{font-size:12px;color:var(--muted)}
.evidence a{color:var(--gold)}.callout{padding:12px;background:#f7ecd3;border-left:3px solid var(--gold);
font-size:12px}.claim{padding:15px 0;border-top:1px solid #ece5da;display:flex;flex-direction:column;gap:7px}
.claim span,.claim em{font-size:11px;color:var(--muted)}.deep-signal{padding:17px;border:1px solid var(--line);
border-radius:11px;margin-bottom:12px}.deep-signal>div{display:flex;justify-content:space-between}
.deep-signal>div span{color:var(--gold);font-weight:800}.stat-grid{display:grid;
grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:35px}.stat-grid article{padding:20px;
background:var(--navy);color:white;border-radius:12px}.stat-grid strong{display:block;color:#f2cc79;
font-size:29px}.stat-grid span{font-size:11px}.table{background:var(--paper);border:1px solid var(--line);
border-radius:12px;overflow:hidden}.table-row{padding:14px;display:grid;grid-template-columns:1fr auto auto;
gap:12px;border-bottom:1px solid #ece5da;font-size:12px}.table-row:last-child{border:0}.table-row div{
display:flex;flex-direction:column}.table-row span,.table-row small{color:var(--muted)}
.table-row.run{grid-template-columns:1fr}.good{color:var(--green)!important}.danger{color:var(--red)!important}
footer{padding:22px 5vw;background:var(--navy);color:#9eabb3;display:flex;justify-content:space-between;
font-size:11px}
@media(max-width:760px){.topbar{padding:14px 18px;flex-wrap:wrap}.topbar nav{order:3;width:100%}
.status{display:none}.two-col{grid-template-columns:1fr}.date-row{grid-template-columns:75px 1fr}
.event-line{grid-template-columns:15px 42px 1fr}.region{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}
.legend{display:none}.page{padding-top:28px}footer{flex-direction:column;gap:8px}}

/* 第二版：完整月历与双时段导航 */
.topbar{min-height:112px;padding:16px clamp(22px,3.5vw,64px);display:grid;
grid-template-columns:minmax(280px,1fr) auto minmax(220px,1fr);gap:28px}
.brief-switch{display:flex!important;gap:12px!important;width:auto!important}
.brief-switch a{min-width:220px;padding:13px 20px;border:1px solid #526171;border-radius:13px;
display:flex;flex-direction:column;gap:6px;color:#eef1f2;transition:.18s}
.brief-switch a:hover,.brief-switch a.active{border-color:var(--gold);background:rgba(189,142,50,.08)}
.brief-switch strong{font-size:17px;font-weight:500}.brief-switch span{font-size:11px;color:#9ba7b0}
.top-actions{display:flex;justify-content:flex-end;gap:20px}.top-actions a{color:#d5dadd;font-size:14px}
.notice{padding:12px 16px;background:#f4e6bf;border-bottom-color:#dfc47e;color:#725719}
.calendar-page{width:min(1540px,100%);padding-top:72px}.calendar-head{margin-bottom:48px}
.calendar-head h1{font-size:clamp(42px,5vw,68px);font-weight:500}.month-nav{display:flex;gap:12px}
.month-nav a{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);
background:var(--paper);display:grid;place-items:center;font-size:34px;line-height:1}
.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.weekdays{padding:0 0 16px;text-align:center;color:#70756f;font-size:16px;font-weight:700}
.month-grid{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line);gap:1px}
.day-cell{min-height:166px;padding:16px;background:var(--paper);position:relative;display:flex;
flex-direction:column;gap:9px;overflow:hidden}.day-cell.outside{background:#eeeae2;color:#aaa69e}
.day-cell.today{box-shadow:inset 0 0 0 2px var(--gold);z-index:1}
.day-number{font:500 22px "Songti SC",serif}.day-events{display:flex;flex-direction:column;gap:8px}
.day-event{display:flex;flex-direction:column;gap:4px;padding-left:9px;border-left:3px solid var(--gold)}
.day-event.high{border-left-color:var(--red)}.day-event.medium{border-left-color:var(--amber)}
.day-event.low{border-left-color:var(--blue)}
.day-event strong{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;
-webkit-box-orient:vertical;overflow:hidden}.day-event span{font-size:10px;color:var(--muted)}
.day-summary{margin-top:auto;font-size:10px;color:var(--gold);font-weight:700}
.day-empty{font-size:11px;color:#a9aaa5}.calendar-foot{display:flex;justify-content:space-between;
gap:20px;padding:18px 2px;color:var(--muted);font-size:11px}.pending-banner{display:flex;align-items:center;
gap:14px;padding:18px 20px;margin:-8px 0 24px;border:1px solid #dfc37d;border-radius:12px;
background:#f6e9c9;color:#6c5017}.pending-banner strong{font-size:28px;color:var(--red)}
.review-note{margin-top:18px;padding:14px 16px;border-left:3px solid var(--gold);
background:#f5e8c8;display:flex;gap:12px;align-items:flex-start;border-radius:0 8px 8px 0}
.review-note strong{white-space:nowrap;color:#735514}.review-note span{font-size:13px;line-height:1.65;color:#586067}
.brief-meta{display:flex;align-items:center;gap:9px}.frozen-label,.draft-label,.amendment-label{
font-size:10px;padding:4px 8px;border-radius:999px}.frozen-label{color:var(--green);background:#e1f1e7}
.draft-label{color:var(--amber);background:#f5e8c8}.amendment-label{color:#7a4f13;background:#f7e6be}

@media(max-width:980px){
  .topbar{grid-template-columns:1fr auto}.brand{grid-column:1}.brief-switch{grid-column:1/-1;
  grid-row:2;justify-content:center}.top-actions{grid-column:2;grid-row:1}
  .day-cell{min-height:140px;padding:12px}.day-event strong{font-size:12px}
}
@media(max-width:680px){
  .topbar{display:flex;min-height:auto;gap:14px}.brand{font-size:20px}.top-actions{margin-left:auto}
  .top-actions a:last-child{display:none}.brief-switch{order:3;display:grid!important;
  grid-template-columns:1fr 1fr;gap:8px!important}.brief-switch a{min-width:0;padding:10px}
  .brief-switch strong{font-size:13px}.brief-switch span{display:none}.calendar-page{padding-top:32px}
  .calendar-head{margin-bottom:24px}.calendar-head h1{font-size:38px}.month-nav a{width:42px;height:42px}
  .weekdays{font-size:12px}.month-grid{border-radius:10px}.day-cell{min-height:92px;padding:7px;gap:4px}
  .day-number{font-size:16px}.day-events{gap:3px}.day-event{padding-left:4px;border-left-width:2px}
  .day-event strong{font-size:9px;-webkit-line-clamp:2}.day-event span,.day-summary,.day-empty{font-size:8px}
  .calendar-foot{flex-direction:column}.calendar-foot .legend{display:flex}
}
