Проверьте этикетку и реальные условия. Прогноз не гарантирует водонепроницаемость или теплоизоляцию леггинсов.
Изучите погоду подробно
Просматривайте почасовые прогнозы, удобные списки одежды и официальные предупреждения США. Загружаем только то, что вы запросили.
📈 Почасовой прогноз и на 7 дней вперёд
Температура, влажность, дождь, УФ-индекс при ясном небе и ветер.
🎒 Список вещей для выхода по погоде
Составьте список, используя сохранённый прогноз, без дополнительных покупок и звонков.
⚠️ Официальные предупреждения США
Действующие уведомления Национальной метеослужбы США для американских городов.
Источники: MET Norway, PlaceDB (CC0) и NWS. Список основан на кэшированном прогнозе, а не на тестах одежды.
Как формируется рекомендация
Мы сочетаем прогноз с вашими выбором, не приписывая одежде несуществующих свойств.
Реальный прогноз
Температура, ощущаемая температура, ветер и осадки от MET Norway.
Твои леггинсы
Укажи, легкие они, обычные или термо. Это не лабораторное исследование.
Твоя активность
Городская прогулка и длительный поход требуют разных слоев одежды.
Что носить с леггинсами, когда холодно, идет дождь или дует ветер
Сначала посмотри реальный прогноз. Подбирай слои по температуре, дождю, ветру и погоде на улице. Процент волокон не показывает, насколько тепло они сохраняют.
❄️
Образы с леггинсами для холодной погоды
Для короткой прогулки подойдут обычные леггинсы, свитер и куртка. При температуре около нуля или длительной прогулке подумай о настоящем утеплении и внешнем слое. Носи закрытую обувь с хорошим сцеплением.
🌧️
Что носить с леггинсами, если идет дождь
Большинство леггинсов не водонепроницаемы. Добавь внешний слой, устойчивый к воде, закрытую обувь с хорошей подошвой и одежду, которую можно снять в помещении.
🌬️
Ветреные или мягкие дни
При ветре важнее ветровка, чем название волокон. В мягкую погоду выбирай удобный топ и легкие слои, которые легко снять.
Шесть образов для реальных ситуаций
Прогноз — это ориентир, а не униформа. Подстраивай слои под маршрут, активность и имеющуюся одежду.
🌧️
Дождь в городе
Сочетай непрозрачные леггинсы с свитером, водонепроницаемой курткой и обувью с хорошим сцеплением.
Перед выходом: Мокрый асфальт и отапливаемые помещения требуют разных слоев.
Дополнительные населённые пункты и примерные координаты: GeoNames, CC BY 4.0; редакционный отбор. GeoNames.
(function(){
"use strict";
var root=document.querySelector('[data-tool=weather]');if(!root)return;
var L={"find":"Искать другие города","hint":"Не нашли свой населённый пункт? Ищите в выбранной стране или загрузите другие страны. Без GPS и поиска по IP.","lookup":"Название места","search":"Искать населённые пункты","countries":"Другие страны","empty":"Результатов нет.","loading":"Идёт поиск мест…","choose":"Выбрать это место","intro":"Подробный прогноз погоды","lead":"Просматривайте почасовые прогнозы, удобный список одежды и официальные предупреждения США. Загружаем только запрошенное.","forecast":"Часы и ближайшие 7 дней","forecastDesc":"Температура, влажность, осадки, УФ-индекс при ясном небе и ветер.","alerts":"Официальные предупреждения США","alertsDesc":"Действующие уведомления Национальной службы погоды для населённых пунктов США.","go":"Проверить","hour":"Ближайшие часы (UTC)","days":"Ближайшие дни (даты UTC)","unavailable":"Источник временно недоступен.","nothing":"Нет совместимых значений.","notUS":"Предупреждения NWS доступны только в США.","noAlerts":"Официальных предупреждений нет.","countryReady":"Список стран загружен.","source":"Источники: MET Norway, PlaceDB (CC0) и NWS. Список использует кэшированный прогноз, а не примерку одежды.","pack":"Список для выхода в зависимости от погоды","packDesc":"Подготовьте список, используя сохранённый прогноз, без дополнительных покупок и звонков.","packItems":["Твои леггинсы","Тёплая одежда или верхняя одежда","Верхний слой для защиты от дождя","Ветровка","Тёплые носки и закрытая обувь","Удобная обувь с хорошим сцеплением"],"packCopy":"Скопировать список","packSaved":"Список скопирован"},country=root.querySelector('#wa-country'),city=root.querySelector('#wa-city');
var input=root.querySelector('#wa-place-query'),matches=root.querySelector('.wa-place-matches'),status=root.querySelector('.wa-place-status-text');
function item(tag,value){var e=document.createElement(tag);e.textContent=String(value);return e;}
function query(){
var opt=city.selectedOptions[0],p=new URLSearchParams();
if(opt&&opt.dataset.placeId){p.set('country',country.value);p.set('place',opt.dataset.placeId);p.set('q',opt.dataset.query);}
else if(city.value)p.set('city',city.value);
return p;
}
var placeEpoch=0,panelEpoch={forecast:0,pack:0,alerts:0};
function clear(){placeEpoch++;for(var mode in panelEpoch)panelEpoch[mode]++;matches.replaceChildren();status.textContent='';for(var e of root.querySelectorAll('.wa-deep-output'))e.replaceChildren();}
country.addEventListener('change',clear);city.addEventListener('change',clear);
var find=root.querySelector('.wa-place-find');
find.addEventListener('click',async function(){
var value=input.value.trim();if(value.length<2){input.focus();return;}
var findIntent=++placeEpoch,chosenCountry=country.value;
status.textContent=L.loading;matches.replaceChildren();find.disabled=true;
try{
var r=await fetch('/api/weather-places?country='+encodeURIComponent(country.value)+'&q='+encodeURIComponent(value));
if(!r.ok)throw Error('places');var d=await r.json();if(findIntent!==placeEpoch||country.value!==chosenCountry)return;if(!d.places||!d.places.length)status.textContent=L.empty;
else status.textContent=d.places.length+' · '+L.choose;
for(const p of d.places||[]){
var li=item('li',''),b=item('button',p.name);
b.type='button';b.addEventListener('click',function(){
if(findIntent!==placeEpoch||country.value!==chosenCountry)return;
var opt=document.createElement('option');opt.value='p-'+p.country+'-'+p.id;opt.textContent=p.name;
opt.dataset.placeId=String(p.id);opt.dataset.query=value;city.append(opt);city.disabled=false;city.value=opt.value;
city.dispatchEvent(new Event('change',{bubbles:true}));status.textContent=p.name+' ✓';matches.replaceChildren();
});li.append(b);matches.append(li);
}
}catch{if(findIntent===placeEpoch)status.textContent=L.unavailable;}finally{find.disabled=false;}
});
input.addEventListener('keydown',function(e){if(e.key==='Enter'){e.preventDefault();find.click();}});
root.querySelector('.wa-all-countries').addEventListener('click',async function(){
var button=this;button.disabled=true;status.textContent=L.loading;
try{
var r=await fetch('/api/weather-countries');if(!r.ok)throw Error('countries');
var d=await r.json(),already=new Set(Array.from(country.options,x=>x.value)),extra=[];
var fmt=new Intl.DisplayNames([document.documentElement.lang||'en'],{type:'region'});
for(var c of d.countries||[]){if(!/^[A-Z]{2}$/.test(c.code)||already.has(c.code))continue;
var o=document.createElement('option');o.value=c.code;o.textContent=fmt.of(c.code)||c.name;
country.append(o);extra.push(c.code);}
window.__leggicMoreCountries=[...new Set([...(window.__leggicMoreCountries||[]),...extra])];
status.textContent=L.countryReady;button.hidden=true;
}catch{status.textContent=L.unavailable;button.disabled=false;}
});
function line(box,name,value){var row=item('div','');row.className='wa-deep-line';row.append(item('span',name),item('strong',value));box.append(row);}
for(const btn of root.querySelectorAll('.wa-deep-fetch')){
btn.addEventListener('click',async function(){
var mode=btn.dataset.mode,box=root.querySelector('.wa-deep-output[data-mode="'+mode+'"]');
var intent=++panelEpoch[mode],selectedCountry=country.value,selectedCity=city.value;
if(!city.value){box.textContent=L.empty;return;}
box.textContent=L.loading;btn.disabled=true;
var p=query(),url=mode==='alerts'?'/api/weather-alerts':'/api/weather-advice';
if(mode==='forecast'||mode==='pack')p.set('view','extended');
try{
var r=await fetch(url+'?'+p.toString());if(!r.ok)throw Error('source');
var d=await r.json();if(intent!==panelEpoch[mode]||city.value!==selectedCity||country.value!==selectedCountry)return;box.replaceChildren();
if(mode==='forecast'){
var a=item('div','');a.className='wa-deep-lines';
if(Number.isFinite(d.humidity))line(a,'💧',d.humidity+'%');
if(Number.isFinite(d.uvClearSky))line(a,'UV (clear sky)',d.uvClearSky);
if(Number.isFinite(d.windGustMs))line(a,'Wind gust',d.windGustMs+' m/s');
for(var h of (d.hourly||[]).slice(0,18))line(a,h.time.slice(5,16).replace('T',' ')+' UTC',h.temperatureC+' °C'+(Number.isFinite(h.precipChance)?' · '+h.precipChance+'%':''));
box.append(a);
var b=item('div','');b.className='wa-deep-lines';
for(var day of d.daily||[])line(b,day.dayUTC,day.lowC+' / '+day.highC+' °C');
box.append(item('h4',L.days),b);
}else if(mode==='pack'){
if(!Number.isFinite(d.temperatureC))throw Error('missing temperature');
var items=[L.packItems[0]];
if(d.temperatureC<10)items.push(L.packItems[1]);
if((Number.isFinite(d.precipMm)&&d.precipMm>=0.2)||/rain|snow|sleet/i.test(d.symbol||''))items.push(L.packItems[2]);
if(d.windMs>=8)items.push(L.packItems[3]);
items.push(d.temperatureC<5?L.packItems[4]:L.packItems[5]);
var list=item('ul','');list.className='wa-packing-list';
for(const label of [...new Set(items)]){var li=item('li',label);list.append(li);}
box.append(list);
var copy=item('button',L.packCopy);copy.type='button';copy.className='wa-pack-copy';
copy.addEventListener('click',async function(){try{
await navigator.clipboard.writeText(items.join('\n'));copy.textContent=L.packSaved;
}catch{copy.textContent=L.unavailable;}});
box.append(copy);
}else{
if(!d.supported){box.textContent=L.notUS;return;}
if(!d.alerts?.length){box.textContent=L.noAlerts;return;}
for(var a of d.alerts)line(box,a.severity,a.event+': '+a.headline);
var link=item('a','National Weather Service');link.href='https://www.weather.gov/';link.rel='noopener noreferrer';box.append(link);
}
}catch{if(intent===panelEpoch[mode])box.textContent=L.unavailable;}finally{btn.disabled=false;}
});
}
})();document.addEventListener('DOMContentLoaded',()=>{setTimeout(()=>{
// The deferred app.js initializes its tool on DOMContentLoaded; run just after it.
const button=document.getElementById('buildLook');if(!button)return;
const labels={it:'Abbinamento',de:'Outfit',es:'Conjunto',fr:'Tenue',en:'Look'};
const enhance=()=>{
const result=document.querySelector('#lookResult .result');
if(!result||result.querySelector('.style-look-grid'))return;
const items=[...result.querySelectorAll('ol li')].slice(0,3);
if(!items.length)return;
const selectedText=id=>{
const element=document.getElementById(id);
return element?.selectedOptions?.[0]?.textContent?.trim()||element?.value||'';
};
const metaText=[selectedText('color'),selectedText('season'),selectedText('shoes')].filter(Boolean).join(' · ');
const grid=document.createElement('div');grid.className='style-look-grid';
items.forEach((item,index)=>{
const card=document.createElement('article');card.className='style-look';
const meta=document.createElement('span');meta.className='style-look-meta';meta.textContent=metaText;
const content=document.createElement('div'),title=document.createElement('b'),copy=document.createElement('p');
title.textContent=(labels[document.documentElement.lang]||labels.en)+' '+(index+1);
copy.innerHTML=item.innerHTML;
content.append(title,copy);card.append(meta,content);grid.append(card);
});
result.querySelector('ol')?.replaceWith(grid);
};
const next=()=>setTimeout(enhance,0);
button.addEventListener('click',next);
for(const id of ['color','season','occasion','shoes','finish'])document.getElementById(id)?.addEventListener('change',next);
next();
},0);});(()=>{const root=document.querySelector('header.site-header [data-lp]');if(!root)return;const t=root.querySelector('.lp-trigger'),d=root.querySelector('.lp-dialog');if(!d||typeof d.showModal!=='function')return;const f=d.querySelector('.lp-filter'),items=[...d.querySelectorAll('.lp-item')],groups=[...d.querySelectorAll('.lp-group')],empty=d.querySelector('.lp-empty');const norm=s=>s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'');const apply=()=>{const q=norm(f.value.trim());let shown=0;items.forEach(a=>{const ok=!q||norm(a.dataset.names+' '+a.textContent).includes(q);a.parentElement.hidden=!ok;if(ok)shown++;});groups.forEach(g=>{g.hidden=![...g.querySelectorAll('li')].some(li=>!li.hidden)});empty.hidden=shown>0;};t.addEventListener('click',e=>{if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;e.preventDefault();d.showModal();f.value='';apply();if(window.matchMedia('(pointer:fine)').matches)f.focus();else d.querySelector('.lp-item.is-current')?.scrollIntoView({block:'center'});});d.querySelector('.lp-close').addEventListener('click',()=>d.close());d.addEventListener('click',e=>{if(e.target===d)d.close()});f.addEventListener('input',apply);f.addEventListener('keydown',e=>{if(e.key==='Enter'){const first=items.find(a=>!a.parentElement.hidden);if(first){e.preventDefault();first.click();}}});d.addEventListener('close',()=>t.focus());})();