:root{color-scheme:light;--sky: #4A90E2;--sun: #F5A623;--text: #1a2233;--card: rgba(255, 255, 255, .75);--card-border: rgba(255, 255, 255, .6);--bubble: #ffffff;--shadow: 0 10px 30px rgba(31, 65, 120, .18);--bg-gradient: linear-gradient(160deg, #cfe6ff 0%, #eef6ff 45%, #ffffff 100%);--surface: #ffffff;--border: #e5e7eb;--text-muted: #6b7280;--text-secondary: #4b5563;--input-bg: rgba(255, 255, 255, .7);--bar: rgba(255, 255, 255, .62);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}:root[data-theme=dark]{color-scheme:dark;--text: #e8eefc;--card: rgba(30, 41, 66, .6);--card-border: rgba(80, 110, 170, .3);--bubble: #16233f;--bg-gradient: linear-gradient(160deg, #0a1a33 0%, #0d1220 60%, #05070d 100%);--surface: #0d1526;--border: rgba(80, 110, 170, .28);--text-muted: #93a4c4;--text-secondary: #b7c4dd;--input-bg: rgba(20, 30, 55, .7);--bar: rgba(9, 15, 28, .55)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--text);background:var(--bg-gradient);background-attachment:fixed}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.weather-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}.hero__temp,.hero__condition,.hero__city{text-shadow:0 2px 18px rgba(8,20,45,.28)}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;flex-wrap:wrap;background:var(--bar);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--border)}.topbar__logo{font-weight:800;font-size:1.25rem;color:var(--sky);display:flex;align-items:center;gap:.5rem}.icon-btn{min-width:2.6rem;padding:.5rem .65rem;font-size:1rem;line-height:1}.topbar__mark{border-radius:7px;display:block}.topbar__right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:1rem 1.25rem 2rem}.hero{text-align:center;padding:1.5rem 0 .5rem}.hero__icon{font-size:5rem;line-height:1}.hero__temp{font-size:4.5rem;font-weight:800;letter-spacing:-2px}.hero__condition{font-size:1.25rem;font-weight:600;opacity:.85}.hero__city{opacity:.6;margin-top:.25rem}.joke-card{margin:1.5rem 0}.joke-card__bubble{position:relative;background:var(--bubble);border-radius:20px;padding:1.25rem 1.5rem;box-shadow:var(--shadow);font-size:1.15rem;font-weight:500;text-align:center;min-height:3.5rem;display:flex;align-items:center;justify-content:center}.joke-card__bubble:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--bubble)}.joke-card__loading{opacity:.5;font-style:italic}.joke-card__actions{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.detail-card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:.9rem .75rem;display:flex;flex-direction:column;gap:.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center}.detail-card__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;opacity:.6}.detail-card__value{font-size:1.1rem;font-weight:700}.btn{border:none;border-radius:999px;padding:.6rem 1.1rem;font-weight:600;background:var(--sky);color:#fff;cursor:pointer;font-size:.95rem}.btn:disabled{opacity:.5;cursor:default}.btn--ghost{background:transparent;color:var(--sky);border:1.5px solid var(--sky)}.unit-toggle{min-width:3rem}.search{display:flex;gap:.4rem}.search__input{border:1.5px solid rgba(74,144,226,.4);border-radius:999px;padding:.55rem .9rem;font-size:.95rem;background:var(--input-bg);color:var(--text);min-width:8rem}.theme-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1.5px solid var(--border);background:var(--input-bg)}.theme-toggle__btn{border:none;background:transparent;cursor:pointer;border-radius:999px;width:30px;height:30px;font-size:.95rem;line-height:1;display:grid;place-items:center}.theme-toggle__btn.is-active{background:var(--sky);box-shadow:0 1px 4px #1f417840}.spinner{text-align:center;padding:4rem 0;opacity:.8}.spinner__ring{width:44px;height:44px;margin:0 auto 1rem;border-radius:50%;border:4px solid rgba(74,144,226,.25);border-top-color:var(--sky);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:3rem 0;display:grid;gap:1rem;justify-items:center}.search-error{text-align:center;color:#c0392b;font-size:.9rem;padding:.25rem 1rem}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#060c1899;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.share-modal{position:relative;width:100%;max-width:420px;padding:1rem;background:var(--surface);border-radius:22px;box-shadow:var(--shadow)}.share-modal__close{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border:none;border-radius:999px;background:var(--card);color:var(--text);cursor:pointer;font-size:.9rem}.share-modal__preview img{width:100%;border-radius:16px;display:block}.share-modal__loading{aspect-ratio:1;display:grid;place-items:center;color:var(--text-muted)}.share-modal__actions{display:flex;gap:.6rem;margin-top:.9rem;justify-content:center;flex-wrap:wrap}.share-modal__note{text-align:center;margin-top:.55rem;color:var(--text-muted);font-size:.85rem}.footer{background:var(--surface);border-top:1px solid var(--border);padding:40px 1.25rem 32px;margin-top:32px}.footer__inner{max-width:none;width:100%;display:grid;grid-template-columns:1fr;gap:24px}.footer__brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;color:var(--text)}.footer__brand img{border-radius:6px}.footer__tagline{margin-top:6px;font-size:13px;color:var(--text-muted)}.footer__links{display:flex;flex-wrap:wrap;gap:18px}.footer__links a{color:var(--text-secondary);font-size:14px;font-weight:500;text-decoration:none}.footer__links a:hover{color:var(--text)}.footer__bottom{max-width:none;width:100%;margin:8px 0 0;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-muted)}.footer a{color:var(--sky);text-decoration:none}.footer a:hover{text-decoration:underline}@media (min-width: 720px){.footer__inner{grid-template-columns:1fr auto;align-items:center}}
