*{box-sizing:border-box}html{color:#233b60;background:#f1f5f8;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}body{margin:0}button,input,textarea{font:inherit}button,a,label[for=restore]{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,label[for=restore]:focus-within{outline:3px solid #e9ac48;outline-offset:4px}button{border:0;background:none;color:inherit}header{max-width:1240px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbd6df}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:700;letter-spacing:1px}.brand-mark{font-size:33px;color:#224db4}.brand-en{font:10px Consolas,monospace;letter-spacing:1px;margin-left:12px;color:#627389}header>button{font-size:13px}main{max-width:1240px;margin:auto;padding:0 40px}.intro{position:relative;padding:58px 0 36px}.eyebrow{font-size:11px;letter-spacing:2px;color:#64788d;margin:0 0 20px}h1{font-family:"Songti SC","SimSun",serif;font-size:clamp(40px,5vw,68px);line-height:1.23;letter-spacing:3px;font-weight:500;margin:0}h1 br{display:none}.intro-copy{position:absolute;right:0;bottom:34px;font-size:14px;line-height:1.9;color:#627389}.station{display:grid;grid-template-columns:1.05fr 1fr;border-radius:10px;overflow:hidden;background:white;box-shadow:0 12px 35px #2749670b}.observation{position:relative;min-height:510px;padding:28px 32px;color:white;background:#224db4;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:28px 28px;display:flex;flex-direction:column;transition:background-color .3s}.obs-top,.obs-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:1px}.date-label input{border:0;background:#ffffff16;color:white;padding:8px;border-radius:4px;color-scheme:dark;font-family:Consolas,monospace;font-size:13px}#big-icon{height:245px;display:grid;place-items:center}#big-icon svg{width:225px;height:190px;filter:drop-shadow(0 12px 20px #14295220)}.weather-readout{text-align:center}.weather-readout h2{font-size:32px;font-weight:500;letter-spacing:6px;margin:0 0 10px}.weather-readout p{font-size:13px;letter-spacing:1px;opacity:.8}.obs-bottom{margin-top:auto;padding-top:30px;opacity:.6;font-size:10px}.editor{padding:32px}.section-label{display:flex;justify-content:space-between;font-size:14px}.section-label span:last-child{color:#8290a2;font-size:11px}.weather-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0 28px}.weather-choice{border:1px solid #e0e7ed;background:#f7f9fb;border-radius:6px;padding:12px 6px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}.weather-choice svg{width:30px;height:28px}.weather-choice[aria-pressed=true]{border-color:#224db4;background:#eaf0ff;box-shadow:inset 0 0 0 1px #224db4;color:#224db4}.note-label{display:block;font-size:13px;margin-bottom:12px}.note-label span{color:#8391a2;font-size:11px;margin-left:10px}textarea{resize:vertical;width:100%;min-height:96px;border:0;border-bottom:1px solid #dbe3eb;background:repeating-linear-gradient(white,white 31px,#edf1f5 32px);line-height:32px;color:#233b60;padding:0 2px;border-radius:0}textarea::placeholder{color:#9ca8b6;font-size:12px}.editor-foot{display:flex;justify-content:space-between;align-items:center;min-height:28px;font:10px Consolas,monospace;color:#8b98a7}.text-button{font-size:11px;color:#8c6262}.save{display:flex;justify-content:space-between;width:100%;background:#224db4;color:white;border-radius:5px;padding:16px 20px;margin-top:17px;font-size:14px}.save:disabled{opacity:.5;cursor:not-allowed}.local-note{font-size:10px;color:#8492a2;line-height:1.8;margin-bottom:0}.month-section{margin-top:64px}.month-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.month-heading .eyebrow{margin-bottom:10px}.month-heading h2{font-size:24px;letter-spacing:1px;font-weight:500;margin:0}.month-heading h2 span{font:13px Consolas,monospace;color:#6b7f94;margin-left:18px}.month-controls{display:flex;gap:9px}.month-controls button{border:1px solid #cad5e0;border-radius:50%;height:38px;width:38px}.month-controls button:disabled{opacity:.3;cursor:default}.month-body{display:grid;grid-template-columns:1fr 260px;gap:42px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekdays{text-align:center;font-size:11px;color:#7f91a4;margin-bottom:14px}.day{height:76px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 5px 6px;background:#fff;border:1px solid transparent;border-radius:4px;font:11px Consolas,monospace;position:relative}.day svg{width:35px;height:34px}.day.empty-record:after{content:"·";font-size:24px;color:#d4dde6}.day.selected{border-color:#224db4;box-shadow:inset 0 0 0 1px #224db4}.day.today span:after{content:"";position:absolute;top:12px;margin-left:4px;width:4px;height:4px;background:#224db4;border-radius:50%}.day:disabled{background:#eaf0f5;color:#b0bfcc;cursor:default}.month-body aside{padding:6px 0 0 27px;border-left:1px solid #cbd6df}.count{display:flex;align-items:baseline;gap:12px;margin:17px 0}.count strong{font:70px Georgia,serif;font-weight:400;color:#224db4}.count span{font-size:11px;color:#7e8ea0}#month-summary{font-size:12px;line-height:1.9;color:#6c7f93}#legend{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:24px 0}#legend div{display:flex;align-items:center;gap:6px;font-size:11px;color:#677a90}#legend svg{width:22px;height:20px}.export{font-size:12px;border-bottom:1px solid #224db4;padding:10px 0;color:#224db4}.export-note{font-size:10px;line-height:1.7;color:#8897a6}footer{margin-top:65px;padding:30px 0 40px;border-top:1px solid #cbd6df;display:flex;justify-content:space-between;align-items:center}footer b{font-family:"Songti SC","SimSun",serif;font-size:20px;font-weight:400;letter-spacing:2px}footer p{font-size:11px;color:#8292a2}.backup{display:flex;gap:16px;font-size:11px;color:#6b7d90}.backup label{cursor:pointer}.backup button{font-size:11px;padding:0}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:20;background:#233b60;color:white;padding:13px 22px;border-radius:6px;font-size:13px;max-width:90%;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:12px;max-width:min(92vw,500px);padding:20px;color:#233b60}dialog::backdrop{background:#15233bcc}dialog img{width:100%;max-height:65vh;object-fit:contain}dialog p{font-size:12px}dialog a{color:#224db4}.dialog-close{float:right;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){header{padding:18px 20px}.brand-en{display:none}.brand{font-size:14px}main{padding:0 20px}.intro{padding:34px 0 27px}h1{font-size:40px}h1 br{display:block}.intro-copy{position:static;margin:18px 0 0;font-size:12px}.intro-copy br{display:none}.station{grid-template-columns:1fr}.observation{min-height:360px;padding:20px 22px}#big-icon{height:175px}#big-icon svg{height:155px;width:185px}.weather-readout h2{font-size:27px}.obs-bottom{padding-top:18px}.editor{padding:24px 20px}.month-section{margin-top:42px}.month-heading h2{font-size:20px}.month-heading h2 span{display:block;margin:8px 0 0}.month-body{grid-template-columns:1fr;gap:24px}.weekdays,.calendar{gap:5px}.day{height:62px;padding:7px 3px 4px}.day svg{width:27px;height:27px}.month-body aside{padding:24px 0 0;border-left:0;border-top:1px solid #cbd6df}#legend{grid-template-columns:repeat(3,1fr)}.count{margin:10px 0}.count strong{font-size:55px}footer{margin-top:35px;align-items:start;gap:20px;flex-direction:column}header>button{font-size:11px}.weather-choice{font-size:11px}.weather-options{gap:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}