:root{--ink:#18332f;--muted:#657a73;--teal:#087f72;--line:#dce6df;--paper:#f4f6f2;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;line-height:1.7;font-size:15px}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer;padding:10px 16px;background:white;border:1px solid var(--line);border-radius:9px;color:var(--ink)}button:hover{border-color:var(--teal)}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f0b64a;outline-offset:3px}[hidden]{display:none!important}
.skip{position:absolute;top:-100px}.skip:focus{top:4px;background:white;padding:10px;z-index:5}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:750;color:var(--ink);white-space:nowrap}.brand b{background:var(--teal);color:white;border-radius:8px;padding:0 8px;font:700 28px Georgia;margin-right:7px}nav{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}nav a{color:var(--muted)}nav a[aria-current]{color:var(--teal);font-weight:700}main{max-width:1200px;margin:auto;padding:0 28px 40px}.intro{padding:44px 0 28px}.eyebrow{font:600 11px/1.8 ui-monospace,monospace;letter-spacing:2px;color:var(--teal);margin:0}h1{font-size:clamp(30px,4.2vw,50px);line-height:1.3;letter-spacing:-1.5px;margin:12px 0}h2{font-size:21px;margin:0 0 12px}h3{font-size:16px;margin:0 0 10px}.intro p:not(.eyebrow),.muted,.helper{color:var(--muted)}.intro p:not(.eyebrow){max-width:720px;margin:0}.pill{display:inline-block;font-size:11px;background:#e5eee6;border:1px solid #cfe0d3;border-radius:20px;padding:4px 10px;margin-top:16px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;min-width:0}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:24px}.stack{display:grid;gap:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.helper{font-size:12px;margin:10px 0}.status{font-size:13px;border-left:3px solid var(--teal);padding:10px 14px;background:#edf5ee;overflow-wrap:anywhere}.status[data-kind=error],.status[data-kind=stale]{background:#fff6e6;border-color:#c48730;color:#80521b}.field{display:grid;gap:7px;font-size:13px;margin-bottom:18px}.field input:not([type=range]):not([type=color]),.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.field input[type=range]{width:100%;accent-color:var(--teal)}.field input[type=color]{width:100%;height:43px;border:1px solid var(--line);border-radius:8px;background:white;padding:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.toggle{display:flex;align-items:center;gap:8px;font-size:13px}.toggle input{accent-color:var(--teal)}footer{max-width:1144px;margin:0 auto;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.footnote{font-size:12px;color:var(--muted);margin:25px 0 0}.footnote a{text-decoration:underline}.avatar-stage{min-height:350px;display:grid;place-items:center;background:radial-gradient(circle at center,#fff 0,#e8efdf 75%);border-radius:12px;position:relative}.avatar-stage img{width:min(78%,300px);aspect-ratio:1;filter:drop-shadow(0 12px 14px #17382a16)}.avatar-name{font-size:24px;letter-spacing:-.5px;margin:20px 0 0;overflow-wrap:anywhere}.avatar-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}.avatar-gallery button{padding:5px;background:#f1f5ed}.avatar-gallery img{width:100%;display:block;aspect-ratio:1}.swatches{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.swatches button{width:32px;height:32px;border-radius:50%;padding:0;background:var(--swatch);border:3px solid white;box-shadow:0 0 0 1px var(--line)}.swatch-teal{--swatch:#00897b}.swatch-blue{--swatch:#1e88e5}.swatch-amber{--swatch:#ffb300}.swatch-purple{--swatch:#8e24aa}.swatch-coral{--swatch:#f4511e}.tip{margin-top:24px;padding:22px;border:1px dashed #b9cfc3;border-radius:12px;background:#edf3e9}.tip p{font-size:13px;margin:8px 0}
.orbit{background:#101f30;color:#ecf5f3;border-color:#20394c}.orbit .eyebrow,.orbit .helper{color:#9ebbbf}.orbit-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.live-dot{color:#81e5cb;font-size:12px}.orbit-map{display:block;width:100%;border:1px solid #365064;border-radius:10px;background:#101f30}.graticule{stroke:#597b9233;stroke-width:1}.equator{stroke:#7596a066;stroke-dasharray:5 6}.orbit-track{fill:none;stroke:#85e6c7;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.iss-ring{fill:#83e9cb22;stroke:#83e9cb66;stroke-width:1}.iss-dot{fill:#bfffe2;stroke:white;stroke-width:2}.map-label{fill:#8faebc;font:13px ui-monospace,monospace}.map-readout{display:flex;justify-content:space-between;gap:14px;color:#a8c5cb;font-size:12px;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:22px}.metric{background:#f8faf6;border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.metric span{font-size:12px;color:var(--muted);display:block}.metric strong{font:600 clamp(20px,2.5vw,30px)/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.metric small{font-size:11px;color:var(--muted);margin-left:5px}.explain{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.explain p{font-size:13px;color:var(--muted);margin:0}
.search-form{display:flex;gap:10px}.search-form input{min-width:0;flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.city-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.city-presets button{font-size:12px;padding:6px 12px}.city-results{display:grid;gap:8px;margin-top:12px}.city-results button{text-align:left}.weather-main{margin-top:22px}.weather-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.weather-heading h2{font-size:28px;margin:0}.weather-icon{font-size:70px;color:#c89035;line-height:1.2}.temperature{font:600 68px/1.4 ui-monospace,monospace;letter-spacing:-5px}.temperature small{font-size:26px;letter-spacing:0}.weather-main .metrics{grid-template-columns:repeat(4,1fr)}.weather-chart{width:100%;display:block}.chart-grid{stroke:#e2e9e1;stroke-width:1}.chart-label{font:11px sans-serif;fill:#657a73}.temperature-line{fill:none;stroke:#087f72;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.rain-bar{fill:#aacbde}.forecast-days{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.day{padding:18px 8px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#f9faf6}.day .symbol{font-size:32px;display:block;color:#8c7335}.day strong{display:block;font-size:15px}.day small{font-size:12px;color:var(--muted)}.forecast-panel{margin-top:22px}.chart-legend{display:flex;gap:18px;font-size:12px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}summary{cursor:pointer;font-size:13px;color:var(--teal);padding:12px 0}
@media(max-width:760px){header{flex-wrap:wrap;padding:17px 20px;gap:12px}nav{gap:14px;font-size:12px}main{padding:0 18px 30px}.intro{padding-top:30px}.split{grid-template-columns:1fr}.panel{padding:20px}.avatar-stage{min-height:290px}.metrics,.weather-main .metrics{grid-template-columns:repeat(2,1fr)}.explain{grid-template-columns:1fr}.forecast-days{grid-template-columns:repeat(5,minmax(104px,1fr));overflow:auto;padding-bottom:6px}.map-readout{flex-wrap:wrap}.map-label{font-size:18px}footer{margin:0 18px;flex-wrap:wrap}.weather-icon{font-size:55px}.temperature{font-size:55px}.search-form button{padding:10px}.weather-heading h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#sun-times{font-size:16px;line-height:2.5}.chart-scroll{overflow-x:auto}.weather-chart{min-width:640px}
.weather-icon svg{display:block;width:90px;height:90px}.day .symbol svg{display:block;width:42px;height:42px;margin:8px auto}.day>span:not(.symbol){display:block}#sun-times{overflow-wrap:normal}.home-shortcut-description{overflow-wrap:anywhere}
