*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before,:after{--un-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.section-grid{border-top-width:1px;border-color:var(--line);gap:2rem;padding-top:4rem;padding-bottom:4rem;display:grid}.section-label{color:var(--accent) ;letter-spacing:.16em;font-size:.7rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;margin:0}.page-shell{width:min(100% - 2rem,72rem);margin-left:auto;margin-right:auto}.quiet-link{color:var(--muted) ;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.quiet-link:hover,.quiet-link:focus-visible{color:var(--ink) }.font-code{font-family:var(--font-mono)}.font-display{font-family:var(--font-serif)}@media (width>=640px){.page-shell{width:min(100% - 3rem,72rem)}}@media (width>=768px){.section-grid{grid-template-columns:9rem 1fr;gap:3rem;padding-top:5.5rem;padding-bottom:5.5rem}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.left-4{left:1rem}.top-4{top:1rem}.z-10{z-index:10}.grid{display:grid}.inline-grid{display:inline-grid}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-5{margin-bottom:1.25rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-3{margin-top:.75rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.hidden{display:none}.size-1\.5{width:.375rem;height:.375rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.min-h-\[calc\(100svh-10rem\)\]{min-height:calc(100svh - 10rem)}.min-h-\[calc\(100svh-5rem\)\]{min-height:calc(100svh - 5rem)}.w-fit{width:fit-content}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.-translate-y-24{--un-translate-y:-6rem;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.group:hover .group-hover\:translate-x-0\.5{--un-translate-x:.125rem;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.hover\:-translate-y-0\.5:hover{--un-translate-y:-.125rem;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.focus\:translate-y-0:focus{--un-translate-y:0;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{border-color:var(--line)}.hover\:border-accent:hover,.focus-visible\:border-accent:focus-visible{border-color:var(--accent)}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.bg-accent{background-color:var(--accent) }.bg-ink{background-color:var(--ink) }.bg-surface{background-color:var(--surface) }.hover\:bg-surface-strong:hover{background-color:var(--surface-strong) }.p-5{padding:1.25rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-10{padding-bottom:2.5rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.7rem\]{font-size:.7rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-\[clamp\(2\.5rem\,7vw\,4\.4rem\)\]{font-size:clamp(2.5rem,7vw,4.4rem)}.text-\[clamp\(2\.8rem\,7vw\,4\.8rem\)\]{font-size:clamp(2.8rem,7vw,4.8rem)}.text-\[clamp\(3rem\,6vw\,4\.8rem\)\]{font-size:clamp(3rem,6vw,4.8rem)}.text-accent,.group:hover .group-hover\:text-accent{color:var(--accent) }.text-canvas{color:var(--canvas) }.text-ink{color:var(--ink) }.text-muted{color:var(--muted) }.hover\:text-ink:hover{color:var(--ink) }.font-400{font-weight:400}.font-600{font-weight:600}.leading-\[1\.03\]{line-height:1.03}.leading-\[1\.06\]{line-height:1.06}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.16em\]{letter-spacing:.16em}.uppercase{text-transform:uppercase}.shadow-\[0_0_18px_var\(--accent\)\]{--un-shadow:0 0 18px var(--un-shadow-color,var(--accent));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.outline{outline-style:solid}.backdrop-blur-sm{--un-backdrop-blur:blur(4px);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (width>=640px){.sm\:grid-cols-\[6\.5rem_1fr_auto\]{grid-template-columns:6.5rem 1fr auto}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:inline{display:inline}.sm\:block{display:block}.sm\:min-h-20{min-height:5rem}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-5{gap:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:py-22{padding-top:5.5rem;padding-bottom:5.5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:leading-8{line-height:2rem}}@font-face{font-family:HY WenHei;src:url(/fonts/HYWenHei-85W.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;--canvas:#05070b;--surface:#0d121cb8;--surface-strong:#141b29e0;--ink:#e8ecf5;--muted:#8d96aa;--line:#8e9dbb2e;--accent:#8aafff;--font-sans:"HY WenHei", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif:"HY WenHei", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=day]{color-scheme:light;--canvas:#a8d8f4;--surface:#f8fcff94;--surface-strong:#ffffffc7;--ink:#183047;--muted:#526d82;--line:#2a557733;--accent:#176da8}:root[data-theme=day][data-weather=storm]{--surface:#1c2b3994;--surface-strong:#213141c2;--ink:#f1f6fa;--muted:#d5e0e8;--line:#e1edf63d;--accent:#c5dcff}html{scroll-behavior:smooth;background:var(--canvas)}html.is-dragging-cloud{cursor:grabbing;user-select:none}body{background:radial-gradient(circle at 72% 9%, #2a437a1c, transparent 32rem), var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;transition:color .7s}:root[data-theme=day] body{background:radial-gradient(circle at 75% 8%, #fff7bd33, transparent 28rem), var(--canvas)}.page-shell{z-index:1;isolation:isolate;position:relative}::view-transition-old(root),::view-transition-new(root){animation-duration:.72s;animation-timing-function:cubic-bezier(.22,.75,.18,1)}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.article-content{font-size:1.05rem;line-height:1.9}.article-content>:first-child{margin-top:0}.article-content h2{font-family:var(--font-serif);letter-spacing:-.025em;margin:3rem 0 1rem;font-size:clamp(1.8rem,4vw,2.3rem);font-weight:400}.article-content p,.article-content ul{margin:1.25rem 0}.article-content ul{padding-left:1.4rem}.article-content li{margin:.55rem 0}.article-content strong{color:var(--ink);font-weight:650}.article-content pre{border:1px solid var(--line);font-family:var(--font-mono);border-radius:1rem;margin:1.75rem 0;padding:1.2rem 1.3rem;font-size:.88rem;line-height:1.7;overflow-x:auto;background:#0a0e16e6!important}:root[data-theme=day] .article-content pre{color:#17364d!important;background:#eff7fce0!important}:root[data-theme=day] .article-content pre span{color:inherit!important}:root[data-theme=day][data-weather=storm] .article-content pre{border-color:#e1edf63d;color:#eef4fb!important;background:#0a121dd1!important}.article-content code:not(pre code){background:var(--surface);color:var(--accent);font-family:var(--font-mono);border-radius:.35rem;padding:.12rem .35rem;font-size:.9em}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{transition:none}::view-transition-old(root),::view-transition-new(root){animation-duration:0s}}.interactive-scene[data-astro-cid-jezl3i2q]{z-index:0;pointer-events:none;background:#05070b;position:fixed;inset:0;overflow:hidden}.sky-layer[data-astro-cid-jezl3i2q],.weather-shade[data-astro-cid-jezl3i2q],.day-atmosphere[data-astro-cid-jezl3i2q],.lightning-flash[data-astro-cid-jezl3i2q]{position:absolute;inset:0}.sky-layer[data-astro-cid-jezl3i2q]{transition:opacity 1.1s cubic-bezier(.22,.75,.18,1),filter .9s}.sky-night[data-astro-cid-jezl3i2q]{opacity:1;background:linear-gradient(105deg,#0000 15%,#6d83c51a 50%,#0000 85%),radial-gradient(circle at 73% 12%,#30519c33,#0000 30rem),linear-gradient(150deg,#05070b 0%,#080e1c 58%,#071326 100%)}.sky-day[data-astro-cid-jezl3i2q]{opacity:0;background:radial-gradient(at 88% -8%,#fff7dec7 0%,#fff4d633 31%,#0000 58%),linear-gradient(#3685b833,#0000 46%),linear-gradient(165deg,#559ac8 0%,#82b9d7 38%,#b9d8e5 70%,#e9eee7 100%);overflow:hidden}.sky-day[data-astro-cid-jezl3i2q]:before,.sky-day[data-astro-cid-jezl3i2q]:after{content:"";pointer-events:none;position:absolute}.sky-day[data-astro-cid-jezl3i2q]:before{aspect-ratio:1;filter:blur(1.4rem);background:radial-gradient(circle,#fffae8ad,#f6f0d221 42%,#0000 70%);border-radius:50%;width:78vw;min-width:48rem;top:-38vw;right:-23vw}.sky-day[data-astro-cid-jezl3i2q]:after{filter:blur(1.8rem);background:radial-gradient(at 28% 100%,#fff2d566,#0000 48%),linear-gradient(#0000,#ebefe46b);height:48%;bottom:-18%;left:-10%;right:-10%}.weather-shade[data-astro-cid-jezl3i2q]{z-index:1;opacity:0;background:linear-gradient(155deg,#18283714,#18213470);transition:opacity .9s}.day-atmosphere[data-astro-cid-jezl3i2q]{z-index:2;opacity:0;transition:opacity 1s,filter .9s;overflow:hidden}.cirrus[data-astro-cid-jezl3i2q]{filter:blur(7px);opacity:.72;background:linear-gradient(166deg,#0000 26%,#fffffa33 44%,#fffffa12 54%,#0000 69%),linear-gradient(174deg,#0000 38%,#f2f9f926 49%,#0000 61%);border-radius:50%;width:34rem;height:8rem;animation:176s ease-in-out infinite alternate cirrus-drift;display:block;position:absolute;transform:rotate(-8deg)}.cirrus-one[data-astro-cid-jezl3i2q]{top:7%;left:16%}.cirrus-two[data-astro-cid-jezl3i2q]{opacity:.46;width:42rem;animation-delay:-23s;top:36%;right:-10rem;transform:rotate(7deg)scale(.82)}.cirrus-three[data-astro-cid-jezl3i2q]{opacity:.34;width:28rem;animation-delay:-41s;bottom:14%;left:27%;transform:rotate(-3deg)scale(.7)}.cloud-definitions[data-astro-cid-jezl3i2q]{width:0;height:0;position:absolute;overflow:hidden}.cloud-layer[data-astro-cid-jezl3i2q]{--cloud-x:0px;--cloud-y:0px;z-index:3;opacity:0;transform:translate3d(var(--cloud-x), var(--cloud-y), 0);transition:opacity .95s,filter .9s,transform .9s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-3rem}.cloud[data-astro-cid-jezl3i2q]{--repel-x:0px;--repel-y:0px;--drag-x:0px;--drag-y:0px;--cloud-scale:1;--cloud-stretch:1;--cloud-top:20%;--cloud-duration:136s;--cloud-delay:0s;--static-left:20%;top:var(--cloud-top);color:#ffffffa3;filter:drop-shadow(0 .85rem 1.2rem #4e87ab1f);width:18rem;height:auto;transform:translate3d(calc(var(--repel-x) + var(--drag-x)), calc(var(--repel-y) + var(--drag-y)), 0) scale(var(--cloud-scale)) scaleX(var(--cloud-stretch));transform-origin:50%;animation:cloud-cross var(--cloud-duration) linear var(--cloud-delay) 1 both;will-change:translate, transform;transition:color .85s,filter .85s,transform .68s cubic-bezier(.16,.8,.24,1);position:absolute;left:0;overflow:visible}.cloud-template[data-astro-cid-jezl3i2q]{display:none}.cloud[data-astro-cid-jezl3i2q][data-cloud-depth=far]{color:#f7fcfa66;filter:blur(1.5px)drop-shadow(0 .7rem 1.4rem #40769714)}.cloud[data-astro-cid-jezl3i2q][data-cloud-depth=mid]{color:#fffffa94;filter:drop-shadow(0 .9rem 1.4rem #3f779a1f)}.cloud[data-astro-cid-jezl3i2q][data-cloud-depth=near]{color:#fffdf4b3;filter:blur(.2px)drop-shadow(0 1.1rem 1.8rem #37698a24)}.cloud[data-astro-cid-jezl3i2q].is-dragging{filter:drop-shadow(0 1rem 1.6rem #40749733);transition:color .85s,filter .22s;animation-play-state:paused}canvas[data-astro-cid-jezl3i2q]{z-index:4;width:100%;height:100%;position:absolute;inset:0}.lightning-flash[data-astro-cid-jezl3i2q]{z-index:5;opacity:0;background:#cfdeff45;transition:opacity .17s ease-out}.air-grain[data-astro-cid-jezl3i2q]{z-index:6;opacity:.055;mix-blend-mode:soft-light;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.42'/%3E%3C/svg%3E");background-size:12rem 12rem;transition:opacity .9s;position:absolute;inset:0}.interactive-scene[data-astro-cid-jezl3i2q].lightning-active .lightning-flash[data-astro-cid-jezl3i2q]{opacity:1;transition-duration:28ms}html[data-theme=day] .sky-night[data-astro-cid-jezl3i2q]{opacity:0}html[data-theme=day] .sky-day[data-astro-cid-jezl3i2q],html[data-theme=day] .day-atmosphere[data-astro-cid-jezl3i2q],html[data-theme=day] .cloud-layer[data-astro-cid-jezl3i2q]{opacity:1}html[data-theme=night] .air-grain[data-astro-cid-jezl3i2q]{opacity:.025}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=rain] .weather-shade[data-astro-cid-jezl3i2q]{opacity:.08}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .weather-shade[data-astro-cid-jezl3i2q]{opacity:.78}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=rain] .sky-day[data-astro-cid-jezl3i2q]{filter:saturate(.94)brightness(.99)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .sky-day[data-astro-cid-jezl3i2q]{filter:saturate(.48)brightness(.66)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=rain] .cloud-layer[data-astro-cid-jezl3i2q],.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .cloud-layer[data-astro-cid-jezl3i2q]{opacity:.94;filter:saturate(.72)brightness(.9)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=rain] .day-atmosphere[data-astro-cid-jezl3i2q]{opacity:.3;filter:saturate(.65)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .day-atmosphere[data-astro-cid-jezl3i2q]{opacity:.08;filter:saturate(.35)brightness(.72)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .cloud-layer[data-astro-cid-jezl3i2q]{opacity:1;filter:saturate(.28)brightness(.6)contrast(1.08)}.interactive-scene[data-astro-cid-jezl3i2q][data-weather=rain] .cloud[data-astro-cid-jezl3i2q],.interactive-scene[data-astro-cid-jezl3i2q][data-weather=storm] .cloud[data-astro-cid-jezl3i2q]{color:#e1eaf0b8}html[data-theme=night] .interactive-scene[data-astro-cid-jezl3i2q] .cloud-layer[data-astro-cid-jezl3i2q]{opacity:0}@keyframes cloud-cross{0%{translate:calc(100vw + 10rem)}to{translate:-32rem}}@keyframes cirrus-drift{0%{margin-top:-.2rem;margin-left:-1.5rem}to{margin-top:.45rem;margin-left:3.5rem}}@media (width<=640px){.cloud[data-astro-cid-jezl3i2q]{opacity:.74}}@media (prefers-reduced-motion:reduce){.sky-layer[data-astro-cid-jezl3i2q],.weather-shade[data-astro-cid-jezl3i2q],.day-atmosphere[data-astro-cid-jezl3i2q],.cloud-layer[data-astro-cid-jezl3i2q],.cloud[data-astro-cid-jezl3i2q],.lightning-flash[data-astro-cid-jezl3i2q]{transition:none}.cloud[data-astro-cid-jezl3i2q]{left:var(--static-left);animation:none;translate:0}}.theme-toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--line);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--accent);cursor:pointer;border-radius:.55rem;flex:none;place-items:center;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-grid}.theme-toggle[data-astro-cid-l6lhmie6]:hover{border-color:var(--accent);background:var(--surface-strong);color:var(--ink);transform:translateY(-1px)}.theme-icon[data-astro-cid-l6lhmie6]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem;transition:opacity .22s,transform .3s;position:absolute}html[data-theme=night] .theme-icon-sun[data-astro-cid-l6lhmie6],html[data-theme=day] .theme-icon-moon[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)scale(1)}html[data-theme=night] .theme-icon-moon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-25deg)scale(.55)}html[data-theme=day] .theme-icon-sun[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(45deg)scale(.55)}@media (prefers-reduced-motion:reduce){.theme-toggle[data-astro-cid-l6lhmie6],.theme-icon[data-astro-cid-l6lhmie6]{transition:none}}.weather-control[data-astro-cid-e66ut2ch]{flex:none;position:relative}.weather-toggle[data-astro-cid-e66ut2ch]{border:1px solid var(--line);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--accent);cursor:pointer;border-radius:.55rem;place-items:center;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-grid;position:relative}.weather-toggle[data-astro-cid-e66ut2ch]:hover{border-color:var(--accent);background:var(--surface-strong);color:var(--ink);transform:translateY(-1px)}.weather-toggle[data-astro-cid-e66ut2ch] svg[data-astro-cid-e66ut2ch]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.12rem;height:1.12rem}.weather-badge[data-astro-cid-e66ut2ch]{background:#8aafff;border-radius:50%;width:.3rem;height:.3rem;position:absolute;bottom:.28rem;right:.28rem;box-shadow:0 0 .45rem}.weather-badge[data-astro-cid-e66ut2ch][data-mode=rain]{background:#5d9fd2}.weather-badge[data-astro-cid-e66ut2ch][data-mode=storm]{background:#c6d8ff}.weather-panel[data-astro-cid-e66ut2ch]{z-index:30;box-sizing:border-box;border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 94%, transparent);width:min(21rem,100vw - 2rem);color:var(--ink);backdrop-filter:blur(22px);border-radius:1rem;padding:1rem;position:absolute;top:calc(100% + .7rem);right:0;box-shadow:0 1.2rem 3.5rem #0000003d}.weather-panel[data-astro-cid-e66ut2ch][hidden]{display:none}.weather-panel[data-astro-cid-e66ut2ch] p[data-astro-cid-e66ut2ch]{margin:0}.weather-eyebrow[data-astro-cid-e66ut2ch],.weather-fieldset[data-astro-cid-e66ut2ch] legend[data-astro-cid-e66ut2ch],.weather-city[data-astro-cid-e66ut2ch] label[data-astro-cid-e66ut2ch]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:600}.weather-summary[data-astro-cid-e66ut2ch]{font-size:.95rem;margin-top:.35rem!important}.weather-fieldset[data-astro-cid-e66ut2ch]{border:0;margin:1rem 0 0;padding:0}.weather-modes[data-astro-cid-e66ut2ch]{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.55rem;display:grid}.weather-modes[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch],.weather-city[data-astro-cid-e66ut2ch] form[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch],.weather-result{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:.5rem}.weather-modes[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch]{padding:.48rem .25rem;font-size:.72rem}.weather-modes[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch]:hover,.weather-modes[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch].is-active{border-color:var(--accent);color:var(--ink)}.weather-modes[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch].is-active{background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.weather-city[data-astro-cid-e66ut2ch]{margin-top:1rem}.weather-city[data-astro-cid-e66ut2ch] form[data-astro-cid-e66ut2ch]{grid-template-columns:1fr auto;gap:.4rem;margin-top:.55rem;display:grid}.weather-city[data-astro-cid-e66ut2ch] input[data-astro-cid-e66ut2ch]{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);font:inherit;border-radius:.5rem;outline:none;padding:.58rem .65rem;font-size:.78rem}.weather-city[data-astro-cid-e66ut2ch] input[data-astro-cid-e66ut2ch]:focus{border-color:var(--accent)}.weather-city[data-astro-cid-e66ut2ch] form[data-astro-cid-e66ut2ch] button[data-astro-cid-e66ut2ch]{color:var(--ink);padding:.5rem .7rem;font-size:.75rem}.weather-status[data-astro-cid-e66ut2ch],.weather-hint[data-astro-cid-e66ut2ch]{color:var(--muted);font-size:.7rem;line-height:1.55;margin-top:.6rem!important}.weather-results[data-astro-cid-e66ut2ch]{gap:.35rem;margin-top:.5rem;display:grid}.weather-result{text-align:left;width:100%;padding:.55rem .65rem;font-size:.74rem}.weather-result:hover{border-color:var(--accent);color:var(--ink)}@media (width<=640px){.weather-panel[data-astro-cid-e66ut2ch]{width:auto;position:fixed;top:7.4rem;left:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.weather-toggle[data-astro-cid-e66ut2ch]{transition:none}}
