:root{--bg-0:#071014;--bg-1:#0b171c;--bg-2:#0f1d23;--surface-0:#0b151a;--surface-1:#0f1a20;--surface-2:#132127;--surface-3:#182830;--text:#e8f1f2;--text-soft:#b9cacc;--muted:#7d9197;--muted-2:#60757c;--accent:#39d4d9;--accent-2:#86d996;--accent-dim:rgba(57, 212, 217, 0.08);--accent-line:rgba(57, 212, 217, 0.28);--border:rgba(190, 211, 214, 0.08);--border-strong:rgba(190, 211, 214, 0.15);--danger:#e65b61;--warning:#e6a523;--success:#4bc77b;--info:#57a6eb;--shadow-1:0 5px 18px rgba(0, 0, 0, 0.16);--shadow-2:0 14px 40px rgba(0, 0, 0, 0.24);--radius-sm:6px;--radius-md:9px;--radius-lg:12px;--header-height:68px}:root[data-theme=light]{--bg-0:#edf3f3;--bg-1:#f4f8f8;--bg-2:#e7eeee;--surface-0:#ffffff;--surface-1:#ffffff;--surface-2:#f7faf9;--surface-3:#edf3f2;--text:#13282c;--text-soft:#385359;--muted:#677c81;--muted-2:#89999d;--accent:#08787d;--accent-2:#378c57;--accent-dim:rgba(8, 120, 125, 0.06);--accent-line:rgba(8, 120, 125, 0.22);--border:rgba(22, 49, 53, 0.09);--border-strong:rgba(22, 49, 53, 0.15);--danger:#cf474d;--warning:#a96f0a;--success:#2c8a50;--info:#3477bd;--shadow-1:0 5px 16px rgba(21, 42, 45, 0.05);--shadow-2:0 12px 34px rgba(21, 42, 45, 0.08)}*,::after,::before{box-sizing:border-box}body,html{margin:0;min-height:100%;overflow-x:hidden}html{background:var(--bg-0)}body{min-width:320px;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.4;background:linear-gradient(to bottom,var(--bg-0) 0,var(--bg-1) 140px,var(--bg-2) 100%)}a{color:inherit}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.historical-loading{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(4,10,13,.76);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:1;visibility:visible;transition:opacity .18s ease,visibility .18s ease}.historical-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.historical-spinner{width:36px;height:36px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--accent);border-right-color:var(--accent-2);border-radius:50%;animation:historical-spin .72s linear infinite}:root[data-theme=light] .historical-loading{background:rgba(240,245,245,.82)}:root[data-theme=light] .historical-spinner{border-color:rgba(8,120,125,.1);border-top-color:var(--accent);border-right-color:var(--accent-2)}@keyframes historical-spin{to{transform:rotate(360deg)}}header{position:sticky;top:0;z-index:1100;width:100%;background:var(--surface-0);border-bottom:1px solid var(--border)}header::after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:var(--accent-line);opacity:.45}.header-content{width:min(1440px,100%);min-height:var(--header-height);margin:0 auto;padding:7px 18px;display:grid;grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.logo{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.logo img{width:24px;height:24px;object-fit:contain}.brand .title{max-width:240px;min-width:0;margin:0;overflow:hidden;color:var(--text);font-size:14px;font-weight:800;line-height:1.15;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.historical-search{position:relative;width:100%;max-width:740px;min-width:0;justify-self:center;display:grid;grid-template-columns:minmax(170px,1.35fr) minmax(125px,0.9fr) minmax(105px,0.75fr) 40px;gap:4px;padding:4px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.historical-search:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-dim)}.historical-icao-wrap{position:relative;z-index:5001;min-width:0}.historical-search input{width:100%;min-width:0;height:34px;padding:6px 10px;border:1px solid transparent;border-radius:6px;outline:0;background:0 0;color:var(--text);font-size:12px;font-weight:650}.historical-search input:hover{border-color:var(--border);background:rgba(255,255,255,.02)}.historical-search input:focus{border-color:var(--accent-line);background:var(--accent-dim)}:root[data-theme=light] .historical-search input:hover{background:rgba(18,47,51,.02)}:root[data-theme=light] .historical-search input:focus{background:rgba(8,120,125,.04)}#icaoInput{text-transform:uppercase}#icaoInput::placeholder{color:var(--muted);opacity:.74;font-weight:500;text-transform:none}#searchBtn{width:38px;height:34px;padding:0;border-radius:6px}.historical-suggestions{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:6000;display:none;max-height:320px;overflow-y:auto;padding:4px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);box-shadow:var(--shadow-2)}.historical-suggestion-item{width:100%;min-height:40px;padding:6px 8px;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:5px;background:0 0;color:var(--text);text-align:left;cursor:pointer}.historical-suggestion-item:focus-visible,.historical-suggestion-item:hover{background:var(--surface-3);outline:0}.historical-suggestion-code{min-height:24px;padding:4px 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-line);border-radius:5px;background:var(--accent-dim);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:850;letter-spacing:.05em}.historical-suggestion-name{min-width:0;overflow:hidden;color:var(--text-soft);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.controls{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.nav-group,.tools-group{display:flex;align-items:center;gap:3px}.nav-group{padding-right:7px;border-right:1px solid var(--border)}.btn{min-height:35px;padding:6px 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:10px;font-weight:800;line-height:1;text-decoration:none;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform 80ms ease}.btn svg{display:block;width:18px;height:18px;flex:0 0 auto}.btn:active{transform:translateY(1px)}.btn-ghost{background:0 0;color:var(--muted)}.btn-ghost:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.btn-primary{background:var(--accent);color:#05181a}.btn-primary:hover{filter:brightness(1.035)}:root[data-theme=light] .btn-primary{color:#fff}.btn-sigmets{border-color:rgba(230,165,35,.22);background:rgba(230,165,35,.07);color:var(--warning)}.btn-sigmets:hover{border-color:rgba(230,165,35,.35);background:rgba(230,165,35,.12)}#themeToggle{position:relative}#themeToggle .theme-icon{width:18px;height:18px}#themeToggle .theme-icon[hidden]{display:none}.nav-group .btn{width:35px;min-width:35px;padding:6px}.nav-group .btn span{display:none}.historical-back-metar{width:auto!important;min-width:auto!important;padding:6px 10px!important;border-color:var(--accent-line)!important;background:var(--accent-dim)!important;color:var(--accent)!important}.historical-back-metar:hover{border-color:rgba(57,212,217,.42)!important;background:rgba(57,212,217,.13)!important}.tools-group .btn{width:35px;min-width:35px;padding:6px}.tools-group .btn-sigmets{width:auto;min-width:35px;padding:6px 9px}.tools-group .btn-sigmets span{display:inline}.settings_button{width:35px!important;min-width:35px!important}.historical-page{width:min(1180px,calc(100% - 30px));margin:0 auto;padding:20px 0 36px}.historical-message{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;width:100%;margin-bottom:11px;padding:12px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-1);box-shadow:var(--shadow-1)}.historical-message-icon{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:900}.historical-message-content{min-width:0;display:flex;flex-direction:column;gap:2px}.historical-message-title{color:var(--text);font-size:12px;font-weight:850}.historical-message-text{color:var(--muted);font-size:12px;line-height:1.5}.historical-message-error{border-left-color:var(--danger)}.historical-message-error .historical-message-icon{color:var(--danger);background:rgba(230,91,97,.08)}.historical-message-info{border-left-color:var(--info)}.historical-message-info .historical-message-icon{color:var(--info);background:rgba(87,166,235,.08)}.historical-message-warning{border-left-color:var(--warning)}.historical-message-warning .historical-message-icon{color:var(--warning);background:rgba(230,165,35,.08)}.historical-message-success{border-left-color:var(--success)}.historical-message-success .historical-message-icon{color:var(--success);background:rgba(75,199,123,.08)}.card{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:var(--shadow-1)}.card:hover{border-color:var(--border-strong)}.historical-panel{margin-bottom:11px}.card-subtitle{margin-bottom:8px;color:var(--muted-2);font-size:9px;font-weight:850;letter-spacing:1.15px;line-height:1;text-transform:uppercase}.historical-identity{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(135px,0.7fr) minmax(135px,0.7fr);gap:0;align-items:stretch;padding:0;overflow:hidden}.historical-identity::before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(to bottom,var(--accent),var(--accent-2))}.historical-identity-left{min-width:0;padding:18px 20px 17px 23px}.historical-icao{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:29px;font-weight:900;line-height:1;letter-spacing:.08em}.historical-station{margin-top:7px;overflow:hidden;color:var(--text-soft);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.historical-identity-middle{min-width:0;padding:16px 18px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border)}.historical-label{color:var(--muted-2);font-size:8px;font-weight:850;letter-spacing:.95px;text-transform:uppercase}.historical-identity-middle strong{margin-top:5px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:800}.historical-panel:not(.historical-identity){padding:14px}.historical-observation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--border)}.historical-value{min-width:0;min-height:76px;padding:11px 13px;display:flex;flex-direction:column;justify-content:center;background:var(--surface-2)}.historical-value>span{color:var(--muted-2);font-size:8px;font-weight:850;letter-spacing:.85px;text-transform:uppercase}.historical-value strong{min-width:0;margin-top:6px;color:var(--text);font-size:15px;font-weight:800}.historical-flight-category{min-width:60px;padding:5px 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;font-size:11px;font-weight:900;line-height:1;letter-spacing:.05em}.historical-flight-vfr{color:#36af59;background:rgba(54,175,89,.1);border-color:rgba(54,175,89,.22)}.historical-flight-mvfr{color:#4384ca;background:rgba(67,132,202,.1);border-color:rgba(67,132,202,.22)}.historical-flight-ifr{color:#d84b51;background:rgba(216,75,81,.1);border-color:rgba(216,75,81,.22)}.historical-flight-lifr{color:#ae47bd;background:rgba(174,71,189,.1);border-color:rgba(174,71,189,.22)}.historical-value strong.historical-wind{width:max-content;max-width:none;display:inline-flex;align-items:center;gap:8px;overflow:visible;color:var(--text);font-size:15px;line-height:1.15;white-space:nowrap}.historical-wind-arrow{width:25px;min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.historical-wind-arrow svg{width:25px;height:25px;display:block;transform:rotate(calc(var(--wind-direction,0deg) + 180deg));transform-origin:center}.historical-wind-gust-warning{color:#df991d!important}.historical-wind-gust-danger{color:#dd4d54!important}.historical-clouds{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}.historical-cloud-layer{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.historical-cloud-amount{color:var(--text);font-weight:900}.historical-cloud-height{color:var(--muted);font-variant-numeric:tabular-nums}.historical-cloud-type{color:var(--muted);font-size:.82em;font-weight:750}.historical-raw-panel{padding:13px}.historical-panel-header{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.historical-panel-header .card-subtitle{margin-bottom:0}.historical-raw,.historical-raw-panel pre{margin:8px 0 0;padding:12px;overflow-x:auto;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.historical-archive{padding:0!important;overflow:hidden}.historical-archive>.historical-panel-header{min-height:53px;padding:12px 15px;border-bottom:1px solid var(--border);background:var(--surface-2)}.historical-archive>.historical-panel-header strong{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:850}.historical-archive>.historical-panel-header span{margin-left:6px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.historical-limit{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.historical-limit strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.historical-hours{display:grid;grid-template-columns:repeat(24,minmax(38px,1fr));gap:4px;padding:10px;overflow-x:auto}.historical-hour{min-width:38px;height:47px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.historical-hour:hover{border-color:var(--accent-line);background:var(--surface-3);color:var(--text)}.historical-hour.selected{border-color:var(--accent-line);background:var(--accent-dim);color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.historical-hour strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1}.historical-hour small{color:inherit;font-size:7px;font-weight:750;letter-spacing:.05em;opacity:.62}.historical-archive-footer{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--border)}.historical-year-link{min-height:32px;padding:6px 10px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--accent);font-size:9px;font-weight:800;text-decoration:none}.historical-year-link:hover{border-color:var(--accent-line);background:var(--accent-dim)}.historical-usage{min-width:220px;display:flex;align-items:center;gap:9px}.historical-usage>span{color:var(--muted);font-size:9px;white-space:nowrap}.historical-usage-bar{width:120px;height:5px;overflow:hidden;border-radius:8px;background:var(--surface-3)}.historical-usage-fill{height:100%;border-radius:inherit;background:linear-gradient(to right,var(--accent),var(--accent-2))}.historical-map-panel{padding-bottom:12px!important}.historical-map{position:relative;width:100%;height:335px;margin-top:3px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.historical-map-empty{min-height:130px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:7px;color:var(--muted);font-size:11px}.historical-coordinates{margin-top:7px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.historical-map .leaflet-control-zoom{border:1px solid var(--border-strong)!important;box-shadow:none!important}.historical-map .leaflet-control-zoom a{width:30px!important;height:30px!important;line-height:28px!important;border:0!important;border-bottom:1px solid var(--border)!important;background:var(--surface-1)!important;color:var(--text)!important}.historical-map .leaflet-control-zoom a:last-child{border-bottom:0!important}.historical-map .leaflet-control-zoom a:hover{background:var(--surface-3)!important}.historical-map .leaflet-popup-content-wrapper,.historical-map .leaflet-popup-tip{border:1px solid var(--border);background:var(--surface-1);color:var(--text)}.historical-map .leaflet-popup-content{margin:10px 12px;color:var(--text);font-size:11px}@media (max-width:1250px){.header-content{grid-template-columns:auto minmax(240px,1fr) auto;gap:11px}.brand .title{max-width:185px}.historical-back-metar span{display:none}.historical-back-metar{width:35px!important;min-width:35px!important;padding:6px!important}}@media (max-width:1100px){.header-content{grid-template-columns:auto 1fr auto}.nav-group{padding-right:0;border-right:0}.historical-search{max-width:none}.historical-page{width:min(1180px,calc(100% - 22px))}}@media (max-width:900px){.header-content{grid-template-columns:auto auto;grid-template-areas:"brand controls" "search search";gap:9px 11px;padding:8px 13px 10px}.brand{grid-area:brand}.controls{grid-area:controls}.historical-search{grid-area:search;width:100%}.historical-observation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-identity{grid-template-columns:minmax(0,1.5fr) minmax(120px,0.75fr) minmax(120px,0.75fr)}}@media (max-width:700px){.historical-page{width:calc(100% - 18px);padding-top:13px}.historical-identity{grid-template-columns:1fr 1fr}.historical-identity-left{grid-column:1/-1}.historical-identity-middle{border-top:1px solid var(--border);border-left:0}.historical-archive-footer{flex-direction:column;align-items:stretch}.historical-usage{width:100%;min-width:0}.historical-usage-bar{width:auto;flex:1}}@media (max-width:620px){.brand .title{max-width:155px;font-size:13px}.controls{gap:3px}.nav-group,.tools-group{gap:2px}.historical-back-metar,.nav-group .btn,.tools-group .btn{width:34px!important;min-width:34px!important;height:34px;min-height:34px!important;padding:6px!important}.tools-group .btn-sigmets{width:34px!important;min-width:34px!important;padding:6px!important}.historical-back-metar span,.tools-group .btn-sigmets span{display:none}.historical-search{grid-template-columns:minmax(0,1fr) minmax(100px,0.8fr) 40px}.historical-icao-wrap{grid-column:1/-1}#searchBtn{width:100%}.historical-panel:not(.historical-identity){padding:11px}.historical-observation-grid{grid-template-columns:1fr 1fr}.historical-map{height:285px}}@media (max-width:500px){.header-content{gap:7px;padding-inline:8px}.logo{width:37px;height:37px;flex-basis:37px;border-radius:8px}.logo img{width:22px;height:22px}.brand .title{max-width:125px;font-size:12px}.historical-search{padding:3px;border-radius:8px}.historical-search input{height:32px;font-size:11px}#searchBtn{height:32px}.historical-page{width:calc(100% - 12px);padding-top:10px}.historical-icao{font-size:25px}.historical-station{font-size:11px}.historical-observation-grid{grid-template-columns:1fr}.historical-value{min-height:67px}.historical-hours{padding:8px;gap:3px}.historical-hour{min-width:36px;height:44px}.historical-map{height:255px}}@media (max-width:390px){.brand .title{max-width:100px}.nav-group .btn:nth-child(2){display:none}.historical-message{grid-template-columns:29px minmax(0,1fr);gap:8px;padding:10px}.historical-message-icon{width:27px;height:27px}.historical-panel:not(.historical-identity){padding:10px}.historical-identity-left{padding:15px 15px 14px 19px}.historical-identity-middle{padding:11px 12px}.historical-map{height:235px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}