:root{color:#23344b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f7fc;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}html{background:radial-gradient(at 86% 4%,#c9e2ff4d,#0000 34%),radial-gradient(at 7% 37%,#e0edff3d,#0000 36%),#f3f7fc;min-width:320px;min-height:100%}body{background:0 0;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #3986db73}::selection{color:#fff;background:#4a93ee}.privacy-screen{z-index:10000;color:#e4eadf;overscroll-behavior:contain;background:#07131deb;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.privacy-sheet{background:#10252d;border:1px solid #d2bf8c50;border-radius:22px;width:min(100%,650px);max-height:calc(100dvh - 48px);padding:28px;font-size:14px;line-height:1.85;overflow:auto;box-shadow:0 20px 70px #0006}.privacy-sheet h1,.privacy-sheet h2{color:#f2e6c8;margin:10px 0 18px;font-size:clamp(21px,5vw,28px);line-height:1.5}.privacy-sheet p{margin:12px 0}.privacy-sheet a{color:#e4cf98;overflow-wrap:anywhere}.privacy-eyebrow,.privacy-version{color:#b4c7bd;font-size:12px}.privacy-sheet button{font:inherit;cursor:pointer;min-height:44px;color:inherit;background:0 0;border:1px solid #cdbb8b66;border-radius:12px;padding:10px 16px}.privacy-actions{gap:10px;margin-top:20px;display:grid}.privacy-actions button:first-child{color:#142b30;background:#ddce9f;font-weight:700}.privacy-link{text-align:left;color:#e4cf98!important}.privacy-management{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.privacy-sheet iframe{background:#10252d;border:1px solid #b8c7b855;border-radius:12px;width:100%;height:46dvh}.page-footer button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:8px;text-decoration:underline}@media (width<=480px){.privacy-sheet{padding:20px}.privacy-screen{padding:12px}.privacy-sheet{max-height:calc(100dvh - 24px)}}.app-shell.has-day-wallpaper{background-color:#08111e;background-image:linear-gradient(180deg,transparent,#08111ef2 1050px),var(--day-wallpaper);background-position:top;background-repeat:no-repeat;background-size:100% 1200px,auto 1000px}.daily-luck{color:#eff0dc;background-position:50%;background-size:cover;border:1px solid #d4e2d32e;border-radius:24px;grid-template-columns:minmax(0,1fr) 235px;gap:28px;margin:20px 0 26px;padding:28px 30px 36px;display:grid;position:relative;overflow:hidden}.daily-luck-copy{align-self:center;min-width:0;animation:.55s ease-out daily-luck-in}.daily-luck-meta{color:var(--day-ink);letter-spacing:.12em;flex-wrap:wrap;gap:12px;font-size:10px;display:flex}.daily-luck-meta time{color:#bdcfc9}.daily-luck h2{letter-spacing:.08em;margin:15px 0 9px;font-family:serif;font-size:clamp(23px,3vw,32px);font-weight:500;line-height:1.5}.daily-luck-copy>p{color:#d4dfd6;max-width:44em;margin:0;font-size:13px;line-height:1.9}.daily-luck-footer{color:var(--day-ink);flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:11px;line-height:1.7;display:flex}.daily-luck-footer i{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.holiday-clock{background:#071723b8;border:1px solid #e7d6b52b;border-radius:16px;min-width:0;padding:16px 18px}.holiday-clock-label{color:var(--day-ink);letter-spacing:.15em;font-size:10px}.holiday-clock-count{align-items:center;gap:12px;margin:8px 0;display:flex}.holiday-clock-count>strong{font-variant-numeric:tabular-nums;color:var(--day-ink);font-size:50px;font-weight:400;line-height:1.15}.holiday-clock-count>div{gap:5px;font-size:15px;display:grid}.holiday-clock small,.holiday-clock p{color:#bacdc6;margin:0;font-size:10px;line-height:1.7}.holiday-clock>a{color:var(--day-ink);text-underline-offset:3px;margin-top:8px;font-size:10px;display:block}.daily-luck-disclaimer{color:#cbd9cc9c;font-size:9px;position:absolute;bottom:12px;left:30px}@keyframes daily-luck-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=600px){.daily-luck{grid-template-columns:minmax(0,1fr);gap:18px;margin:16px 0 22px;padding:22px 20px 32px}.holiday-clock{grid-template-columns:1fr auto;gap:4px 12px;display:grid}.holiday-clock-count{grid-area:1/2/span 4;gap:10px;margin:0}.holiday-clock-count>strong{font-size:40px}.holiday-clock-count>div{font-size:13px}.holiday-clock>a{margin-top:0}.daily-luck-disclaimer{bottom:10px;left:20px}}@media (prefers-reduced-motion:reduce){.daily-luck-copy{animation:none}}#root{min-height:100vh}.city-management-hint{color:#91a8a7;margin:-7px 0 12px;font-size:10px;line-height:1.6}.app-shell{min-height:100vh}.pull-refresh-indicator{top:max(8px, env(safe-area-inset-top));z-index:20;color:#568e8c;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #d4e5e8e6;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:11px;font-weight:650;transition:transform .32s cubic-bezier(.2,.75,.25,1),opacity .24s;display:flex;position:fixed;left:50%;box-shadow:0 5px 18px #3a5f6a1f}.pull-refresh-indicator.is-pulling,.pull-refresh-indicator.is-refreshing{opacity:1}.pull-refresh-indicator.is-pulling{transition:none}.pull-refresh-indicator.is-refreshing svg{animation:.8s linear infinite pull-refresh-spin}.topbar{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfdffba;border-bottom:1px solid #dae4ef9e;align-items:center;gap:48px;min-height:68px;padding:0 max(6.25%,50vw - 650px);animation:.52s cubic-bezier(.2,.75,.25,1) both header-arrive;display:flex;position:relative}.brand{color:#233a50;flex:none;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{background:linear-gradient(145deg,#f8edce,#e1f3f5 75%);border:1px solid #68a2cf21;border-radius:16px;justify-content:center;align-items:center;width:43px;height:43px;display:inline-flex;position:relative;box-shadow:0 4px 12px #6492ae17}.brand-mark .weather-icon{width:32px;height:32px;animation:5s ease-in-out infinite weather-float}.brand-mark img{border-radius:inherit;width:100%;height:100%}.brand-name{letter-spacing:-1px;font-size:21px;font-weight:750}.search-form{color:#94a4b2;background:#ffffffd1;border:1px solid #e6edf2;border-radius:999px;align-items:center;gap:10px;width:min(390px,40vw);height:45px;padding:0 6px 0 15px;transition:border-color .18s,box-shadow .18s;display:flex;box-shadow:0 3px 14px #3b5c7109}.search-form input{color:#334b60;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:16px}.search-form button{color:#fff;min-height:33px;font:inherit;cursor:pointer;background:#61aaa6;border:0;border-radius:999px;flex:none;padding:0 15px;font-size:12px;font-weight:650;transition:background .16s,transform .16s}.search-form button:hover{background:#4b9995;transform:translateY(-1px)}.search-form button:disabled{cursor:wait;opacity:.7}.search-wrap{top:max(72px, calc(env(safe-area-inset-top) + 60px));z-index:30;width:min(390px,100vw - 36px);animation:.22s cubic-bezier(.2,.75,.25,1) both search-popover-enter;position:fixed;right:max(18px,50vw - 650px)}.search-wrap .search-form{width:100%}.city-suggestions{z-index:10;transform-origin:top;background:#102033;border:1px solid #a3beca2e;border-radius:17px;max-height:min(330px,55vh);padding:6px;animation:.2s cubic-bezier(.2,.75,.25,1) both suggestion-arrive;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 42px #0006}.city-suggestion{color:#e6efe7;text-align:left;width:100%;min-height:48px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:30px minmax(0,1fr);align-items:center;column-gap:9px;padding:7px 10px;display:grid}.city-suggestion:hover,.city-suggestion.active{background:#87ae8326}.suggestion-pin{color:#d3f27a;background:#70a58c29;border-radius:9px;grid-row:1/3;place-items:center;width:28px;height:28px;display:grid}.suggestion-name{font-size:12px;font-weight:650}.suggestion-region{color:#91a8a7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.suggestion-message{color:#9db1b0;margin:0;padding:12px 10px;font-size:11px}.top-actions{align-items:center;gap:19px;margin-left:auto;display:flex}.location-button,.icon-button{color:#718494;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:9px 0;font-size:12px;font-weight:600;display:inline-flex}.location-button{transition:color .16s}.unit-toggle{background:#ffffffc2;border:1px solid #e8edf1;border-radius:999px;gap:2px;padding:4px;display:flex}.unit-toggle button{color:#8797a5;min-width:37px;height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:12px;font-weight:700;transition:color .16s,background .16s,box-shadow .16s}.dashboard{width:min(1220px,100% - 72px);margin:0 auto;padding:41px 0 25px;animation:.7s cubic-bezier(.2,.7,.25,1) both dashboard-enter}.page-heading{justify-content:space-between;align-items:flex-end;margin:0 2px 22px;display:flex}.eyebrow{color:#91a59f;letter-spacing:2.2px;margin:0 0 7px;font-size:9px;font-weight:750}.page-heading h1{color:#34485a;letter-spacing:-1.5px;margin:0;font-size:clamp(24px,3vw,33px);font-weight:680}.welcome-tip{color:#cbd9c5;background:linear-gradient(100deg,#2a4a439e,#1f333d6b);border:1px solid #d3f27a21;border-radius:13px;align-items:center;gap:9px;min-height:42px;margin:-8px 0 16px;padding:8px 11px;animation:.52s cubic-bezier(.2,.75,.25,1) .18s both tip-arrive;display:flex}.welcome-tip-icon{color:#d3f27a;font-size:15px}.welcome-tip p{flex:1;margin:0;font-size:11px;line-height:1.5}.welcome-tip button{color:#98ada3;width:27px;height:27px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:19px;transition:color .18s,background-color .18s,transform .18s}.welcome-tip button:hover{color:#e4f6b6;background:#ffffff14;transform:rotate(8deg)}.heading-tools{align-items:center;gap:13px;display:flex}.refresh-button[aria-busy=true] svg{animation:.9s linear infinite pull-refresh-spin}.live-indicator{color:#7d978f;align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.live-indicator i{background:#73c5a5;border-radius:50%;width:7px;height:7px;animation:2.8s ease-in-out infinite live-pulse;box-shadow:0 0 0 4px #73c5a524}.icon-button{color:#77918f;background:#ffffffbf;border:1px solid #dbe5eae6;border-radius:50%;width:37px;height:37px;padding:0;transition:color .22s,border-color .22s,background-color .22s,transform .42s cubic-bezier(.2,.75,.25,1)}.icon-button:hover{color:#418d89;border-color:#b8d9d4;transform:rotate(20deg)}.error-banner{color:#9d4038;background:#fff3f1;border:1px solid #f1c7c3;border-radius:12px;margin:0 0 18px;padding:12px 16px;font-size:14px}.current-card{isolation:isolate;color:#fff;touch-action:pan-y;background:radial-gradient(at 76% 10%,#fff8de6b,#0000 25%),radial-gradient(at 89% 103%,#7ac8beb0,#0000 38%),linear-gradient(117deg,#84c8d2 0%,#a5dce0 38%,#c4e8df 73%,#b4dfcf 100%);border:1px solid #ffffffbf;border-radius:28px;flex-direction:column;min-height:360px;padding:31px 43px 22px;transition:background 1.1s cubic-bezier(.22,1,.36,1),box-shadow .9s,border-color .9s;animation:.9s cubic-bezier(.2,.75,.25,1) both card-enter;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #5399a02b,0 3px 12px #477b8c14,inset 0 1px #ffffffa6}.current-card:before,.current-card:after{z-index:-1;pointer-events:none;content:"";position:absolute}.current-card:before{border:1px solid #ffffff4d;border-radius:50%;width:550px;height:550px;animation:12s cubic-bezier(.45,0,.55,1) infinite alternate halo-breathe;top:-190px;right:6%;box-shadow:0 0 0 36px #fff1,0 0 0 85px #ffffff0b}.current-card:after{background:linear-gradient(170deg,#f6fff15c,#e1f7e81c 63%,#0000);border-radius:50% 50% 0 0;height:475px;bottom:-370px;left:-9%;right:-13%;transform:rotate(-3deg)}.hero-grain{z-index:-1;opacity:.14;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='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-copy{z-index:1;width:min(53%,545px);transition:opacity .52s,filter .52s,transform .62s cubic-bezier(.22,1,.36,1);animation:.48s cubic-bezier(.2,.75,.25,1) both content-arrive;position:relative}.hero-location{color:#ffffffe3;letter-spacing:.15px;align-items:center;gap:8px;font-size:12px;font-weight:580;display:flex}.hero-location-icon{background:#ffffff26;border:1px solid #ffffff4a;border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;display:inline-flex}.hero-location-dot{color:#ffffff94}.current-date{color:#ffffffc2;font-weight:450}.hero-kicker{color:#ffffffb8;letter-spacing:2.8px;margin:36px 0 2px;font-size:9px;font-weight:750}.current-temperature{letter-spacing:-11px;text-shadow:0 8px 40px #2c797f1f;align-items:flex-start;font-size:clamp(96px,11vw,146px);font-weight:250;line-height:.98;display:flex}.current-temperature span,.current-condition span,.hero-high-low strong,.detail-tile>strong,.sun-time strong,.lunar-date strong{transition:color .26s,opacity .26s,filter .26s;animation:.36s cubic-bezier(.2,.75,.25,1) both value-arrive}.current-temperature sup{letter-spacing:-2px;margin:13px 0 0 7px;font-size:35px;font-weight:350}.current-condition{color:#fff;letter-spacing:.1px;align-items:center;gap:11px;margin-top:6px;font-size:17px;font-weight:650;display:flex}.condition-divider{background:#ffffff87;width:1px;height:15px}.feels-like{color:#fffc;font-size:11px;font-weight:450}.hero-high-low{color:#ffffffc4;letter-spacing:.2px;margin:12px 0 0;font-size:11px}.hero-high-low strong{color:#fff;font-weight:650}.network-loading{color:#eff9ebd1;background:#0519232e;border:1px solid #e0f5e626;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:24px;margin-top:12px;padding:5px 9px;font-size:9px;animation:.26s both content-arrive;display:flex}.network-spinner{border:1.5px solid #e3f7dc4d;border-top-color:#d3f27a;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite pull-refresh-spin}.network-loading-dots{color:#d3f27a;letter-spacing:1px;animation:1.2s ease-in-out infinite loading-dots}.hero-scene{z-index:0;place-items:center;width:min(47%,490px);height:305px;animation:.52s cubic-bezier(.2,.75,.25,1) both scene-arrive;display:grid;position:absolute;top:-6px;right:6%}.hero-sun-orb,.hero-sun-halo{aspect-ratio:1;border-radius:50%;width:155px;position:absolute;top:24px;right:19%}.hero-sun-orb{background:linear-gradient(145deg,#fff9d8 7%,#ffe6a9 48%,#f6c89a 100%);animation:8s cubic-bezier(.45,0,.55,1) infinite alternate sun-breathe;overflow:hidden;box-shadow:0 0 36px #fff3c1c2,0 0 90px #fff4cd73,inset -13px -12px 32px #f0ad8329}.hero-sun-orb:after{border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(112deg,#0000 39%,#ffffff6b 48%,#0000 57%);animation:11s cubic-bezier(.4,0,.2,1) infinite sun-glint;position:absolute;inset:-35%}.hero-sun-halo{border:1px solid #ffffff59;width:205px;animation:10s cubic-bezier(.45,0,.55,1) infinite alternate halo-breathe;top:1px;right:calc(19% - 25px)}.hero-orbit{z-index:1;pointer-events:none;will-change:transform;border:1px solid #c8ede04d;border-radius:50%;position:absolute;top:34%;left:78%}.hero-orbit-outer{width:270px;height:116px;margin:-58px 0 0 -135px;animation:46s linear infinite orbit;transform:rotate(-25deg)}.hero-orbit-inner{border-style:dashed;border-color:#f1d39b57;width:218px;height:76px;margin:-38px 0 0 -109px;animation:33s linear infinite reverse orbit;transform:rotate(25deg)}.hero-orbit-outer:after,.hero-orbit-inner:after{content:"";background:#d3f27a;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:-3px;box-shadow:0 0 10px #d3f27a99}.hero-orbit-inner:after{background:#f2c56d;width:4px;height:4px;box-shadow:0 0 9px #f2c56da6}.hero-aurora-ribbon{z-index:0;pointer-events:none;will-change:transform, opacity;background:linear-gradient(90deg,#0000,#4ddcbf14 22%,#74efc747 48%,#7ca0ff1f 72%,#0000);border-radius:50%;width:145%;height:27px;position:absolute;left:-19%}.aurora-ribbon-one{animation:12s ease-in-out infinite alternate aurora-sweep;top:49%;transform:rotate(-18deg)translate(-2%)}.aurora-ribbon-two{opacity:.56;background:linear-gradient(90deg,#0000,#69b3ff14 26%,#6fe2cd33 53%,#f2c56d14 76%,#0000);height:17px;animation:17s ease-in-out infinite alternate-reverse aurora-sweep;top:62%;transform:rotate(-13deg)translate(2%)}.hero-meteor{z-index:3;opacity:0;transform-origin:100%;will-change:transform, opacity;background:linear-gradient(90deg,#0000,#e2ffebe6);width:72px;height:1px;animation:8s linear 1.8s infinite meteor-cross;position:absolute;top:19%;left:14%;transform:rotate(-34deg)}.hero-meteor:after{content:"";background:#efffd3;border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-2px;box-shadow:0 0 12px #deffdde6}.hero-weather-icon{z-index:2;transform-origin:50% 65%;will-change:transform;width:167px;height:167px;transition:opacity .8s,filter .8s;animation:7s cubic-bezier(.45,0,.55,1) infinite weather-float;position:absolute;top:99px;right:20%;overflow:visible}.weather-character{z-index:4;transform-origin:50% 100%;width:88px;height:118px;animation:none;position:absolute;bottom:12px;left:3%;overflow:visible}.character-atmosphere{z-index:3;opacity:.6;pointer-events:none;border-radius:50%;width:140px;height:110px;position:absolute;bottom:1%;left:-5%}.atmosphere-clear{background:radial-gradient(#f7c87d66,#0000 72%)}.atmosphere-cloudy,.atmosphere-fog{background:radial-gradient(#c0dcd84d,#0000 72%)}.atmosphere-rain{background:radial-gradient(#6fbed557,#0000 72%)}.atmosphere-snow{background:radial-gradient(#c7e0ff5c,#0000 72%)}.atmosphere-storm{background:radial-gradient(#8b97c761,#0000 72%)}.character-arms{transform-box:fill-box;transform-origin:50% 20%;animation:4.8s ease-in-out infinite character-arm-rest}.character-clear .character-arms{animation-name:character-arm-wave}.character-rain .character-arms,.character-storm .character-arms{animation-name:character-arm-hold}.character-snow .character-arms{animation-name:character-arm-cold}.weather-character .character-umbrella{transform-origin:50% 100%;animation:4s ease-in-out infinite umbrella-tilt;display:none}.character-rain .character-umbrella,.character-storm .character-umbrella{display:block}.character-rain .character-coat,.character-storm .character-coat{fill:#72bfc1}.character-snow .character-coat{fill:#b5c9e2}.character-fog .character-coat,.character-cloudy .character-coat{fill:#9bbab5}.character-snow .character-coat{transform-origin:57px 93px;animation:4.8s ease-in-out infinite alternate coat-sway}.character-storm .character-coat{fill:#8291b7}.character-fog .character-fog{animation:9s ease-in-out infinite alternate fog-drift}.hero-weather-icon path[stroke=\#90D5FF]{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite rain-fall}.hero-weather-icon path[stroke=\#B8E8FF]{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite snow-drift}.hero-weather-icon path[fill=\#F8FBFF]{transform-box:fill-box;transform-origin:50%;animation:6s cubic-bezier(.45,0,.55,1) infinite alternate cloud-breathe}.hero-weather-icon>circle[fill=\#FFC96B],.hero-weather-icon>circle[fill=\#FFC96B]+path{display:none}.hero-weather-icon path[fill=\#F8FBFF]{fill:#ffffffe8;stroke:#effbf6f2}.hero-scene-sparkle{z-index:3;color:#ffffffd1;text-shadow:0 0 12px #ffffffad;animation:3.2s cubic-bezier(.45,0,.55,1) infinite sparkle;position:absolute}.weather-cloud{z-index:1;opacity:.72;will-change:transform;background:linear-gradient(#f3fbf7,#bfd4dc);border-radius:99px;width:145px;height:39px;position:absolute}.weather-cloud:before,.weather-cloud:after{background:inherit;content:"";border-radius:50%;position:absolute;bottom:10px}.weather-cloud:before{width:57px;height:57px;left:30px}.weather-cloud:after{width:42px;height:42px;right:22px}.cloud-back{opacity:.4;width:110px;height:28px;animation:18s ease-in-out infinite alternate-reverse cloud-glide;top:147px;left:0;transform:scale(.82)}.cloud-front{animation:13s ease-in-out infinite alternate cloud-glide;bottom:48px;right:8%}.weather-scene-rain .weather-cloud,.weather-scene-storm .weather-cloud{opacity:.72;background:linear-gradient(#a4bdc8,#7894a7)}.weather-scene-snow .weather-cloud{opacity:.86;background:linear-gradient(#f5fbff,#d2e6f4)}.weather-scene-fog .weather-cloud{opacity:.48;background:linear-gradient(#c0d0d2,#8ca4ad)}.weather-scene-cloudy .weather-cloud{opacity:.63}.weather-cloud.is-night,.is-night .weather-cloud{opacity:.38;background:linear-gradient(#9fb3cf,#617b98)}.hero-moon-orb,.hero-moon-halo{aspect-ratio:1;border-radius:50%;width:142px;position:absolute;top:25px;right:19%}.hero-moon-orb{z-index:1;will-change:transform;background:#e2f0f3;animation:10s ease-in-out infinite alternate moon-rise;box-shadow:0 0 45px #b4daed4a}.hero-moon-orb:after{content:"";background:#14283b;border-radius:50%;width:112%;height:112%;position:absolute;top:17%;right:11%}.hero-moon-halo{will-change:transform, opacity;border:1px solid #c0e4f045;width:188px;animation:13s ease-in-out infinite alternate halo-breathe;top:1px;right:calc(19% - 23px)}.weather-scene-rain .hero-weather-icon,.weather-scene-storm .hero-weather-icon{animation-duration:5s}.weather-scene-snow .hero-weather-icon{animation-duration:9s}.weather-scene-cloudy .hero-weather-icon,.weather-scene-fog .hero-weather-icon{animation-duration:11s}.weather-rain,.weather-snow{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.weather-rain i{will-change:transform, opacity;background:linear-gradient(#0000,#b8e8ffe6);border-radius:2px;width:2px;height:17px;animation:1.15s linear infinite rain-sweep;position:absolute;top:39%}.weather-snow i{color:#e6f5ff;opacity:0;will-change:transform, opacity;font-size:9px;font-style:normal;animation:5.2s linear infinite snowfall-drift;position:absolute;top:34%}.weather-fog-band{z-index:2;will-change:transform, opacity;background:#cde2e133;border-radius:50%;width:120%;height:16px;animation:14s ease-in-out infinite alternate fog-drift;position:absolute;left:-12%}.fog-band-one{top:62%}.fog-band-two{opacity:.58;animation-duration:19s;animation-direction:alternate-reverse;top:72%}.weather-lightning{z-index:3;opacity:0;clip-path:polygon(55% 0,100% 0,69% 39%,100% 39%,17% 100%,41% 53%,0 53%);filter:drop-shadow(0 0 8px #ffe89de6);will-change:opacity;background:#fff3ae;width:23px;height:66px;animation:7s step-end infinite lightning-flash;position:absolute;top:31%;left:60%}.sparkle-one{font-size:17px;top:87px;left:24%}.sparkle-two{font-size:15px;animation-delay:1.1s;top:40px;right:7%}.sparkle-three{font-size:34px;animation-delay:.6s;bottom:103px;right:4%}.hero-bottom{z-index:2;border-top:1px solid #ffffff47;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex;position:relative}.hero-bottom-note,.hero-bottom-coordinates{color:#ffffffb8;letter-spacing:.45px;font-size:9px}.hero-bottom-note{align-items:center;gap:7px;display:flex}.hero-bottom-actions{align-items:center;gap:11px;display:flex}.current-city-remove{color:#ffd1c2;min-height:31px;font:inherit;cursor:pointer;background:#6e272b33;border:1px solid #ffbeae4d;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:9px;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.current-city-remove span:first-child{font-size:16px;line-height:.8}.current-city-remove:hover:not(:disabled){background:#6e272b6b;border-color:#ffbeae9e}.current-city-remove:active:not(:disabled){transform:scale(.95)}.current-city-remove:disabled{cursor:not-allowed;opacity:.5}.ambience-toggle{color:#ebf8edc4;min-height:31px;font:inherit;cursor:pointer;background:#06182333;border:1px solid #def3e733;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:9px;transition:color .24s,border-color .28s,background-color .28s,transform .28s cubic-bezier(.2,.8,.2,1);display:inline-flex}.ambience-toggle:hover{color:#e8f6c1;background:#06182361;border-color:#d3f27a8c}.ambience-toggle:active{transform:scale(.95)}.ambience-toggle.is-playing{color:#e4f6b6;background:#86a85d29;border-color:#d3f27a70}.ambience-toggle.is-playing svg{animation:1.6s ease-in-out infinite sound-wave}.ambience-error{z-index:4;color:#ffe0d6;text-align:right;max-width:60%;margin:0;font-size:10px;position:absolute;bottom:58px;right:24px}.hero-bottom-sun{color:#fff0bd;font-size:14px}.hero-bottom-coordinates{letter-spacing:1.45px;font-size:8px}.hero-horizon{z-index:-1;border:1px solid #ffffff57;border-bottom:0;border-radius:70% 70% 0 0;width:47%;height:75px;position:absolute;bottom:37px;right:1%;transform:rotate(-3deg)}.current-card-decoration{z-index:-1;pointer-events:none;border:1px solid #ffffff29;border-radius:50%;position:absolute}.decoration-one{width:310px;height:310px;top:-117px;right:-3%}.decoration-two{width:380px;height:380px;top:-153px;right:-5%}.is-loading .current-temperature,.is-loading .current-condition{opacity:.8}.main-grid{grid-template-columns:minmax(0,1.7fr) minmax(285px,.86fr);align-items:start;gap:20px;margin-top:22px;transition:opacity .24s;display:grid}.main-grid>*{transition:opacity .26s}.primary-column,.side-column{flex-direction:column;gap:20px;min-width:0;display:flex}.section-card{background:#ffffffc4;border:1px solid #e5edefe0;border-radius:21px;padding:22px 24px;transition:transform .36s cubic-bezier(.2,.75,.25,1),box-shadow .36s,border-color .26s;animation:.78s cubic-bezier(.2,.75,.25,1) both card-enter;position:relative;overflow:hidden;box-shadow:0 9px 30px #3b596a0b}.primary-column>.section-card:nth-child(2){animation-delay:90ms}.side-column>.section-card:nth-child(2){animation-delay:70ms}.side-column>.section-card:nth-child(3){animation-delay:.14s}@media (hover:hover){.section-card:hover{border-color:#dcebe7;transform:translateY(-3px);box-shadow:0 14px 34px #3b596a14}}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.section-heading h2{color:#354d5c;letter-spacing:-.3px;margin:0;font-size:16px;font-weight:700}.section-heading .eyebrow{color:#92aaa3;letter-spacing:1.8px;margin-bottom:4px;font-size:8px}.section-caption{color:#a0afb4;font-size:10px}.hourly-list{grid-template-columns:repeat(8,minmax(49px,1fr));gap:5px;display:grid}.hour-item{color:#879a9d;border-radius:20px;flex-direction:column;align-items:center;gap:8px;min-width:0;min-height:140px;padding:10px 3px 8px;transition:background .26s,transform .36s cubic-bezier(.2,.75,.25,1);display:flex}.hour-item:first-child{animation:.62s cubic-bezier(.2,.75,.25,1) .1s both forecast-rise}.hour-item:nth-child(2){animation:.62s cubic-bezier(.2,.75,.25,1) .145s both forecast-rise}.hour-item:nth-child(3){animation:.62s cubic-bezier(.2,.75,.25,1) .19s both forecast-rise}.hour-item:nth-child(4){animation:.62s cubic-bezier(.2,.75,.25,1) .235s both forecast-rise}.hour-item:nth-child(5){animation:.62s cubic-bezier(.2,.75,.25,1) .28s both forecast-rise}.hour-item:nth-child(6){animation:.62s cubic-bezier(.2,.75,.25,1) .325s both forecast-rise}.hour-item:nth-child(7){animation:.62s cubic-bezier(.2,.75,.25,1) .37s both forecast-rise}.hour-item:nth-child(8){animation:.62s cubic-bezier(.2,.75,.25,1) .415s both forecast-rise}.hour-item:hover{background:#edf7f4b3;transform:translateY(-2px)}.hour-time{white-space:nowrap;font-size:9px}.hour-temp{color:#40596a;font-size:13px;font-weight:700}.hour-bar-track{background:#edf2ef;border-radius:4px;flex:0 0 52px;align-items:flex-end;width:4px;height:52px;display:flex}.hour-bar{background:linear-gradient(#f5cb83,#8acbc0);border-radius:4px;width:4px;display:block}.hour-item.now .hour-bar{animation:2.8s ease-in-out infinite alternate bar-glow}.hour-rain{color:#83b9b2;align-items:center;gap:2px;font-size:9px;display:inline-flex}.week-section{padding-bottom:13px}.week-list{flex-direction:column;display:flex}.week-row{border-top:1px solid #eff3f1;grid-template-columns:58px 43px minmax(68px,1fr) minmax(118px,1.3fr);align-items:center;column-gap:8px;min-height:48px;animation:.62s cubic-bezier(.2,.75,.25,1) both forecast-rise;display:grid}.week-row:first-child{animation-delay:.1s}.week-row:nth-child(2){animation-delay:.145s}.week-row:nth-child(3){animation-delay:.19s}.week-row:nth-child(4){animation-delay:.235s}.week-row:nth-child(5){animation-delay:.28s}.week-row:nth-child(6){animation-delay:.325s}.week-row:nth-child(7){animation-delay:.37s}.week-day{color:#4c6170;font-size:11px;font-weight:650}.week-condition{color:#91a1a3;font-size:10px}.week-temperatures{color:#a0afb0;justify-content:flex-end;align-items:center;gap:9px;font-size:10px;display:flex}.week-temperatures strong{color:#49616d;font-size:11px}.temperature-track{background:linear-gradient(90deg,#c0e8e2,#f8d69c);border-radius:6px;width:60px;height:5px;overflow:hidden}.temperature-track span{display:none}.details-card,.sun-card,.city-card{padding:21px}.compact-heading{margin-bottom:15px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-tile{background:linear-gradient(145deg,#f9fcf9f0,#f5f9f7ba);border:1px solid #eef2ef;border-radius:16px;min-height:105px;padding:13px;transition:transform .18s,border-color .18s}.detail-tile:hover{border-color:#d9eae1;transform:translateY(-2px)}.detail-label{color:#91a3a2;align-items:center;gap:6px;font-size:10px;font-weight:550;display:flex}.detail-tile>strong{color:#405a66;letter-spacing:-.7px;margin-top:8px;font-size:22px;font-weight:700;display:block}.detail-tile>strong small{color:#90a2a3;letter-spacing:0;margin-left:2px;font-size:10px;font-weight:500}.detail-note{color:#a2b0ad;margin-top:1px;font-size:9px;display:block}.sun-card .section-heading>svg{color:#e7b969}.sun-times{justify-content:space-between;align-items:center;display:flex}.sun-time{align-items:center;gap:8px;display:flex}.sun-time>svg{color:#e6b360}.sun-time span{flex-direction:column;gap:1px;display:flex}.sun-time small{color:#9aa9a7;font-size:9px}.sun-time strong{color:#49616b;font-size:13px;font-weight:700}.sun-path{height:24px;margin:12px 0 2px;position:relative;overflow:hidden}.sun-path:before{content:"";border:1px dashed #dce8df;border-bottom:0;border-radius:100% 100% 0 0;height:58px;position:absolute;bottom:-34px;left:3px;right:3px}.sun-path-dot{z-index:1;background:#efbd66;border:3px solid #fff;border-radius:50%;width:10px;height:10px;animation:3s ease-in-out infinite live-pulse;position:absolute;bottom:1px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #efbd66,0 0 13px #efbd6654}.sun-caption{color:#a2afaa;justify-content:space-between;font-size:9px;display:flex}.lunar-card .section-heading{margin-bottom:12px}.lunar-symbol{color:#e8c879;background:#e2be7014;border:1px solid #e2be7033;border-radius:50%;place-items:center;width:31px;height:31px;font-size:14px;display:grid}.lunar-date{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lunar-date strong{color:#f0dfb1;letter-spacing:.02em;font-size:20px;font-weight:650}.lunar-date span,.lunar-unavailable{color:#9aafb0;font-size:10px}.lunar-unavailable{margin:0}.city-list{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:5px;max-height:260px;display:flex;overflow-y:auto}.city-row-shell{border-radius:13px;align-items:center;display:flex}.city-row-shell:hover{background:#65ab961a}.city-row{text-align:left;cursor:default;background:0 0;border:1px solid #0000;border-radius:13px;flex:1;align-items:center;gap:10px;min-width:0;min-height:49px;padding:6px 8px;transition:background .17s,border-color .17s;display:flex}.city-remove{color:#82999d;width:32px;height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;margin-right:7px;font-size:20px;line-height:1;transition:color .16s,background-color .16s}.city-remove:hover{color:#ffc0ae;background:#ee7e6c21}.city-remove:disabled{cursor:not-allowed;opacity:.28}.city-empty{color:#91a8a7;margin:0;padding:10px 4px;font-size:11px}.city-pin{color:#65a69a;background:linear-gradient(145deg,#e7f4ed,#e8f4f5);border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.city-name{color:#49606c;flex-direction:column;flex:1;gap:2px;font-size:11px;font-weight:650;display:flex}.city-name small{color:#9eadaa;font-size:9px;font-weight:450}.loading-copy{color:#98a5b5;text-align:center;grid-column:1/-1;padding:16px 0;font-size:12px}.page-footer{color:#98a9a7;border-top:1px solid #dce7e7d6;justify-content:space-between;margin-top:23px;padding:14px 2px;font-size:9px;display:flex}@keyframes dashboard-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes header-arrive{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0,0)}}@keyframes tip-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translate(0,0)}}@keyframes suggestion-arrive{0%{opacity:0;transform:translateY(-4px)scale(.99)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes content-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translate(0,0)}}@keyframes scene-arrive{0%{opacity:.72;transform:translateY(5px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes value-arrive{0%{opacity:.55;filter:blur(2px);transform:translateY(3px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes loading-dots{0%,to{opacity:.35}50%{opacity:1}}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)scale(.992)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes forecast-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes weather-float{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translateY(-6px)rotate(-1.2deg)}}@keyframes character-sway{0%,to{transform:translate(0,0)rotate(-1deg)}50%{transform:translateY(-3px)rotate(1deg)}}@keyframes umbrella-tilt{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes coat-sway{0%{transform:rotate(-1deg)}to{transform:rotate(1.5deg)}}@keyframes sound-wave{0%,to{opacity:.72;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}@keyframes sun-breathe{0%{transform:scale(.985)}to{transform:scale(1.025)}}@keyframes sun-glint{0%,30%{opacity:0;transform:translate(-44%,12%)rotate(8deg)}48%{opacity:.8}68%,to{opacity:0;transform:translate(44%,-12%)rotate(8deg)}}@keyframes halo-breathe{0%{opacity:.52;transform:scale(.985)}to{opacity:.95;transform:scale(1.025)}}@keyframes sparkle{0%,to{opacity:.45;transform:scale(.92)rotate(-5deg)}50%{opacity:1;transform:scale(1.06)rotate(5deg)}}@keyframes rain-fall{0%,to{opacity:.68;transform:translateY(-1px)}50%{opacity:1;transform:translateY(3px)}}@keyframes snow-drift{0%{opacity:0;transform:translate(-12px,-30px)}40%{opacity:.9}to{opacity:0;transform:translate(18px,65px)}}@keyframes live-pulse{0%{opacity:.65}to{opacity:1}}@keyframes bar-glow{0%{opacity:.78}to{opacity:1}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}@media (width<=980px){.topbar{gap:25px;padding:0 4%}.dashboard{width:calc(100% - 48px)}.main-grid{grid-template-columns:minmax(0,1.5fr) minmax(265px,.9fr);gap:15px}.primary-column,.side-column{gap:15px}.section-card{padding:18px}.current-card{min-height:342px}}@media (width<=760px){.topbar{min-height:calc(62px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 22px 10px;flex-wrap:nowrap;gap:12px}.brand{order:0}.brand-mark{width:39px;height:39px}.top-actions{order:1;gap:11px}.location-button{background:#ffffffbf;border:1px solid #e3ebe9;border-radius:50%;width:37px;height:37px;padding:0}.location-button span{display:none}.dashboard{width:calc(100% - 36px);padding-top:29px}.main-grid{grid-template-columns:minmax(0,1fr)}.side-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.details-card{grid-row:span 2}.current-card{min-height:350px}.hero-scene{width:48%;right:0}.hero-copy{width:57%}}@media (width<=540px){.topbar{padding:calc(9px + env(safe-area-inset-top)) 18px 9px}.search-wrap{top:calc(62px + env(safe-area-inset-top));right:12px}.brand-name{font-size:19px}.dashboard{width:calc(100% - 30px);padding-top:26px}.page-heading{margin:0 2px 17px}.page-heading h1{letter-spacing:-1.2px;max-width:255px;font-size:23px}.page-heading .eyebrow{letter-spacing:1.5px;font-size:7px}.heading-tools{gap:8px}.live-indicator{gap:6px;font-size:0}.live-indicator i{width:7px;height:7px}.icon-button{width:34px;height:34px}.main-grid,.primary-column,.side-column{gap:13px}.current-card{border-radius:22px;min-height:365px;padding:24px 21px 19px}.hero-copy{width:74%}.hero-location{gap:6px;font-size:10px}.hero-location-icon{width:21px;height:21px}.current-date{font-size:9px}.hero-kicker{letter-spacing:2px;margin-top:32px;font-size:7px}.current-temperature{letter-spacing:-8px;font-size:103px}.current-temperature sup{margin-top:12px;font-size:25px}.current-condition{gap:8px;margin-top:7px;font-size:15px}.feels-like{font-size:10px}.hero-scene{opacity:.95;width:58%;height:190px;top:97px;right:-28px}.hero-sun-orb{width:95px;top:6px;right:17%}.hero-sun-halo{width:129px;top:-10px;right:calc(17% - 17px)}.hero-weather-icon{width:112px;height:112px;top:56px;right:17%}.sparkle-one{top:68px;left:8%}.sparkle-two{top:2px;right:4%}.sparkle-three{bottom:58px;right:3%}.hero-bottom{gap:7px;padding-top:12px}.hero-bottom-note{max-width:44%;font-size:8px;line-height:1.5}.hero-bottom-coordinates{font-size:8px}.weather-character{width:68px;height:92px;bottom:5px;left:0}.ambience-toggle{min-height:29px;padding:0 8px;font-size:8px}.current-city-remove{min-height:29px;padding:0 7px;font-size:8px}.hero-bottom-actions{gap:6px}.hero-bottom-coordinates{letter-spacing:.9px;font-size:7px}.hero-horizon{width:61%;height:55px;bottom:42px;right:-4%}.section-card{border-radius:18px;padding:17px 14px}.section-heading{margin-bottom:12px}.hourly-list{scrollbar-width:thin;grid-template-columns:repeat(8,52px);padding-bottom:5px;overflow-x:auto}.hour-item{min-height:137px}.week-row{grid-template-columns:43px 39px minmax(47px,1fr) minmax(96px,1.2fr);column-gap:3px}.week-condition{font-size:9px}.week-temperatures{gap:6px;font-size:9px}.temperature-track{width:32px}.side-column{display:flex}.detail-tile{min-height:101px}.page-footer{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.city-count{color:#b7d77e;font-size:13px;font-weight:500}.air-map-toggle{color:#cfe7c8;min-height:31px;font:inherit;cursor:pointer;background:#5b917f21;border:1px solid #9dc7ba33;border-radius:999px;padding:0 11px;font-size:10px;transition:background-color .18s,border-color .18s,transform .18s}.air-map-toggle:hover{background:#5b917f3b;border-color:#c7e59b7a;transform:translateY(-1px)}.air-quality-summary{align-items:center;gap:13px;display:flex}.air-quality-badge{border:1px solid;border-radius:19px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.air-quality-badge strong{font-size:20px;line-height:1}.air-quality-badge small{margin-top:4px;font-size:8px}.air-quality-reading{flex-direction:column;gap:5px;min-width:0;display:flex}.air-quality-reading strong{color:#e8f0e2;font-size:13px;font-weight:650}.air-quality-reading span{color:#91aaa7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.air-quality-message,.air-quality-source{color:#91aaa7;margin:11px 0 0;font-size:9px;line-height:1.6}.air-quality-message.is-error{color:#f0b8a7}.air-quality-source{color:#738d91}.aqi-good{color:#a8e7ae;background-color:#55bc7229}.aqi-moderate{color:#d3e890;background-color:#c0cd572e}.aqi-sensitive{color:#f2c774;background-color:#ebae4c2e}.aqi-unhealthy{color:#f1a58f;background-color:#e8765e2e}.aqi-very-unhealthy{color:#d9a8d7;background-color:#b56fb733}.aqi-hazardous{color:#e89aa7;background-color:#a7425b3b}.aqi-unknown{color:#a1b1b5;background-color:#8a9fa624}.air-map-shell{margin-top:14px;animation:.26s both content-arrive}.air-map{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(at 48% 40%,#3472708c,#0000 56%),#102533;border:1px solid #a4c1c529;border-radius:16px;height:clamp(210px,30vw,280px);position:relative;overflow:hidden}.air-map:active{cursor:grabbing}.air-map-layer{will-change:transform;position:absolute;inset:0}.air-map-tile{pointer-events:none;width:256px;max-width:none;height:256px;position:absolute}.air-map-marker{z-index:2;color:#15252a;cursor:pointer;border:1px solid #0d1e28a6;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:3px 7px 3px 4px;transition:scale .18s,box-shadow .18s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #020a105c}.air-map-marker:hover,.air-map-marker.is-selected{z-index:4;scale:1.08;box-shadow:0 0 0 2px #f5f8dcd9,0 4px 16px #020a107a}.air-map-marker-dot{background:currentColor;border:2px solid #fffc;border-radius:50%;flex:none;width:9px;height:9px}.air-map-marker-label{white-space:nowrap;flex-direction:column;font-size:9px;font-weight:700;line-height:1.12;display:flex}.air-map-marker-label small{font-size:7px;font-weight:600}.air-map-controls{z-index:5;flex-direction:column;gap:5px;display:flex;position:absolute;top:9px;right:9px}.air-map-controls button{color:#e5eee5;width:30px;height:30px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081822db;border:1px solid #d5e6e147;border-radius:10px;place-items:center;font-size:18px;line-height:1;display:grid}.air-map-controls button:active{transform:scale(.94)}.air-map-attribution{z-index:5;color:#263d43;background:#f5f8efe0;border-radius:5px;padding:3px 5px;font-size:7px;text-decoration:none;position:absolute;bottom:5px;left:6px}.air-map-attribution a{color:inherit;text-decoration:none}.air-map-attribution a:hover{text-decoration:underline}.air-map-status{z-index:5;color:#fae3c2;background:#1e2326d9;border-radius:8px;max-width:calc(100% - 58px);padding:6px 8px;font-size:8px;position:absolute;top:9px;left:9px}.air-map-legend{flex-wrap:wrap;gap:8px 11px;margin-top:9px;display:flex}.air-map-legend>span{color:#9ab0ad;white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:inline-flex}.aqi-legend-dot{border-radius:50%;width:7px;height:7px}.air-map-message{color:#95aaa7;margin:8px 0 0;font-size:9px;line-height:1.55}.poem-card{background:radial-gradient(at 92% 6%,#bf9d5921,#0000 42%),linear-gradient(145deg,#1c3039fa,#11222efa)}.poem-seal{color:#e5c987;border:1px solid #dab76f57;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.poem-card blockquote{color:#f1e7ce;letter-spacing:.06em;margin:0;font-family:Noto Serif SC,Songti SC,SimSun,serif;font-size:clamp(16px,2vw,20px);font-weight:500;line-height:1.8}.poem-credit{color:#a6b1a6;text-align:right;margin:9px 0 0;font-size:9px}.character-body{transform-box:fill-box;transform-origin:bottom;animation:3.8s cubic-bezier(.45,0,.55,1) infinite libai-walk}.character-leg{transform-box:fill-box;transform-origin:top}.character-leg-left{animation:1.9s ease-in-out infinite libai-step-left}.character-leg-right{animation:1.9s ease-in-out infinite libai-step-right}.character-sleeve{transform-box:fill-box;transform-origin:50% 20%}.character-sleeve-left{animation:3.6s ease-in-out infinite libai-sleeve}.character-sleeve-right{animation:3.6s ease-in-out infinite libai-scroll}.character-scroll,.character-sash{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite libai-scroll}.character-scarf{transform-box:fill-box;transform-origin:0;animation:2.8s ease-in-out infinite coat-sway}.character-storm .character-body,.character-rain .character-body{animation-duration:3s}.character-snow .character-scarf,.character-cloudy .character-sash{animation-duration:4.8s}@keyframes libai-walk{0%,to{transform:translate(0,0)rotate(-.3deg)}24%{transform:translate(-1px,-1.5px)rotate(.4deg)}50%{transform:translate(0,0)rotate(.1deg)}76%{transform:translate(1px,-1.8px)rotate(-.4deg)}}@keyframes libai-step-left{0%,to{transform:rotate(3deg)}50%{transform:rotate(-5deg)}}@keyframes libai-step-right{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes libai-sleeve{0%,to{transform:rotate(-2deg)}50%{transform:rotate(4deg)}}@keyframes libai-scroll{0%,to{transform:rotate(1deg)translateY(0)}50%{transform:rotate(-3deg)translateY(-1px)}}@media (width<=760px){.air-quality-card,.poem-card{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.character-body,.character-leg,.character-sleeve,.character-scroll,.character-sash,.character-scarf,.air-map-shell{animation:none!important}}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100%}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(at 82% 8%,#236c8433,#0000 34%),radial-gradient(at 9% 45%,#534b8d29,#0000 36%),#08111e}body{color:#e8f0ed;background:radial-gradient(circle at 1px 1px,#b8d1d414 1px,#0000 1.5px) 0 0/34px 34px,linear-gradient(#07101d14,#07101d85)}.app-shell{color:#e8f0ed}.topbar{box-shadow:none;background:0 0;border-bottom:0}.brand{color:#eef4ed}.brand-mark{background:linear-gradient(145deg,#263a49,#183d42 75%);border-color:#b0dfd02e;box-shadow:0 8px 26px #1b9f9324}.brand-name span,.page-heading h1 span{color:#d3f27a}.search-form{color:#a4bbc2;background:#152233c7;border-color:#a3beca29;box-shadow:inset 0 1px #ffffff09}.search-form:focus-within{border-color:#a7e0ce8f;box-shadow:0 0 0 4px #70cbaf1a}.search-form input{color:#eff5ef}.search-form input::placeholder{color:#8096a1}.search-form button{color:#14221f;background:#d3f27a}.search-form button:hover{background:#e1fb94}.location-button,.icon-button{color:#b1c2c7}.location-button:hover{color:#d3f27a}.location-button{border-color:#a3beca2e}.unit-toggle{background:#152233c2;border-color:#a3beca29}.unit-toggle button{color:#9aaeb5}.unit-toggle button.selected{color:#1a2a27;background:#d3f27a;box-shadow:0 2px 12px #d3f27a2e}.eyebrow{color:#85aaa7}.page-heading h1{color:#f0f3eb}.live-indicator{color:#9ebbb4}.live-indicator i{background:#c9ef77;box-shadow:0 0 12px #c9ef779e}.icon-button{background:#152233d1;border-color:#a3beca33}.icon-button:hover{color:#d3f27a;border-color:#d3f27a80}.current-card{background:radial-gradient(at 81% 17%,#fabe6c42,#0000 25%),radial-gradient(at 88% 100%,#2cc4b157,#0000 38%),radial-gradient(circle at 1px 1px,#d3ecdf1a 1px,#0000 1.5px) 0 0/26px 26px,linear-gradient(118deg,#101c31 0%,#142e43 48%,#174c50 100%);border-color:#9fe7dc45;box-shadow:0 28px 80px #00000052,0 0 0 1px #9fe7dc0a,inset 0 1px #daf9eb21}.current-card:before{border-color:#bdf1dc45;box-shadow:0 0 0 36px #bdf1dc0e,0 0 0 85px #bdf1dc09}.current-card:after{background:linear-gradient(170deg,#80e2c733,#2a99971a 63%,#0000)}.hero-grain{opacity:1;mix-blend-mode:normal;background-image:none;overflow:hidden}.hero-grain:before,.hero-grain:after{content:"";pointer-events:none;position:absolute}.hero-grain:before{will-change:transform, opacity;background:radial-gradient(at 24% 58%,#54ebc333,#0000 34%),radial-gradient(at 68% 30%,#ffc3712b,#0000 28%),radial-gradient(at 82% 76%,#5384ee2e,#0000 34%);animation:18s ease-in-out infinite alternate aurora-drift;inset:-30%}.hero-grain:after{opacity:.34;background:radial-gradient(circle,#e1fbe9cc 0 1px,#0000 1.5px) 12% 21%/47px 43px,radial-gradient(circle,#d3f27ab3 0 1px,#0000 1.5px) 68% 41%/73px 61px;inset:0}.hero-kicker{color:#b1d0c9}.current-temperature{color:#f6f3df;text-shadow:0 12px 50px #9aeecc29}.current-temperature sup{color:#d3f27a}.hero-condition{color:#f5f4e9}.hero-high-low strong{color:#e4f2c7}.hero-sun-orb{will-change:transform;will-change:transform;background:linear-gradient(145deg,#fff5c3 7%,#ffd080 48%,#f69b81 100%);box-shadow:0 0 42px #ffcb7ed1,0 0 110px #f7a77759,inset -13px -12px 32px #db76662e}.hero-sun-halo{will-change:transform, opacity;border-color:#ffe7b275}.current-card.mood-clear.is-day{background:radial-gradient(at 82% 16%,#fbc4763d,#0000 25%),radial-gradient(at 77% 94%,#30cbae3d,#0000 40%),linear-gradient(120deg,#10243a 0%,#174151 55%,#16565a 100%)}.current-card.mood-cloudy.is-day{background:radial-gradient(at 82% 20%,#b4cbcc2e,#0000 31%),linear-gradient(120deg,#142436 0%,#233d4c 58%,#31575a 100%)}.current-card.mood-rain.is-day,.current-card.mood-rain.is-night{background:radial-gradient(at 83% 18%,#6a9abd2e,#0000 34%),linear-gradient(120deg,#101b2c 0%,#1c344b 58%,#244653 100%)}.current-card.mood-snow.is-day,.current-card.mood-snow.is-night{background:radial-gradient(at 81% 18%,#b7dbf430,#0000 34%),linear-gradient(120deg,#142238 0%,#28435d 58%,#315867 100%)}.current-card.mood-fog.is-day,.current-card.mood-fog.is-night{background:radial-gradient(at 72% 44%,#bfd2cc2e,#0000 43%),linear-gradient(120deg,#1a2934 0%,#34474d 58%,#435c5d 100%)}.current-card.mood-storm.is-day,.current-card.mood-storm.is-night{background:radial-gradient(at 79% 21%,#9d91d82b,#0000 33%),linear-gradient(120deg,#111626 0%,#222b46 58%,#354057 100%)}.weather-scene-cloudy .hero-moon-orb:after{background:#1d3448}.weather-scene-clear.is-night .hero-moon-orb:after,.weather-scene-cloudy.is-night .hero-moon-orb:after{background:#14283b}.weather-scene-storm .weather-cloud{will-change:transform, opacity;background:linear-gradient(#9ba9c0,#606e8d)}.hero-weather-icon{filter:none}.hero-horizon{border-color:#c5f7e05c}.hero-bottom{border-top:0}.hero-bottom-note,.hero-bottom-coordinates{color:#dff4e7bd}.hero-bottom-sun{color:#d3f27a}.decoration-one,.decoration-two{border-color:#cef1e02e}.error-banner{color:#ffd5ca;background:#6e272b61;border-color:#fa897a42}.section-card{background:linear-gradient(145deg,#192a3bc2,#0f1d2db3);border-color:#0000;box-shadow:0 16px 42px #00000021,inset 0 1px #dff4ee09}.section-card:hover{border-color:#0000;box-shadow:0 22px 52px #00000042,inset 0 1px #dff4ee11}.section-heading h2{color:#eef2e9}.section-heading .eyebrow{color:#91b7aa}.section-caption{color:#80969f}.hour-item{color:#a3b8b7}.hour-item:hover{background:#76c1ab17}.hour-item.now{color:#d3f27a;background:radial-gradient(at 50% 12%,#beef7724,#0000 76%);box-shadow:inset 0 1px #d3f27a26}.hour-item .weather-icon{filter:drop-shadow(0 3px 8px #0000002e)}.hour-temp,.week-temperatures strong{color:#e6eee5}.hour-bar-track{background:#9ebbb824}.hour-bar{background:linear-gradient(#f8c679,#72d6bd)}.hour-rain{color:#7ed4c6}.week-day{color:#d8e4de}.week-condition,.week-temperatures{color:#9aafb0}.temperature-track{background:linear-gradient(90deg,#4bcab8,#eab96d);box-shadow:0 0 14px #52cab41a}.detail-tile{background:linear-gradient(145deg,#223240b8,#142231c2);border-color:#a4bfc01c}.detail-tile:hover{border-color:#8fd1ba4d}.detail-label{color:#a0b6b5}.detail-label svg{color:#83d2bc}.detail-tile>strong{color:#f0f2e8}.detail-tile>strong small,.detail-note{color:#93a8a8}.sun-card .section-heading>svg,.sun-time>svg,.lunar-symbol{color:#f0c36f}.sun-time small{color:#9aafb0}.sun-time strong{color:#e3ece4}.sun-path:before{border-color:#b7d2c647}.sun-path-dot{background:#f2c56d;border-color:#152638;box-shadow:0 0 0 1px #f2c56d,0 0 16px #f2c56d7a}.city-row{color:#e1ece5}.city-row:hover,.city-row.active{background:#65ab961a;border-color:#87d0b63b}.city-pin{color:#b9ed91;background:linear-gradient(145deg,#84c39233,#49b0a429)}.city-name{color:#e1ece5}.city-name small{color:#91a8a7}.loading-copy{color:#9aafb0}.page-footer{color:#8aa2a5;border-top:0}.pull-refresh-indicator{color:#d3f27a;background:#101f2df5;border-color:#93cbbb38;box-shadow:0 10px 28px #00000057}@keyframes aurora-drift{0%{opacity:.72;transform:translate(-4%,2%)rotate(-4deg)}to{opacity:.82;transform:translate(4%,-2%)rotate(4deg)}}@keyframes aurora-sweep{0%{opacity:.36;transform:rotate(-18deg)translate(-2%)}to{opacity:.78;transform:rotate(-12deg)translate(4%,-7px)}}@keyframes cloud-glide{0%{transform:translate(-9px,3px)}to{transform:translate(12px,-5px)}}@keyframes moon-rise{0%{transform:translateY(3px)}to{transform:translateY(-5px)}}@keyframes rain-sweep{0%{opacity:0;transform:translateY(-7px)rotate(13deg)}18%{opacity:.8}to{opacity:0;transform:translate(-8px,34px)rotate(13deg)}}@keyframes snowfall-drift{0%{opacity:0;transform:translate(-4px,-8px)rotate(0)}16%{opacity:.88}to{opacity:0;transform:translate(9px,67px)rotate(100deg)}}@keyframes fog-drift{0%{opacity:.28;transform:translate(-3%,2px)}to{opacity:.68;transform:translate(4%,-3px)}}@keyframes lightning-flash{0%,38%,40%,43%,45%,to{opacity:0}39%,44%{opacity:.92}40%,45%{opacity:.18}}@keyframes meteor-cross{0%,62%{opacity:0;transform:translate(0,0)rotate(-34deg)}66%{opacity:.9}78%,to{opacity:0;transform:translate(76px,56px)rotate(-34deg)}}@media (width<=760px){.topbar{min-height:calc(62px + env(safe-area-inset-top));padding-top:calc(10px + env(safe-area-inset-top));-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex-wrap:nowrap}.city-suggestions{top:calc(100% + 6px)}.location-button{background:#152233d1;border-color:#a3beca2e}}@media (width<=540px){.topbar{min-height:calc(62px + env(safe-area-inset-top));padding:calc(9px + env(safe-area-inset-top)) 18px 9px}.main-grid{gap:13px}.hourly-list{scrollbar-width:none}.hourly-list::-webkit-scrollbar{display:none}}.location-button:active,.icon-button:active,.unit-toggle button:active,.city-remove:active,.city-suggestion:active{transition-duration:.1s;transform:scale(.96)}.city-remove:active{background:#ee7e6c33}.intro-overlay{z-index:100;color:#eef4e9;text-align:center;background:radial-gradient(at 50% 40%,#23656957,#0000 38%),radial-gradient(at 50% 100%,#0f49474d,#0000 48%),#08111e;place-content:center;justify-items:center;gap:12px;padding:28px;animation:.7s cubic-bezier(.2,.75,.25,1) both intro-appear;display:grid;position:fixed;inset:0;overflow:hidden}.intro-overlay:before{content:"";opacity:.34;pointer-events:none;background:radial-gradient(circle,#dcf4d85c 0 1px,#0000 1.5px) 15% 23%/83px 79px;position:absolute;inset:0}.intro-overlay.is-leaving{pointer-events:none;animation:.65s cubic-bezier(.65,0,.35,1) both intro-exit}.intro-sky{place-items:center;width:172px;height:172px;display:grid;position:relative}.intro-orbit{border:1px solid #b5e8d242;border-radius:50%;width:148px;height:148px;position:absolute}.intro-orbit-one{animation:4.8s linear infinite intro-orbit;transform:scaleX(.42)rotate(34deg)}.intro-orbit-two{border-color:#dcd09b47;width:128px;height:128px;animation:6.4s linear infinite reverse intro-orbit;transform:scaleX(.56)rotate(-35deg)}.intro-weather-orb{background:radial-gradient(circle at 34% 26%,#d3f27a30,#214b4c3b 74%);border:1px solid #d9f0da38;border-radius:50%;place-items:center;width:90px;height:90px;animation:3s ease-in-out infinite alternate intro-orb-breathe;display:grid;box-shadow:0 0 52px #64d2af21}.intro-weather-orb .weather-icon{width:60px;height:60px;animation:4s ease-in-out infinite weather-float}.intro-spark{color:#d3f27a;animation:2.4s ease-in-out infinite intro-sparkle;position:absolute}.intro-spark-one{top:26px;right:12px}.intro-spark-two{color:#8ad9c4;animation-delay:.6s;bottom:32px;left:15px}.intro-message{z-index:1;justify-items:center;gap:10px;display:grid;position:relative}.intro-brand{color:#f0f3eb;letter-spacing:.08em;font-size:23px;font-weight:720}.intro-welcome{color:#d1e1d3;letter-spacing:.03em;margin:0;font-size:13px}.intro-status{color:#8fa9a4;letter-spacing:.08em;min-height:18px;font-size:10px}.search-wrap .search-form{background:#0f1d2df5;border-color:#a3beca33;width:100%;box-shadow:0 16px 46px #00000061}.outfit-symbol{color:#a4e8cf;background:#51b69f1a;border:1px solid #7fd8c133;border-radius:11px;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.outfit-advice strong{color:#e4f0dc;font-size:14px;font-weight:650;display:block}.outfit-advice p{color:#98aeab;margin:7px 0 0;font-size:11px;line-height:1.65}.daily-note{border-top:1px solid #b3cdc21a;margin-top:16px;padding-top:13px}.daily-note>span{color:#c9d991;letter-spacing:.04em;font-size:10px;font-weight:600}.daily-note p{color:#d9e3d7;margin:7px 0 4px;font-size:12px;line-height:1.6}.daily-note small{color:#8ea5a4;font-size:9px}.weather-character{filter:drop-shadow(0 7px 9px #020d1930);animation:none}.character-shadow{transform-box:fill-box;transform-origin:50%;animation:4.4s ease-in-out infinite character-shadow-breathe}.character-rain .character-umbrella,.character-storm .character-umbrella{animation-name:umbrella-weather-tilt;animation-duration:3.2s}.weather-character.character-snow .character-coat{animation-duration:3.6s}.weather-character.character-storm{filter:drop-shadow(0 7px 12px #020d194d)}@keyframes intro-appear{0%{opacity:0}to{opacity:1}}@keyframes intro-exit{to{opacity:0;visibility:hidden;transform:scale(1.025)}}@keyframes intro-orbit{to{rotate:360deg}}@keyframes intro-orb-breathe{0%{transform:scale(.96)}to{transform:scale(1.04)}}@keyframes intro-sparkle{0%,to{opacity:.46;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}@keyframes search-popover-enter{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes character-breathe{0%,to{transform:translate(0,0)rotate(-.4deg)}50%{transform:translateY(-1.5px)rotate(.5deg)}}@keyframes character-wind-lean{0%,to{transform:translate(1px)rotate(1deg)}50%{transform:translate(-1px,-1px)rotate(-2.2deg)}}@keyframes character-snow-step{0%,to{transform:translate(-1px)rotate(-.7deg)}50%{transform:translate(1px,-2px)rotate(.9deg)}}@keyframes character-shadow-breathe{0%,to{opacity:.68;transform:scaleX(1)}50%{opacity:.42;transform:scaleX(.88)}}@keyframes umbrella-weather-tilt{0%,to{transform:rotate(-4deg)}50%{transform:rotate(2deg)}}@keyframes character-arm-rest{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.7deg)}}@keyframes character-arm-wave{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.6deg)}}@keyframes character-arm-hold{0%,to{transform:rotate(-1deg)}50%{transform:rotate(.8deg)}}@keyframes character-arm-cold{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}@media (width<=760px){.search-wrap{top:calc(64px + env(safe-area-inset-top));right:14px}}@media (prefers-reduced-motion:reduce){.intro-orbit,.intro-weather-orb,.intro-spark,.character-orbit-track,.weather-character,.character-shadow,.character-arms,.character-atmosphere{animation:none!important}}.hero-copy,.hero-weather-icon,.weather-cloud,.hero-scene-sparkle,.character-atmosphere,.earth-edge{transition:opacity .7s,filter .7s,transform .9s cubic-bezier(.22,1,.36,1),background-color .9s}.hero-sun-orb,.hero-sun-halo,.hero-moon-orb,.hero-moon-halo{opacity:0;visibility:hidden;transition:opacity 1.1s,filter 1.1s,visibility 1.1s;display:block}.weather-scene-clear.is-day .hero-sun-orb,.weather-scene-clear.is-day .hero-sun-halo,.weather-scene-cloudy.is-day .hero-sun-orb,.weather-scene-cloudy.is-day .hero-sun-halo{opacity:1;visibility:visible}.weather-scene-cloudy.is-day .hero-sun-orb,.weather-scene-cloudy.is-day .hero-sun-halo{opacity:.52}.weather-scene-clear.is-night .hero-moon-orb,.weather-scene-clear.is-night .hero-moon-halo,.weather-scene-cloudy.is-night .hero-moon-orb,.weather-scene-cloudy.is-night .hero-moon-halo{opacity:.92;visibility:visible}.weather-cloud{visibility:visible;transition:opacity .9s,filter .9s}.weather-scene-clear .weather-cloud{opacity:0;visibility:hidden}.weather-rain,.weather-snow,.weather-fog-band,.weather-lightning{opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}.weather-scene-rain .weather-rain,.weather-scene-storm .weather-rain,.weather-scene-snow .weather-snow,.weather-scene-fog .weather-fog-band,.weather-scene-storm .weather-lightning{opacity:1;visibility:visible}.weather-wind{z-index:3;opacity:.22;pointer-events:none;transition:opacity .9s;position:absolute;inset:0;overflow:hidden}.weather-wind i{will-change:transform, opacity;background:linear-gradient(90deg,#0000,#daf7eb9e,#0000);border-radius:2px;width:42%;height:1px;animation:7s ease-in-out infinite wind-sweep;position:absolute;right:-15%}.weather-wind i:nth-child(2n){width:33%;animation-name:wind-drift;animation-duration:9s;left:-20%;right:auto}.weather-wind i:nth-child(3n){width:52%;animation-duration:11s}.weather-scene-clear .weather-wind{opacity:.15}.weather-scene-rain .weather-wind,.weather-scene-snow .weather-wind,.weather-scene-storm .weather-wind{opacity:.48}.weather-scene-fog .weather-wind,.hero-scene-sparkle{opacity:.3}.weather-scene-clear.is-night .hero-scene-sparkle,.weather-scene-cloudy.is-night .hero-scene-sparkle{opacity:.9}.hero-orbit{opacity:.22}.weather-scene-clear.is-night .hero-orbit,.weather-scene-cloudy.is-night .hero-orbit{opacity:.82}.hero-aurora-ribbon{opacity:.12;transition:opacity 1.2s}.weather-scene-clear.is-night .hero-aurora-ribbon,.weather-scene-cloudy.is-night .hero-aurora-ribbon{opacity:.75}.hero-meteor{visibility:hidden;transition:visibility 1s}.weather-scene-clear.is-night .hero-meteor,.weather-scene-cloudy.is-night .hero-meteor{visibility:visible}.earth-edge{z-index:3;pointer-events:none;background:radial-gradient(at 50% 100%,#6ce1be21,#0000 68%);border:1px solid #bbf1dc66;border-bottom-color:#bbf1dc1f;border-radius:50%;width:92%;height:58px;position:absolute;bottom:-8px;left:52%;transform:translate(-50%)rotate(-5deg);box-shadow:0 0 18px #57dcb71a}.character-orbit-track{z-index:4;transform-origin:50%;pointer-events:none;width:92%;height:58px;margin-left:-46%;animation:34s linear infinite character-orbit;position:absolute;bottom:-6px;left:52%}.character-orbit-track>.weather-character{width:clamp(68px,8vw,88px);height:auto;animation:34s linear infinite character-counter-orbit;inset:0 auto auto 50%;transform:translate(-50%,-50%)}.weather-character.character-fog{opacity:.94}.character-body{animation-duration:1.7s}.character-leg-left,.character-leg-right{animation-duration:.86s}.hour-bar-track{flex:0 0 52px;height:52px;min-height:52px;overflow:hidden}.hour-bar{max-height:100%}.hour-temp{z-index:1;flex:none;position:relative}.main-grid{transition:opacity .6s,filter .6s}.main-grid.is-loading>*{opacity:.88}@keyframes character-orbit{to{transform:translate(-50%)rotate(360deg)}}@keyframes character-counter-orbit{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(-360deg)}}@keyframes wind-sweep{0%{opacity:0;transform:translate(0,0)scaleX(.55)}20%,72%{opacity:.8}to{opacity:0;transform:translate(-135%,-8px)scaleX(1)}}@keyframes wind-drift{0%{opacity:0;transform:translate(0,0)scaleX(.6)}22%,70%{opacity:.7}to{opacity:0;transform:translate(145%,7px)scaleX(1)}}@media (prefers-reduced-motion:reduce){.weather-wind i,.hero-orbit,.hero-aurora-ribbon,.hero-meteor{animation:none!important}}.hero-scene:before{z-index:0;content:"";opacity:.72;pointer-events:none;background:radial-gradient(at 68% 48%,#ffefbf47,#0000 68%);border-radius:50%;transition:background 1.1s,opacity .9s;animation:11s ease-in-out infinite alternate scene-atmosphere;position:absolute;inset:14% 0 0}.weather-scene-cloudy:before{background:radial-gradient(at 67% 55%,#d4eae84f,#0000 68%)}.weather-scene-rain:before{background:radial-gradient(at 70% 58%,#5cafd35c,#0000 70%);animation-duration:6s}.weather-scene-snow:before{background:radial-gradient(at 66% 57%,#d6edff6b,#0000 68%);animation-duration:14s}.weather-scene-fog:before{background:radial-gradient(at 62% 56%,#dcede661,#0000 73%);animation-duration:18s}.weather-scene-storm:before{background:radial-gradient(at 69% 54%,#a19dd361,#0000 69%);animation-duration:4.5s}.earth-edge{z-index:3;pointer-events:none;background:radial-gradient(at 26% 26%,#9ce6fbb8,#0000 17%),radial-gradient(circle at 35% 31%,#207da3 0,#155b88 41%,#103d69 74%,#091b3a 100%);border:1px solid #9ce0f0c7;border-radius:50%;width:230px;height:230px;position:absolute;top:calc(100% - 104px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 3px #83d7f117,0 0 28px #5bbce959,inset -24px -8px 40px #020a22ad,inset 10px 4px 26px #b5f0ff3d}.earth-map-plane,.earth-longitude-highlight,.earth-shading,.earth-atmosphere{pointer-events:none;position:absolute}.earth-map-plane{z-index:1;width:300%;height:100%;animation:32s linear infinite earth-map-spin;inset:0 auto 0 0}.earth-map-plane svg{width:100%;height:100%;overflow:visible}.earth-map-plane use:first-of-type{filter:drop-shadow(0 1px 2px #c4edb74d)}.earth-longitude-highlight{z-index:2;border-left:1px solid #b6e8f817;border-right:1px solid #b6e8f838;border-radius:50%;width:59%;height:116%;top:-8%;left:21%}.earth-shading{z-index:3;border-radius:inherit;background:radial-gradient(at 28% 22%,#d5faff54,#0000 14%),radial-gradient(at 62% 48%,#0000 36%,#030a1f7a 83%),linear-gradient(90deg,#94def314,#0000 39%,#020a1f3d);inset:0;box-shadow:inset -22px -15px 34px #00071d7a,inset 7px 4px 18px #c8f5ff24}.earth-atmosphere{z-index:4;border:2px solid #77cff552;border-radius:50%;inset:0;box-shadow:inset 0 0 12px #53c0f429,0 0 12px #51bef533}.weather-scene-rain .earth-edge,.weather-scene-storm .earth-edge{filter:saturate(.82)brightness(.88)}.weather-scene-snow .earth-edge{filter:saturate(.68)brightness(1.13)}.character-orbit-track{z-index:5;pointer-events:none;width:84px;height:104px;position:absolute;top:calc(100% - 204px);bottom:auto;left:50%;transform:translate(-50%)}.character-orbit-upright{position:absolute;inset:0}.character-orbit-upright>.weather-character{transform-origin:50% 100%;width:84px;height:auto;position:absolute;bottom:0;left:50%;right:auto;overflow:visible;transform:translate(-50%)}.earth-map-plane{will-change:transform;animation:34s linear infinite earth-map-spin;transform:translate(0)}.earth-map-plane svg{display:block}.earth-longitude-highlight{animation:18s ease-in-out infinite alternate earth-longitude-glide}.earth-shading{background:radial-gradient(at 29% 21%,#e2fbff63,#0000 13%),radial-gradient(at 57% 43%,#0000 37%,#01081d5e 81%),linear-gradient(90deg,#a8e5f81f,#0000 42%,#01081c45)}.weather-character.costume-outgoing{z-index:0;animation:.68s ease-in both outfit-fade-out}.weather-character.costume-incoming{z-index:1;animation:.68s cubic-bezier(.2,.72,.25,1) both outfit-fade-in}.poem-card .eyebrow{letter-spacing:2.2px}.zodiac-card{color:#eaf3f1;background:radial-gradient(at 94% 4%,#7f99df3b,#0000 43%),radial-gradient(at 4% 100%,#42aea62b,#0000 50%),linear-gradient(145deg,#1d3043,#172b3b 57%,#213f4a);min-height:318px}.zodiac-card>:not(.zodiac-constellation):not(.zodiac-card-glow){z-index:1;position:relative}.zodiac-constellation{z-index:0;color:#c4e7e4;opacity:.57;pointer-events:none;width:67%;max-width:220px;position:absolute;top:8px;right:-17px;overflow:visible}.zodiac-constellation .constellation-aura{fill:url(#constellation-aura-fill);stroke:#a5dbff1f;stroke-width:.7px;animation:8s ease-in-out infinite alternate constellation-aura}.zodiac-constellation .constellation-orbit{stroke:#a7e0de52;stroke-width:.65px;stroke-dasharray:1.5 3.8;transform-box:fill-box;transform-origin:50%;animation:30s linear infinite constellation-orbit-spin}.zodiac-constellation .constellation-trail,.zodiac-constellation .constellation-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.zodiac-constellation .constellation-trail{stroke:#7ac2ff38;stroke-width:5px;filter:blur(2px)}.zodiac-constellation .constellation-line{stroke:currentColor;stroke-width:1.25px;stroke-dasharray:340;stroke-dashoffset:340px;filter:drop-shadow(0 0 3px #97ddffcc);animation:2.5s cubic-bezier(.3,.65,.25,1) forwards constellation-draw}.zodiac-constellation .constellation-star{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite alternate constellation-twinkle}.zodiac-constellation .constellation-star-glow{fill:#84c9ff57;filter:blur(2px)}.zodiac-constellation .constellation-star-core{fill:#f0ffe4;filter:drop-shadow(0 0 5px #c4f3fff2)}.zodiac-constellation .constellation-star-cross{stroke:#f0ffe4;stroke-width:.7px;stroke-linecap:round;opacity:.75}.zodiac-constellation .constellation-satellite{fill:#f4d89b;filter:drop-shadow(0 0 4px #ffdc9fe0);transform-box:view-box;transform-origin:91px 73px;animation:11s linear infinite constellation-satellite-orbit}.zodiac-card-glow{background:radial-gradient(#6fbeb32b,#0000 72%);border-radius:50%;width:190px;height:125px;animation:8s ease-in-out infinite alternate zodiac-nebula;position:absolute;bottom:2px;right:12%}.zodiac-heading{align-items:flex-start}.zodiac-heading h2{color:#f0f3eb}.zodiac-refresh-orbit{color:#e0d39e;border:1px solid #aed7e830;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;animation:3.8s ease-in-out infinite zodiac-symbol-breathe;display:grid;position:relative}.zodiac-refresh-orbit i{transform-origin:0 16px;background:#a7e6ee;border-radius:50%;width:4px;height:4px;animation:4s linear infinite zodiac-orbit-dot;position:absolute;top:2px;left:50%;box-shadow:0 0 8px #8cd8e8}.zodiac-signature{align-items:center;gap:10px;margin:13px 0 11px;display:flex}.zodiac-symbol{color:#d7edc1;background:#b1dcbf1a;border:1px solid #c6e2d638;border-radius:50%;place-items:center;width:37px;height:37px;font-size:20px;animation:3.8s ease-in-out infinite zodiac-symbol-breathe;display:grid}.zodiac-signature>div{gap:3px;display:grid}.zodiac-signature strong{color:#eaf2e9;font-size:12px;font-weight:650}.zodiac-signature>div span{color:#9eb4b1;font-size:9px}.zodiac-date-stamp{color:#8ca9ac;margin-left:auto;font-size:9px}.zodiac-fortune{color:#edf2e8;max-width:430px;margin:0 0 12px;font-size:11px;line-height:1.85}.zodiac-reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.zodiac-reading{min-width:0;animation:zodiac-reading-arrive .6s calc(.14s + var(--reading-index) * .11s) both;background:linear-gradient(145deg,#a6cbcd14,#7f96c30a);border:1px solid #b4dad81f;border-radius:12px;padding:9px 9px 7px}.zodiac-reading>span:first-child{color:#bdd9cd;letter-spacing:.04em;font-size:9px;font-weight:650}.zodiac-reading p{color:#a8bfbb;min-height:34px;margin:5px 0;font-size:8px;line-height:1.6}.zodiac-score{color:#abc2c03b;gap:2px;font-size:9px;display:flex}.zodiac-score i{font-style:normal}.zodiac-score i.is-lit{color:#efd99b;text-shadow:0 0 7px #efd99b66}.zodiac-lucky-details{color:#91aaa6;border-top:1px solid #bfdccc1f;flex-wrap:wrap;gap:6px 17px;margin-top:11px;padding-top:9px;font-size:9px;display:flex}.zodiac-lucky-details strong{color:#d6e5bb;margin-left:5px;font-size:10px;font-weight:600}.weather-character .character-scarf,.weather-character .character-fan{display:none}.weather-character.wardrobe-winter .character-coat{fill:#9ebbd6}.weather-character.wardrobe-winter .character-scarf{transform-origin:57px 70px;animation:3.6s ease-in-out infinite alternate coat-sway;display:block}.weather-character.wardrobe-summer .character-coat{fill:#f5e8ca}.weather-character.wardrobe-summer .character-sash{fill:#58a892}.weather-character.wardrobe-summer .character-scroll{display:none}.weather-character.wardrobe-summer .character-fan{transform-box:fill-box;transform-origin:10% 85%;animation:2.8s ease-in-out infinite alternate character-fan-breeze;display:block}.weather-character.wardrobe-rain .character-coat{fill:#71babe}@keyframes character-orbit-counter{to{transform:rotate(-360deg)}}@keyframes earth-meridian-spin{0%{opacity:.25;transform:translate(-70%)scaleX(.26)}48%{opacity:.78;transform:translate(43%)scaleX(.92)}to{opacity:.25;transform:translate(-70%)scaleX(.26)}}@keyframes earth-landmass-drift{0%{translate:-5px}to{translate:8px}}@keyframes scene-atmosphere{0%{opacity:.43;transform:scale(.94)translateY(5px)}to{opacity:.83;transform:scale(1.05)translate(-4px,-4px)}}@keyframes outfit-fade-out{to{opacity:0;filter:blur(2px);transform:translateY(3px)scale(.95)}}@keyframes outfit-fade-in{0%{opacity:0;filter:blur(2px);transform:translateY(-4px)scale(.95)}to{opacity:1;filter:none;transform:none}}@keyframes character-fan-breeze{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes constellation-draw{to{stroke-dashoffset:0}}@keyframes constellation-star{0%{opacity:.54;transform:scale(.8)}to{opacity:1;transform:scale(1.24)}}@keyframes zodiac-nebula{0%{opacity:.42;transform:translate(-8px,4px)scale(.9)}to{opacity:.92;transform:translate(8px,-6px)scale(1.08)}}@keyframes zodiac-symbol-breathe{0%,to{transform:scale(.97);box-shadow:0 0 #a4deba00}50%{transform:scale(1.04);box-shadow:0 0 20px #a4deba30}}@media (width<=760px){.zodiac-card{grid-column:1/-1}.earth-edge{width:200px;height:200px;top:calc(100% - 87px);bottom:auto}.character-orbit-track{width:68px;height:87px;animation:none;top:calc(100% - 174px);bottom:auto}.character-orbit-track>.weather-character{width:68px}}@media (width<=540px){.zodiac-card{min-height:350px;padding:18px 17px}.zodiac-constellation{width:58%;top:54px;right:-12px}.zodiac-reading-grid{grid-template-columns:minmax(0,1fr)}.zodiac-reading{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;display:grid}.zodiac-reading p{grid-column:1;min-height:0}.zodiac-score{grid-area:1/2/span 2}}@media (prefers-reduced-motion:reduce){.hero-scene:before,.earth-map-plane,.earth-longitude-highlight,.character-orbit-track,.character-orbit-upright,.weather-character.costume-incoming,.weather-character.costume-outgoing,.weather-character.wardrobe-winter .character-scarf,.weather-character.wardrobe-summer .character-fan,.zodiac-constellation .constellation-orbit,.zodiac-constellation .constellation-satellite,.zodiac-constellation .constellation-star,.zodiac-card-glow,.zodiac-symbol,.zodiac-refresh-orbit,.zodiac-reading,.poem-seal,.poem-ink-illustration *,.sun-path-dot,.outfit-symbol,.air-quality-meter i,.aqi-gauge-content{animation:none!important}.zodiac-constellation .constellation-line{stroke-dashoffset:0}}.character-orbit-track,.character-orbit-upright{animation:none}.character-orbit-track>.weather-character{transform-origin:50% 100%;width:84px;height:auto;position:absolute;inset:auto auto 0 50%;transform:translate(-50%)}.earth-map-plane{animation:34s linear infinite earth-map-spin}@keyframes earth-map-spin{to{transform:translate(-33.3333%)}}@keyframes earth-longitude-glide{0%{opacity:.38;transform:translate(-9%)scaleX(.82)}to{opacity:.86;transform:translate(9%)scaleX(1.05)}}.poem-card{isolation:isolate}.poem-ink-illustration{z-index:-1;opacity:.4;pointer-events:none;width:138px;position:absolute;top:14px;right:7px;overflow:visible}.poem-moon-path{fill:#e7cc8e;opacity:.65;transform-box:fill-box;transform-origin:50%;animation:7s ease-in-out infinite alternate poem-moon-glow}.poem-mountain-back{fill:#749d92;opacity:.21;animation:10s ease-in-out infinite alternate poem-landscape-drift}.poem-mountain-front{fill:#b7cfaf;opacity:.18;animation:13s ease-in-out infinite alternate-reverse poem-landscape-drift}.poem-ink-stroke{stroke:#e5d6ae;stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:110;stroke-dashoffset:110px;opacity:.6;animation:2.4s ease-out .3s forwards constellation-draw,5s ease-in-out 2.7s infinite alternate poem-ink-waver}.poem-card .section-heading,.poem-card blockquote,.poem-card .poem-credit{z-index:1;position:relative}.poem-seal{animation:10s linear infinite poem-seal-turn}.poem-card blockquote{animation:.8s cubic-bezier(.2,.7,.2,1) .12s both poem-verse-arrive}.sun-path>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sun-path .sun-trajectory{fill:none;stroke:#d7bb8173;stroke-width:1.25px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.sun-path-dot{animation:14s cubic-bezier(.4,0,.6,1) infinite sun-journey;bottom:1px;left:3%}.outfit-symbol{position:relative;overflow:hidden}.outfit-symbol svg{stroke:#a4e8cf;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:#a4e8cf1f;transform-origin:50% 15%;width:25px;height:25px;animation:3.2s ease-in-out infinite outfit-icon-sway;overflow:visible}.outfit-symbol svg path:first-child{stroke-dasharray:105;stroke-dashoffset:105px;animation:2s ease-out .18s forwards constellation-draw}.outfit-symbol i{background:linear-gradient(#0000,#d2ffece6,#0000);border-radius:2px;width:2px;height:38px;animation:3.5s ease-in-out infinite outfit-icon-shimmer;position:absolute;top:-50%;left:18%;transform:rotate(25deg)}.outfit-advice{animation:.52s cubic-bezier(.2,.7,.2,1) both outfit-advice-arrive}.air-quality-badge{background:conic-gradient(from -130deg,currentColor 0deg 255deg,#a2b7b224 255deg 360deg);border:0;border-radius:50%;width:62px;height:62px;padding:4px;animation:24s linear infinite aqi-gauge-turn;position:relative}.aqi-gauge-content{border-radius:inherit;width:100%;height:100%;color:inherit;background:radial-gradient(circle at 34% 26%,#cdebdd1f,#0f222bfa 74%);border:1px solid #cce5da21;flex-direction:column;justify-content:center;align-items:center;animation:4.5s ease-in-out infinite aqi-gauge-content-pulse;display:flex}.aqi-gauge-content strong{font-size:19px}.air-quality-reading{flex:1}.air-quality-meter{background:#b2ccc11f;border-radius:99px;width:min(148px,100%);height:4px;margin-top:3px;position:relative;overflow:hidden}.air-quality-meter i{width:var(--air-quality-progress);border-radius:inherit;background:linear-gradient(90deg,#73d5ad,#e6d681,#e88c88);animation:.9s cubic-bezier(.2,.7,.2,1) both aqi-meter-arrive;position:absolute;inset:0 auto 0 0;box-shadow:0 0 8px #83e0b973}.sun-time>svg{animation:7s ease-in-out infinite sun-icon-orbit}.sun-time:nth-child(2)>svg{animation-delay:-3.5s}.section-card.sun-card,.section-card.outfit-card,.section-card.air-quality-card,.section-card.poem-card{animation:.78s cubic-bezier(.2,.75,.25,1) both card-enter,9s ease-in-out .9s infinite alternate card-ambient}.section-card.air-quality-card{animation-delay:80ms,1s}.section-card.poem-card{animation-delay:.15s,1.1s}.section-card.outfit-card{animation-delay:.22s,1.2s}.section-card.sun-card{animation-delay:.29s,1.3s}@keyframes constellation-aura{0%{opacity:.24;transform:scale(.92)}to{opacity:.72;transform:scale(1.08)}}@keyframes constellation-orbit-spin{to{transform:rotate(360deg)}}@keyframes constellation-twinkle{0%{opacity:.52;transform:scale(.76)}to{opacity:1;transform:scale(1.23)}}@keyframes constellation-satellite-orbit{to{transform:rotate(360deg)}}@keyframes zodiac-orbit-dot{to{transform:rotate(360deg)}}@keyframes zodiac-reading-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes sun-journey{0%,to{bottom:0;left:3%}25%{bottom:10px;left:25%}50%{bottom:17px;left:50%}75%{bottom:10px;left:75%}}@keyframes outfit-icon-sway{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(3deg)translateY(-2px)}}@keyframes outfit-icon-shimmer{0%,55%,to{opacity:0;transform:translate(-6px,5px)rotate(25deg)}65%{opacity:.9}90%{opacity:0;transform:translate(22px,25px)rotate(25deg)}}@keyframes outfit-advice-arrive{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes poem-moon-glow{0%{opacity:.37;transform:scale(.94)}to{opacity:.8;transform:scale(1.04)}}@keyframes poem-landscape-drift{0%{transform:translate(-4px)}to{transform:translate(5px)}}@keyframes poem-ink-waver{0%{opacity:.33}to{opacity:.68}}@keyframes poem-seal-turn{0%,86%,to{transform:rotate(0)}92%{transform:rotate(12deg)}97%{transform:rotate(-8deg)}}@keyframes poem-verse-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes aqi-gauge-turn{0%,to{filter:brightness(.92)}50%{filter:brightness(1.16)}}@keyframes aqi-gauge-content-pulse{0%,to{box-shadow:inset 0 0 8px #cdebdd08}50%{box-shadow:inset 0 0 14px #cdebdd21}}@keyframes aqi-meter-arrive{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes sun-icon-orbit{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(20deg)}}@keyframes card-ambient{0%{box-shadow:0 9px 30px #3b596a0b}to{box-shadow:0 13px 36px #4a999a17}}@media (width<=760px){.zodiac-reading-grid{gap:6px}.zodiac-reading{padding:8px 7px 6px}.zodiac-reading p{font-size:7.5px}.earth-map-plane{animation-duration:27s}}@media (prefers-reduced-motion:reduce){.earth-map-plane,.earth-longitude-highlight,.zodiac-constellation .constellation-orbit,.zodiac-constellation .constellation-satellite,.zodiac-constellation .constellation-aura,.zodiac-refresh-orbit,.poem-moon-path,.poem-mountain-back,.poem-mountain-front,.sun-time>svg,.section-card.sun-card,.section-card.outfit-card,.section-card.air-quality-card,.section-card.poem-card{animation:none!important}}.celestial-system{z-index:1;transform-origin:50%;pointer-events:none;will-change:transform;animation:180s linear infinite celestial-drift;position:absolute;inset:0}.hero-starfield{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.hero-starfield i{will-change:opacity, transform;background:#e6f4ff;border-radius:50%;width:2px;height:2px;animation:3s ease-in-out infinite alternate star-twinkle;position:absolute;box-shadow:0 0 5px #d0ebffbf}.weather-scene-clear.is-night .hero-starfield{opacity:.9}.weather-scene-cloudy.is-night .hero-starfield{opacity:.36}.celestial-system .hero-orbit{animation:none}.weather-scene-clear.is-night .hero-meteor{visibility:visible}.weather-scene-cloudy.is-night .hero-meteor{visibility:hidden}.hero-moon-orb:after{transform:translateX(var(--moon-shadow-shift,0%));transition:transform 1.4s,background-color 1.2s}.earth-edge{transition:filter 1.8s}.earth-edge.is-day{filter:brightness(1.02)saturate(1.04)}.earth-edge.is-night{filter:brightness(var(--earth-night-brightness,.78)) saturate(.82)}.earth-edge.is-night .earth-shading{background:radial-gradient(at 29% 21%,#b5daff3d,#0000 13%),radial-gradient(at 57% 43%,#0000 28%,#0005189e 81%),linear-gradient(90deg,#75a9e212,#0000 42%,#00041661)}.character-orbit-track>.weather-character .character-body,.character-orbit-track>.weather-character .character-leg,.character-orbit-track>.weather-character .character-sleeve,.character-orbit-track>.weather-character .character-shadow{animation-duration:.96s;animation-timing-function:ease-in-out}.character-orbit-track>.weather-character .character-leg-left,.character-orbit-track>.weather-character .character-sleeve-right{animation-delay:-480ms}.character-orbit-track>.weather-character .character-leg-right,.character-orbit-track>.weather-character .character-sleeve-left{animation-delay:0s}.character-orbit-track>.weather-character.character-rain .character-body,.character-orbit-track>.weather-character.character-storm .character-body{animation-duration:.96s}.weather-rain i{opacity:.68;width:1px;height:13px;animation-duration:1.65s}.weather-rain.is-heavy i{opacity:.88;width:2px;height:20px;animation-duration:1.05s}.weather-snow i{font-size:8px;animation-duration:7s}.lunar-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px;display:grid}.lunar-detail{background:#e2be7009;border:1px solid #e2be701c;border-radius:12px;align-items:center;gap:7px;min-width:0;min-height:53px;padding:8px 7px;display:flex}.lunar-detail-symbol,.lunar-phase-symbol{color:#e8c879;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:17px;display:grid}.lunar-detail>span:last-child{gap:3px;min-width:0;display:grid}.lunar-detail small{color:#849b9b;white-space:nowrap;font-size:8px}.lunar-detail strong{color:#dce5d6;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.lunar-phase-symbol{background:linear-gradient(90deg, #e8d8a6 var(--lunar-illumination,0%), #e8d8a614 var(--lunar-illumination,0%));border:1px solid #e4d5ab4d;border-radius:50%;animation:4.8s ease-in-out infinite alternate lunar-phase-glow;box-shadow:0 0 11px #e2c8791f}.outfit-advice-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.outfit-advice-meta span{color:#b6d2c8;background:#51b69f12;border:1px solid #7fd8c11f;border-radius:20px;padding:4px 7px;font-size:9px;line-height:1.3}.outfit-advice-tips{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.outfit-advice-tips li{color:#98aeab;padding-left:12px;font-size:10px;line-height:1.6;position:relative}.outfit-advice-tips li:before{content:"";background:#a4e8cf;border-radius:50%;width:4px;height:4px;position:absolute;top:.6em;left:1px}@keyframes celestial-drift{to{transform:rotate(360deg)}}@keyframes star-twinkle{0%{opacity:.34;transform:scale(.78)}to{opacity:1;transform:scale(1.18)}}@keyframes lunar-phase-glow{0%{box-shadow:0 0 5px #e2c87914}to{box-shadow:0 0 12px #e2c8794d}}@media (width<=540px){.lunar-detail-grid{gap:5px}.lunar-detail{gap:5px;padding:7px 5px}.lunar-detail-symbol,.lunar-phase-symbol{flex-basis:21px;width:21px;height:21px;font-size:14px}.lunar-detail small{font-size:7px}.lunar-detail strong{font-size:9px}}@media (prefers-reduced-motion:reduce){.celestial-system,.hero-starfield i,.lunar-phase-symbol,.character-orbit-track>.weather-character .character-body,.character-orbit-track>.weather-character .character-leg,.character-orbit-track>.weather-character .character-sleeve,.character-orbit-track>.weather-character .character-shadow,.weather-rain i,.weather-snow i{animation:none!important}}.earth-edge{background:radial-gradient(circle at 34% 30%,#77cd8f38,#0000 31%),radial-gradient(circle at 70% 66%,#48b3b138,#0000 37%),radial-gradient(circle at 35% 31%,#207da3 0,#155b88 41%,#103d69 74%,#091b3a 100%);width:230px;height:230px;top:calc(100% - 104px)}.character-orbit-track{width:100%;height:60px;margin-left:0;animation:none;top:calc(100% - 166px);left:0;transform:none}.character-orbit-track>.weather-character{transform-origin:50% 100%;filter:drop-shadow(0 6px 6px #020d1947);width:76px;animation:none;bottom:0;left:50%;transform:translate(-50%)}.character-expression-eyes{transform-box:fill-box;transform-origin:50%;animation:4.8s ease-in-out infinite character-blink}.earth-map-plane{animation-duration:32s}.earth-longitude-highlight{transform-origin:50%;transform-style:preserve-3d;animation:12s ease-in-out infinite earth-meridian-turn}.hero-starfield{opacity:.3}.weather-scene-clear .hero-meteor{visibility:visible}.forecast-icon-unavailable{color:#78908f;text-align:center;width:38px;font-size:18px}.week-row.is-unavailable .week-condition{color:#778d8d}.temperature-track.is-unavailable{box-shadow:none;background:#9ebbb81a}.outfit-layout{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;display:grid}.outfit-figure-wrap{background:radial-gradient(at 50% 90%,#5bc4ac2e,#0000 68%),linear-gradient(160deg,#213844ad,#101f2fc2);border:1px solid #7fd8c11f;border-radius:16px;align-content:end;justify-items:center;min-width:0;min-height:124px;padding:8px 3px 6px;display:grid}.outfit-weather-character{width:66px;height:auto;animation:none;position:relative;inset:auto;overflow:visible}.outfit-weather-character .character-body,.outfit-weather-character .character-leg,.outfit-weather-character .character-sleeve,.outfit-weather-character .character-shadow{animation-duration:1.25s}.outfit-wardrobe-label{color:#c4d9ce;white-space:nowrap;max-width:100%;margin-top:2px;font-size:8px;font-weight:650}.outfit-wardrobe-label.is-winter{color:#b7d7f0}.outfit-wardrobe-label.is-rain{color:#85d4d0}.outfit-wardrobe-label.is-summer{color:#e8d18c}.outfit-advice{min-width:0}.outfit-advice>strong{font-size:12px;line-height:1.6}.outfit-advice-meta{gap:5px}.outfit-advice-meta span{font-size:8px}.outfit-advice-tips li{font-size:9px}.music-card{background:radial-gradient(at 3% 100%,#c29a5f1f,#0000 53%),linear-gradient(145deg,#1e2b3ad4,#101d2dc7);grid-template-columns:82px minmax(0,1fr);align-items:center;gap:15px;min-height:122px;display:grid}.music-portrait{filter:drop-shadow(0 8px 14px #00000038);width:82px;height:82px}.music-portrait svg{width:100%;height:100%;display:block}.music-copy{min-width:0}.music-copy .eyebrow{color:#c4aa78;margin-bottom:6px}.music-copy h2{color:#f0ead9;margin:0;font-size:14px;line-height:1.4}.music-copy>p:not(.eyebrow){color:#aab9b2;margin:7px 0 6px;font-size:10px;line-height:1.6}.music-caption{color:#d1bb8f;letter-spacing:.06em;font-size:8px}@keyframes earth-meridian-turn{0%,to{opacity:.34;transform:translate(-12%)scaleX(.58)}50%{opacity:.88;transform:translate(12%)scaleX(1)}}@keyframes character-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}@media (width<=760px){.earth-edge{width:200px;height:200px;top:calc(100% - 87px)}.character-orbit-track{width:100%;height:59px;margin-left:0;top:calc(100% - 146px);left:0;transform:none}.character-orbit-track>.weather-character{width:66px}.outfit-layout{grid-template-columns:72px minmax(0,1fr);gap:8px}.outfit-figure-wrap{min-height:118px}.outfit-weather-character{width:62px}.music-card{grid-template-columns:72px minmax(0,1fr);gap:12px}.music-portrait{width:72px;height:72px}}@media (prefers-reduced-motion:reduce){.character-orbit-track>.weather-character,.earth-map-plane,.earth-longitude-highlight,.hero-starfield i,.weather-scene-clear .hero-meteor,.character-expression-eyes,.character-body,.character-leg,.character-sleeve,.character-shadow{animation:none!important}.character-orbit-track>.weather-character{opacity:1;transform:translate(-50%)}}.tarot-reading-card{background:linear-gradient(130deg,#e2be7014,#8577b10e);border:1px solid #e2be7033;border-radius:14px;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:10px;margin-top:15px;padding:11px 12px;display:grid}.tarot-card-symbol{color:#ead59e;background:linear-gradient(155deg,#3d4056e6,#1c2c3af2);border:1px solid #e2c88e80;border-radius:7px;place-items:center;width:36px;height:48px;font-size:19px;display:grid;box-shadow:inset 0 0 0 3px #e2c88e14,0 4px 12px #0000002e}.tarot-reading-card>div{gap:3px;min-width:0;display:grid}.tarot-card-eyebrow,.tarot-reading-card small{color:#9db5ab;font-size:8px}.tarot-reading-card strong{color:#e8d6a8;font-size:11px}.tarot-reading-card p{color:#b4c6bc;margin:3px 0 0;font-size:9px;line-height:1.6}.tarot-disclaimer{color:#7f9994;margin:7px 0 0;font-size:8px;line-height:1.5}.share-section{gap:11px;display:grid}.share-section .section-heading{margin-bottom:0}.share-card-mark{color:#ead59e;background:#e2be7012;border:1px solid #e2be7045;border-radius:11px;place-items:center;width:31px;height:31px;display:grid}.share-card-artwork{border:1px solid #d7c18d47;border-radius:16px;width:100%;height:auto;display:block;overflow:hidden;box-shadow:0 12px 32px #0003}.share-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.share-card-actions button{color:#dce9df;min-height:39px;font:inherit;cursor:pointer;background:linear-gradient(130deg,#478e7d38,#27485152);border:1px solid #97d3be3d;border-radius:12px;font-size:10px;font-weight:650;transition:background-color .18s,border-color .18s,transform .18s}.share-card-actions button:hover:not(:disabled){background-color:#5faf9433;border-color:#b8e8c67a;transform:translateY(-1px)}.share-card-actions button:disabled{opacity:.58;cursor:progress}.share-card-status{color:#b9d8bd;margin:0;font-size:9px;line-height:1.6}.music-card .music-portrait{border-radius:50%}*,:before,:after{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}.music-copy h2{font-size:clamp(17px,1.5vw,19px)}.share-card-intro{color:#b7c9c0;margin:0;font-size:13px;line-height:1.65}.share-card-preview-trigger{color:#e4eee3;min-height:46px;font:inherit;cursor:pointer;background:linear-gradient(120deg,#478e7d52,#27485166);border:1px solid #97d3be52;border-radius:14px;padding:0 16px;font-size:15px;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s}.share-card-preview-trigger:hover{background-color:#5faf9433;border-color:#b8e8c68c;transform:translateY(-1px)}.share-preview-backdrop{z-index:100;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030a13c7;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.share-preview-dialog{background:linear-gradient(145deg,#142638,#0d1b2b);border:1px solid #d7c18d47;border-radius:22px;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;width:min(100%,560px);max-height:100%;padding:20px;display:grid;overflow:hidden;box-shadow:0 24px 80px #0000006b}.share-preview-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-preview-heading .eyebrow{margin-bottom:5px}.share-preview-heading h2{color:#f0ead9;margin:0;font-size:21px}.share-preview-close{color:#e1ece1;width:40px;height:40px;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #cce0d633;border-radius:50%;flex:none;font-size:25px}.share-preview-close:disabled{opacity:.55}.share-preview-artwork{overscroll-behavior:contain;place-items:center;min-height:0;display:grid;overflow:auto}.share-preview-artwork .share-card-artwork{aspect-ratio:2/3;width:auto;max-width:100%;height:auto;max-height:100%}.share-preview-dialog .share-card-actions button{min-height:48px;font-size:15px}.share-preview-dialog .share-card-status{font-size:13px}@media (width<=760px){.section-heading h2{font-size:18px}.share-preview-backdrop{padding-left:10px;padding-right:10px}.share-preview-dialog{gap:12px;width:min(100%,500px);max-height:100%;padding:15px}.share-preview-heading h2{font-size:19px}.share-preview-artwork .share-card-artwork{max-height:min(63dvh,680px)}}.share-preview-backdrop{box-sizing:border-box;width:100vw;height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));place-items:center;position:fixed;inset:0}.share-preview-dialog{height:auto;max-height:calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)))}.share-preview-artwork .share-card-artwork{max-height:min(58dvh,680px)}.week-list{grid-template-rows:repeat(7,minmax(48px,auto));display:grid}.week-row{border-top:1px solid #a4bfc01a}.week-row:first-child{border-top-color:#0000}.weather-scene-clear .hero-meteor{visibility:visible;animation:2s linear infinite meteor-cross}.weather-rain i{filter:drop-shadow(0 0 2px #95d7ff52);background:linear-gradient(#0000,#d5f4ffcc 44%,#93cdef94);width:2px;height:21px}.weather-rain.is-heavy i{height:26px;animation-duration:.78s}.weather-rain i:nth-child(3n){opacity:.7;width:1px;height:15px}.weather-rain i:nth-child(4n){animation-duration:.92s}.weather-snow i{text-shadow:0 0 7px #d0efffa3}.weather-lightning{animation:7.8s step-end infinite lightning-flash}.weather-lightning:after{clip-path:polygon(54% 0,100% 0,68% 42%,100% 42%,14% 100%,41% 55%,0 55%);filter:drop-shadow(0 0 7px #ccebfff0);content:"";background:#eaf5ff;width:12px;height:33px;position:absolute;top:31px;left:16px}@media (width<=760px){.share-preview-backdrop{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.share-preview-dialog{max-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)))}.share-preview-artwork .share-card-artwork{max-height:min(58dvh,620px)}}.hero-meteor{width:96px;animation:2.6s linear infinite meteor-fall;top:4%;left:84%;transform:rotate(135deg)}.weather-scene-clear .hero-meteor{animation:2.6s linear infinite meteor-fall}@keyframes meteor-fall{0%{opacity:0;transform:translateY(-30px)rotate(135deg)}8%{opacity:1}36%{opacity:.9}47%,to{opacity:0;transform:translate(-220px,190px)rotate(135deg)}}.weather-character .held-umbrella{animation:none}.character-rain .character-sleeve-right,.character-storm .character-sleeve-right{animation:none!important}.weather-scene-storm .weather-lightning{z-index:8;background:#eaf5ff;width:34px;height:106px;animation:7.8s step-end infinite storm-bolt;top:10%;left:68%}.storm-sky-flash{z-index:6;pointer-events:none;background:radial-gradient(at 70% 12%,#d4ebff61,#0000 75%);animation:7.8s step-end infinite storm-sky;position:absolute;inset:0}@keyframes storm-bolt{0%,3%,8%,to{opacity:0}1%,5%{opacity:1}6%{opacity:.45}}@keyframes storm-sky{0%,3%,8%,to{opacity:0}1%,5%{opacity:.8}6%{opacity:.25}}.weather-rain i,.weather-snow i,.hero-starfield i,.hero-grain:before,.hero-grain:after{will-change:auto;filter:none}.section-card{contain:style}[data-offscreen=true],[data-offscreen=true] *,[data-offscreen=true]:before,[data-offscreen=true]:after,[data-offscreen=true] :before,[data-offscreen=true] :after,html[data-app-hidden=true] *,html[data-app-hidden=true] :before,html[data-app-hidden=true] :after{animation-play-state:paused!important}.music-copy>p:not(.eyebrow){font-size:12px;line-height:1.85}.music-listening{color:#c3d1c5!important}.music-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.music-actions button{color:#e5d1a9;cursor:pointer;background:#d1bb8f14;border:1px solid #d1bb8f59;border-radius:18px;padding:7px 12px}.music-actions button:focus-visible,.page-footer a:focus-visible{outline-offset:4px;outline:2px solid #96e0cd}.page-footer{flex-wrap:wrap}.page-footer a{color:#b3d5ce;overflow-wrap:anywhere}.weather-cache-notice{color:#d8c7a0;font-size:12px;line-height:1.7}.forecast-derived{color:#a2b7af;margin-top:3px;font-size:9px;display:block}.week-row{min-height:48px;animation:none}@media (width<=600px){.music-card{grid-template-columns:56px minmax(0,1fr);align-items:start}.music-portrait{width:56px;height:56px}}@media (prefers-reduced-motion:reduce){.weather-scene-clear .hero-meteor,.hero-meteor,.weather-scene-storm .weather-lightning,.storm-sky-flash{opacity:0;animation:none!important}}html{scrollbar-gutter:stable}.current-card.is-loading .hero-copy{opacity:1;filter:none;transform:none}.current-temperature span,.current-condition span,.hero-high-low strong,.detail-tile>strong{font-variant-numeric:tabular-nums;animation:none}.current-card .network-loading{margin:0;position:absolute;bottom:-38px;left:0}.hero-copy{position:relative}.weather-cache-notice{z-index:50;background:#17323d;border-radius:16px;max-width:min(90vw,520px);padding:10px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0004}.hero-meteor,.weather-scene-clear .hero-meteor{width:90px;animation:12s linear 1s infinite meteor-gentle;top:8%;left:5%}@keyframes meteor-gentle{0%{opacity:0;transform:translate(-90px,-35px)rotate(35deg)}5%{opacity:.85}35%{opacity:.85}43%,to{opacity:0;transform:translate(460px,350px)rotate(35deg)}}.character-orbit-track>.singer-character{width:91px;height:136px;bottom:-2px}.singer-character{height:auto;display:block}.singer-figure{object-fit:contain;transform-origin:50% 95%;width:100%;height:100%;animation:5.6s ease-in-out infinite singer-breathe;display:block}.singer-character:hover .singer-figure{animation:1.3s ease-in-out singer-greet}.singer-weather-prop{color:#b1e3d1;font-size:38px;position:absolute;top:-22px;left:22px;transform:rotate(-12deg)}.snow-prop{font-size:19px;top:28%;left:75%}@keyframes singer-breathe{0%,to{transform:rotate(-2deg)translateY(0)}45%{transform:rotate(1.5deg)translateY(-3px)}70%{transform:rotate(.4deg)translateY(-1px)}}@keyframes singer-greet{0%,to{transform:rotate(-2deg)}40%{transform:rotate(5deg)translateY(-5px)}70%{transform:rotate(-3deg)}}.poem-card{isolation:isolate;min-height:240px;padding-right:105px}.poet-figure{object-fit:contain;opacity:.85;pointer-events:none;z-index:-1;width:130px;height:208px;position:absolute;bottom:-10px;right:-4px;-webkit-mask-image:linear-gradient(#000 83%,#0000);mask-image:linear-gradient(#000 83%,#0000)}.poem-card .poem-ink-illustration{opacity:.18}.poem-card blockquote{font-size:18px;line-height:1.95;position:relative}.poem-seal{display:none}.music-portrait{align-self:start}.music-copy h2{overflow-wrap:anywhere;line-height:1.6}.share-preview-dialog{background:radial-gradient(at 50% 15%,#29424a,#0000 65%),#101e2e;grid-template-rows:auto minmax(0,1fr) auto auto;width:min(100%,510px)}.share-preview-artwork{perspective:1400px;min-height:250px;position:relative;overflow:hidden}.share-preview-artwork .share-card-artwork{border-color:#cbb48266;border-radius:20px;max-width:100%;max-height:min(60dvh,680px);box-shadow:0 18px 45px #0006}.draw-shuffling .share-card-artwork{visibility:hidden}.draw-revealed .share-card-artwork{backface-visibility:hidden;animation:.9s cubic-bezier(.18,.8,.24,1) both card-unveil}.draw-ceremony{background:radial-gradient(#bda76922,#0000 65%);place-content:center;justify-items:center;gap:32px;display:grid;position:absolute;inset:0}.draw-ceremony p{color:#d9c89e;letter-spacing:.12em;text-align:center;font-size:13px}.draw-deck{place-items:center;width:154px;height:224px;display:grid;position:relative}.draw-deck i{background:repeating-linear-gradient(45deg,#d7c18d09 0 1px,#0000 1px 12px),linear-gradient(145deg,#2c4a55,#152a3f);border:1px solid #d7c18d;border-radius:16px;animation:1.8s ease-in-out both deck-shuffle;position:absolute;inset:0;box-shadow:inset 0 0 0 7px #1b3445,inset 0 0 0 8px #d7c18d55,0 12px 30px #0005}.draw-deck i:first-child{--fan:-22deg;--slide:-42px}.draw-deck i:nth-child(2){--fan:22deg;--slide:42px}.draw-deck i:nth-child(3){--fan:0deg;--slide:0px}.draw-deck span{z-index:1;color:#ead5a2;text-shadow:0 0 35px #eed291;font-size:55px;animation:1s ease-in-out infinite alternate draw-star}@keyframes deck-shuffle{0%,to{transform:translate(0)rotate(0)}35%,65%{transform:translateX(var(--slide)) rotate(var(--fan))}85%{transform:translateY(-10px)}}@keyframes draw-star{to{opacity:.45;transform:scale(.85)rotate(20deg)}}@keyframes card-unveil{0%{opacity:0;filter:brightness(1.8);transform:rotateY(-80deg)translateY(24px)scale(.94)}to{opacity:1;filter:brightness();transform:rotateY(0)translateY(0)scale(1)}}@media (width<=760px){.character-orbit-track>.singer-character{width:78px;height:117px}.poem-card{padding-right:108px}.share-preview-dialog{gap:12px;padding:14px}}@media (prefers-reduced-motion:reduce){.singer-figure,.draw-deck i,.draw-deck span,.draw-revealed .share-card-artwork{animation:none}.hero-meteor,.weather-scene-clear .hero-meteor{opacity:0;animation:none!important}}.poem-card blockquote{letter-spacing:.02em;font-size:clamp(15px,4vw,17px)}.poem-card blockquote span{text-wrap:pretty;display:block}.poem-credit{text-align:left;margin-top:16px}.poet-figure{opacity:.78;width:111px;right:0}.living-portrait{width:100%;height:100%;display:block;position:relative}.portrait-rig{transform-origin:50% 94%;animation:7s ease-in-out infinite singer-groove;position:absolute;inset:0}.portrait-part{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.living-singer .part-body{clip-path:polygon(0 20%,100% 20%,100% 88%,0 88%)}.living-singer .part-head{clip-path:polygon(0 0,100% 0,100% 21%,0 21%);transform-origin:48% 20%;animation:3.6s ease-in-out infinite singer-nod}.living-singer .part-feet{clip-path:polygon(0 87%,100% 87%,100% 100%,0 100%);transform-origin:50% 88%;animation:1.8s ease-in-out infinite singer-tap}.portrait-note{color:#edd8a8;letter-spacing:.03em;opacity:0;background:#17313bea;border:1px solid #d8c18b66;border-radius:12px 12px 12px 0;width:max-content;max-width:145px;padding:6px 9px;font-size:10px;animation:12s infinite portrait-quip;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.portrait-shadow{background:#0005;border-radius:50%;height:5px;animation:3.5s infinite shadow-bounce;position:absolute;bottom:0;left:20%;right:20%}.character-moment{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;align-content:end;justify-items:center;gap:8px;padding:0;display:grid}.character-moment>span{width:84px;height:134px;display:block}.character-moment small{color:#d7c18d;white-space:nowrap;font-size:10px;line-height:1.6}.character-moment:focus-visible{outline-offset:5px;border-radius:12px;outline:2px solid #9edbc9}.moment-active .portrait-rig{animation:1.8s ease-in-out both impromptu}.moment-active.take-0 .portrait-rig{animation-name:impromptu-encore}.moment-active .portrait-note{animation:2.5s both quip-reveal}.living-poet .portrait-rig{animation:8s ease-in-out infinite poet-verse}.living-poet .part-body{clip-path:polygon(0 0,67% 0,67% 15%,87% 29%,100% 52%,100% 100%,0 100%)}.living-poet .part-cup{clip-path:polygon(67% 0,100% 0,100% 52%,87% 29%,67% 15%);transform-origin:75% 28%;animation:6s ease-in-out infinite poet-toast}.poet-moment{z-index:1;position:absolute;bottom:8px;right:6px}.poet-moment small{font-size:9px}.poem-card{min-height:270px;padding-right:128px}.poet-moment .portrait-note{font-size:9px;left:28%}@keyframes singer-groove{0%,45%,to{transform:rotate(-2deg)}12%,32%{transform:translateY(-7px)rotate(4deg)}22%{transform:translate(-5px)rotate(-5deg)}60%{transform:translate(4px)rotate(6deg)}70%{transform:translateY(-9px)rotate(-3deg)scale(1.02,.98)}82%{transform:rotate(3deg)}}@keyframes singer-nod{0%,50%,to{transform:rotate(0)}15%,35%{transform:rotate(7deg)}25%{transform:rotate(-5deg)}70%{transform:rotate(-6deg)}}@keyframes singer-tap{0%,45%,to{transform:translateY(0)}20%{transform:translateY(-3px)rotate(-3deg)}70%{transform:rotate(3deg)}}@keyframes portrait-quip{0%,65%,to{opacity:0}70%,90%{opacity:1}}@keyframes quip-reveal{0%,to{opacity:0}10%,85%{opacity:1}}@keyframes shadow-bounce{50%{opacity:.45;transform:scaleX(.7)}}@keyframes poet-verse{0%,to{transform:rotate(-1deg)}35%{transform:translate(-4px)rotate(2deg)}70%{transform:translateY(-4px)rotate(-2deg)}}@keyframes poet-toast{0%,25%,to{transform:rotate(0)}45%,65%{transform:rotate(-9deg)translateY(-3px)}80%{transform:rotate(3deg)}}@keyframes impromptu{0%,to{transform:rotate(0)}20%{transform:translateY(-12px)rotate(-12deg)}45%{transform:rotate(10deg)scale(1.04,.96)}65%{transform:translateY(-8px)rotate(-6deg)}85%{transform:rotate(3deg)}}@keyframes impromptu-encore{0%,to{transform:rotate(0)}20%{transform:translate(8px)rotate(10deg)}45%{transform:translateY(-14px)rotate(-8deg)}75%{transform:rotate(5deg)scale(.95,1.05)}}.weather-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.weather-particles i{left:var(--x);top:var(--y);animation-duration:var(--duration);animation-delay:var(--delay);animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.particles-clear i{background:#f4d78e;border-radius:50%;width:4px;height:4px;animation-name:sun-mote;box-shadow:0 0 12px #ffe8a8}.particles-clear.at-night i{background:#bce8fa;box-shadow:0 0 8px #bce8fa}.particles-cloudy i{background:linear-gradient(90deg,#0000,#cfdae322,#0000);border-radius:50%;width:75px;height:14px;animation-name:cloud-wisp}.particles-fog i{left:-40%;top:var(--y);background:linear-gradient(90deg,#0000,#d2e5e51c,#0000);border-radius:50%;width:130%;height:45px;animation-name:fog-bank}.particles-rain i,.particles-storm i{top:auto;bottom:calc(7% + var(--scale) * 12%);border:1px solid #b8e7fa66;border-radius:50%;width:17px;height:5px;animation-name:rain-ripple;animation-duration:2s}.particles-storm i{border-color:#d5d9ff88;animation-duration:1.2s}.particles-snow i{background:#fff;border-radius:50%;width:3px;height:3px;animation-name:snow-drift}.weather-scene:not(.weather-scene-clear) .hero-meteor{display:none}@keyframes sun-mote{0%,to{opacity:0;transform:translateY(20px) scale(var(--scale))}50%{opacity:.8;transform:translate(-12px,-24px) scale(var(--scale))}}@keyframes cloud-wisp{0%{opacity:0;transform:translate(-100px)}50%{opacity:.8}to{opacity:0;transform:translate(100px)}}@keyframes fog-bank{0%,to{opacity:.2;transform:translate(-12%)}50%{opacity:.8;transform:translate(30%)}}@keyframes rain-ripple{0%{opacity:.7;transform:scale(.1)}to{opacity:0;transform:scale(1.8)}}.music-card{grid-template-columns:88px minmax(0,1fr);align-items:start;gap:18px}.music-copy>.music-review-label,.music-album{letter-spacing:.08em;color:#c7b187;margin-top:12px;font-size:10px;display:block}.music-copy>.music-review{color:#e0e7e1;font-size:13px;line-height:1.95;animation:.5s both review-arrive}.music-album{color:#91aaa8;letter-spacing:0;margin:10px 0}@keyframes review-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.zodiac-picker{color:#a7bcb8;z-index:1;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;font-size:11px;display:flex;position:relative}.zodiac-picker select{color:#efdfbd;font:inherit;background:#19343c;border:1px solid #d7c18d44;border-radius:10px;max-width:65%;padding:9px 12px}.zodiac-card .zodiac-reading-grid{grid-template-columns:1fr;gap:0}.zodiac-reading{background:0 0;border:0;border-bottom:1px solid #bdd6c918;grid-template-columns:72px minmax(0,1fr);column-gap:12px;padding:15px 0;display:grid}.zodiac-reading>p{margin:0;line-height:1.85}.zodiac-reading .zodiac-score{grid-column:2;margin-top:7px}.tarot-reading-card{background:linear-gradient(145deg,#d7bd8412,#263d4b44);border:1px solid #d7bd8433;border-radius:16px;align-items:start;margin-top:24px;padding:20px 16px}.tarot-reading-card>div{min-width:0}.tarot-details{border-top:1px solid #d7bd8429;margin-top:14px;padding-top:12px}.tarot-details p{line-height:1.85}.tarot-advice{gap:12px;margin:16px 0;display:grid}.tarot-advice small{color:#e0c58c;font-size:11px}.tarot-advice p{margin:5px 0 0}.tarot-details summary{cursor:pointer;color:#b4d8cf;padding:9px 0;font-size:12px}.zodiac-card .zodiac-constellation{opacity:.25;pointer-events:none}.share-preview-dialog{flex-direction:column;max-height:94dvh;display:flex;overflow-y:auto}.share-preview-artwork{flex:1 0 auto;min-height:min(460px,58dvh)}.draw-shuffling .share-card-artwork,.draw-waiting .share-card-artwork{visibility:hidden}.draw-revealing .share-card-artwork{animation:1s both reveal-face}.draw-revealed .share-card-artwork{animation:.6s both card-settle}.draw-ceremony{z-index:2;gap:20px;padding:30px 12px}.draw-waiting .draw-deck i{animation:4s ease-in-out infinite deck-wait}.draw-waiting .draw-deck i:first-child{transform:translate(-24px)rotate(-12deg)}.draw-waiting .draw-deck i:nth-child(2){transform:translate(24px)rotate(12deg)}.draw-revealing .draw-ceremony{pointer-events:none;animation:1s both reveal-back}.draw-orbit{border:1px solid #d7c18d22;border-radius:50%;width:270px;height:270px;animation:3s ease-in-out infinite orbit-bloom;position:absolute;top:16%;left:calc(50% - 135px);box-shadow:0 0 60px #d7c18d12,inset 0 0 60px #d7c18d0a}.draw-reveal-button{color:#fff8e5;min-height:44px;font:inherit;cursor:pointer;background:linear-gradient(120deg,#79623c,#b09a67);border:1px solid #e2c78c88;border-radius:24px;padding:12px 24px;box-shadow:0 4px 25px #d1ae5022}.card-sound-toggle{color:#dac79f;cursor:pointer;background:0 0;border:1px solid #d7c18d44;border-radius:20px;align-self:flex-end;padding:7px 12px;font-size:11px}.draw-progress{text-align:center;color:#bfcac0;letter-spacing:.1em;margin:10px 0;font-size:11px}@keyframes deck-wait{50%{translate:0 -8px}}@keyframes orbit-bloom{50%{opacity:.5;transform:scale(1.12)}}@keyframes reveal-back{0%,35%{opacity:1;transform:rotateY(0)}65%,to{opacity:0;transform:rotateY(90deg)}}@keyframes reveal-face{0%,45%{opacity:0;transform:rotateY(-90deg)scale(.92)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes card-settle{0%{filter:brightness(1.25)}to{filter:brightness()}}@media (width<=600px){.music-card{grid-template-columns:68px minmax(0,1fr);gap:14px}.singer-moment>span{width:66px;height:110px}.tarot-reading-card{display:block}.tarot-card-symbol{margin-bottom:12px;display:inline-block}.zodiac-lucky-details{flex-wrap:wrap;gap:10px}.poem-card{padding-right:120px}.poem-card blockquote{font-size:15px}.draw-deck{width:125px;height:180px}.draw-ceremony p{letter-spacing:.04em;font-size:11px}}@media (prefers-reduced-motion:reduce){.portrait-rig,.portrait-part,.portrait-note,.portrait-shadow,.weather-particles i,.draw-orbit,.draw-deck i,.draw-revealing .draw-ceremony,.draw-revealing .share-card-artwork,.draw-revealed .share-card-artwork,.music-review{animation:none!important}.draw-revealing .draw-ceremony{display:none}}.weather-character.outfit-weather-character{width:66px;height:118px;min-height:118px}.actor-svg{width:100%;height:100%;display:block;overflow:visible}.actor-whole{transform-origin:60px 180px;animation:3.8s ease-in-out infinite actor-bop}.actor-head{transform-origin:60px 65px;animation:5s ease-in-out infinite actor-cheeky}.actor-arm{transform-box:view-box}.arm-left{transform-origin:43px 80px;animation:2.6s ease-in-out infinite mic-swing}.arm-right{transform-origin:77px 81px;animation:3.4s ease-in-out infinite actor-wave}.actor-leg{transform-origin:60px 132px}.leg-left{animation:1.2s ease-in-out infinite actor-step}.leg-right{animation:1.2s ease-in-out -.6s infinite actor-step}.actor-eyes{transform-origin:60px 42px;animation:5.4s infinite actor-blink}.actor-brows{animation:4s ease-in-out infinite eyebrow-play}.actor-mouth{transform-origin:60px 57px;animation:4.6s ease-in-out infinite actor-smile}.wardrobe-winter{--actor-coat:#687a9b}.wardrobe-rain{--actor-coat:#ac9858}.wardrobe-summer{--actor-coat:#689a8e}.character-rain .actor-whole,.character-storm .actor-whole{animation:2s ease-in-out infinite rain-dodge}.character-snow .actor-whole{animation:3s linear infinite snow-shiver}.character-fog .actor-head{animation:5s ease-in-out infinite fog-peek}.music-card{align-items:center}.music-card .character-moment{align-content:center}.music-card .singer-moment>span{width:88px;height:155px}.character-performance{min-width:0}.recitation-status{color:#d9c89d;max-width:150px;margin-top:8px;font-size:10px;line-height:1.7;display:block}.poem-card{grid-template-columns:minmax(0,1fr) 116px;align-content:center;column-gap:12px;min-height:280px;padding:24px;display:grid}.poem-card .section-heading,.poem-card blockquote,.poem-card .poem-credit,.poem-card>.air-quality-message{grid-column:1}.poem-card .section-heading{margin-bottom:18px}.poem-card blockquote{letter-spacing:.04em;margin:0;font-size:clamp(15px,1.5vw,18px);line-height:2.1}.poem-card .poem-credit{margin-bottom:0}.poet-performance{grid-area:1/2/span 4;align-self:center}.poet-moment{position:static}.living-poet .arm-right{animation:4.4s ease-in-out infinite actor-toast}.living-poet .arm-left{animation:6s ease-in-out infinite mic-swing}.living-poet .leg-left,.living-poet .leg-right{animation-duration:1.6s}.is-reciting .actor-brows{animation:1.8s ease-in-out infinite eyebrow-play}.is-reciting .actor-leg{animation-play-state:paused}.lunar-culture{border-top:1px solid #c5dab522;gap:18px;margin-top:18px;padding-top:18px;display:grid}.calendar-hour{background:#bed4b008;border-radius:12px;gap:7px;padding:14px;display:grid}.calendar-hour>span,.culture-label{color:#d6c08f;letter-spacing:.08em;font-size:11px}.calendar-hour>strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.lunar-culture p{color:#c1d0c4;margin:8px 0;font-size:12px;line-height:1.9}.lunar-culture small{color:#8fa8a4;font-size:10px;line-height:1.8}.lunar-culture summary{color:#b4d5cc;cursor:pointer;padding:8px 0;font-size:12px}@keyframes actor-bop{0%,to{transform:translateY(0)rotate(-2deg)}25%{transform:translateY(-7px)rotate(4deg)}50%{transform:rotate(-4deg)}75%{transform:translateY(-4px)rotate(2deg)}}@keyframes actor-cheeky{0%,to{transform:rotate(0)}25%{transform:rotate(12deg)}60%{transform:rotate(-9deg)translateY(-2px)}}@keyframes mic-swing{50%{transform:rotate(18deg)}}@keyframes actor-wave{0%,60%,to{transform:rotate(0)}15%,40%{transform:rotate(-22deg)}28%{transform:rotate(12deg)}}@keyframes actor-step{0%,to{transform:rotate(-6deg)}50%{transform:rotate(8deg)translateY(-2px)}}@keyframes actor-blink{0%,42%,46%,to{transform:scaleY(1)}44%{transform:scaleY(.1)}70%{transform:rotate(-6deg)}}@keyframes eyebrow-play{20%,45%{transform:translateY(-2px)rotate(-2deg)}75%{transform:translateY(1px)}}@keyframes actor-smile{50%{transform:scale(1.2,1.4)}}@keyframes rain-dodge{0%,to{transform:rotate(-8deg)translate(-4px)}50%{transform:rotate(5deg)translate(5px,-5px)}}@keyframes snow-shiver{0%,30%,to{transform:rotate(0)}35%,45%,55%{transform:rotate(-3deg)}40%,50%,60%{transform:rotate(3deg)}}@keyframes fog-peek{25%{transform:translate(5px)rotate(12deg)}75%{transform:translate(-4px)rotate(-10deg)}}@keyframes actor-solo{20%{transform:translateY(-14px)rotate(-12deg)}45%{transform:rotate(15deg)}70%{transform:translateY(-8px)rotate(-8deg)}}@keyframes actor-solo-encore{25%{transform:rotate(15deg)translate(8px)}50%{transform:translateY(-18px)rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes poet-walk{0%,to{transform:translate(-8px)rotate(-2deg)}45%,55%{transform:translate(8px)rotate(2deg)}}@keyframes poet-look{30%{transform:rotate(-8deg)}70%{transform:rotate(6deg)}}@keyframes actor-toast{35%,65%{transform:rotate(-20deg)}}@keyframes poet-recite{50%{transform:rotate(-4deg)translateY(-3px)}}@keyframes speaking-mouth{0%{transform:scaleY(.65)}to{transform:scaleY(1.8)}}@media (width<=600px){.poem-card{grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:20px}.poet-moment>span{width:94px;height:166px}.music-card .singer-moment>span{width:66px;height:126px}.poet-moment small{white-space:normal;font-size:9px}}@media (prefers-reduced-motion:reduce){.actor-whole,.actor-head,.actor-arm,.actor-leg,.actor-eyes,.actor-brows,.actor-mouth{animation:none!important}}.main-grid{align-items:start}.primary-column,.side-column{gap:20px;min-width:0}.main-grid .section-card{overflow-wrap:anywhere;min-width:0;margin:0;padding:24px}.section-heading{align-items:start;gap:16px}.section-heading h2{font-size:20px;line-height:1.5}.section-heading .eyebrow{line-height:1.7}.panel-mark{color:#d7c18d;font-size:28px}.panel-intro,.panel-footnote{color:#aabfb7;margin:12px 0 0;font-size:12px;line-height:1.85}.panel-footnote{color:#8fa7a1;font-size:10px}.exam-section{margin:24px 0;padding:24px}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.exam-clock{background:linear-gradient(130deg,#aacbb00b,#ccb2760c);border:1px solid #b8d6c522;border-radius:16px;min-width:0;padding:20px}.exam-clock-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.exam-clock h3{margin:0;font-size:16px;font-weight:500}.exam-clock-top>span{color:#b9cbba;font-size:10px}.exam-days{flex-wrap:wrap;align-items:baseline;gap:14px;margin:14px 0 22px;display:flex}.exam-days strong{color:#e5c98d;font-variant-numeric:tabular-nums;font-size:clamp(44px,6vw,64px);font-weight:400;line-height:1}.exam-days>span{color:#b7ccc0;font-size:12px}.exam-clock label{color:#adbfba;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.exam-clock input{box-sizing:border-box;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e1dfc7;min-width:0;max-width:100%;font:inherit;background:#173039;border:1px solid #bfd4bc33;border-radius:8px;padding:9px}.exam-note{color:#93ada6;margin:14px 0 6px;font-size:11px;line-height:1.8}.exam-clock a{color:#bbdacb;font-size:10px}.exam-clock>small{color:#d6c395;margin-top:8px;font-size:10px;display:block}.enneagram-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.enneagram-options button{color:#b8ccc2;min-height:52px;font:inherit;cursor:pointer;background:#bdd0bd06;border:1px solid #c2d7c322;border-radius:10px;padding:8px 4px;font-size:11px}.enneagram-options button>span{color:#d5bd88;margin-bottom:3px;font-size:15px;display:block}.enneagram-options button[aria-pressed=true]{color:#f3e8cb;background:#d6bf8520;border-color:#cdb785aa}.enneagram-reading{background:#a8c5b408;border:1px solid #aecbb11a;border-radius:14px;padding:18px}.enneagram-reading h3{margin:8px 0 16px;font-size:15px;font-weight:500;line-height:1.8}.enneagram-reading dl{gap:14px;margin:0;display:grid}.enneagram-reading dt{color:#d3c091;margin-bottom:5px;font-size:10px}.enneagram-reading dd{color:#bfcec4;margin:0;font-size:12px;line-height:1.9}.enneagram-reading blockquote{color:#a8cfc0;border-top:1px solid #c4d6c122;margin:18px 0 0;padding:12px 0 0;font-size:12px;line-height:1.9}.main-grid .poem-card{grid-template-columns:minmax(0,1fr);gap:0;padding:24px;display:grid}.poem-card .section-heading,.poem-card .poetry-toolbar,.poem-card blockquote,.poem-card .poem-credit,.poem-card>.air-quality-message{grid-area:auto/1}.poem-card .section-heading{order:0;margin-bottom:16px}.poem-card .poetry-toolbar{order:1}.poem-card blockquote{text-align:left;order:2;margin:0;padding:22px 0 16px;font-size:17px;line-height:2}.poem-card .poem-credit{order:3;margin:0;font-size:11px;line-height:1.8}.poem-card .poet-performance{border-top:1px solid #bfcebc22;order:4;grid-area:auto/1;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:24px;margin-top:18px;padding:16px 12px 0;display:grid}.poet-moment>span{width:100px;height:155px}.poet-performance .recitation-status{color:#d6c49a;max-width:none;margin:0;font-size:13px;line-height:1.95}.poetry-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.poetry-toolbar label{color:#a9bdb6;align-items:center;gap:8px;font-size:11px;display:flex}.poetry-toolbar select,.poetry-toolbar button{color:#e1cfaa;min-height:38px;font:inherit;cursor:pointer;background:#213840;border:1px solid #c6d1aa33;border-radius:8px;padding:8px 12px;font-size:12px}.poetry-tone{color:#a0bdb3;margin-top:4px;font-size:10px;display:block}.current-card{padding-bottom:120px}.thermal-caption{color:#dccb9f;z-index:3;background:#19343caa;border:1px solid #cfdfc522;border-radius:10px;margin:0;padding:9px 12px;font-size:11px;line-height:1.7;position:absolute;bottom:62px;left:28px;right:28px}.living-singer .portrait-note{display:none}.actor-summer{--actor-coat:#6dafa5}.actor-winter{--actor-coat:#6a819a}.actor-summer .actor-coat{transform-origin:60px 70px;transform:translateY(-7px)scaleY(.98)}.actor-summer .actor-arm>path:first-child{stroke-width:11px;stroke:#e4b68d}.thermal-hot .actor-mouth{animation:1.5s infinite hot-pant;transform:scale(.65,1.8)}.thermal-cold .arm-left{animation:none;transform:rotate(-42deg)}.thermal-cold .arm-right{animation:none;transform:rotate(53deg)}.thermal-cold .actor-leg{animation:none}.heat-droplets{animation:2s ease-in infinite sweat-fall}.cold-breath{animation:3s ease-out infinite breath-cloud}.zodiac-card .zodiac-constellation{display:none}.zodiac-card-glow{pointer-events:none;opacity:.2}.music-card .singer-performance{align-self:center}.main-grid .section-card h2{overflow-wrap:anywhere}@keyframes actor-fan{50%{transform:rotate(-30deg)}}@keyframes hot-pant{50%{transform:scale(.8,1.6)}}@keyframes heat-sway{50%{transform:rotate(3deg)translateY(3px)}}@keyframes cold-huddle{0%,to{transform:translateY(8px)scale(.9,.94)rotate(-3deg)}45%,55%,65%{transform:translateY(8px)scale(.9,.94)rotate(-5deg)}50%,60%{transform:translateY(8px)scale(.9,.94)rotate(-1deg)}}@keyframes cold-nod{50%{transform:translateY(5px)rotate(6deg)}}@keyframes cold-teeth{to{transform:translate(1px)scaleY(.5)}}@keyframes sweat-fall{0%{opacity:0;transform:translateY(-4px)}30%{opacity:1}to{opacity:0;transform:translateY(15px)}}@keyframes breath-cloud{0%{opacity:0;transform:scale(.8)}30%{opacity:.8}to{opacity:0;transform:translate(8px)scale(1.15)}}@media (width<=600px){.main-grid .section-card,.exam-section{padding:20px}.exam-grid{grid-template-columns:1fr;gap:12px}.exam-clock{padding:16px}.poem-card blockquote{font-size:16px}.current-card{padding-bottom:142px}.thermal-caption{font-size:10px;bottom:67px;left:20px;right:20px}.poem-card .poet-performance{gap:12px}}@media (prefers-reduced-motion:reduce){.heat-droplets,.cold-breath,.thermal-hot .actor-whole,.thermal-cold .actor-whole,.thermal-hot .arm-right,.thermal-cold .actor-head,.thermal-cold .actor-mouth{animation:none!important}}.current-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px;min-height:0;padding:30px;display:grid}.current-card .hero-copy{grid-area:1/1;align-self:center;width:100%;min-width:0}.current-card .hero-scene{grid-area:1/2;width:100%;height:310px;position:relative;inset:auto;overflow:hidden}.current-card .thermal-caption{grid-column:1/-1;margin:0;position:relative;inset:auto}.current-card .hero-bottom{flex-wrap:wrap;grid-column:1/-1;gap:12px;margin:0;padding-top:0}.current-card .hero-bottom-note{max-width:none}.current-card .ambience-error{grid-column:1/-1;margin:0;position:static}.current-card .network-loading{margin-top:14px;position:static}.hero-location,.hero-bottom-actions{flex-wrap:wrap}.main-grid .outfit-layout{grid-template-columns:80px minmax(0,1fr)}.main-grid .zodiac-reading{grid-template-columns:72px minmax(0,1fr)}@media (width<=700px){.current-card{grid-template-columns:minmax(0,1fr);gap:16px;padding:22px}.current-card .hero-copy{grid-area:1/1}.current-card .hero-scene{grid-area:2/1;height:235px}.current-card .thermal-caption{grid-row:3}.current-card .hero-bottom{grid-row:4}.current-card .hero-kicker{margin-top:18px}.current-card .current-temperature{font-size:100px}.poetry-toolbar{justify-content:flex-start}}.main-grid.grouped-layout{flex-direction:column;gap:26px;display:flex}.content-cluster{background:linear-gradient(130deg,#142735c9,#10232ac9);border:1px solid #b4d3c51c;border-radius:24px;width:100%;min-width:0;overflow:visible}.cluster-heading{padding:20px 24px 0}.cluster-heading>div{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.cluster-heading span{letter-spacing:.18em;color:#9cbaad;font-size:9px}.cluster-heading h2{color:#dca;margin:0;font-size:15px;font-weight:500}.cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;padding:10px;display:grid}.grouped-layout .cluster-grid>.section-card{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:20px;animation:none;overflow:visible}.cluster-grid>:nth-child(2n){border-left:1px solid #c8dcc013!important}.grouped-layout .section-heading{margin-bottom:14px}.grouped-layout .section-heading h2{font-size:18px}.grouped-layout .eyebrow{letter-spacing:.12em;font-size:9px}.grouped-layout .weather-cluster .cluster-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.weather-cluster .hourly-section,.weather-cluster .week-section{grid-column:span 3}.weather-cluster .details-card,.weather-cluster .air-quality-card,.weather-cluster .outfit-card{grid-column:span 2;border-top:1px solid #c8dcc013!important}.weather-cluster .outfit-layout{grid-template-columns:68px minmax(0,1fr);gap:10px}.weather-cluster .outfit-figure-wrap{background:0 0;border:0;padding:6px 0}.weather-cluster .outfit-advice>strong{font-size:12px;line-height:1.7}.weather-cluster .outfit-advice ul{margin-bottom:0;padding-left:15px}.weather-cluster .outfit-advice li{font-size:10px;line-height:1.7}.weather-cluster .detail-grid{gap:10px}.culture-cluster .cluster-grid{align-items:center}.grouped-layout .poem-card{grid-template-columns:minmax(0,1fr) 100px;align-content:start;column-gap:16px;display:grid}.grouped-layout .poem-card .section-heading,.grouped-layout .poetry-toolbar{grid-column:1/-1}.grouped-layout .poem-card>blockquote{grid-area:3/1;padding:14px 0 8px;font-size:15px;line-height:1.85}.grouped-layout .poem-card .poem-credit{grid-area:4/1}.grouped-layout .poem-card .poet-performance{border:0;flex-direction:column;grid-area:3/2/span 2;align-self:center;gap:6px;margin:8px 0 0;padding:0;display:flex}.grouped-layout .poet-moment>span{width:88px;height:142px}.grouped-layout .poet-performance .recitation-status{text-align:center;min-height:28px;font-size:9px;line-height:1.6}.poem-card .poem-continuation{order:5;grid-column:1/-1;margin-top:10px;font-size:11px}.poem-continuation summary{color:#a6cdbd;cursor:pointer;padding:6px 0}.poem-card .poem-continuation blockquote{padding:8px 0;font-size:14px;line-height:1.9}.grouped-layout .poetry-toolbar{align-items:start;gap:10px;margin-bottom:3px}.grouped-layout .poetry-toolbar .choice-menu{flex:170px}.grouped-layout .poetry-toolbar>button{min-height:42px}.grouped-layout .music-card{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:16px}.grouped-layout .music-card .singer-moment>span{width:76px;height:142px}.grouped-layout .music-copy>.music-review{font-size:12px;line-height:1.8}.grouped-layout .music-listening{font-size:11px!important}.grouped-layout .music-copy h2{font-size:16px;line-height:1.7}.grouped-layout .music-actions{gap:8px}.identity-cluster .share-section{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;display:grid;border-top:1px solid #c8dcc022!important;margin-top:12px!important}.identity-cluster .share-section .section-heading{margin-bottom:0}.identity-cluster .share-section .share-card-intro{grid-column:1;margin-bottom:0;font-size:11px;line-height:1.7}.identity-cluster .share-section>button{grid-area:1/2/span 2;min-height:44px;margin:0;padding:10px 18px}.identity-cluster .share-card-mark{display:none}.identity-cluster .zodiac-fortune{margin-bottom:12px;font-size:12px;line-height:1.8}.identity-cluster .zodiac-signature{margin:15px 0 10px}.identity-cluster .zodiac-date-stamp{font-size:9px}.identity-cluster .zodiac-lucky-details{gap:12px;margin:10px 0;font-size:10px}.zodiac-more summary{color:#a7cbbb;cursor:pointer;padding:8px 0;font-size:11px}.identity-cluster .tarot-reading-card{margin-top:14px;padding:12px}.identity-cluster .tarot-reading-card p{font-size:11px;line-height:1.8}.identity-cluster .tarot-details{margin-top:8px;padding-top:8px}.identity-cluster .tarot-details[open] .tarot-imagery{display:block}.identity-cluster .tarot-details[open] .tarot-advice{display:grid}.identity-cluster .tarot-details details[open] p{display:block}.identity-cluster .tarot-disclaimer{margin-bottom:0;font-size:9px}.mbti-emblem{color:#d9bc7d;font-size:32px;line-height:1}.mbti-identity{flex-wrap:wrap;align-items:baseline;gap:14px;margin:22px 0 12px;display:flex}.mbti-identity strong{color:#d6c292;letter-spacing:.08em;font-size:38px;font-weight:400;line-height:1}.mbti-identity>span{color:#c5d4c6;font-size:12px}.mbti-reading{animation:.35s ease-out mbti-arrive}.mbti-reading>p{color:#bfcec4;font-size:13px;line-height:1.85}.mbti-practice{background:#c5d4b407;border-left:2px solid #bdab7a;border-radius:0 10px 10px 0;margin:18px 0 12px;padding:14px 16px}.mbti-practice small{letter-spacing:.08em;color:#d3bb86;font-size:10px}.mbti-practice p{margin:7px 0 0;font-size:12px;line-height:1.85}.calendar-cluster .cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-cluster .exam-section{grid-column:1}.calendar-cluster .lunar-card{grid-area:1/2/span 2}.calendar-cluster .sun-card{grid-column:1;border-top:1px solid #c8dcc022!important}.calendar-cluster .exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-cluster .exam-clock{background:#bad5b608;border:0;border-radius:10px;padding:10px}.calendar-cluster .exam-clock h3{font-size:13px}.calendar-cluster .exam-clock-top>span{font-size:9px}.calendar-cluster .exam-days{gap:6px;margin:12px 0}.calendar-cluster .exam-days strong{font-size:38px}.calendar-cluster .exam-days>span{font-size:9px}.calendar-cluster .exam-note{font-size:9px;line-height:1.7}.calendar-cluster .exam-clock input{width:100%;padding:6px;font-size:10px}.calendar-cluster .lunar-culture{gap:12px;margin-top:12px;padding-top:12px}.calendar-cluster .daily-note{margin-top:12px}.calendar-cluster .lunar-detail-grid{gap:10px}.choice-menu{width:100%;min-width:0;margin:0;position:relative}.choice-trigger{color:#d6e1d5;width:100%;min-height:42px;font:inherit;cursor:pointer;text-align:left;background:linear-gradient(110deg,#9dc6b20c,#c6b08209);border:1px solid #abc7b737;border-radius:11px;align-items:center;gap:10px;padding:10px 13px;display:flex}.choice-label{color:#92b0a6;flex-shrink:0;font-size:10px}.choice-trigger strong{overflow-wrap:anywhere;flex:1;font-size:12px;font-weight:500;line-height:1.6}.choice-chevron{color:#d1bc89;transition:transform .2s}.choice-menu.is-open .choice-chevron{transform:rotate(180deg)}.choice-menu.is-open .choice-trigger{border-color:#cbb37b99;border-radius:11px 11px 0 0}.choice-options{outline-offset:3px;background:#122b35;border:1px solid #cbb37b66;border-top:0;border-radius:0 0 12px 12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:9px;display:grid}.choice-option{cursor:pointer;color:#b7cfc2;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:4px;min-height:38px;padding:9px 8px;font-size:11px;line-height:1.5;display:flex}.choice-option.is-active{background:#b5d4bd0c;border-color:#abc7b744}.choice-option[aria-selected=true]{color:#ead5a6;background:#d9bd7a17}.choice-trigger:focus-visible,.choice-options:focus-visible{outline-offset:3px;outline:2px solid #b0d7c4}@keyframes mbti-arrive{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}.living-singer .actor-whole{animation:9s cubic-bezier(.42,0,.2,1) infinite cartoon-performance}.living-singer .actor-head{animation:9s ease-in-out infinite cartoon-head}.living-singer .arm-left{animation:9s ease-in-out infinite cartoon-mic}.living-singer .arm-right{animation:9s ease-in-out infinite cartoon-greet}.actor-forearm{transform-box:view-box}.forearm-left{transform-origin:25px 98px;animation:4s ease-in-out infinite forearm-talk}.forearm-right{transform-origin:98px 95px;animation:9s ease-in-out infinite hand-flourish}.actor-eyes .eye-left{transform-origin:50px 42px;animation:9s infinite left-blink}.actor-eyes .eye-right{transform-origin:70px 42px;animation:9s infinite right-wink}.actor-eyes{animation:none}.actor-pupil{animation:9s ease-in-out infinite curious-glance}.actor-laugh{opacity:0;animation:9s ease-in-out infinite cartoon-laugh}.actor-mouth{animation:9s ease-in-out infinite closed-smile}.actor-accent{opacity:0;animation:9s ease-in-out infinite cartoon-accent}.living-poet .actor-whole{animation:12s ease-in-out infinite poet-stroll-story}.living-poet .forearm-right{animation:12s ease-in-out infinite poet-sip}.living-poet .actor-head{animation:12s ease-in-out infinite poet-ponder}.living-poet .actor-laugh{display:none}.thermal-cold .actor-whole{animation:8s ease-in-out infinite cold-story}.thermal-cold .actor-head{animation:8s ease-in-out infinite cold-shoulders}.thermal-cold .actor-arm{animation:none}.thermal-cold .arm-left{transform:rotate(-42deg)}.thermal-cold .arm-right{transform:rotate(53deg)}.thermal-cold .forearm-right{animation:1.2s ease-in-out infinite cold-rub}.thermal-cold .actor-laugh{display:none}.thermal-cold .actor-mouth{animation:.15s linear infinite alternate cold-teeth}.thermal-hot .actor-whole{animation:8s ease-in-out infinite heat-story}.thermal-hot .arm-right{animation:8s ease-in-out infinite heat-wipe}.thermal-hot .forearm-right{animation:.65s ease-in-out infinite fan-hand}.thermal-hot .actor-head{animation:8s ease-in-out infinite heat-droop}.thermal-hot .actor-laugh{display:none}.thermal-hot .actor-mouth{animation:1.5s infinite hot-pant}.is-reciting .living-poet .actor-whole{animation:3s ease-in-out infinite poet-recite}.is-reciting .actor-mouth{animation:.35s ease-in-out infinite alternate speaking-mouth}.is-reciting .forearm-right{animation:3s ease-in-out infinite recital-gesture}.moment-active .actor-whole{animation:2.4s cubic-bezier(.3,0,.2,1) cartoon-encore}.moment-active.take-0 .actor-whole{animation-name:cartoon-encore-two}@keyframes cartoon-performance{0%,8%,to{transform:translate(0)rotate(-2deg)}14%{transform:translateY(5px)scale(1.05,.94)}20%{transform:translateY(-13px)scale(.96,1.04)rotate(-5deg)}26%{transform:translateY(2px)scale(1.06,.95)}32%{transform:translateY(0)}42%{transform:rotate(6deg)translate(3px)}52%,62%{transform:rotate(-4deg)}72%{transform:translateY(3px)scale(1.03,.98)}79%{transform:translateY(-7px)rotate(4deg)}88%{transform:rotate(-1deg)}}@keyframes cartoon-head{0%,12%,to{transform:rotate(0)}20%{transform:rotate(-8deg)}34%{transform:rotate(8deg)}45%,53%{transform:rotate(-13deg)translate(-2px)}62%{transform:rotate(5deg)}77%{transform:rotate(-5deg)}}@keyframes cartoon-mic{14%,28%{transform:rotate(-12deg)}40%,65%{transform:rotate(32deg)}78%{transform:rotate(10deg)}}@keyframes cartoon-greet{0%,30%,to{transform:rotate(0)}38%,48%{transform:rotate(-25deg)}43%{transform:rotate(8deg)}55%{transform:rotate(-18deg)}72%{transform:rotate(12deg)}}@keyframes forearm-talk{45%,60%{transform:rotate(15deg)}}@keyframes hand-flourish{0%,30%,65%,to{transform:rotate(0)}39%,49%{transform:rotate(-24deg)}44%,54%{transform:rotate(14deg)}}@keyframes left-blink{0%,12%,15%,72%,75%,to{transform:scaleY(1)}13.5%,73.5%{transform:scaleY(.12)}}@keyframes right-wink{0%,12%,15%,44%,56%,72%,75%,to{transform:scaleY(1)}13.5%,47%,53%,73.5%{transform:scaleY(.12)}}@keyframes curious-glance{0%,30%,to{transform:translate(0)}38%,55%{transform:translate(-2px)}67%,80%{transform:translate(1px)}}@keyframes cartoon-laugh{0%,31%,68%,to{opacity:0}38%,60%{opacity:1}}@keyframes closed-smile{0%,31%,68%,to{opacity:1}38%,60%{opacity:0}}@keyframes cartoon-accent{0%,15%,30%,to{opacity:0;transform:scale(.85)}21%{opacity:.9;transform:scale(1.05)}}@keyframes poet-stroll-story{0%,to{transform:translate(-5px)rotate(-2deg)}20%{transform:translate(6px)rotate(2deg)}32%,62%{transform:translate(6px)rotate(-2deg)}75%{transform:translate(-4px)rotate(2deg)}88%{transform:translate(-7px)rotate(-1deg)}}@keyframes poet-sip{0%,25%,80%,to{transform:rotate(0)}38%,54%{transform:rotate(-35deg)translate(-3px,-2px)}65%{transform:rotate(-10deg)}}@keyframes poet-ponder{0%,25%,to{transform:rotate(0)}38%,54%{transform:rotate(7deg)translateY(-2px)}70%{transform:rotate(-8deg)}}@keyframes cold-story{0%,to{transform:translateY(3px)rotate(-2deg)}15%,70%{transform:translateY(8px)scale(.9,.94)rotate(-5deg)}25%,35%,45%,55%{transform:translateY(8px)scale(.9,.94)rotate(-7deg)}30%,40%,50%,60%{transform:translateY(8px)scale(.9,.94)rotate(-3deg)}83%{transform:translateY(5px)scale(.94,.97)}}@keyframes cold-shoulders{15%,70%{transform:translateY(5px)rotate(8deg)}}@keyframes cold-rub{50%{transform:rotate(-12deg)}}@keyframes heat-story{0%,to{transform:rotate(0)}20%,70%{transform:translateY(5px)rotate(3deg)scale(1.02,.97)}40%{transform:rotate(-2deg)}85%{transform:translateY(2px)rotate(-2deg)}}@keyframes heat-wipe{0%,35%,90%,to{transform:rotate(-10deg)}48%,65%{transform:rotate(-48deg)}}@keyframes fan-hand{50%{transform:rotate(-20deg)}}@keyframes heat-droop{25%,70%{transform:rotate(9deg)translateY(3px)}}@keyframes recital-gesture{50%{transform:rotate(-20deg)}}@keyframes cartoon-encore{12%{transform:scale(1.12,.85)translateY(8px)}30%{transform:translateY(-22px)scale(.92,1.08)rotate(-12deg)}46%{transform:translateY(4px)scale(1.1,.9)rotate(7deg)}65%{transform:translate(5px)rotate(12deg)}82%{transform:rotate(-5deg)}}@keyframes cartoon-encore-two{12%{transform:rotate(9deg)scale(1.08,.92)}32%{transform:translateY(-18px)rotate(15deg)}50%{transform:translateY(3px)scale(1.1,.9)}72%{transform:rotate(-10deg)}88%{transform:rotate(3deg)}}@media (width<=1000px){.grouped-layout .weather-cluster .cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-cluster .hourly-section,.weather-cluster .week-section,.weather-cluster .details-card,.weather-cluster .air-quality-card{grid-column:span 1}.weather-cluster .outfit-card{grid-column:1/-1}.calendar-cluster .exam-grid{grid-template-columns:1fr}}@media (width<=700px){.main-grid.grouped-layout{gap:18px}.cluster-grid{flex-direction:column;padding:4px 6px;display:flex!important}.cluster-grid>*{width:100%}.cluster-grid>:nth-child(2n){border-left:0!important}.cluster-grid>.section-card+.section-card{border-top:1px solid #c8dcc01f!important}.grouped-layout .cluster-grid>.section-card{padding:18px 14px}.cluster-heading{padding:18px 20px 4px}.cluster-heading>div{gap:8px 12px}.cluster-heading h2{font-size:13px}.identity-cluster .share-section{display:block}.identity-cluster .share-section>button{width:100%;margin-top:12px}.grouped-layout .poem-card{grid-template-columns:minmax(0,1fr) 84px;gap:0 10px}.grouped-layout .poet-moment>span{width:76px;height:126px}.calendar-cluster .exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-layout .music-card{grid-template-columns:70px minmax(0,1fr)}.grouped-layout .music-card .singer-moment>span{width:66px;height:126px}.weather-cluster .outfit-layout{grid-template-columns:70px minmax(0,1fr)}}@media (width<=370px){.calendar-cluster .exam-grid,.choice-options{grid-template-columns:1fr}.grouped-layout .poem-card{grid-template-columns:minmax(0,1fr)}.grouped-layout .poem-card .poet-performance{flex-direction:row;grid-area:auto/1;display:flex}}@media (prefers-reduced-motion:reduce){.actor-whole,.actor-head,.actor-arm,.actor-forearm,.actor-pupil,.actor-mouth,.actor-laugh,.actor-accent,.eye-left,.eye-right,.mbti-reading{animation:none!important}.actor-laugh,.actor-accent{opacity:0}.actor-mouth{opacity:1}}.moment-active .living-singer .actor-whole{animation:2.4s cubic-bezier(.3,0,.2,1) cartoon-encore,9s ease-in-out 2.4s infinite cartoon-performance}.moment-active.take-0 .living-singer .actor-whole{animation-name:cartoon-encore-two,cartoon-performance}.moment-active .living-poet .actor-whole{animation:2.4s ease-in-out cartoon-encore,12s ease-in-out 2.4s infinite poet-stroll-story}.moment-active.take-0 .living-poet .actor-whole{animation-name:cartoon-encore-two,poet-stroll-story}.is-reciting .moment-active .living-poet .actor-whole{animation:3s ease-in-out infinite poet-recite}@media (prefers-reduced-motion:reduce){.moment-active .living-singer .actor-whole,.moment-active .living-poet .actor-whole{animation:none!important}}.actor-canvas-frame{isolation:isolate;width:100%;height:100%;display:block;position:relative}.actor-canvas-frame .actor-canvas{object-fit:contain;width:100%;height:100%;display:block;position:static;filter:none!important;animation:none!important;transform:none!important}.actor-canvas-frame:before,.actor-canvas-frame:after{content:none!important}.character-moment .actor-canvas-frame{min-width:0}.performance-canvas-slot{contain:paint;isolation:isolate;overflow:hidden}.poet-performance{overflow:hidden}.weather-story{z-index:1;grid-area:1/2;align-self:center;width:100%;min-width:0;position:relative}.story-stage{isolation:isolate;background:radial-gradient(at 50% 40%,#b9d9ba14,#0000 65%);border-radius:24px;height:264px;position:relative;overflow:hidden}.story-stage>.actor-canvas-frame{z-index:3;width:190px;height:264px;position:absolute;bottom:0;left:calc(50% - 95px)}.story-celestial{color:#efce8c;opacity:.85;z-index:0;font-size:64px;position:absolute;top:12px;right:16%}.at-night .story-celestial{color:#d4e9d9}.story-ground{background:radial-gradient(#8ac5a52e,#0000 70%);height:22px;position:absolute;bottom:5px;left:12%;right:12%}.story-cloud{background:#a8c5c438;border-radius:50%;width:90px;height:25px;animation:13s ease-in-out infinite alternate scene-cloud-drift;position:absolute;top:36px;left:8%}.story-cloud:before{content:"";background:inherit;border-radius:50%;width:47px;height:35px;position:absolute;top:-16px;left:16px}.story-cloud.cloud-b{opacity:.7;animation-delay:-6s;top:78px;left:auto;right:6%;transform:scale(.7)}.story-clear .story-cloud{opacity:.3}.story-rain .story-celestial,.story-storm .story-celestial,.story-fog .story-celestial{opacity:.14}.story-snow .story-stage{background:linear-gradient(#c6e5e20b,#c6e5e218)}.story-storm .story-stage{background:radial-gradient(at top,#737b9c33,#0000 70%)}.story-storm .story-cloud{background:#8395b65e}.story-scene-caption{color:#9bb5a9;letter-spacing:.1em;z-index:4;font-size:9px;position:absolute;top:8px;left:12px}.story-dialogue{color:#e0d2af;background:#142d35d9;border:1px solid #b3c8aa2b;border-radius:12px;min-height:54px;margin:8px 0 0;padding:10px 13px;font-size:12px;line-height:1.8;position:relative}.story-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.story-actions button{color:#bcd0bb;font:inherit;cursor:pointer;background:#aac9b307;border:1px solid #bfd2b92e;border-radius:18px;padding:7px 10px;font-size:10px}.story-actions button[aria-pressed=true]{color:#ecd8a6;border-color:#d3bd7e80}.story-actions button:disabled{opacity:.5;cursor:default}.story-voice-error{color:#d1c195;margin-top:8px;font-size:10px;line-height:1.7;display:block}.story-precipitation{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.story-precipitation i{left:var(--x);animation-delay:var(--delay);animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-25px}.precipitation-rain i,.precipitation-storm i{background:linear-gradient(#0000,#c7e6ef88);width:1px;height:18px;animation-name:story-rain;animation-duration:.85s}.precipitation-storm i{height:27px;animation-duration:.55s}.precipitation-snow i{color:#e1f4ee;animation-name:story-snow;animation-duration:var(--speed);font-size:17px;font-style:normal}.precipitation-fog{z-index:4}.precipitation-fog i{width:100%;height:55px;top:calc(var(--x) * .8);background:linear-gradient(90deg,#0000,#d2e7e327,#0000);border-radius:50%;animation-name:story-fog;animation-duration:8s;left:-20%}@keyframes story-rain{to{transform:translate(-35px,310px)}}@keyframes story-snow{0%{opacity:0;transform:translate(-8px)rotate(0)}15%{opacity:.9}to{opacity:.2;transform:translate(24px,310px)rotate(100deg)}}@keyframes story-fog{50%{opacity:.8;transform:translate(30%)}}@keyframes scene-cloud-drift{to{translate:20px}}.air-map-place{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;display:flex}.air-map-place>span{color:#e0d0a1;font-size:12px}.air-map-place>small{color:#a2bbb4;font-variant-numeric:tabular-nums;font-size:9px}.air-map{border-radius:14px;height:320px}.air-map-tile{opacity:1;filter:saturate(.65)contrast(.96);border:0}.air-map .air-map-marker{border:2px solid #fff;border-radius:50%;width:32px;height:32px;min-height:32px;padding:0;display:block;transform:translate(-50%,-50%)}.air-map-marker-dot{background:#153b3d;border:0;width:7px;height:7px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.air-map-marker-label{text-align:left;color:#e7e8d4;white-space:nowrap;pointer-events:none;background:#112b35ed;border:1px solid #c7d9bf44;border-radius:8px;gap:3px;padding:6px 9px;font-size:10px;display:grid;position:absolute;top:50%;left:38px;transform:translateY(-50%)}.air-map-marker-label small{color:#b7d3bf;margin:0;font-size:10px}.air-map .air-map-marker.is-selected{outline-offset:2px;z-index:5;outline:4px solid #e6cf8b55}.air-map-crosshair{pointer-events:none;color:#1b3b4180;z-index:1;font-size:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.air-map-coordinate-note{color:#9db8af;margin:9px 0;font-size:9px;line-height:1.8}@media (width<=700px){.weather-story{grid-area:2/1}.story-stage{height:245px}.story-stage>.actor-canvas-frame{width:176px;height:245px;left:calc(50% - 88px)}.story-dialogue{font-size:11px}.air-map{height:290px}}@media (prefers-reduced-motion:reduce){.story-cloud,.story-precipitation i{animation:none!important}.precipitation-snow i{top:var(--x);opacity:.7}}.story-stage{background:radial-gradient(at 60% 15%,#4c756f30,#0000 65%);height:310px}.story-stage>.actor-canvas-frame{bottom:34px}.story-earth{z-index:1;background:radial-gradient(at 45% 0,#569d8a,#24576a 40%,#102e45 75%);border-top:2px solid #b5ddbe;border-radius:50%;width:160%;height:260px;position:absolute;top:255px;left:-30%;overflow:hidden;box-shadow:0 -5px 24px #84cfb32a,inset 0 12px 35px #8ebca32a}.earth-terrain{background:radial-gradient(at 20% 12%,#739d6d 0 9%,#0000 10%),radial-gradient(at 63% 20%,#54876b 0 14%,#0000 15%),radial-gradient(at 90% 16%,#8a9c67 0 8%,#0000 9%);width:200%;height:100%;animation:48s linear infinite earth-travel;position:absolute}.earth-terrain span{filter:saturate(.6);font-size:24px;position:absolute;top:-4px}.earth-polar{background:radial-gradient(at top,#c9ddd2,#58859c 55%,#153b54)}.earth-latitudes{background:repeating-radial-gradient(at 50% 0,#0000 0 27px,#c6dfbe20 28px 29px,#0000 30px 45px);border-radius:50%;position:absolute;inset:0}.story-stars{opacity:.65;transition:opacity 1.5s;position:absolute;inset:0}.story-stars i{color:#dbe8c5;font-size:7px;font-style:normal;animation:4s ease-in-out infinite star-breathe;position:absolute}.story-fog .story-stars,.story-rain .story-stars,.story-storm .story-stars{opacity:.1}.story-meteor{opacity:0;background:linear-gradient(90deg,#0000,#eef3cf);width:80px;height:1px;animation:15s linear infinite meteor-pass;position:absolute;top:10%;left:20%;transform:rotate(30deg)}.story-scene-caption{top:12px}@keyframes earth-travel{to{transform:translate(-50%)}}@keyframes star-breathe{50%{opacity:.2;transform:scale(.7)}}@keyframes meteor-pass{0%,82%{opacity:0;translate:0}84%{opacity:1}88%,to{opacity:0;translate:250px 140px}}.date-picker{min-width:0;margin-top:12px;position:relative}.date-label{color:#b5cbbd;margin-bottom:7px;font-size:11px;display:block}.date-trigger{color:#e7d8af;width:100%;font:inherit;cursor:pointer;background:#172e36;border:1px solid #c7d2a640;border-radius:11px;justify-content:space-between;padding:11px 13px;font-size:12px;display:flex}.calendar-panel{background:#172f38;border:1px solid #bfccaa40;border-radius:14px;margin-top:10px;padding:12px;box-shadow:0 10px 25px #0002}.calendar-nav{justify-content:space-between;align-items:center;gap:5px;font-size:12px;display:flex}.calendar-nav .choice-menu{flex:1;min-width:0}.calendar-nav button,.calendar-days button,.calendar-close{color:#d7dfc5;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px}.calendar-nav>button{padding:7px 10px;font-size:22px}.calendar-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:10px;display:grid}.calendar-days small{color:#92b2a7;padding:5px 0;font-size:10px}.calendar-days button{padding:9px 0;font-size:12px}.calendar-days button:hover,.calendar-days button[aria-pressed=true]{color:#17343b;background:#c8b781}.calendar-close{margin:10px auto 0;padding:6px 12px;font-size:11px;display:block}@media (width<=700px){.story-stage{height:290px}.story-earth{top:237px}.story-stage>.actor-canvas-frame{bottom:32px}}@media (prefers-reduced-motion:reduce){.earth-terrain,.story-meteor,.story-stars i{animation:none}}.story-earth .earth-map-plane{filter:none;width:300%;height:100%;animation:48s linear infinite story-map-roll;position:absolute;inset:0;transform:none}.story-earth .earth-map-plane svg{opacity:.85;width:100%;height:100%;display:block}.story-earth .earth-map-plane use:first-of-type{filter:none}.earth-terrain{background:0 0;width:200%}.earth-terrain>svg{width:28px;height:38px;position:absolute;top:-3px}.earth-terrain,.story-earth{overflow:visible}.music-source{color:#b6c8a9;font-size:10px;text-decoration-color:#b6c8a944}@keyframes story-map-roll{to{transform:translate(-33.333%)}}@media (prefers-reduced-motion:reduce){.story-earth .earth-map-plane{animation:none}}.story-earth .earth-map-plane{clip-path:none}.draw-deck>svg{z-index:1;fill:none;stroke:#e4ce94;stroke-width:.8px;filter:drop-shadow(0 0 12px #e4ce9433);width:100%;height:100%;position:relative}.draw-deck>svg text{letter-spacing:3px;text-anchor:middle;fill:#e4ce94;stroke:none;font-size:8px}.draw-stardust{pointer-events:none;position:absolute;top:42%;left:50%}.draw-stardust i{width:3px;height:3px;transform:rotate(var(--angle)) translateX(80px);animation:card-stardust 2.4s var(--delay) ease-in-out infinite;background:#f4dfaa;border-radius:50%;position:absolute;box-shadow:0 0 7px #e4ce94}.draw-revealing .draw-stardust i{animation:card-starburst 1.6s var(--delay) ease-out both}.draw-revealing .share-card-artwork,.draw-revealing .draw-ceremony{animation-duration:1.6s}.share-preview-artwork{perspective:1200px}.draw-revealed:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#f5e5bf22 48%,#0000 65%);animation:1.2s ease-out both card-foil;position:absolute;inset:0}@keyframes card-stardust{50%{opacity:.2;transform:rotate(calc(var(--angle) + 30deg)) translateX(150px)}}@keyframes card-starburst{to{opacity:0;transform:rotate(var(--angle)) translateX(260px)}}@keyframes card-foil{0%{translate:-100%}to{translate:100%}}@media (prefers-reduced-motion:reduce){.draw-stardust i,.draw-revealed:after{animation:none}}.story-earth{overflow:visible}.earth-map-mask{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.earth-terrain{z-index:2;pointer-events:none;height:42px;top:-31px}.earth-terrain>svg{width:27px;height:38px;top:0}.earth-terrain>svg:nth-child(4n+1),.earth-terrain>svg:nth-child(4n){translate:0 14px}.current-card:before{display:none}.solar-sky{z-index:0;pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.solar-stars{animation:160s ease-in-out infinite alternate solar-drift;position:absolute;inset:0}.solar-stars i{width:var(--star-size);height:var(--star-size);animation:solar-twinkle var(--twinkle) var(--delay) ease-in-out infinite;background:#e9ead1;border-radius:50%;position:absolute;box-shadow:0 0 5px #e5e5c080}.solar-system{opacity:.8;width:min(85%,720px);height:auto;animation:70s ease-in-out infinite alternate solar-float;position:absolute;top:-10%;right:-12%}.solar-orbit{transform-origin:0 0;animation:planet-revolve var(--period) linear infinite}.solar-sun{filter:drop-shadow(0 0 7px #efb36888);animation:9s ease-in-out infinite sun-glimmer}@keyframes planet-revolve{0%{transform:rotate(var(--start-angle))}to{transform:rotate(calc(var(--start-angle) + 360deg))}}@keyframes solar-twinkle{0%,to{opacity:.12;transform:scale(.65)}45%{opacity:.9;transform:scale(1.25)}65%{opacity:.35;transform:scale(.9)}}@keyframes solar-drift{to{transform:translate(12px,-8px)rotate(3deg)}}@keyframes solar-float{to{transform:translate(-12px,15px)rotate(5deg)}}@keyframes sun-glimmer{50%{opacity:.75}}.animation-test{background:#122c35b3;border:1px solid #cbbb8240;border-radius:13px;margin-top:12px;overflow:hidden}.animation-test-trigger{color:#e5d6af;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:12px 13px;font-size:12px;display:flex}.animation-test-trigger span{color:#a7bcb0;font-size:10px}.animation-test-panel{border-top:1px solid #b9c9a723;padding:0 12px 12px}.animation-test-panel p{color:#ddcca5;margin:12px 0;font-size:12px;line-height:1.7}.animation-test-panel small{color:#9eb7ad;margin-top:3px;font-size:10px;display:block}.animation-test-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.animation-test-options button,.animation-test-footer button{color:#c9d7bf;font:inherit;cursor:pointer;background:#95bea208;border:1px solid #b4c6aa33;border-radius:9px;min-height:42px;padding:8px;font-size:11px}.animation-test-options button[aria-pressed=true]{color:#f1ddb0;background:#baa36a22;border-color:#d5bd7e}.animation-test-footer{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.animation-test-footer button{flex:1}.animation-test-footer button:disabled{opacity:.4;cursor:default}.animation-test button:focus-visible{outline-offset:-3px;outline:2px solid #e5cf91}.story-storm .story-stage:after{content:"";pointer-events:none;opacity:0;z-index:4;background:linear-gradient(110deg,#dce9ff22,#0000);animation:7s linear infinite storm-flicker;position:absolute;inset:0}@keyframes storm-flicker{0%,70%,74%,to{opacity:0}71%,73%{opacity:.55}}@media (width<=700px){.solar-system{opacity:.65;width:125%;top:-4%;right:-30%}}@media (prefers-reduced-motion:reduce){.solar-stars,.solar-stars i,.solar-system,.solar-orbit,.solar-sun,.story-storm .story-stage:after{animation:none}.solar-stars i{opacity:.6}.solar-orbit{transform:rotate(var(--start-angle))}}.weather-card-effects{z-index:2;pointer-events:none;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.animation-test{z-index:3;position:relative}.animation-test-options{overscroll-behavior:contain;scrollbar-width:thin;max-height:280px;overflow-y:auto}.story-meteor,.story-storm .story-stage:after{display:none}.zodiac-color-banner{background:linear-gradient(100deg,#d5c28c0c,#0000);border:1px solid #d0c49530;border-radius:13px;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.lucky-color-swatch{border:3px solid #fff2;border-radius:50%;flex:0 0 34px;height:34px;display:block;box-shadow:0 0 18px #d4d6ac18}.zodiac-color-banner small{color:#9fb8ac;margin-bottom:4px;font-size:10px;display:block}.zodiac-color-banner strong{color:#ead9b0;font-size:14px}.zodiac-color-banner p{color:#b6c9b7;max-width:150px;margin:0 0 0 auto;font-size:10px;line-height:1.7}.recitation-settings{color:#b9c7ad;width:100%;font-size:10px}.recitation-settings summary{cursor:pointer;text-align:center;padding:7px 0;line-height:1.6}.recitation-settings .choice-trigger{flex-direction:column;align-items:stretch;gap:4px;padding:8px;font-size:10px;display:flex}.recitation-settings .choice-options{flex-direction:column;max-height:180px;display:flex;overflow:auto}.recitation-settings .choice-option{overflow-wrap:anywhere;padding:8px;font-size:10px}.recitation-settings .choice-chevron{display:none}.recitation-settings p{color:#90aa9f;font-size:9px;line-height:1.7}.recitation-pace{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.recitation-pace button{color:#bfceb8;font:inherit;cursor:pointer;background:0 0;border:1px solid #bfd0af30;border-radius:7px;flex:1;padding:6px 4px;font-size:10px}.recitation-pace button[aria-pressed=true]{color:#ecd59d;border-color:#d7bd7b88}.storm-bolt-emblem{z-index:2;fill:#f4edcb;filter:drop-shadow(0 0 9px #b5d6fb);opacity:.9;width:52px;height:86px;animation:4.5s ease-out infinite storm-bolt-glow;position:absolute;top:30px;right:12%}@keyframes storm-bolt-glow{0%{opacity:1;transform:scale(1.08)}25%,to{opacity:.48;transform:scale(1)}}.identity-cluster .refined-tarot{background:radial-gradient(at 15% 30%,#c2b37b0e,#0000 65%),linear-gradient(145deg,#193741,#102a37);border:1px solid #cbb77f40;border-radius:17px;margin-top:20px;padding:18px;display:block;overflow:hidden}.tarot-section-title{border-bottom:1px solid #c9b67d22;justify-content:space-between;align-items:center;gap:8px;padding-bottom:13px;display:flex}.tarot-section-title>span{letter-spacing:2px;color:#bba97a;font-size:9px}.tarot-section-title>small{color:#a6bcb0;font-size:10px}.tarot-main{grid-template-columns:104px minmax(0,1fr);align-items:center;gap:18px;margin:18px 0;display:grid}.tarot-engraving{color:#dac38c;filter:drop-shadow(0 8px 10px #0002);width:100%;height:auto}.refined-tarot .tarot-copy{min-width:0;display:block}.tarot-copy .tarot-index{letter-spacing:2px;color:#95afa6;font-size:8px}.tarot-copy h3{color:#ecd7a6;letter-spacing:4px;margin:9px 0;font-size:25px;font-weight:500}.refined-tarot .tarot-theme{letter-spacing:1px;color:#c8d7bb;border:1px solid #aec49b30;border-radius:5px;padding:4px 7px;font-size:10px;display:inline-block}.identity-cluster .refined-tarot .tarot-copy p{color:#d8e1d3;margin:12px 0 8px;font-size:12px;line-height:1.9}.refined-tarot .tarot-imagery{color:#93ada3;font-size:10px;line-height:1.8;display:block}.tarot-today-action{background:#b6ca9d0a;border:1px solid #c7bd7a22;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.tarot-today-action>span{color:#dac38c;font-size:21px}.tarot-today-action small{color:#ccb982;letter-spacing:.04em;font-size:10px}.identity-cluster .refined-tarot .tarot-today-action p{color:#c4d3c0;margin:6px 0 0;font-size:12px;line-height:1.8}.refined-tarot .tarot-details{border:0;margin-top:10px}.refined-tarot .tarot-details>summary{color:#a4bdb0;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 0;font-size:10px;list-style:none;display:flex}.refined-tarot .tarot-details>summary::-webkit-details-marker{display:none}.refined-tarot .tarot-details[open]>summary span{rotate:45deg}.tarot-reflection{padding:12px 0 0}.tarot-reflection small{color:#d1bd89;font-size:10px}.identity-cluster .refined-tarot .tarot-reflection p{color:#b5cabc;margin:5px 0 13px;line-height:1.8}@media (width<=440px){.identity-cluster .refined-tarot{padding:14px}.tarot-main{grid-template-columns:85px minmax(0,1fr);gap:13px}.tarot-section-title{flex-wrap:wrap}.tarot-copy h3{font-size:23px}.identity-cluster .refined-tarot .tarot-copy p{font-size:11px}}@media (prefers-reduced-motion:reduce){.storm-bolt-emblem{opacity:.8;animation:none}}
