.Weather-module__cEwhTG__weather-container{background:var(--ctp-base);border:1px solid var(--ctp-surface0);height:100%;color:var(--ctp-text);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.Weather-module__cEwhTG__weather-hero{background:var(--ctp-surface0);border-radius:10px;padding:.85rem 1rem}.Weather-module__cEwhTG__hero-top{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.Weather-module__cEwhTG__location{color:var(--ctp-subtext0);align-items:center;gap:.35rem;font-size:clamp(.7rem,1.5vw,.82rem);font-weight:500;display:flex}.Weather-module__cEwhTG__weather-icon{color:var(--ctp-accent)}.Weather-module__cEwhTG__hero-temp{justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.Weather-module__cEwhTG__current-temperature{color:var(--ctp-text);letter-spacing:-.02em;font-size:clamp(2rem,5vw,2.8rem);font-weight:800;line-height:1}.Weather-module__cEwhTG__temp-details{flex-direction:column;align-items:flex-end;gap:.15rem;padding-bottom:.2rem;display:flex}.Weather-module__cEwhTG__temperature-range{color:var(--ctp-subtext1);font-size:clamp(.7rem,1.5vw,.82rem);font-weight:600}.Weather-module__cEwhTG__wind-speed{color:var(--ctp-overlay0);align-items:center;gap:.3rem;font-size:clamp(.65rem,1.3vw,.75rem);font-weight:500;display:flex}.Weather-module__cEwhTG__hourly-section{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.Weather-module__cEwhTG__hourly-item{background:var(--ctp-surface0);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;transition:background .2s;display:flex}.Weather-module__cEwhTG__hourly-item:hover{background:var(--ctp-surface1)}.Weather-module__cEwhTG__hourly-time{color:var(--ctp-overlay0);font-size:clamp(.6rem,1.2vw,.7rem);font-weight:500}.Weather-module__cEwhTG__hourly-icon{color:var(--ctp-accent);align-items:center;padding:.15rem 0;display:flex}.Weather-module__cEwhTG__hourly-temp{color:var(--ctp-text);font-size:clamp(.72rem,1.4vw,.82rem);font-weight:700}.Weather-module__cEwhTG__stats-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.Weather-module__cEwhTG__stat-item{background:var(--ctp-surface0);border-radius:8px;flex-direction:column;gap:.15rem;padding:.5rem .65rem;display:flex}.Weather-module__cEwhTG__stat-label{color:var(--ctp-overlay0);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(.6rem,1.2vw,.7rem);font-weight:500}.Weather-module__cEwhTG__stat-value{color:var(--ctp-text);align-items:center;gap:.3rem;font-size:clamp(.78rem,1.5vw,.9rem);font-weight:700;display:flex}.Weather-module__cEwhTG__stat-sublabel{font-size:clamp(.58rem,1.1vw,.65rem);font-weight:600}.Weather-module__cEwhTG__forecast-section{background:var(--ctp-surface0);border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.Weather-module__cEwhTG__forecast-item{align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background .2s;display:flex}.Weather-module__cEwhTG__forecast-item:hover{background:var(--ctp-surface1)}.Weather-module__cEwhTG__forecast-item:not(:last-child){border-bottom:1px solid rgba(var(--ctp-surface1-rgb), .4)}.Weather-module__cEwhTG__forecast-day{color:var(--ctp-subtext0);min-width:3.5rem;font-size:clamp(.7rem,1.3vw,.8rem);font-weight:600}.Weather-module__cEwhTG__forecast-icon{color:var(--ctp-accent);align-items:center;display:flex}.Weather-module__cEwhTG__forecast-temps{gap:.5rem;margin-left:auto;display:flex}.Weather-module__cEwhTG__forecast-high{color:var(--ctp-text);text-align:right;min-width:2rem;font-size:clamp(.72rem,1.4vw,.82rem);font-weight:700}.Weather-module__cEwhTG__forecast-low{color:var(--ctp-overlay0);text-align:right;min-width:2rem;font-size:clamp(.68rem,1.3vw,.78rem);font-weight:500}.Weather-module__cEwhTG__weather-loading{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:12px;justify-content:center;align-items:center;height:100%;display:flex}@media (max-width:768px){.Weather-module__cEwhTG__weather-container{gap:.4rem;padding:.6rem}.Weather-module__cEwhTG__weather-hero{padding:.7rem .8rem}.Weather-module__cEwhTG__hourly-section{grid-template-columns:repeat(4,1fr);gap:.3rem}.Weather-module__cEwhTG__hourly-item{padding:.4rem .15rem}.Weather-module__cEwhTG__stats-grid{gap:.3rem}.Weather-module__cEwhTG__stat-item{padding:.4rem .5rem}.Weather-module__cEwhTG__forecast-item{gap:.5rem;padding:.4rem .6rem}}@media (max-width:420px){.Weather-module__cEwhTG__weather-container{gap:.35rem;padding:.5rem}.Weather-module__cEwhTG__hero-temp{flex-direction:column;align-items:flex-start}.Weather-module__cEwhTG__temp-details{flex-direction:row;align-items:center;gap:.6rem}}
.Loading-module__3iJaWa__pageFrame{grid-template-columns:1fr;gap:.9rem;width:min(1100px,94vw);min-height:70vh;margin:2rem auto;display:grid}.Loading-module__3iJaWa__pageTitle{background:var(--ctp-surface0,#eceff4);border-radius:.75rem;width:clamp(220px,32vw,420px);height:2.4rem}.Loading-module__3iJaWa__pageSubtitle{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:clamp(320px,46vw,600px);height:1rem}.Loading-module__3iJaWa__pageSubtitleWide{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:clamp(380px,62vw,820px);height:1rem}.Loading-module__3iJaWa__pageHero{background:var(--ctp-surface0,#eceff4);border-radius:1rem;height:clamp(180px,32vh,300px);margin-top:.5rem}.Loading-module__3iJaWa__pageHeroTall{background:var(--ctp-surface0,#eceff4);border-radius:1rem;height:clamp(250px,42vh,430px);margin-top:.5rem}.Loading-module__3iJaWa__pageToolbar{background:var(--ctp-surface0,#eceff4);border-radius:.75rem;width:clamp(260px,38vw,460px);height:2.6rem;margin-top:.5rem}.Loading-module__3iJaWa__pageGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.6rem;display:grid}.Loading-module__3iJaWa__pageGridFour{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:.6rem;display:grid}.Loading-module__3iJaWa__pageGridThree{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.6rem;display:grid}.Loading-module__3iJaWa__pageGridTwo{grid-template-columns:minmax(220px,320px) 1fr;gap:.9rem;margin-top:.6rem;display:grid}.Loading-module__3iJaWa__pageCard{background:var(--ctp-surface0,#eceff4);border-radius:.9rem;height:clamp(130px,22vh,190px)}.Loading-module__3iJaWa__pageCardTall{background:var(--ctp-surface0,#eceff4);border-radius:.9rem;height:clamp(160px,26vh,240px)}.Loading-module__3iJaWa__pagePortrait{background:var(--ctp-surface0,#eceff4);border-radius:1rem;height:clamp(260px,45vh,420px)}.Loading-module__3iJaWa__pageBioStack{grid-template-columns:1fr;gap:.55rem;display:grid}.Loading-module__3iJaWa__pageBlock{background:var(--ctp-surface0,#eceff4);border-radius:.85rem;height:145px}.Loading-module__3iJaWa__pageLine{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:100%;height:.95rem}.Loading-module__3iJaWa__pageLineShort{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:62%;height:.95rem}.Loading-module__3iJaWa__pageTitleWide{background:var(--ctp-surface0,#eceff4);border-radius:.75rem;width:clamp(280px,52vw,760px);height:2.4rem}.Loading-module__3iJaWa__pageBodyLines{grid-template-columns:1fr;gap:.55rem;display:grid}.Loading-module__3iJaWa__pageFrameCenter{place-content:center;justify-items:center;gap:1rem;width:min(800px,94vw);min-height:70vh;margin:2rem auto;display:grid}.Loading-module__3iJaWa__pageNotFoundCode{background:var(--ctp-surface0,#eceff4);border-radius:1rem;width:clamp(180px,30vw,340px);height:clamp(70px,14vh,130px)}.Loading-module__3iJaWa__pageNotFoundTitle{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:clamp(240px,45vw,520px);height:1.2rem}.Loading-module__3iJaWa__pageNotFoundButton{background:var(--ctp-surface0,#eceff4);border-radius:.75rem;width:clamp(120px,16vw,200px);height:2.6rem}.Loading-module__3iJaWa__componentFrame{grid-template-columns:1fr;gap:.5rem;width:100%;min-height:120px;display:grid}.Loading-module__3iJaWa__componentLine{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:82%;height:.95rem}.Loading-module__3iJaWa__componentLineShort{background:var(--ctp-surface0,#eceff4);border-radius:.65rem;width:55%;height:.95rem}.Loading-module__3iJaWa__componentBlock{background:var(--ctp-surface0,#eceff4);border-radius:.8rem;width:100%;height:84px}@media (max-width:960px){.Loading-module__3iJaWa__pageGrid,.Loading-module__3iJaWa__pageGridThree,.Loading-module__3iJaWa__pageGridFour{grid-template-columns:repeat(2,minmax(0,1fr))}.Loading-module__3iJaWa__pageGridTwo{grid-template-columns:1fr}}@media (max-width:680px){.Loading-module__3iJaWa__pageFrame{width:92vw}.Loading-module__3iJaWa__pageGrid,.Loading-module__3iJaWa__pageGridThree,.Loading-module__3iJaWa__pageGridFour{grid-template-columns:1fr}}
.ChatBot-module__uIyYJW__fab{border:1px solid var(--ctp-surface0);background:var(--ctp-mantle);width:50px;height:50px;color:var(--ctp-accent);cursor:pointer;z-index:999;border-radius:14px;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #0000004d}.ChatBot-module__uIyYJW__fab:hover{border-color:var(--ctp-accent);background:var(--ctp-base);transform:translateY(-2px)}.ChatBot-module__uIyYJW__fabPulse{border:1.5px solid var(--ctp-accent);pointer-events:none;border-radius:16px;animation:2.5s ease-in-out infinite ChatBot-module__uIyYJW__pulse;position:absolute;inset:-4px}@keyframes ChatBot-module__uIyYJW__pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.ChatBot-module__uIyYJW__fabHidden{opacity:0;pointer-events:none;transform:scale(0)translateY(20px)}.ChatBot-module__uIyYJW__panel{background:var(--ctp-crust);border:1px solid var(--ctp-surface0);z-index:1000;transform-origin:100% 100%;opacity:0;pointer-events:none;border-radius:16px;flex-direction:column;width:340px;height:480px;max-height:calc(100dvh - 3rem);transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden;transform:scale(.9)translateY(20px);box-shadow:0 12px 40px #00000080}.ChatBot-module__uIyYJW__panelOpen{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.ChatBot-module__uIyYJW__header{background:var(--ctp-base);border-bottom:1px solid var(--ctp-surface0);flex-shrink:0;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.ChatBot-module__uIyYJW__headerInfo{align-items:center;gap:.6rem;display:flex}.ChatBot-module__uIyYJW__avatar{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);width:32px;height:32px;color:var(--ctp-accent);border-radius:8px;justify-content:center;align-items:center;display:flex}.ChatBot-module__uIyYJW__headerName{color:var(--ctp-text);font-size:.9rem;font-weight:700}.ChatBot-module__uIyYJW__headerStatus{color:var(--ctp-accent);align-items:center;gap:.35rem;font-size:.65rem;font-weight:600;display:flex}.ChatBot-module__uIyYJW__statusDot{background:var(--ctp-accent);border-radius:50%;width:6px;height:6px}.ChatBot-module__uIyYJW__headerActions{gap:.35rem;display:flex}.ChatBot-module__uIyYJW__headerBtn{width:28px;height:28px;color:var(--ctp-subtext1);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.ChatBot-module__uIyYJW__headerBtn:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.ChatBot-module__uIyYJW__messages{scrollbar-width:none;flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.ChatBot-module__uIyYJW__messages::-webkit-scrollbar{display:none}.ChatBot-module__uIyYJW__message{max-width:85%;animation:.3s ease-out ChatBot-module__uIyYJW__msgAppear;display:flex}@keyframes ChatBot-module__uIyYJW__msgAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ChatBot-module__uIyYJW__messageBot{align-self:flex-start}.ChatBot-module__uIyYJW__messageUser{align-self:flex-end}.ChatBot-module__uIyYJW__bubble{border-radius:12px;padding:.65rem .85rem;font-size:.88rem;line-height:1.5}.ChatBot-module__uIyYJW__messageBot .ChatBot-module__uIyYJW__bubble{background:var(--ctp-base);color:var(--ctp-text);border:1px solid var(--ctp-surface0);border-bottom-left-radius:2px}.ChatBot-module__uIyYJW__messageUser .ChatBot-module__uIyYJW__bubble{background:var(--ctp-accent);color:var(--ctp-base);border-bottom-right-radius:2px}.ChatBot-module__uIyYJW__typing{align-items:center;gap:4px;padding:.65rem 1rem;display:flex}.ChatBot-module__uIyYJW__typingDot{background:var(--ctp-accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite ChatBot-module__uIyYJW__typing}@keyframes ChatBot-module__uIyYJW__typing{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ChatBot-module__uIyYJW__quickReplies{flex-wrap:wrap;flex-shrink:0;gap:.5rem;padding:0 1rem 1rem;display:flex}.ChatBot-module__uIyYJW__quickReply{color:var(--ctp-accent);background:var(--ctp-base);border:1px solid var(--ctp-surface0);cursor:pointer;border-radius:10px;padding:.4rem .8rem;font-size:.75rem;font-weight:600;transition:all .2s}.ChatBot-module__uIyYJW__quickReply:hover{background:var(--ctp-surface0);border-color:var(--ctp-accent)}.ChatBot-module__uIyYJW__inputArea{background:var(--ctp-base);border-top:1px solid var(--ctp-surface0);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.ChatBot-module__uIyYJW__input{background:var(--ctp-mantle);border:1px solid var(--ctp-surface0);color:var(--ctp-text);border-radius:10px;outline:none;flex:1;padding:.6rem .9rem;font-size:.9rem;transition:border-color .2s}.ChatBot-module__uIyYJW__input:focus{border-color:var(--ctp-accent)}.ChatBot-module__uIyYJW__sendBtn{background:var(--ctp-accent);width:40px;height:40px;color:var(--ctp-base);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.ChatBot-module__uIyYJW__sendBtn:hover:not(:disabled){transform:scale(1.05)}.ChatBot-module__uIyYJW__sendBtn:disabled{opacity:.3;cursor:default}@media (max-width:480px){.ChatBot-module__uIyYJW__panel{border-radius:0;width:100%;height:100dvh;max-height:none;bottom:0;right:0}}
.Loading-module__O7r3ba__loader{justify-content:center;align-items:center;display:inline-flex}.Loading-module__O7r3ba__spinner{animation:.8s linear infinite Loading-module__O7r3ba__spin}@keyframes Loading-module__O7r3ba__spin{to{transform:rotate(360deg)}}
