:root{
  --paper:#f4f1e9;--ink:#071a2b;--muted:#607080;--line:#b9c0c3;
  --blue:#0d6898;--orange:#ef4c32;--night:#071421;--white:#fffdf8;
  --serif:"Songti SC","STSong","Noto Serif SC",Georgia,serif;
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.site-header{height:76px;padding:0 clamp(20px,4vw,68px);display:flex;align-items:center;border-bottom:1px solid var(--ink);background:rgba(244,241,233,.94);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:14px;letter-spacing:.08em}.brand b{font-size:18px;letter-spacing:.18em}.brand span{font-size:12px;color:var(--muted);padding-left:14px;border-left:1px solid var(--line)}
.site-header nav{display:flex;gap:30px;margin-left:auto;margin-right:38px;font-size:14px}.site-header nav a:hover{color:var(--orange)}
.back{border:1px solid var(--ink);padding:9px 15px;font-size:13px;transition:.2s;white-space:nowrap}.back:hover{background:var(--ink);color:white}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);grid-template-rows:1fr auto;border-bottom:1px solid var(--ink)}
.hero-date{padding:clamp(55px,7vw,108px) clamp(24px,6vw,100px) 70px;border-right:1px solid var(--ink)}
.eyebrow,.section-head p,.method>div>p,.day-panel>p{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--blue)}
.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}
.date-lockup{display:flex;align-items:center;margin:34px 0 30px}.date-lockup>strong{font-family:var(--serif);font-weight:400;font-size:clamp(88px,10vw,160px);line-height:.78;margin-right:24px}.date-lockup>div{display:grid;border-left:1px solid var(--line);padding-left:24px}.date-lockup b{font-size:24px}.date-lockup span{font-size:18px;color:var(--muted)}.date-lockup small{margin-top:10px;font-size:13px;letter-spacing:.15em;color:var(--orange)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,5vw,78px);line-height:1.08;letter-spacing:-.045em;margin:0}h1 em{font-style:normal;color:var(--blue)}
.hero-intro{font-size:17px;max-width:710px;color:var(--muted);margin:30px 0;line-height:1.9}.hero-actions{display:flex;gap:12px}.hero-actions a{background:var(--orange);color:white;padding:12px 18px;font-size:14px;font-weight:700}.hero-actions .outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.hero-orbit{position:relative;overflow:hidden;background:var(--night);min-height:560px;color:white}.planet{position:absolute;width:200px;height:200px;border-radius:50%;background:var(--paper);color:var(--ink);top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 80px rgba(39,144,194,.25);z-index:2}.planet span{font-family:var(--serif);font-size:88px;line-height:.8}.planet small{font-size:10px;letter-spacing:.17em;margin-top:14px;color:var(--blue);font-weight:800}
.orbit{position:absolute;top:50%;left:50%;border:1px solid rgba(255,255,255,.28);border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg)}.orbit-a{width:540px;height:250px}.orbit-b{width:390px;height:620px;transform:translate(-50%,-50%) rotate(52deg)}.orbit i{width:12px;height:12px;border-radius:50%;background:var(--orange);position:absolute;top:50%;left:-6px;box-shadow:0 0 20px rgba(239,76,50,.8)}.orbit-b i{top:auto;bottom:42px;left:auto;right:52px;background:#56c5e8}.coord{position:absolute;font-size:10px;letter-spacing:.2em;color:#8091a1}.c1{top:36px;left:36px}.c2{right:36px;bottom:36px}
.hero-stats{grid-column:1/-1;margin:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border-top:1px solid var(--ink)}.hero-stats div{padding:24px clamp(20px,4vw,62px);border-right:1px solid var(--line)}.hero-stats div:last-child{border:0}.hero-stats dt{font-family:var(--serif);font-size:46px;line-height:1}.hero-stats dd{margin:8px 0 0;color:var(--muted);font-size:12px;letter-spacing:.08em}
.section{padding:clamp(70px,9vw,135px) clamp(20px,5vw,80px)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:26px;margin-bottom:0}.section-head p{margin:0 0 8px}.section-head h2,.method h2{font-family:var(--serif);font-size:clamp(38px,5vw,70px);font-weight:500;line-height:1.1;margin:0;letter-spacing:-.04em}.section-date{font-family:var(--serif);font-size:24px;color:var(--muted)}
.history-list{border-top:0}.history-item{display:grid;grid-template-columns:120px minmax(0,1fr) 190px;gap:34px;padding:34px 0;border-bottom:1px solid var(--line)}.history-item .year{font-family:var(--serif);font-size:52px;line-height:1;color:var(--orange)}.history-item h3{font-family:var(--serif);font-size:28px;line-height:1.35;margin:0 0 12px;font-weight:600}.history-item p{margin:0;color:var(--muted)}.history-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:12px}.history-meta span{padding:4px 9px;border:1px solid var(--line)}.history-meta a{color:var(--blue);font-weight:700}.history-meta a:hover{text-decoration:underline}.history-note{color:var(--muted);font-size:13px;margin-top:18px}.loading{padding:50px 0;color:var(--muted)}
.upcoming{background:var(--night);color:#ecf2f5}.section-head.light{border-color:#5e6a72}.section-head.light p{color:#65c6eb}.update-block{text-align:right;font-size:11px}.update-block span{display:block;color:#8ea0ad;letter-spacing:.12em}.update-block b{font-size:13px}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:28px 0;border-bottom:1px solid #354350}.filters button{border:1px solid #4b5a65;background:transparent;color:#c2cdd3;border-radius:30px;padding:7px 14px;cursor:pointer;font-size:13px}.filters button:hover,.filters button.active{background:var(--orange);border-color:var(--orange);color:white}
.event-item{display:grid;grid-template-columns:140px minmax(0,1fr) 170px;gap:36px;padding:32px 0;border-bottom:1px solid #354350}.event-time b{font-size:20px}.event-time span,.event-time small{display:block;color:#8fa0ac;font-size:12px}.event-time strong{display:inline-block;margin-top:10px;color:#ff7a65;font-size:12px}.event-main .badges{display:flex;gap:7px;margin-bottom:10px}.badge{border:1px solid #52626e;border-radius:20px;padding:2px 9px;font-size:10px;letter-spacing:.08em}.badge.hot{border-color:var(--orange);color:#ff8875}.event-main h3{font-family:var(--serif);font-size:26px;line-height:1.35;margin:0}.event-main h3 small{display:block;font-family:var(--sans);font-size:12px;color:#8596a1;margin-top:5px;font-weight:400}.event-main p{color:#aebac2;margin:12px 0 0}.event-meta{text-align:right;font-size:12px;color:#9babb5}.event-meta b{display:block;color:#e8eef1;margin-bottom:8px}.event-meta a{display:inline-block;color:#71c9ea;margin-top:16px;font-weight:700}.event-meta a:hover{text-decoration:underline}.source-line{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:#83939e;font-size:11px;padding:24px 0}.source-line a{color:#b8c7d0}.status-dot{width:7px;height:7px;background:#35b67e;border-radius:50%;box-shadow:0 0 0 4px rgba(53,182,126,.12)}
.month{padding-bottom:150px}.month-nav{display:flex;align-items:center;gap:18px}.month-nav button{border:1px solid var(--ink);background:transparent;width:38px;height:38px;cursor:pointer}.month-nav button:hover{background:var(--ink);color:white}.month-nav strong{min-width:125px;text-align:center}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);border:1px solid var(--ink);border-top:0}.calendar-panel{padding:30px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{text-align:center;padding:10px;font-size:11px;color:var(--muted)}.day{min-height:98px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:10px;background:transparent;text-align:left;cursor:pointer;position:relative}.day:nth-child(7n){border-right:0}.day.empty{cursor:default;background:rgba(255,255,255,.25)}.day:not(.empty):hover,.day.selected{background:#fff}.day.today .num{display:inline-grid;place-content:center;width:28px;height:28px;border-radius:50%;background:var(--orange);color:white}.day .num{font-weight:700}.marks{display:flex;gap:5px;position:absolute;bottom:12px;left:10px}.marks i,.calendar-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.history-mark{background:var(--blue)}.future-mark{background:var(--orange)}.today-mark{background:transparent;border:2px solid var(--orange)}.calendar-legend{display:flex;gap:22px;padding-top:20px;font-size:11px;color:var(--muted)}.calendar-legend span{display:flex;gap:7px;align-items:center}
.day-panel{border-left:1px solid var(--ink);background:var(--white);padding:35px}.day-panel h3{font-family:var(--serif);font-size:36px;margin:3px 0 25px}.selected-event{padding:18px 0;border-top:1px solid var(--line)}.selected-event b{display:block;font-family:var(--serif);font-size:19px;line-height:1.4}.selected-event span{font-size:11px;color:var(--orange)}.selected-event p{font-size:13px;color:var(--muted);margin:6px 0}.selected-event a{font-size:12px;color:var(--blue);font-weight:700}
.method{padding:100px clamp(20px,5vw,80px);background:#dce5e8;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#a8b5bb;border:1px solid #a8b5bb}.method article{background:#e9eef0;padding:28px}.method article>b{color:var(--orange);font-size:12px}.method h3{font-size:18px;margin:35px 0 12px}.method article p{color:#53636d;font-size:13px;margin:0}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--night);color:#aebbc4;padding:36px clamp(20px,5vw,80px);font-size:12px}footer a{color:white;font-weight:800;letter-spacing:.14em}
@media(max-width:900px){.site-header nav{display:none}.back{margin-left:auto}.hero{grid-template-columns:1fr}.hero-date{border-right:0}.hero-orbit{min-height:430px}.hero-stats{grid-template-columns:repeat(2,1fr)}.history-item,.event-item{grid-template-columns:100px 1fr}.history-meta,.event-meta{grid-column:2;align-items:flex-start;text-align:left}.calendar-layout{grid-template-columns:1fr}.day-panel{border-left:0;border-top:1px solid var(--ink)}.method{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:600px){body{font-size:15px}.site-header{height:66px;padding:0 16px;width:100%}.brand span{display:none}.back{font-size:0;padding:7px 10px}.back::before{content:"主页 ↗";font-size:11px}.hero{min-height:auto}.hero-date{padding:45px 20px 55px}.date-lockup>strong{font-size:92px}.date-lockup b{font-size:20px}.hero-orbit{min-height:360px}.orbit-a{width:420px}.orbit-b{height:470px}.planet{width:150px;height:150px}.planet span{font-size:66px}.hero-stats div{padding:20px}.hero-stats dt{font-size:34px}.section{padding:70px 18px}.section-head{align-items:flex-start}.section-date{font-size:17px}.history-item,.event-item{grid-template-columns:1fr;gap:12px}.history-item .year{font-size:40px}.history-meta,.event-meta{grid-column:1}.history-meta{align-items:flex-start}.event-time{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.event-time span,.event-time small{display:inline}.calendar-panel{padding:12px 8px}.day{min-height:64px;padding:7px}.marks{bottom:7px;left:7px}.calendar-legend{gap:10px;flex-wrap:wrap}.day-panel{padding:25px 20px}.month-nav{gap:5px}.month-nav strong{min-width:88px;font-size:13px}.method{padding:70px 18px}.method-grid{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
