:root{--bg:#071725;--bg2:#0a1d2d;--panel:#0d2334;--panel2:#102b3e;--panel3:#132f42;--line:rgba(169,211,225,.13);--line-strong:rgba(169,211,225,.23);--text:#e9f3f4;--muted:#9ab1bd;--muted2:#718c99;--cyan:#74d5e4;--blue:#6f9ef6;--mint:#8ce0c0;--amber:#eccb8d;--shadow:0 24px 70px rgba(0,0,0,.28);--radius:22px;--content:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Segoe UI',Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.weather-backdrop{position:absolute;inset:0 0 auto;height:900px;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 74% 5%,rgba(29,93,123,.2),transparent 42%),linear-gradient(180deg,#081b2a 0%,rgba(7,23,37,0) 88%)}.backdrop-glow{position:absolute;border-radius:50%;filter:blur(55px);opacity:.23}.glow-a{width:500px;height:500px;background:#176f8a;top:-250px;right:8%}.glow-b{width:300px;height:300px;background:#3757a0;top:330px;right:-170px}.isobars{position:absolute;width:100%;height:100%;color:#8bcfda;opacity:.075}.shell{width:min(var(--content),calc(100% - 64px));margin-inline:auto}.site-header{height:82px;padding:0 max(32px,calc((100% - var(--content))/2));display:flex;align-items:center;border-bottom:1px solid rgba(169,211,225,.1);background:rgba(7,23,37,.73);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand,.footer-brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#8ce2e8,#4da6c9);display:grid;place-items:center;box-shadow:0 6px 22px rgba(86,193,211,.2)}.brand-mark svg{width:30px;height:30px;fill:none;stroke:#073047;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.brand-copy,.footer-brand>span:last-child{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong,.footer-brand strong{font:800 18px 'Segoe UI',Arial,sans-serif;letter-spacing:-.7px}.brand-copy strong span{color:var(--cyan)}.brand-copy small,.footer-brand small{font:500 9px Consolas,'Courier New',monospace;color:var(--muted2);letter-spacing:1.7px;margin-top:5px}.main-nav{display:flex;gap:34px;margin:auto}.main-nav a{font-size:12px;color:var(--muted);font-weight:600;transition:.2s}.main-nav a:hover{color:var(--text)}.header-actions{display:flex;align-items:center;gap:20px;min-width:220px;justify-content:flex-end}.edition-label{font:10px Consolas,'Courier New',monospace;color:var(--muted);letter-spacing:.4px}.edition-label i,.live-dot i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#72dcb2;box-shadow:0 0 10px #72dcb2;margin:0 7px 1px 0}.theme-toggle{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.035);display:grid;place-items:center;color:var(--muted)}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;min-height:590px;padding:65px 0 70px;gap:34px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--cyan);font:500 10px Consolas,'Courier New',monospace;letter-spacing:2px}.eyebrow-icon{width:28px;height:28px;border-radius:9px;background:rgba(116,213,228,.12);display:grid;place-items:center}.eyebrow-icon svg{width:17px;height:17px;fill:none;stroke:var(--cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero h1{font:800 clamp(43px,5.4vw,68px)/1.07 'Segoe UI',Arial,sans-serif;letter-spacing:-3px;margin:24px 0 19px}.hero h1 em,.section-heading h2 em,.featured-card h2 em,.choose-copy h2 em,.faq-section h2 em{font-style:normal;color:var(--cyan)}.hero-intro{max-width:545px;color:#a5bac5;font-size:15px;line-height:1.8;margin:0 0 28px}.hero-search-wrap{max-width:505px}.search-box{height:58px;border:1px solid rgba(130,197,212,.3);border-radius:14px;background:rgba(14,42,59,.83);display:flex;align-items:center;padding:0 17px;gap:13px;box-shadow:0 12px 35px rgba(0,0,0,.14)}.search-box:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(116,213,228,.1)}.search-box svg{width:20px;height:20px;fill:none;stroke:#80a9b9;stroke-width:1.8;stroke-linecap:round}.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.search-box input::placeholder{color:#7995a3}.search-box kbd{font:11px Consolas,'Courier New',monospace;color:#8da7b3;border:1px solid rgba(156,195,205,.2);border-radius:5px;padding:3px 7px}.search-hint{display:block;color:#7893a0;font-size:11px;padding:10px 2px}.inline-search{border:0;padding:0;background:transparent;color:#a6dce3;text-decoration:underline;text-underline-offset:3px;font-size:11px}.hero-stats{display:flex;gap:22px;align-items:center;margin-top:30px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:800 22px Manrope;color:#e8f4f5;letter-spacing:-1px}.hero-stats span{font-size:10px;color:#819aa6;letter-spacing:.2px}.hero-stats>b{height:29px;width:1px;background:var(--line-strong)}.hero-art{height:450px;position:relative;display:grid;place-items:center}.weather-orbit{position:absolute;border:1px solid rgba(120,198,215,.12);border-radius:50%;transform:rotate(-18deg)}.orbit-one{width:520px;height:320px}.orbit-two{width:620px;height:390px;transform:rotate(22deg)}.hero-weather-card{position:relative;width:min(400px,82%);border:1px solid rgba(164,220,230,.22);border-radius:22px;background:linear-gradient(150deg,rgba(22,58,77,.97),rgba(10,32,49,.97));box-shadow:0 35px 90px rgba(0,0,0,.42);padding:19px;transform:rotate(-2deg)}.hero-weather-top,.hero-weather-bottom{display:flex;justify-content:space-between;align-items:center;font:9px Consolas,'Courier New',monospace;letter-spacing:1.1px;color:#8eabb7}.live-dot{color:#8fceb8;font-size:8px}.hero-weather-main{display:flex;justify-content:space-between;align-items:center;margin:25px 2px 16px}.hero-weather-main small{display:block;color:#80a7b5;font:9px Consolas,'Courier New',monospace;letter-spacing:1px;margin-bottom:9px}.hero-weather-main strong{font:800 23px/1.2 Manrope;letter-spacing:-.8px}.hero-weather-main strong span{color:#7dd4df}.sun-cloud{width:85px;height:72px;display:grid;place-items:center}.sun-cloud svg{width:90px;fill:none;stroke:#e8cc8f;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sun-cloud svg path{fill:#86d2db;stroke:#b4e5e5}.hero-map{height:174px;position:relative;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 25% 50%,rgba(49,145,137,.45),transparent 35%),radial-gradient(ellipse at 73% 24%,rgba(86,142,164,.45),transparent 38%),linear-gradient(130deg,#153f50,#1b5060 50%,#153b53)}.hero-map:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(145,214,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(145,214,220,.09) 1px,transparent 1px);background-size:31px 31px}.map-land{position:absolute;background:rgba(176,203,170,.24);filter:blur(1px);border:1px solid rgba(196,219,180,.25);z-index:1}.land-a{width:150px;height:70px;left:20px;top:22px;border-radius:46% 54% 38% 62%;transform:rotate(-26deg)}.land-b{width:115px;height:95px;right:65px;top:10px;border-radius:55% 45% 63% 37%;transform:rotate(27deg)}.land-c{width:100px;height:45px;left:160px;bottom:-9px;border-radius:50%;transform:rotate(15deg)}.map-contour{position:absolute;border:1px solid rgba(120,224,211,.55);border-radius:50%;z-index:2}.c1{width:170px;height:85px;left:25px;top:44px;transform:rotate(18deg)}.c2{width:208px;height:110px;left:8px;top:30px;transform:rotate(18deg)}.c3{width:130px;height:130px;right:40px;top:14px}.map-pin{position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;background:#efcd8c;box-shadow:0 0 0 5px rgba(239,205,140,.16),0 0 15px #efcd8c}.pin-a{left:30%;top:44%}.pin-b{right:30%;top:31%}.pin-c{right:14%;bottom:24%}.map-label{position:absolute;z-index:2;font:7px Consolas,'Courier New',monospace;letter-spacing:1px;color:rgba(225,241,231,.58)}.label-a{left:13px;bottom:12px}.label-b{right:24px;top:13px}.label-c{left:48%;bottom:17px}.map-legend{position:absolute;bottom:10px;right:12px;display:flex;gap:3px;z-index:4}.map-legend i{width:16px;height:3px;background:#71bfd0;border-radius:4px}.map-legend i:nth-child(2){background:#8acda6}.map-legend i:nth-child(3){background:#e8ca84}.map-legend i:nth-child(4){background:#e59583}.hero-weather-bottom{margin-top:13px}.hero-weather-bottom strong{font:600 9px 'DM Sans';color:#b8d6d9;letter-spacing:0}.tiny-wind{display:inline-block;width:12px;height:5px;border-top:1px solid var(--cyan);border-bottom:1px solid var(--cyan);border-radius:50%;margin-right:6px}.floating-chip{position:absolute;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(173,222,230,.2);border-radius:12px;background:rgba(11,37,54,.94);box-shadow:0 15px 40px rgba(0,0,0,.24);backdrop-filter:blur(10px)}.floating-chip b,.floating-chip small{display:block}.floating-chip b{font-size:10px}.floating-chip small{font-size:9px;color:#86a3af;margin-top:2px}.chip-symbol{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(112,213,224,.13);color:var(--cyan);font-size:18px}.rain-symbol{color:#9eafff}.chip-top{right:-3px;top:76px}.chip-bottom{left:-11px;bottom:69px}.feature-band{padding:12px 0 88px}.feature-label{display:flex;align-items:center;gap:10px;font:500 10px Consolas,'Courier New',monospace;letter-spacing:1.7px;color:var(--amber);margin:0 0 16px 4px}.sparkle{font-size:17px}.feature-line{width:45px;height:1px;background:rgba(236,203,141,.45)}.feature-note{color:#7f9ba7;letter-spacing:.3px;font:11px 'DM Sans'}.featured-card{display:grid;grid-template-columns:1fr 1.04fr;gap:20px;position:relative;overflow:hidden;padding:35px;border-radius:24px;border:1px solid rgba(129,204,218,.28);background:radial-gradient(ellipse at 92% 10%,rgba(47,118,145,.24),transparent 43%),linear-gradient(115deg,#102b3d,#0b2031 67%,#102d3f);box-shadow:var(--shadow)}.featured-card:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(99,193,211,.035));pointer-events:none}.featured-text{position:relative;z-index:1;padding:4px 12px 0 2px}.featured-kicker{display:flex;align-items:center;gap:9px;color:#b7d1d7;font:500 10px Consolas,'Courier New',monospace;letter-spacing:1.1px}.featured-icon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#79dce3,#4c9cc1);color:#083044;font:800 9px Manrope}.featured-pill{border:1px solid rgba(236,203,141,.36);color:var(--amber);font-size:8px;border-radius:30px;padding:4px 8px;letter-spacing:1px}.featured-card h2{font:800 clamp(25px,3vw,36px)/1.2 Manrope;letter-spacing:-1.5px;margin:20px 0 14px}.featured-card p{max-width:475px;color:#a1b8c1;font-size:13px;line-height:1.8}.featured-tags,.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.featured-tags span,.card-tags span{border:1px solid rgba(149,193,204,.15);background:rgba(141,195,207,.055);color:#a5c0c8;border-radius:50px;padding:5px 9px;font:9px Consolas,'Courier New',monospace}.featured-actions{display:flex;align-items:center;gap:19px;margin-top:25px}.button-primary{height:44px;display:inline-flex;align-items:center;gap:18px;padding:0 16px;border-radius:10px;background:linear-gradient(100deg,#89dce4,#72b7dc);color:#082839;font-size:11px;font-weight:700;box-shadow:0 8px 24px rgba(87,185,207,.17);transition:transform .2s,filter .2s}.button-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}.button-primary span{font-size:15px}.text-action{border:0;background:transparent;color:#a5c4cb;font-size:11px}.text-action:hover{color:#fff}.editor-note{margin-top:20px!important;color:#718d99!important;font-size:10px!important;max-width:470px;line-height:1.65!important}.featured-visual{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0}.visual-window{padding:0;border-radius:15px;background:#e9f3f1;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.32);transform:rotate(1deg);border:1px solid rgba(255,255,255,.25)}.window-bar{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#f7faf8;color:#183648;border-bottom:1px solid #e0e9e6}.window-brand{display:flex;align-items:center;gap:4px;font:11px Manrope;color:#173748}.window-brand b{font-weight:800}.mini-cloud{font-size:18px;color:#38a6bd}.window-location{padding:5px 9px;border:1px solid #dfe8e5;border-radius:6px;color:#6b8790;font-size:8px}.window-dots{display:flex;gap:4px}.window-dots i{width:5px;height:5px;border-radius:50%;background:#d6e2df}.visual-content{padding:17px 19px 13px;color:#17384b}.visual-heading{display:flex;align-items:center;justify-content:space-between}.visual-heading small{display:block;font:8px Consolas,'Courier New',monospace;letter-spacing:1px;color:#829aa0}.visual-heading strong{font:800 17px Manrope;letter-spacing:-.5px}.best-match{font:700 8px Consolas,'Courier New',monospace;color:#1e7a6c;background:#d9f0e8;border-radius:5px;padding:6px 8px}.best-match i{font-style:normal;color:#35a58d}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.source-tile{padding:10px 9px;background:#f4f8f6;border:1px solid #e0eae5;border-radius:8px;display:flex;flex-direction:column;gap:4px}.source-tile small{font:7px Consolas,'Courier New',monospace;color:#82999c}.source-tile strong{font:800 23px Manrope;color:#1a4054;line-height:1.15}.source-tile span{font-size:8px;color:#66818a}.source-selected{border-color:#9bd7c7;background:#eef9f5}.check-mini{font-style:normal;color:#23967d;font-weight:800}.cloud-sun-mini{display:inline-block;width:11px;height:7px;border-radius:9px;background:#8ecbd1;position:relative}.cloud-sun-mini:after{content:'';position:absolute;width:6px;height:6px;left:1px;top:-4px;border-radius:50%;background:#efc877}.visual-chart{margin-top:14px;padding:10px 11px 5px;border:1px solid #e2ebe8;border-radius:8px;background:#f9fbfa}.chart-meta{display:flex;justify-content:space-between;font:8px 'DM Sans';font-weight:700;color:#355465}.chart-meta small{font:7px 'DM Mono';color:#91a5a5}.visual-chart svg{width:100%;height:71px;display:block;margin-top:4px}.chart-days{display:flex;justify-content:space-between;font:7px 'DM Mono';color:#8ba0a1}.visual-footer{display:flex;align-items:center;gap:13px;margin-top:11px;font:7px 'DM Mono';color:#809699}.visual-footer>span{display:flex;align-items:center;gap:5px}.visual-footer i{width:7px;height:7px;border-radius:50%}.legend-a{background:#55c7df}.legend-b{background:#91a5ff}.legend-c{background:#e8b66f}.visual-footer .visual-mode{margin-left:auto;color:#508c82;font-weight:500;letter-spacing:.8px}.visual-caption{display:flex;justify-content:space-between;margin-top:14px;color:#76949f;font:8px 'DM Mono';letter-spacing:1px}.visual-caption span:last-child{letter-spacing:0;text-transform:none}.directory-section{padding:5px 0 90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:29px}.small-eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:12px}.section-heading h2,.choose-copy h2,.faq-section h2{font:800 clamp(29px,3.6vw,42px)/1.12 Manrope;letter-spacing:-1.8px;margin:0 0 10px}.section-heading p{color:#91a9b4;font-size:12px;margin:0}.results-count{display:flex;align-items:baseline;gap:8px;color:#7e9aa6;font:10px 'DM Mono';padding-bottom:5px}.results-count strong{font:800 27px Manrope;color:var(--cyan)}.directory-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.category-tabs{display:flex;gap:6px;flex-wrap:wrap}.category-tab{border:1px solid transparent;background:transparent;padding:9px 12px;border-radius:9px;color:#8ba5b0;font-size:10px;font-weight:600;transition:.2s}.category-tab:hover{background:rgba(255,255,255,.04);color:#d7e8eb}.category-tab.active{background:rgba(101,198,213,.12);border-color:rgba(101,198,213,.2);color:#9de1e7}.category-tab span{margin-left:5px;font:9px 'DM Mono';color:#6faeb9}.sort-control{display:flex;align-items:center;gap:10px;color:#718d99;white-space:nowrap;font:9px 'DM Mono';letter-spacing:.7px}.sort-control select{background:#10283a;border:1px solid var(--line);border-radius:8px;color:#b8cdd3;padding:8px 26px 8px 9px;font:10px 'DM Sans';outline:none}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.app-card{min-width:0;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:linear-gradient(155deg,rgba(17,44,62,.95),rgba(10,29,44,.97));transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;flex-direction:column}.app-card:hover{transform:translateY(-4px);border-color:rgba(120,205,218,.3);box-shadow:0 18px 45px rgba(0,0,0,.2)}.app-card.featured-mini{border-color:rgba(236,203,141,.25)}.card-preview{height:164px;position:relative;overflow:hidden;background:#122f42;border-bottom:1px solid var(--line)}.card-preview img{width:100%;height:100%;display:block;object-fit:cover}.preview-label{position:absolute;right:10px;bottom:9px;border:1px solid rgba(170,220,225,.2);background:rgba(5,24,37,.78);backdrop-filter:blur(8px);padding:4px 7px;border-radius:5px;color:#a4c5cc;font:7px 'DM Mono';letter-spacing:.8px}.app-card-body{padding:17px 18px 14px;display:flex;flex-direction:column;flex:1}.app-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.app-logo{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;font:800 14px Manrope;box-shadow:inset 0 1px rgba(255,255,255,.15)}.logo-leet{background:linear-gradient(145deg,#8de2e4,#4e9fbd);color:#093246}.logo-windy{background:#d34c58;color:#fff;font-size:18px}.logo-accu{background:#f2a04c;color:#58300f;font:800 21px Georgia}.logo-meteo{background:#2b6e9b;color:#fff;font:800 21px Georgia}.logo-yr{background:#48a6e6;color:#fff;font:800 17px Manrope}.logo-ventusky{background:#4e94be;color:#fff;font-size:18px}.logo-channel{background:#e7f0f5;color:#276287;font:800 9px 'DM Mono'}.logo-wu{background:#e6e5dd;color:#58584e;font:800 11px 'DM Mono'}.logo-gov{background:#edf0f4;color:#294e6a;font:800 8px 'DM Mono'}.card-award,.card-type{font:8px 'DM Mono';letter-spacing:1px}.card-award{color:var(--amber)}.card-type{color:#7595a3}.app-card h3{font:800 18px Manrope;letter-spacing:-.4px;margin:0 0 8px}.best-for{font:8px 'DM Mono';letter-spacing:.5px;color:#6f8c98}.best-for b{color:#9ed3d9;font-weight:500;letter-spacing:0}.app-card p{min-height:62px;margin:11px 0 0;color:#92aab4;font-size:11px;line-height:1.65}.card-tags{margin-top:12px}.card-tags span{font-size:8px;padding:4px 7px}.card-footer{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card-footer>a{font-size:10px;font-weight:700;color:#a8dce1}.card-footer>a span{color:var(--cyan);margin-left:3px}.compare-button{border:1px solid rgba(136,183,196,.22);background:rgba(133,193,205,.06);color:#9dbac4;border-radius:7px;padding:6px 9px;font-size:9px;white-space:nowrap;transition:.2s}.compare-button:hover,.compare-button[aria-pressed="true"]{border-color:rgba(116,213,228,.45);background:rgba(116,213,228,.14);color:#aeeaf0}.empty-state{text-align:center;padding:60px 20px;border:1px dashed var(--line-strong);border-radius:16px;color:#8fa9b4}.empty-state>span{font-size:30px;color:var(--cyan)}.empty-state strong{display:block;color:var(--text);margin:10px 0 4px}.empty-state p{font-size:12px;margin:0 0 15px}.empty-state button{border:1px solid var(--line-strong);border-radius:8px;padding:8px 12px;background:transparent;color:var(--cyan);font-size:10px}.compare-section{padding:0 0 92px}.compare-heading{margin-bottom:25px}.compare-instruction{display:flex;align-items:center;gap:11px;color:#b0c5cb;font-size:10px}.compare-step{width:34px;height:34px;border:1px solid rgba(116,213,228,.3);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font:11px 'DM Mono'}.compare-instruction small{display:block;color:#718d99;font-size:9px;margin-top:3px}.compare-empty{min-height:125px;display:flex;align-items:center;gap:20px;padding:23px 27px;border:1px dashed rgba(130,190,204,.26);border-radius:16px;background:rgba(15,40,57,.45)}.empty-weather-icon{width:57px;height:57px;border-radius:15px;background:rgba(116,213,228,.09);display:grid;place-items:center;flex:none}.empty-weather-icon svg{width:42px;height:34px;fill:none;stroke:#75cbd8;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.compare-empty strong{font:700 13px Manrope}.compare-empty p{margin:4px 0 0;color:#809ba6;font-size:10px}.quiet-link{font-size:10px;color:#a2d5dc;font-weight:700}.quiet-link span{color:var(--cyan);margin-left:4px}.compare-empty .quiet-link{margin-left:auto;white-space:nowrap}.comparison-table-wrap{border:1px solid var(--line-strong);border-radius:16px;overflow:hidden;background:rgba(12,34,50,.88)}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);font:10px 'DM Mono';color:#90aab5}.table-toolbar button{border:0;background:transparent;color:#91d7df;font-size:10px}.comparison-table-scroll{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;min-width:650px}.comparison-table th,.comparison-table td{padding:14px 17px;text-align:left;border-bottom:1px solid var(--line);font-size:10px}.comparison-table thead th{background:rgba(117,189,204,.045);color:#a8c6cf;vertical-align:top}.comparison-table thead th:first-child{width:180px;color:#7895a0;font:9px 'DM Mono';letter-spacing:.8px}.comparison-table tbody th{font-size:10px;color:#91aab4;font-weight:500}.comparison-table tbody td{color:#c5d7dc}.table-brand{display:flex;align-items:center;gap:8px;font:700 11px Manrope;color:#e4f0f1}.table-brand .app-logo{width:26px;height:26px;border-radius:8px;font-size:10px}.table-brand small{display:block;font:8px 'DM Mono';color:#d2b77c;margin-top:2px}.feature-yes{color:#8edabe;font-weight:700}.feature-partial{color:#edca8e}.feature-no{color:#6f8995}.table-note{margin:0;padding:12px 17px;color:#718b97;font-size:9px;line-height:1.6}.choose-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:34px 0 82px;border-top:1px solid var(--line)}.choose-copy h2{margin:0 0 17px}.choose-copy p{color:#90aab5;font-size:12px;line-height:1.85;max-width:380px;margin:0 0 21px}.use-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.use-case{display:flex;align-items:center;gap:12px;position:relative;border:1px solid var(--line);background:rgba(14,38,54,.6);border-radius:12px;padding:15px 30px 15px 13px;min-height:84px}.use-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(115,197,211,.1);color:var(--cyan);font-size:17px;flex:none}.icon-chart{color:#a9b9fc;background:rgba(169,185,252,.1)}.icon-bell{color:#e8c58e;background:rgba(232,197,142,.1)}.use-case strong{display:block;font-size:10px}.use-case p{margin:4px 0 0;color:#819ba6;font-size:9px;line-height:1.45}.use-arrow{position:absolute;right:12px;top:12px;color:#6b8c98;font-size:12px}.methodology-band{display:flex;align-items:center;gap:18px;padding:19px 22px;margin-bottom:78px;border:1px solid rgba(236,203,141,.18);border-radius:14px;background:linear-gradient(100deg,rgba(100,88,56,.13),rgba(15,42,57,.52))}.method-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(236,203,141,.12);color:var(--amber);font-size:20px;flex:none}.methodology-band>div:nth-child(2){flex:1}.methodology-band strong{font:700 11px Manrope;color:#dfd5bb}.methodology-band p{color:#91a5a9;font-size:10px;line-height:1.65;margin:4px 0 0;max-width:820px}.review-date{display:flex;flex-direction:column;gap:4px;white-space:nowrap;text-align:right}.review-date span{font:8px 'DM Mono';color:#82969a;letter-spacing:1px}.review-date strong{font:10px 'DM Mono';color:var(--amber)}.faq-section{padding:0 0 85px}.faq-section h2{margin-bottom:25px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.faq-grid details{border:1px solid var(--line);border-radius:11px;background:rgba(13,35,51,.65);padding:15px 16px}.faq-grid summary{list-style:none;cursor:pointer;color:#c4d8dc;font-weight:700;font-size:11px;position:relative;padding-right:22px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:'+';position:absolute;right:0;top:-3px;color:var(--cyan);font-size:18px;font-weight:400}.faq-grid details[open] summary:after{content:'−'}.faq-grid details p{color:#8fa8b2;font-size:10px;line-height:1.8;margin:12px 0 0}.site-footer{border-top:1px solid var(--line);padding:24px 0 22px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.footer-brand{min-width:0}.footer-brand .brand-mark{width:36px;height:36px;border-radius:11px}.footer-brand .brand-mark svg{width:26px;height:26px}.footer-brand strong{font-size:15px}.footer-brand small{font-size:8px}.footer-links{display:flex;justify-content:flex-end;gap:23px}.footer-links a{color:#839da8;font-size:9px}.footer-links a:hover{color:var(--cyan)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid rgba(155,198,209,.08);color:#647f8b;font:9px 'DM Mono'}.footer-bottom i{font-style:normal;color:var(--cyan);margin-left:4px}.compare-dock{position:fixed;z-index:40;left:50%;bottom:20px;transform:translateX(-50%);width:min(760px,calc(100% - 28px));min-height:68px;padding:10px 12px;display:flex;align-items:center;gap:15px;border:1px solid rgba(123,209,218,.3);border-radius:15px;background:rgba(9,30,46,.96);box-shadow:0 20px 65px rgba(0,0,0,.45);backdrop-filter:blur(20px)}.compare-dock[hidden]{display:none}.dock-summary{display:flex;align-items:center;gap:9px;min-width:135px}.dock-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:rgba(116,213,228,.13);color:var(--cyan);font-size:18px}.dock-summary b,.dock-summary small{display:block}.dock-summary b{font:700 10px Manrope}.dock-summary small{font:8px 'DM Mono';color:#7896a3;margin-top:2px}.dock-selected{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.dock-chip{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:5px 7px;color:#bbd0d4;font-size:9px;white-space:nowrap}.dock-chip button{border:0;background:transparent;color:#8ba8b1;padding:0 0 0 3px;font-size:12px}.dock-action{height:39px;padding:0 14px;border:0;border-radius:9px;background:var(--cyan);color:#082a3a;font-size:10px;font-weight:800;white-space:nowrap}.dock-action span{font-size:14px;margin-left:8px}
body.light{--bg:#edf5f5;--bg2:#e6f0f1;--panel:#fff;--panel2:#f5fafa;--panel3:#edf6f5;--line:rgba(30,79,91,.12);--line-strong:rgba(30,79,91,.23);--text:#123144;--muted:#57717d;--muted2:#718c97;background:#edf5f5;color:#123144}.light .weather-backdrop{background:radial-gradient(ellipse at 74% 5%,rgba(69,178,196,.18),transparent 42%),linear-gradient(180deg,#e7f3f4 0%,rgba(237,245,245,0) 88%)}.light .site-header{background:rgba(237,245,245,.82);border-color:rgba(30,79,91,.12)}.light .hero h1,.light .hero-stats strong{color:#153548}.light .hero-intro,.light .section-heading p,.light .choose-copy p{color:#597480}.light .search-box{background:#fff;border-color:rgba(43,129,146,.25)}.light .search-box input{color:#173a4e}.light .search-box input::placeholder{color:#89a2aa}.light .featured-card{background:radial-gradient(ellipse at 92% 10%,rgba(47,158,180,.14),transparent 43%),linear-gradient(115deg,#fff,#edf6f6 67%,#e7f3f4);border-color:rgba(36,130,147,.25)}.light .featured-card p{color:#587480}.light .featured-kicker{color:#456976}.light .editor-note{color:#708b94!important}.light .app-card{background:linear-gradient(155deg,#fff,#f3f8f8);border-color:rgba(37,97,112,.14)}.light .app-card h3{color:#16394d}.light .app-card p{color:#627e89}.light .best-for{color:#77929b}.light .best-for b{color:#397e8b}.light .card-tags span{color:#527985;border-color:rgba(54,125,139,.16);background:rgba(78,155,171,.05)}.light .compare-button{color:#527783}.light .compare-button:hover,.light .compare-button[aria-pressed="true"]{color:#1a7180}.light .category-tab{color:#577782}.light .category-tab.active{background:rgba(69,165,180,.12);color:#247989;border-color:rgba(69,165,180,.2)}.light .sort-control select{background:#fff;color:#355c6b}.light .compare-empty,.light .faq-grid details,.light .use-case{background:#f6fbfb}.light .compare-empty strong,.light .faq-grid summary,.light .use-case strong{color:#17394d}.light .compare-empty p,.light .faq-grid details p,.light .use-case p{color:#68838d}.light .comparison-table-wrap{background:#fff}.light .comparison-table thead th{background:#f3f9f8;color:#3c6776}.light .comparison-table tbody th{color:#69858e}.light .comparison-table tbody td{color:#2d5364}.light .table-brand{color:#17394d}.light .methodology-band{background:linear-gradient(100deg,rgba(232,201,143,.18),rgba(255,255,255,.7))}.light .methodology-band strong{color:#725d35}.light .methodology-band p{color:#617d86}.light .site-footer{border-color:rgba(30,79,91,.15)}.light .footer-links a{color:#5e7e89}.light .compare-dock{background:rgba(255,255,255,.96);border-color:rgba(40,145,159,.3)}.light .dock-summary b{color:#193d50}.light .dock-chip{color:#426c7b}.light .floating-chip{background:rgba(255,255,255,.94);border-color:rgba(39,133,149,.18)}.light .floating-chip b{color:#1c4658}.light .floating-chip small{color:#688792}
@media(max-width:980px){.shell{width:min(100% - 44px,var(--content))}.site-header{padding:0 22px}.main-nav{gap:19px}.header-actions,.brand{min-width:170px}.hero{grid-template-columns:1fr .9fr;gap:10px}.hero-art{transform:scale(.88);transform-origin:center right;margin-left:-35px}.featured-card{padding:27px;grid-template-columns:1fr .95fr}.featured-card h2{font-size:28px}.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-controls{align-items:flex-start;flex-direction:column}.sort-control{align-self:flex-end;margin-top:-35px}.choose-section{gap:30px}}
@media(max-width:700px){.shell{width:calc(100% - 34px)}.site-header{height:68px;padding:0 17px}.brand{min-width:0}.brand-mark{width:36px;height:36px;border-radius:11px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:7px}.main-nav{display:none}.header-actions{min-width:0;margin-left:auto;gap:12px}.edition-label{font-size:8px}.hero{display:block;padding:55px 0 50px;min-height:0}.hero h1{font-size:clamp(42px,11vw,58px);letter-spacing:-2.5px}.hero-intro{font-size:13px;max-width:580px}.hero-art{height:355px;margin:20px -20px 0;transform:scale(.83);transform-origin:center}.hero-weather-card{width:370px}.chip-top{right:1px;top:28px}.chip-bottom{left:0;bottom:28px}.hero-stats{gap:14px}.hero-stats strong{font-size:19px}.hero-stats span{font-size:9px}.feature-band{padding-bottom:64px}.feature-label{font-size:9px;letter-spacing:1.1px;flex-wrap:wrap}.feature-note{font-size:10px}.featured-card{grid-template-columns:1fr;padding:23px 18px;gap:22px}.featured-card h2{font-size:28px}.featured-card p{font-size:12px}.featured-visual{max-width:550px;width:100%;margin:auto}.visual-content{padding:14px 12px 11px}.source-grid{gap:5px}.source-tile{padding:8px 6px}.source-tile strong{font-size:19px}.source-tile small{font-size:6px}.source-tile span{font-size:7px}.section-heading{align-items:flex-start;gap:15px}.section-heading h2,.choose-copy h2,.faq-section h2{font-size:32px}.section-heading p{font-size:11px}.results-count{font-size:8px;gap:5px;white-space:nowrap}.results-count strong{font-size:22px}.directory-controls{gap:12px}.category-tabs{gap:5px}.category-tab{padding:8px 9px;font-size:9px}.sort-control{margin-top:0;align-self:flex-start}.app-grid{grid-template-columns:1fr;gap:13px}.app-card{display:grid;grid-template-columns:39% 61%;min-height:198px}.card-preview{height:100%;min-height:198px;border-bottom:0;border-right:1px solid var(--line)}.app-card-body{padding:13px 13px 11px}.app-card h3{font-size:16px}.app-card p{font-size:10px;min-height:0;line-height:1.55}.app-card-top{margin-bottom:7px}.app-logo{width:29px;height:29px;border-radius:8px}.card-type,.card-award{font-size:7px;letter-spacing:.5px}.card-tags{margin-top:8px;gap:4px}.card-tags span{font-size:7px;padding:3px 6px}.card-footer{margin-top:auto;padding-top:9px}.card-footer>a{font-size:9px}.compare-button{font-size:8px;padding:5px 7px}.preview-label{font-size:6px;right:5px;bottom:6px;padding:3px 5px}.compare-heading{display:block}.compare-instruction{margin-top:18px}.compare-empty{padding:18px;gap:13px;flex-wrap:wrap}.empty-weather-icon{width:45px;height:45px}.compare-empty .quiet-link{margin-left:58px}.choose-section{grid-template-columns:1fr;gap:25px;padding:25px 0 60px}.use-case-grid{gap:8px}.use-case{min-height:88px;padding:11px 23px 11px 10px;gap:8px}.use-icon{width:28px;height:28px;font-size:14px}.use-case strong{font-size:9px}.use-case p{font-size:8px}.methodology-band{margin-bottom:60px;align-items:flex-start;padding:15px;gap:11px}.method-icon{width:30px;height:30px}.methodology-band strong{font-size:10px}.methodology-band p{font-size:9px}.review-date{display:none}.faq-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;gap:17px}.footer-links{justify-content:flex-start;flex-wrap:wrap;gap:13px 19px}.footer-bottom{font-size:8px;gap:10px}.compare-dock{bottom:10px;gap:8px;padding:8px}.dock-summary{min-width:105px;gap:6px}.dock-icon{width:28px;height:28px}.dock-summary b{font-size:9px}.dock-summary small{font-size:7px}.dock-chip{font-size:8px;padding:4px 5px}.dock-action{height:36px;padding:0 9px;font-size:9px}.dock-action span{margin-left:3px}}
@media(max-width:390px){.shell{width:calc(100% - 26px)}.hero h1{font-size:40px}.edition-label{display:none}.hero-art{margin-inline:-34px;transform:scale(.76)}.featured-card h2{font-size:25px}.featured-actions{gap:9px;flex-wrap:wrap}.button-primary{height:40px}.text-action{font-size:10px}.app-card{grid-template-columns:35% 65%}.app-card-body{padding:11px}.app-card p{font-size:9px}.dock-selected .dock-chip:nth-child(n+3){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* WEATHER / alternative.to wordmark */
.brand-copy strong,.footer-brand strong{font-size:23px;letter-spacing:2.1px;line-height:1;color:var(--text)}
.brand-copy small,.footer-brand small{font-family:'DM Mono',Consolas,'Courier New',monospace;font-size:10px;font-weight:500;letter-spacing:.55px;text-transform:none;margin-top:5px;color:var(--muted2)}
.brand{gap:12px}
/* Provider favicons are the actual site icons, not typographic stand-ins. */
.app-logo-favicon{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:#f8fbfc;border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,.14)}
.app-logo-favicon img{display:block;width:25px;height:25px;max-width:25px;max-height:25px;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none}
.app-logo-favicon.icon-missing,.table-brand-icon.icon-missing{background:linear-gradient(145deg,#163e52,#0c293c)}
.table-brand-icon{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:#f8fbfc;border-radius:8px;overflow:hidden}
.table-favicon{width:24px;height:24px;object-fit:contain;display:block}
.table-brand{display:inline-flex;align-items:center;gap:9px}
/* Real captures returned by Thum.io. Keep them honest and never fall back to mock UI art. */
.screenshot-preview{background:#0b1d2b}
.screenshot-preview .site-screenshot{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;background:#0b1d2b}
.screenshot-preview .preview-label{font-size:7px;letter-spacing:.55px}
.screenshot-preview.preview-failed{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,rgba(63,146,167,.25),transparent 55%),#0a1b29}
.screenshot-preview.preview-failed::after{content:'LIVE SCREENSHOT TEMPORARILY UNAVAILABLE';display:block;padding:14px;text-align:center;color:#9ab9c4;font:9px 'DM Mono',Consolas,monospace;letter-spacing:1px}
@media(max-width:600px){.brand-copy strong,.footer-brand strong{font-size:21px;letter-spacing:1.8px}.app-logo-favicon{width:33px;height:33px;min-width:33px}.app-logo-favicon img{width:23px;height:23px;max-width:23px;max-height:23px}}


/* Ranking and local voting */
.rank-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:7px;background:rgba(103,159,174,.1);color:var(--muted);font:700 9px 'DM Mono';letter-spacing:.2px}
.rank-badge.rank-top{font-size:10px;border-color:rgba(228,197,121,.45);background:rgba(194,157,73,.13);color:#f2d184}
.rank-badge.rank-2{border-color:rgba(192,207,216,.36);background:rgba(192,207,216,.1);color:#d3e0e5}
.rank-badge.rank-3{border-color:rgba(201,137,101,.42);background:rgba(173,103,66,.13);color:#e8ad88}
.app-card-top{gap:8px;flex-wrap:wrap}
.card-score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.card-score-row>.service-points{color:var(--text);font:700 14px 'DM Mono';letter-spacing:-.4px;white-space:nowrap}
.card-score-row>.service-points small{color:var(--muted2);font:7px 'DM Mono';letter-spacing:.8px;margin-left:3px}
.local-vote{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:5px 9px;border:1px solid rgba(111,203,214,.28);border-radius:8px;background:rgba(83,173,188,.08);color:#a8dce0;font:700 9px Manrope;cursor:pointer;white-space:nowrap;transition:background .18s,border-color .18s,transform .18s}
.local-vote:hover{background:rgba(83,173,188,.16);border-color:rgba(111,203,214,.5);transform:translateY(-1px)}
.local-vote[aria-pressed="true"]{background:rgba(65,170,151,.16);border-color:rgba(91,202,173,.48);color:#91e3c4}
.local-vote .vote-glyph{font-size:13px;line-height:1}
.local-vote .vote-count{font:700 9px 'DM Mono';min-width:8px}
.more-tools{margin-top:38px;padding-top:27px;border-top:1px solid var(--line)}
.more-tools[hidden]{display:none}
.more-tools-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}
.more-tools-heading h3{margin:7px 0 5px;color:var(--text);font:700 clamp(22px,3vw,29px) Manrope;letter-spacing:-1px}
.more-tools-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.more-tools-count{display:flex;flex-direction:column;align-items:end;color:var(--text);font:700 18px 'DM Mono'}
.more-tools-count small{margin-top:3px;color:var(--muted2);font:7px 'DM Mono';letter-spacing:1px}
.compact-tools-list{list-style:none;counter-reset:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.compact-tool-row{min-width:0;display:grid;grid-template-columns:29px 32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(21,52,70,.78),rgba(12,33,49,.78));}
.compact-tool-row[hidden]{display:none}
.compact-rank{color:var(--muted2);font:9px 'DM Mono';text-align:center}
.compact-favicon{width:29px;height:29px;object-fit:contain;border-radius:7px;background:#fff;padding:4px}
.compact-tool-copy{min-width:0}
.compact-tool-name{color:var(--text);font:700 10px Manrope;text-decoration:none;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-tool-name:hover{color:var(--cyan)}
.compact-tool-name span{color:var(--muted2);font-size:9px}
.compact-tool-copy p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.4}
.compact-tool-actions{display:grid;justify-items:end;gap:5px}
.compact-tool-actions>.service-points{color:var(--text);font:700 10px 'DM Mono';white-space:nowrap}
.compact-tool-actions>.service-points small{color:var(--muted2);font:7px 'DM Mono'}
.compact-vote{min-height:24px;padding:3px 6px;font-size:8px;gap:3px}
.compact-vote small{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.favicon-failed{visibility:hidden}
.light .more-tools-heading h3{color:#17394d}
.light .more-tools-heading p{color:#617d86}
.light .compact-tool-row{background:linear-gradient(145deg,#fff,#f3f8f8);border-color:rgba(37,97,112,.14)}
.light .compact-tool-name,.light .compact-tool-actions>.service-points{color:#17394d}





@media(max-width:760px){.compact-tools-list{grid-template-columns:1fr}.compact-tool-row{grid-template-columns:27px 30px minmax(0,1fr) auto}.more-tools-heading{align-items:flex-start}.more-tools-count{font-size:15px}.card-score-row{margin-top:8px;padding-top:7px}}
@media(max-width:390px){.compact-tool-row{grid-template-columns:24px 27px minmax(0,1fr) auto;gap:6px;padding:9px}.compact-favicon{width:26px;height:26px}.compact-tool-copy p{font-size:7px}.local-vote{padding:4px 6px}}

.sort-control strong{color:var(--text);font:700 9px Manrope;letter-spacing:.6px}
