நாடு, நகரம், செயல்பாடு மற்றும் லெகிங்ஸ் தேர்ந்தெடுக்கவும். உண்மையான முன்னறிவிப்புகளுடன் குளிர், மழை அல்லது காற்றுக்கு ஒரு அணிவகுப்பு தயார் செய்யவும், GPS அல்லது கணக்கு தேவையில்லை.
உங்கள் விருப்பங்களை தேர்ந்தெடுத்து காலநிலை முன்னறிவிப்பை கேளுங்கள்.
🧥
உங்கள் தனிப்பயன் அணிவகுப்பு
உங்கள் பரிந்துரைக்கப்பட்ட அணிவகுப்பு
வெப்பநிலை–
உணர்வுத் வெப்பநிலை–
காற்று–
அடுத்த ஒரு மணி நேரம் மழை–
✦ லெகிங்குகள் மற்றும் அடுக்குகள்
✦ காலணிகள்
✦ ஏன் இது வேலை செய்யலாம்
லேபிளையும் உண்மையான சூழ்நிலைகளையும் சரிபார்க்கவும். முன்னறிவிப்பு லெகிங்கின் நீர்ப்புகா அல்லது வெப்பக் காப்பாற்றல் திறனை உறுதிப்படுத்தாது.
வெப்பநிலையை விரிவாக ஆராயவும்
மணி நேர முன்னறிவிப்புகள், நடைமுறை உடை பட்டியல் மற்றும் அமெரிக்காவின் அதிகாரப்பூர்வ எச்சரிக்கைகளைப் பார்க்கவும். நீங்கள் கேட்டதையே மட்டுமே ஏற்றுகிறோம்.
📈 மணி நேரங்கள் மற்றும் அடுத்த 7 நாட்கள்
வெப்பநிலை, ஈரப்பதம், மழை, UV வெளிர்ச்சி மற்றும் காற்று.
🎒 காலநிலை அடிப்படையிலான வெளியேற தயாரிப்பு பட்டியல்
சேமிக்கப்பட்ட முன்னறிவிப்பைப் பயன்படுத்தி பட்டியலை தயார் செய்யவும், கூடுதல் வாங்குதல் அல்லது அழைப்புகள் இல்லாமல்.
⚠️ அமெரிக்காவின் அதிகாரப்பூர்வ எச்சரிக்கைகள்
அமெரிக்க நகரங்களுக்கான தேசிய வானிலை சேவையின் தற்போதைய அறிவிப்புகள்.
மூலங்கள்: MET Norway, PlaceDB (CC0) மற்றும் NWS. பட்டியல் காசே செய்யப்பட்ட முன்னறிவிப்பைப் பயன்படுத்துகிறது, உடை சோதனைகள் அல்ல.
ஆலோசனை எப்படி தயாரிக்கப்படுகிறது
நாம் முன்னறிவிப்பையும் உங்கள் தேர்வுகளையும் இணைத்து, உடை செயல்திறன் பற்றி கற்பனை செய்யாமல் செய்கிறோம்.
உண்மையான காலநிலை முன்னறிவு
MET Norway வழங்கும் வெப்பநிலை, உணரப்படும் வெப்பநிலை, காற்று மற்றும் மழை நிலை.
உங்கள் லெகிங்ஸ்
அவை எளிதானவை, சாதாரணவையா அல்லது வெப்பமூட்டும் வகையா என்பதை நீங்கள் தெரிவிக்கிறீர்கள். இது ஆய்வக பரிசோதனை அல்ல.
உங்கள் செயல்பாடு
ஒரு நகர பயணம் மற்றும் நீண்ட நடைபயணம் வெவ்வேறு அடுக்குகளை தேவைப்படுத்தும்.
குளிர், மழை அல்லது காற்று இருக்கும் போது லெகிங்ஸுடன் என்ன அணிய வேண்டும்
முதலில் உண்மையான காலநிலை முன்னறிவை பார்க்கவும். வெப்பநிலை, மழை, காற்று மற்றும் வெளிப்புற காலநிலைக்கு ஏற்ப அடுக்குகளை சரிசெய்யவும். நார்களின் சதவீதம் வெப்பம் அளிக்கும் அளவை காட்டாது.
❄️
குளிருக்கு ஏற்ற லெகிங்ஸ் உடைகள்
குறுகிய பயணத்தில் சாதாரண லெகிங்ஸ், ஜெர்சி மற்றும் உடை போதுமானது. பூஜ்ஜியத்திற்கு அருகிலோ அல்லது நீண்ட நடைபயணத்தில் உண்மையான தனிமைப்படுத்தல் மற்றும் வெளிப்புற அடுக்கு தேவை. பிடிப்புள்ள மூடிய காலணிகளை அணியவும்.
🌧️
மழை பெய்யும் போது லெகிங்ஸுடன் என்ன அணிய வேண்டும்
பெரும்பாலான லெகிங்ஸ் நீர்ப்புகா அல்ல. நீர் எதிர்ப்பு வெளிப்புற அடுக்கு, நல்ல திடமான மூடிய காலணிகள் மற்றும் கூரையின்கீழ் எளிதில் கழற்றக்கூடிய உடைகள் சேர்க்கவும்.
🌬️
காற்று வீசும் அல்லது மிதமான நாட்கள்
காற்று வீசும் போது நார்களின் பெயருக்கு பதிலாக காற்று தடுக்கும் ஜாக்கெட் முக்கியமாக இருக்கலாம். மிதமான காலநிலையில், வசதியான டாப் மற்றும் எளிதில் கழற்றக்கூடிய லேசான அடுக்குகளை அணியவும்.
உண்மையான சூழல்களுக்கு ஆறு உடை தொகுப்புகள்
முன்னறிவு ஒரு குறிப்பு மட்டுமே, கட்டாய உடை அல்ல. உங்கள் பயணம், செயல்பாடு மற்றும் உள்ள உடைகளுக்கு ஏற்ப அடுக்குகளை சரிசெய்யவும்.
🌧️
நகரில் மழை
அடர்ந்த லெகிங்ஸுடன் ஜெர்சி, நீர் எதிர்ப்பு உடை மற்றும் பிடிப்புள்ள காலணிகளை இணைக்கவும்.
வெளியே செல்லும் முன்: ஈரமான பாதை மற்றும் உள் சூடான இடங்களுக்கு வேறுபட்ட அடுக்குகள் தேவை.
ஆம், உடை மற்றும் வெளிப்புற காலநிலை பொறுத்தது. சில நுணுக்கமானவை தனிமைப்படுத்தலை தேவைப்படுத்தலாம்; நூல்கள் வெப்பத்தை உறுதிப்படுத்தாது.
மழை பெய்யும் போது இது பொருத்தமா?
தொகுப்பின் ஒரு பகுதியாக ஆம், ஆனால் பெரும்பாலானவை நீர்த்தடுப்பு அல்ல. பொருத்தமான வெளிப்புற அடுக்கையும் பாதுகாப்பான காலணியையும் சேர்க்கவும்.
திட்டமிடுபவர் எப்படி செயல்படுகிறது?
நாடு, நகரம், செயல்பாடு மற்றும் லெகிங்ஸ்களை தேர்ந்தெடுக்கவும். LEGGIC MET Norway வழங்கும் தரவுகளை இணைத்து, தயாரிப்பு சோதனைகளை உருவாக்காமல் அடுக்குகளை பரிந்துரைக்கிறது.
காலநிலை முன்னறிவிப்பைப் பயன்படுத்தி உடையை எப்படி தேர்வு செய்வது
தனித்த வெப்பநிலை போதுமானது அல்ல: காற்று, மழை, வெளிப்புற காலநிலை மற்றும் உள்ளூர் மற்றும் வெளிப்புற இடையேயான மாற்றங்கள் வசதியை பாதிக்கின்றன. இவை வழிகாட்டுதல்கள் மட்டுமே, துணியின் உறுதிப்பாடு அல்ல.
வெப்பநிலையின் அடிப்படையில் ஐந்து தொடக்க புள்ளிகள்
0 °C க்கும் குறைவானது
லெகிங்ஸ்கள் மற்றும் அடுக்குகள்: உண்மையான தனிமைப்படுத்தல் உடைகள் மற்றும் தேவையான போது வெளிப்புற பாதுகாப்பு.
காலணி மற்றும் பொருத்தம்: பிடிப்புடன் மூடிய காலணிகள் மற்றும் சூடான காலுறைகள்.
0–5 °C
லெகிங்ஸ்கள் மற்றும் அடுக்குகள்: வெப்பமூட்டும் லெகிங்ஸ்கள் அல்லது பாதுகாப்பு அடுக்குகள் மற்றும் வெளிப்புற காலநிலைக்கு ஏற்ப உடை.
காலணி மற்றும் பொருத்தம்: ஈரப்பதத்திற்கும் குளிருக்கும் பொருத்தமான மூடிய காலணிகள்.
6–12 °C
லெகிங்ஸ்கள் மற்றும் அடுக்குகள்: சாதாரண லெகிங்ஸ்கள், ஜெர்சி மற்றும் பொருத்தக்கூடிய ஜாக்கெட்.
காலணி மற்றும் பொருத்தம்: மழை பெய்யும் போது வசதியான மற்றும் தாங்கும் காலணிகள்.
13–20 °C
லெகிங்ஸ்கள் மற்றும் அடுக்குகள்: சாதாரண லெகிங்ஸ்கள் மற்றும் இலகுவான அடுக்குகள்.
காலணி மற்றும் பொருத்தம்: பயணத்திற்கு ஏற்ப காலணிகள்.
20 °C க்கும் மேல்
லெகிங்ஸ்கள் மற்றும் அடுக்குகள்: வசதியாக இருந்தால் இலகுவான லெகிங்ஸ்கள், அதிக வெப்பம் ஏற்படாமல்.
காலணி மற்றும் பொருத்தம்: வசதியான மற்றும் காற்றோட்டமுள்ள காலணிகள்.
இவை வழிகாட்டுதல்கள் மட்டுமே. முயற்சி, காற்று, துணி மற்றும் தனிப்பட்ட விருப்பங்கள் உண்மையான உணர்வை மாற்றும்; இவை பொதுவான எல்லைகள் அல்ல.
மூன்று பரிசீலிக்க வேண்டிய காரணிகள்
🌬️காற்று
காற்று தடுக்கும் ஒரு அடுக்கு நூல்களின் கலவையைவிட முக்கியமாக இருக்கலாம்.
🌧️மழை
லெகிங்ஸ்கள் பொதுவாக நீர்த்தடுப்பு அல்ல; வெளிப்புற பாதுகாப்பை சேர்க்கவும்.
🕓கால அளவு
குறுகிய பயணம் மற்றும் நீண்ட நடைபயிற்சிக்கு ஒரே அடுக்குகள் தேவையில்லை.
புறப்படுவதற்கு முன் ஐந்து சரிபார்ப்புகள்
வெளிப்புற காலம்நீங்கள் காலநிலைக்கு எவ்வளவு நேரம் வெளிப்படுவீர்கள் என்பதை கணக்கிடுங்கள்.
உண்மையான உடைதுணி, மூடுபனி மற்றும் பொருத்தத்தை சரிபார்க்கவும்.
காலணிகள்சரியான தளம் மற்றும் பூட்டு தேர்வு செய்யவும்.
அடுக்குகள்நீக்கவோ சேர்க்கவோ கூடிய துணிகளை எடுத்துச் செல்லுங்கள்.
மூலம்புதியதாக உள்ள உள்ளூர் காலநிலை முன்னறிவிப்பை பார்க்கவும்.
ஒரு லேபிள் வெளிப்படுத்தாதவை
80/20 கலவை வெப்பம் தருவதாக உறுதி செய்யுமா?
இல்லை. கலவை வெப்பம் அளவிடாது.
மேலும் GSM நீர்ப்பாதுகாப்பை உறுதி செய்யுமா?
இல்லை. GSM என்பது பரப்பளவுக்கு எடை அளவீடு, மழை எதிர்ப்பு அல்ல.
மேலும் எலாஸ்டேன் விளையாட்டு செயல்திறனை உறுதி செய்யுமா?
இல்லை. கட்டமைப்பு, அளவு மற்றும் இயக்கம் முக்கியம்.
காலநிலை முன்னறிவிப்பை கவனியுங்கள், உங்கள் உடைகளை சோதிக்கவும், மற்றும் துணி, அளவு மற்றும் பராமரிப்பு வழிகாட்டிகளைப் படியுங்கள்.
கூடுதல் இடங்கள் மற்றும் சுமார் ஒருங்கிணைப்புகள்: 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":"வெப்பநிலை, ஈரப்பதம், மழை, UV, தெளிவான வானம் மற்றும் காற்று.","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());})();