:root{--paper:#ECF0ED;--surface:#F8FAF8;--ink:#17191B;--muted:#56605B;--line:#C9D3CD;--seal:#BE311D;--jade:#2C6957;--gold:#A47F36;--hero:#111514;--hero-fg:#ECE8DE;--hero-muted:#A4ADA8;--wa:#1E9E50;
--f-display:"Marcellus","Songti SC","STSong",Georgia,serif;--f-body:"IBM Plex Sans","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}
html[lang^="zh"]{--f-display:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","SimSun",serif;--f-body:"PingFang SC","PingFang TC","Microsoft YaHei","Microsoft JhengHei","Noto Sans SC","Noto Sans TC",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#0F1312;--surface:#161B19;--ink:#E5E3DB;--muted:#9AA49F;--line:#29312E;--seal:#DE4F38;--jade:#62AA91;--gold:#D1AC5F;--hero:#0A0D0C;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--f-body);-webkit-font-smoothing:antialiased}a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{background:var(--hero);color:var(--hero-fg)}header .wrap{display:flex;align-items:center;gap:14px 18px;min-height:60px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand b{font:400 1.08rem var(--f-display);display:block;line-height:1.15}.brand small{color:var(--hero-muted);font-size:.74rem;letter-spacing:.12em}
header nav{margin-left:auto;display:flex;gap:14px;font-size:.86rem;flex-wrap:wrap}header nav a{color:var(--hero-muted);text-decoration:none}header nav a:hover{color:var(--hero-fg)}
.lang{display:flex;border:1px solid #2B3330;border-radius:999px;overflow:hidden;font-size:.8rem}.lang a{padding:4px 10px;text-decoration:none;color:var(--hero-muted)}.lang a[aria-current]{background:var(--seal);color:#fff}
main{padding-block:32px 56px}.crumb{font-size:.84rem;color:var(--muted);margin-bottom:14px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--seal)}
.eyebrow{font:500 .74rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--seal)}
h1{font:400 clamp(1.8rem,4vw,2.6rem)/1.15 var(--f-display);margin:8px 0 6px;text-wrap:balance}
html[lang^="zh"] h1{font-weight:700;letter-spacing:.02em}
.alt-t{font-size:1.05rem;color:var(--muted);margin:0 0 16px}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--muted);margin-bottom:22px}.meta b{color:var(--ink);font-weight:600}
.grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:start}@media(max-width:820px){.grid{grid-template-columns:1fr}}
h2{font:500 .76rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:28px 0 10px}
html[lang^="zh"] h2{font:600 .95rem var(--f-body);letter-spacing:.06em}
p{margin:0 0 12px;max-width:68ch}ul{margin:0;padding-left:20px;display:grid;gap:6px}
.days{border-top:1px solid var(--line)}
.day{display:grid;grid-template-columns:5.2em minmax(0,1fr);gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line)}
.day .n{font:500 .74rem var(--f-mono);letter-spacing:.08em;color:var(--seal);padding-top:3px}
html[lang^="zh"] .day .n{font:600 .85rem var(--f-body);letter-spacing:0}
.day h3{margin:0 0 4px;font-size:1rem;font-weight:600}.day ul{font-size:.93rem;gap:3px}
.ext{margin-top:18px;font-size:.88rem;color:var(--muted)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;position:sticky;top:16px}
.prices{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:14px}
.prices div{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.prices div:nth-child(2n){border-right:0}.prices div:nth-last-child(-n+2){border-bottom:0}
.prices span{display:block;font-size:.76rem;color:var(--muted)}.prices b{font:400 1.35rem var(--f-display);font-variant-numeric:tabular-nums}
.btn{display:flex;justify-content:center;border-radius:6px;padding:11px 16px;font-weight:600;text-decoration:none;margin-top:8px;border:1px solid var(--ink);text-align:center}
.btn.wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn.solid{background:var(--seal);border-color:var(--seal);color:#fff}
.small{font-size:.84rem;color:var(--muted)}.sel{user-select:all;font-family:var(--f-mono);color:var(--ink)}
.rel{border-top:1px solid var(--line)}.rel a{padding:9px 0;border-bottom:1px dashed var(--line);text-decoration:none;display:flex;justify-content:space-between;gap:12px;font-size:.93rem}
.rel a:hover{color:var(--seal)}.rel .c{font:.74rem var(--f-mono);color:var(--muted);flex-shrink:0}
.note{background:var(--surface);border-left:3px solid var(--jade);padding:12px 14px;border-radius:0 6px 6px 0;font-size:.93rem}
footer{background:var(--hero);color:var(--hero-muted);font-size:.88rem;padding-block:28px calc(28px + env(safe-area-inset-bottom,0px))}footer a{color:var(--hero-fg)}
.idx h2{font:400 1.4rem var(--f-display);color:var(--ink);letter-spacing:0;text-transform:none;margin:34px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.idx ul{list-style:none;padding:0;columns:2 300px;column-gap:28px;display:block}.idx li{break-inside:avoid;padding:3px 0;font-size:.9rem}.idx li a{text-decoration:none}.idx li a:hover{color:var(--seal)}.idx .c{font:.72rem var(--f-mono);color:var(--muted);margin-right:8px}
.toc{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.toc a{font-size:.82rem;border:1px solid var(--line);border-radius:999px;padding:3px 10px;text-decoration:none;background:var(--surface)}
