.hpwt-app{--bg:#07111f;--panel:#0d1b2a;--panel2:#11263a;--line:#294762;--text:#edf6ff;--muted:#9eb4ca;--blue:#38bdf8;--green:#43d17d;--yellow:#ffd34e;--red:#ff667d;width:min(1360px,calc(100vw - 40px));max-width:1360px;position:relative;left:50%;transform:translateX(-50%);padding:22px;border-radius:18px;background:linear-gradient(180deg,#07111f,#0b1828);color:var(--text);font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;box-sizing:border-box}
.hpwt-app *{box-sizing:border-box}.hpwt-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.hpwt-header h2{margin:0;font-size:clamp(26px,3vw,44px);color:var(--text)}.hpwt-header p{margin:8px 0 0;color:var(--muted)}
.hpwt-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:14px}.hpwt-legend span{display:flex;align-items:center;gap:6px}.hpwt-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.hpwt-legend .is-open{background:var(--blue)}.hpwt-legend .is-done{background:var(--green)}.hpwt-legend .is-current{background:var(--yellow)}
.hpwt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 10px}.hpwt-stats>div{padding:14px;border:1px solid var(--line);background:var(--panel2);border-radius:12px}.hpwt-stats small{display:block;color:var(--muted)}.hpwt-stats strong{display:block;margin-top:6px;font-size:21px;color:var(--blue)}.hpwt-progress{height:12px;background:#06101b;border:1px solid var(--line);border-radius:99px;overflow:hidden;margin-bottom:18px}.hpwt-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .25s}
.hpwt-map-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel)}.hpwt-map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:var(--panel2);border-bottom:1px solid var(--line)}.hpwt-map-toolbar button,.hpwt-controls button{border:1px solid var(--line);background:#10253a;color:var(--text);border-radius:8px;padding:8px 11px;cursor:pointer}.hpwt-map-toolbar button:hover,.hpwt-controls button:hover{border-color:var(--blue)}.hpwt-map{width:100%;height:650px;background:#09131f}.hpwt-map-error{padding:14px;color:#ffd0d7;background:#431923}.hpwt-plane-icon{font-size:22px;filter:drop-shadow(0 1px 2px #000);transform:rotate(45deg)}
.hpwt-popup h3{margin:0 0 7px;font-size:18px}.hpwt-popup p{margin:4px 0}.hpwt-popup .stars{color:#d59b00}.hpwt-popup .badge{display:inline-block;border-radius:999px;padding:2px 7px;background:#e9f5ff;color:#075985;font-size:12px}
.hpwt-controls{display:grid;grid-template-columns:minmax(240px,1fr) 170px 150px auto auto;gap:9px;margin:16px 0}.hpwt-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:13px}.hpwt-controls input,.hpwt-controls select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--panel);color:var(--text)}.hpwt-controls button{align-self:end;height:42px}
.hpwt-table-wrap{height:min(560px,62vh);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:var(--panel);scroll-behavior:smooth}.hpwt-table{border-collapse:collapse;width:100%;min-width:1120px}.hpwt-table th,.hpwt-table td{padding:9px 8px;border-bottom:1px solid #1c374f;text-align:left;vertical-align:middle}.hpwt-table th{position:sticky;top:0;background:#11263a;z-index:2;white-space:nowrap}.hpwt-table td:nth-child(9){min-width:260px;white-space:normal;line-height:1.45}.hpwt-table tr{cursor:pointer}.hpwt-table tr:hover td{background:#102337}.hpwt-table tr.is-done{opacity:.5}.hpwt-table tr.is-current td{background:rgba(255,211,78,.1)}.hpwt-table tr.is-map-selected td{background:rgba(56,189,248,.24);box-shadow:inset 4px 0 0 var(--blue)}.hpwt-icao{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid var(--line);border-radius:999px;color:var(--blue);font-size:12px}.hpwt-stars{color:#ffd34e;white-space:nowrap}.leaflet-container{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif}.leaflet-control-attribution{font-size:10px}
@media(max-width:900px){.hpwt-table-wrap{height:min(500px,58vh)}.hpwt-app{width:calc(100vw - 8px);padding:12px}.hpwt-header{display:block}.hpwt-legend{margin-top:12px}.hpwt-stats{grid-template-columns:repeat(2,1fr)}.hpwt-controls{grid-template-columns:1fr 1fr}.hpwt-controls label:first-child{grid-column:1/-1}.hpwt-map{height:520px}}
@media(max-width:520px){.hpwt-table-wrap{height:min(440px,55vh)}.hpwt-stats{grid-template-columns:1fr 1fr}.hpwt-map{height:430px}.hpwt-map-toolbar{align-items:flex-start;gap:8px}.hpwt-map-toolbar>div{display:flex;flex-direction:column;gap:6px}.hpwt-controls{grid-template-columns:1fr}.hpwt-controls label:first-child{grid-column:auto}}

/* V3.2 中文机场标签 */
.hpwt-airport-label-wrap{background:transparent!important;border:0!important}
.hpwt-airport-label{white-space:nowrap;background:rgba(5,16,31,.88);border:1px solid rgba(56,189,248,.5);border-radius:6px;padding:3px 6px;color:#e9f7ff;font-size:11px;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.28);pointer-events:none}
.hpwt-airport-label b{font-weight:600;margin-right:5px}
.hpwt-airport-label span{color:#65d6ff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* V3.4 本地进度、日志、成就与证书 */
.hpwt-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.hpwt-info-card{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin:14px 0}.hpwt-info-card>div{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.hpwt-info-card small{display:block;color:var(--muted);margin-bottom:5px}.hpwt-info-card b{font-size:15px}.hpwt-controls{grid-template-columns:minmax(230px,1fr) 150px 140px repeat(5,auto)}.hpwt-dashboard{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin:0 0 16px}.hpwt-dashboard section{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:14px}.hpwt-dashboard h3{margin:0 0 10px;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35)}.hpwt-log-list{max-height:220px;overflow:auto}.hpwt-log-item{display:grid;grid-template-columns:160px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid #1c374f}.hpwt-log-item time,.hpwt-log-item span,.hpwt-empty{color:var(--muted);font-size:12px}.hpwt-achievement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hpwt-achievement{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;opacity:.42}.hpwt-achievement.is-unlocked{opacity:1;background:rgba(67,209,125,.09);border-color:rgba(67,209,125,.5)}.hpwt-modal[hidden]{display:none!important}.hpwt-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.hpwt-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.hpwt-modal-card{position:relative;width:min(900px,95vw);max-height:92vh;overflow:auto;background:#0b1828;border:1px solid #46627c;border-radius:18px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.5)}.hpwt-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.hpwt-cert-inner{border:3px double #d9b75b;padding:55px 45px;text-align:center;background:radial-gradient(circle at top,#173852,#07111f 70%)}.hpwt-cert-kicker{letter-spacing:.28em;color:#d9b75b}.hpwt-certificate h2{font-size:38px;color:#ffd86b;margin:20px 0 8px}.hpwt-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.hpwt-cert-grid>div{border:1px solid rgba(217,183,91,.45);border-radius:10px;padding:14px}.hpwt-cert-grid small{display:block;color:#a9bdd0}.hpwt-cert-grid b{display:block;margin-top:5px;font-size:18px}.hpwt-cert-date{margin-top:26px}.hpwt-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.hpwt-modal-actions button{border:1px solid var(--line);background:#15344e;color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer}.hpwt-celebrate-card{text-align:center;padding:55px 30px}.hpwt-confetti{font-size:45px;letter-spacing:10px}.hpwt-celebrate-card h2{font-size:36px;color:#ffd86b}.hpwt-plane-icon{transition:none;transform-origin:center}
@media(max-width:1050px){.hpwt-stats{grid-template-columns:repeat(3,1fr)}.hpwt-controls{grid-template-columns:repeat(3,1fr)}.hpwt-controls label:first-child{grid-column:1/-1}.hpwt-dashboard{grid-template-columns:1fr}.hpwt-log-item{grid-template-columns:130px 1fr}}
@media(max-width:650px){.hpwt-stats,.hpwt-info-card,.hpwt-cert-grid{grid-template-columns:1fr 1fr}.hpwt-controls{grid-template-columns:1fr 1fr}.hpwt-achievement-list{grid-template-columns:1fr}.hpwt-log-item{grid-template-columns:1fr}.hpwt-cert-inner{padding:35px 18px}.hpwt-certificate h2{font-size:27px}}

.hpwt-time-card{width:min(480px,95vw);text-align:center;padding:30px 28px 26px;background:linear-gradient(180deg,#10243a 0%,#0b1828 100%);border-color:#54728f}.hpwt-time-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;background:rgba(67,158,255,.15);border:1px solid rgba(104,181,255,.45);font-size:27px}.hpwt-time-card h2{margin:4px 0 7px;color:#ffe28a;font-size:25px;line-height:1.25}.hpwt-time-route{margin:0 0 24px!important;color:#d5e4f2!important;font-weight:600;font-size:14px}.hpwt-time-title{color:#fff;font-size:19px;font-weight:800;letter-spacing:.02em}.hpwt-time-hint{margin:5px 0 13px!important;color:#b9cad9!important;font-size:13px}.hpwt-time-entry{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:12px;max-width:340px;margin:0 auto;padding:17px 18px 13px;border:1px solid #5f7e9b;border-radius:15px;background:#07111f;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 28px rgba(0,0,0,.22)}.hpwt-time-entry label{display:flex;flex-direction:column;gap:7px}.hpwt-time-entry label span{color:#eef7ff;font-size:14px;font-weight:700}.hpwt-time-entry strong{align-self:end;padding-bottom:14px;color:#d9eaff;font-size:30px;line-height:1}.hpwt-time-entry input{width:100%;height:54px;box-sizing:border-box;border:2px solid #7694af;border-radius:11px;background:#f7fbff;color:#07111f;padding:8px;font-size:25px;font-weight:800;text-align:center;outline:0;caret-color:#1269c7;box-shadow:0 2px 8px rgba(0,0,0,.2)}.hpwt-time-entry input:hover{border-color:#a8c9e5}.hpwt-time-entry input:focus{border-color:#4da3ff;box-shadow:0 0 0 4px rgba(77,163,255,.22),0 2px 8px rgba(0,0,0,.2)}.hpwt-time-entry input::placeholder{color:#66788a;opacity:1}.hpwt-time-format{margin:8px 0 0!important;color:#c3d3e0!important;font-size:12px;letter-spacing:.25em}.hpwt-time-error{color:#ff9aa8!important;background:rgba(255,76,100,.09);border:1px solid rgba(255,112,132,.3);border-radius:8px;padding:8px 10px;margin:12px auto 0!important;max-width:340px;font-weight:700}.hpwt-time-actions{margin-top:20px}.hpwt-time-actions button{min-width:112px;font-weight:700}.hpwt-time-actions .hpwt-primary-button{background:#1976d2;border-color:#58a9f5;box-shadow:0 6px 18px rgba(25,118,210,.28)}.hpwt-time-actions .hpwt-primary-button:hover{background:#2587e5}.hpwt-stats{grid-template-columns:repeat(7,minmax(0,1fr))}@media(max-width:1200px){.hpwt-stats{grid-template-columns:repeat(4,1fr)}}@media(max-width:650px){.hpwt-stats{grid-template-columns:1fr 1fr}.hpwt-time-card{padding:26px 18px 22px}.hpwt-time-entry{gap:9px;padding:15px 12px 12px}.hpwt-time-entry input{height:51px;font-size:23px}.hpwt-time-entry strong{font-size:27px;padding-bottom:13px}}

/* V3.5 航空仪表盘视觉升级 */
.hpwt-app{--panel-glass:rgba(13,27,42,.88);--cyan:#55d8ff;--gold:#ffd66b;--shadow:0 16px 42px rgba(0,0,0,.26);background:
radial-gradient(circle at 12% -8%,rgba(56,189,248,.17),transparent 30%),
radial-gradient(circle at 92% 5%,rgba(67,209,125,.10),transparent 25%),
linear-gradient(180deg,#06101d 0%,#0a1828 100%);border:1px solid rgba(92,151,196,.28);box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden}
.hpwt-app:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:28px 28px}
.hpwt-app>*{position:relative;z-index:1}
.hpwt-header{padding:8px 4px 18px;border-bottom:1px solid rgba(116,170,211,.22)}
.hpwt-header h2{letter-spacing:.015em;text-shadow:0 5px 24px rgba(56,189,248,.24)}
.hpwt-header p strong{color:var(--cyan)}
.hpwt-legend{padding:9px 12px;border:1px solid rgba(116,170,211,.25);border-radius:999px;background:rgba(4,15,27,.48);backdrop-filter:blur(8px)}
.hpwt-legend i{box-shadow:0 0 12px currentColor}

.hpwt-stats{gap:12px;margin-top:18px}
.hpwt-stats>div{position:relative;overflow:hidden;min-height:94px;padding:15px 15px 13px 58px;border-color:rgba(92,151,196,.32);background:linear-gradient(145deg,rgba(18,42,64,.96),rgba(9,27,44,.92));box-shadow:0 10px 25px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.hpwt-stats>div:hover{transform:translateY(-2px);border-color:rgba(85,216,255,.62);box-shadow:0 14px 32px rgba(0,0,0,.25)}
.hpwt-stats>div:before{position:absolute;left:15px;top:18px;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(85,216,255,.12);border:1px solid rgba(85,216,255,.3);font-size:17px}
.hpwt-stats>div:nth-child(1):before{content:"◔"}.hpwt-stats>div:nth-child(2):before{content:"✓"}.hpwt-stats>div:nth-child(3):before{content:"↗"}.hpwt-stats>div:nth-child(4):before{content:"◷"}.hpwt-stats>div:nth-child(5):before{content:"▦"}.hpwt-stats>div:nth-child(6):before{content:"⌖"}.hpwt-stats>div:nth-child(7):before{content:"◎"}
.hpwt-stats small{font-size:12px;letter-spacing:.04em}.hpwt-stats strong{font-size:clamp(19px,1.55vw,25px);color:#f4fbff;text-shadow:0 0 18px rgba(85,216,255,.18)}
.hpwt-progress{height:14px;margin:2px 2px 20px;border-color:rgba(92,151,196,.35);box-shadow:inset 0 2px 8px rgba(0,0,0,.5)}
.hpwt-progress span{position:relative;background:linear-gradient(90deg,#2eb8f0,#48d88b,#ffd66b);box-shadow:0 0 18px rgba(67,209,125,.5)}
.hpwt-progress span:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 40%,rgba(255,255,255,.45) 50%,transparent 60%);animation:hpwt-shimmer 2.6s linear infinite}
@keyframes hpwt-shimmer{from{transform:translateX(-120%)}to{transform:translateX(120%)}}

.hpwt-map-panel,.hpwt-table-wrap,.hpwt-dashboard section{box-shadow:var(--shadow);border-color:rgba(92,151,196,.34)}
.hpwt-map-toolbar{padding:12px 15px;background:linear-gradient(90deg,#102943,#15334d)}
.hpwt-map-toolbar>strong:before{content:"✈";margin-right:8px;color:var(--gold)}
.hpwt-map-toolbar button,.hpwt-controls button,.hpwt-modal-actions button{transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
.hpwt-map-toolbar button:hover,.hpwt-controls button:hover,.hpwt-modal-actions button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.22)}

.hpwt-info-card>div{position:relative;overflow:hidden;padding:15px 16px;border-color:rgba(92,151,196,.3);background:linear-gradient(145deg,rgba(19,46,69,.94),rgba(11,31,49,.94));box-shadow:0 9px 24px rgba(0,0,0,.16)}
.hpwt-info-card>div:after{content:"";position:absolute;right:-18px;top:-25px;width:76px;height:76px;border-radius:50%;background:rgba(85,216,255,.07)}
.hpwt-info-card b{color:#fff;font-size:16px}.hpwt-info-card small{letter-spacing:.04em}

.hpwt-controls{padding:12px;border:1px solid rgba(92,151,196,.28);border-radius:14px;background:rgba(7,22,37,.72);box-shadow:0 10px 28px rgba(0,0,0,.14)}
.hpwt-controls label span{font-weight:700;color:#cfe2f2}
.hpwt-controls input,.hpwt-controls select{height:42px;background:#071625;border-color:#365a77;outline:none}
.hpwt-controls input:focus,.hpwt-controls select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(85,216,255,.12)}
.hpwt-controls button[data-action="certificate"]{border-color:rgba(255,214,107,.55);background:linear-gradient(145deg,#5b4715,#342b13);color:#ffe8a5}
.hpwt-controls button[data-action="reset"]{border-color:rgba(255,102,125,.4);color:#ffc4ce}

.hpwt-dashboard{gap:16px;margin-top:4px}
.hpwt-dashboard section{position:relative;overflow:hidden;padding:0;background:linear-gradient(155deg,rgba(15,36,56,.97),rgba(7,23,38,.97))}
.hpwt-dashboard section:before{content:"";position:absolute;right:-45px;top:-55px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(85,216,255,.11),transparent 70%)}
.hpwt-dashboard h3{position:relative;display:flex;align-items:center;gap:9px;margin:0;padding:15px 17px;color:#fff!important;font-size:18px;letter-spacing:.025em;background:linear-gradient(90deg,rgba(32,75,108,.9),rgba(14,42,65,.72));border-bottom:1px solid rgba(92,151,196,.28);text-shadow:0 2px 3px rgba(0,0,0,.55)}
.hpwt-dashboard section:first-child h3:before{content:"☷";color:var(--cyan);font-size:20px}.hpwt-dashboard section:last-child h3:before{content:"★";color:var(--gold);font-size:20px}
.hpwt-log-list,.hpwt-achievement-list{position:relative;padding:12px 15px 15px}
.hpwt-log-list{max-height:270px}
.hpwt-log-item{position:relative;grid-template-columns:112px 1fr auto;padding:11px 10px 11px 23px;border-bottom:0;border-radius:9px;transition:background .15s ease}
.hpwt-log-item:hover{background:rgba(85,216,255,.07)}
.hpwt-log-item:before{content:"";position:absolute;left:7px;top:18px;width:7px;height:7px;border:2px solid var(--cyan);border-radius:50%;background:#0b1a2a;box-shadow:0 0 10px rgba(85,216,255,.45)}
.hpwt-log-item:not(:last-child):after{content:"";position:absolute;left:11px;top:29px;bottom:-9px;width:1px;background:rgba(85,216,255,.28)}
.hpwt-log-item b{color:#f4f9fd}.hpwt-log-item time{color:#86d9f6;font-weight:700}.hpwt-log-item span{white-space:nowrap}
.hpwt-empty{padding:18px;text-align:center;border:1px dashed rgba(92,151,196,.35);border-radius:10px;background:rgba(5,17,29,.4)}
.hpwt-achievement-list{gap:10px}
.hpwt-achievement{position:relative;min-height:58px;padding:10px 11px;border-color:rgba(92,151,196,.28);background:rgba(4,17,29,.34);opacity:.48;filter:saturate(.45);transition:transform .18s ease,opacity .18s ease,border-color .18s ease,box-shadow .18s ease}
.hpwt-achievement>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:rgba(158,180,202,.09);font-size:18px}
.hpwt-achievement b{font-size:13px;color:#d6e4ef}
.hpwt-achievement.is-unlocked{opacity:1;filter:none;background:linear-gradient(145deg,rgba(59,151,95,.18),rgba(19,56,42,.38));border-color:rgba(83,224,139,.55);box-shadow:inset 0 0 18px rgba(67,209,125,.06)}
.hpwt-achievement.is-unlocked:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2),inset 0 0 18px rgba(67,209,125,.08)}
.hpwt-achievement.is-unlocked>span{background:linear-gradient(145deg,#ffd86b,#b68318);box-shadow:0 0 16px rgba(255,216,107,.3)}

.hpwt-table-wrap{background:rgba(5,18,31,.84)}
.hpwt-table th{padding-top:12px;padding-bottom:12px;background:linear-gradient(180deg,#173751,#10283e);color:#eaf7ff;text-transform:none;letter-spacing:.025em;box-shadow:0 2px 0 rgba(85,216,255,.12)}
.hpwt-table td{border-bottom-color:rgba(75,117,149,.23)}
.hpwt-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.012)}
.hpwt-table tr:hover td{background:rgba(48,126,181,.13)}
.hpwt-table tr.is-done{opacity:.66}.hpwt-table tr.is-done td{background:rgba(50,135,88,.045)}
.hpwt-table input[type="checkbox"]{width:17px;height:17px;accent-color:#43d17d}

.hpwt-modal-card{border-color:rgba(104,163,208,.55);background:linear-gradient(155deg,#10263b,#081522);box-shadow:0 35px 100px rgba(0,0,0,.65)}
.hpwt-cert-inner{position:relative;overflow:hidden;border:1px solid #d9b75b;outline:1px solid rgba(217,183,91,.45);outline-offset:-11px;background:radial-gradient(circle at 50% 0,rgba(54,111,151,.55),transparent 42%),linear-gradient(155deg,#0d2b43,#07111f 70%);box-shadow:inset 0 0 80px rgba(0,0,0,.35)}
.hpwt-cert-inner:before,.hpwt-cert-inner:after{content:"✦";position:absolute;top:26px;color:#d9b75b;font-size:24px}.hpwt-cert-inner:before{left:31px}.hpwt-cert-inner:after{right:31px}
.hpwt-cert-kicker{font-size:12px}.hpwt-certificate h2{text-shadow:0 4px 22px rgba(255,216,107,.2)}
.hpwt-cert-grid>div{background:rgba(4,15,27,.35);box-shadow:inset 0 0 18px rgba(217,183,91,.035)}
.hpwt-cert-grid b{color:#fff}.hpwt-cert-date{color:#b9cad9}
.hpwt-celebrate-card{background:radial-gradient(circle at 50% 0,rgba(255,214,107,.18),transparent 45%),linear-gradient(155deg,#163651,#081522)}
.hpwt-confetti{animation:hpwt-bob 1.8s ease-in-out infinite alternate}
@keyframes hpwt-bob{from{transform:translateY(0) scale(1)}to{transform:translateY(-7px) scale(1.03)}}

@media(max-width:1050px){.hpwt-stats>div{padding-left:54px}.hpwt-log-item{grid-template-columns:105px 1fr}}
@media(max-width:650px){.hpwt-app{border-radius:12px}.hpwt-legend{border-radius:12px}.hpwt-stats>div{min-height:88px;padding:13px 10px 12px 49px}.hpwt-stats>div:before{left:10px;top:15px}.hpwt-stats strong{font-size:18px}.hpwt-controls{padding:10px}.hpwt-log-item{grid-template-columns:1fr;padding-left:24px}.hpwt-log-item span{white-space:normal}.hpwt-cert-inner:before,.hpwt-cert-inner:after{display:none}}
@media(prefers-reduced-motion:reduce){.hpwt-progress span:after,.hpwt-confetti{animation:none}.hpwt-stats>div,.hpwt-achievement,.hpwt-map-toolbar button,.hpwt-controls button,.hpwt-modal-actions button{transition:none}}

/* V3.5.2 modal viewport fix */
.hpwt-modal{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100vw;
  height:100vh;
  display:grid !important;
  place-items:center !important;
  z-index:2147483647 !important;
}
.hpwt-modal[hidden]{display:none !important;}
.hpwt-modal-card{
  position:relative;
  margin:auto;
  transform:none;
}

/* V4.0 ranking system */
.hpwt-ranking-panel{margin:18px 0;border:1px solid rgba(92,151,196,.34);border-radius:16px;overflow:hidden;background:linear-gradient(155deg,rgba(15,36,56,.97),rgba(7,23,38,.97));box-shadow:var(--shadow)}
.hpwt-ranking-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;background:linear-gradient(90deg,rgba(32,75,108,.92),rgba(14,42,65,.76));border-bottom:1px solid rgba(92,151,196,.28)}
.hpwt-ranking-head h3{margin:0 0 4px;color:#fff;font-size:20px}.hpwt-ranking-head p{margin:0;color:#9eb8ca;font-size:13px}
.hpwt-ranking-account{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;color:#dcebf6;font-size:13px}
.hpwt-ranking-account a,.hpwt-ranking-account button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border:1px solid #416987;border-radius:9px;background:#102d45;color:#fff;text-decoration:none;cursor:pointer}
.hpwt-ranking-account .hpwt-rank-login{border-color:rgba(85,216,255,.6);background:linear-gradient(145deg,#176284,#123f5c)}
.hpwt-ranking-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;border-bottom:1px solid rgba(92,151,196,.22)}
.hpwt-ranking-tabs button{white-space:nowrap;padding:8px 13px;border:1px solid #31536e;border-radius:9px;background:#0a2033;color:#bcd2e2;cursor:pointer}
.hpwt-ranking-tabs button.is-active{border-color:#55d8ff;background:rgba(85,216,255,.14);color:#fff;box-shadow:0 0 0 2px rgba(85,216,255,.08)}
.hpwt-ranking-table-wrap{overflow:auto;max-height:520px}.hpwt-ranking-table{width:100%;border-collapse:collapse;min-width:650px}
.hpwt-ranking-table th,.hpwt-ranking-table td{padding:12px 15px;text-align:left;border-bottom:1px solid rgba(75,117,149,.22)}
.hpwt-ranking-table th{position:sticky;top:0;z-index:1;background:#102a41;color:#dff3ff;font-size:13px}
.hpwt-ranking-table td{color:#d2e2ed}.hpwt-ranking-table tbody tr:hover td{background:rgba(85,216,255,.055)}
.hpwt-ranking-table tr.is-me td{background:rgba(255,216,107,.08);color:#fff}.hpwt-ranking-table tr.is-me td:first-child{box-shadow:inset 4px 0 #ffd86b}
.hpwt-ranking-table td span{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:99px;background:#ffd86b;color:#392a00;font-size:11px;font-weight:800}
@media(max-width:760px){.hpwt-ranking-head{align-items:flex-start;flex-direction:column}.hpwt-ranking-account{justify-content:flex-start}.hpwt-ranking-tabs{padding:10px}}

/* V4.1 independent pilot account */
.hpwt-ranking-account .hpwt-rank-register{border-color:rgba(255,216,107,.72);background:linear-gradient(145deg,#80621b,#4f3b0f);color:#fff8d7}
.hpwt-account-card{width:min(480px,94vw);padding:30px 30px 26px;text-align:center}
.hpwt-account-card h2{margin:8px 0 8px;color:#fff;font-size:26px}
.hpwt-account-card>p{margin:0 auto 20px;max-width:390px;color:#9fb7c9;line-height:1.65;font-size:13px}
.hpwt-account-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 8px;border:1px solid rgba(85,216,255,.42);border-radius:18px;background:linear-gradient(145deg,rgba(85,216,255,.18),rgba(255,216,107,.08));font-size:30px;box-shadow:0 12px 30px rgba(0,0,0,.24)}
.hpwt-account-card form{display:grid;gap:14px;text-align:left}
.hpwt-account-card form label{display:grid;gap:7px}
.hpwt-account-card form label span{color:#dceaf4;font-size:13px;font-weight:700}
.hpwt-account-card form input{width:100%;box-sizing:border-box;min-height:48px;padding:11px 13px;border:1px solid #365c78;border-radius:10px;outline:none;background:#071725;color:#fff;font-size:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.hpwt-account-card form input:focus{border-color:#55d8ff;box-shadow:0 0 0 3px rgba(85,216,255,.13)}
.hpwt-account-help{margin:-4px 0 0!important;color:#7897ae!important;font-size:12px!important;text-align:left}
.hpwt-account-error{margin:0!important;padding:10px 12px;border:1px solid rgba(255,102,125,.5);border-radius:9px;background:rgba(255,102,125,.1);color:#ffd4dc!important;font-size:13px!important;text-align:left}
.hpwt-account-error.is-success{border-color:rgba(67,209,125,.5);background:rgba(67,209,125,.1);color:#caffdd!important}
.hpwt-account-card .hpwt-modal-actions{margin-top:4px;flex-wrap:wrap}
.hpwt-account-card .hpwt-modal-actions button{min-height:43px}
.hpwt-account-card .hpwt-primary-button{border-color:rgba(85,216,255,.7);background:linear-gradient(145deg,#176284,#123f5c)}
.hpwt-account-card button:disabled{opacity:.58;cursor:wait;transform:none!important}
@media(max-width:520px){.hpwt-account-card{padding:26px 18px 20px}.hpwt-account-card h2{font-size:22px}.hpwt-account-card .hpwt-modal-actions{display:grid}.hpwt-account-card .hpwt-modal-actions button{width:100%}}

/* V4.2 password recovery and account management */
.hpwt-account-card .hpwt-text-button{border-color:transparent;background:transparent;color:#9fc9e3;text-decoration:underline;text-underline-offset:3px;box-shadow:none}
.hpwt-account-card .hpwt-text-button:hover{background:rgba(85,216,255,.07);border-color:rgba(85,216,255,.18);box-shadow:none}
.hpwt-ranking-account [data-rank-change-password]{border-color:rgba(158,202,229,.48);background:linear-gradient(145deg,#17384f,#102b40)}


/* V4.2.1 account form contrast fix */
.hpwt-account-card form label span{
  color:#f4f9fd !important;
  font-size:14px;
  font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
.hpwt-account-card form input,
.hpwt-account-card form input[type="text"],
.hpwt-account-card form input[type="password"]{
  background:#f7fbff !important;
  color:#07111f !important;
  -webkit-text-fill-color:#07111f !important;
  caret-color:#005fc5 !important;
  border:2px solid #8fb2cf !important;
  font-weight:700;
  text-shadow:none !important;
  opacity:1 !important;
}
.hpwt-account-card form input[type="password"]{
  letter-spacing:.06em;
}
.hpwt-account-card form input::placeholder{
  color:#526779 !important;
  -webkit-text-fill-color:#526779 !important;
  opacity:1 !important;
  font-weight:600;
  letter-spacing:0;
}
.hpwt-account-card form input:hover{
  border-color:#b9d5e9 !important;
}
.hpwt-account-card form input:focus{
  background:#fff !important;
  color:#050b12 !important;
  -webkit-text-fill-color:#050b12 !important;
  border-color:#43a6ff !important;
  box-shadow:0 0 0 4px rgba(67,166,255,.24),0 7px 20px rgba(0,0,0,.22) !important;
}
.hpwt-account-card form input:-webkit-autofill,
.hpwt-account-card form input:-webkit-autofill:hover,
.hpwt-account-card form input:-webkit-autofill:focus,
.hpwt-account-card form input:-webkit-autofill:active{
  -webkit-text-fill-color:#07111f !important;
  caret-color:#005fc5 !important;
  -webkit-box-shadow:0 0 0 1000px #f7fbff inset !important;
  box-shadow:0 0 0 1000px #f7fbff inset !important;
  border:2px solid #43a6ff !important;
  transition:background-color 9999s ease-out 0s;
}
.hpwt-account-card form input::selection{
  background:#b9dcff;
  color:#02070c;
}
.hpwt-account-help{
  color:#b8ccda !important;
  font-weight:600;
}


/* KLM blue-white light visual refresh — functionality unchanged */
.hpwt-app{
  --bg:#f5fbff;--panel:#ffffff;--panel2:#f2faff;--line:rgba(0,126,181,.18);
  --text:#18344a;--muted:#6f8798;--blue:#00a1de;--green:#20a875;--yellow:#e7a82d;--red:#df5d69;
  --cyan:#57c9ee;--gold:#d7a62b;--panel-glass:rgba(255,255,255,.92);--shadow:0 14px 38px rgba(23,98,137,.10);
  background:radial-gradient(circle at 14% -10%,rgba(0,161,222,.11),transparent 31%),radial-gradient(circle at 94% 4%,rgba(87,201,238,.10),transparent 26%),linear-gradient(180deg,#ffffff 0%,#f5fbff 100%) !important;
  border:1px solid rgba(0,126,181,.15) !important;color:var(--text) !important;box-shadow:0 18px 48px rgba(23,98,137,.10) !important;
}
.hpwt-app:before{opacity:.18 !important;background-image:linear-gradient(rgba(0,126,181,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,126,181,.035) 1px,transparent 1px) !important}
.hpwt-header{border-bottom-color:rgba(0,126,181,.14) !important}
.hpwt-header h2{color:#18344a !important;text-shadow:none !important}
.hpwt-header p,.hpwt-legend,.hpwt-controls label,.hpwt-stats small,.hpwt-info-card small,.hpwt-log-item time,.hpwt-log-item span,.hpwt-empty{color:#6f8798 !important}
.hpwt-header p strong{color:#008fd0 !important}
.hpwt-legend{background:rgba(255,255,255,.82) !important;border-color:rgba(0,126,181,.17) !important;box-shadow:0 8px 22px rgba(23,98,137,.06)}

.hpwt-stats>div,.hpwt-info-card>div,.hpwt-dashboard section{
  background:#fff !important;border-color:rgba(0,126,181,.16) !important;box-shadow:0 10px 28px rgba(23,98,137,.07) !important;color:#18344a !important;
}
.hpwt-stats>div:hover{border-color:rgba(0,161,222,.48) !important;box-shadow:0 13px 30px rgba(0,126,181,.12) !important}
.hpwt-stats strong{color:#008fd0 !important}
.hpwt-dashboard h3{color:#18344a !important;text-shadow:none !important}
.hpwt-log-item{border-bottom-color:rgba(0,126,181,.12) !important}
.hpwt-achievement{background:#fbfdff !important;border-color:rgba(0,126,181,.16) !important;color:#526b7d !important}
.hpwt-achievement.is-unlocked{background:rgba(32,168,117,.08) !important;border-color:rgba(32,168,117,.30) !important;color:#176b4d !important}

.hpwt-progress{background:#e8f4fa !important;border-color:rgba(0,126,181,.15) !important}
.hpwt-progress span{background:linear-gradient(90deg,#00a1de,#57c9ee) !important}

.hpwt-map-panel,.hpwt-table-wrap{background:#fff !important;border-color:rgba(0,126,181,.17) !important;box-shadow:0 12px 30px rgba(23,98,137,.07) !important}
.hpwt-map-toolbar{background:#f2faff !important;border-bottom-color:rgba(0,126,181,.14) !important;color:#18344a !important}
.hpwt-map-toolbar button,.hpwt-controls button,.hpwt-modal-actions button{background:#fff !important;color:#18344a !important;border-color:rgba(0,126,181,.25) !important;box-shadow:0 4px 12px rgba(23,98,137,.05)}
.hpwt-map-toolbar button:hover,.hpwt-controls button:hover,.hpwt-modal-actions button:hover{background:#eaf7fd !important;border-color:#00a1de !important;color:#007eB5 !important}
.hpwt-controls{background:transparent !important}
.hpwt-controls input,.hpwt-controls select{background:#fff !important;color:#18344a !important;border-color:rgba(0,126,181,.24) !important;box-shadow:none !important}
.hpwt-controls input:focus,.hpwt-controls select:focus{border-color:#00a1de !important;box-shadow:0 0 0 3px rgba(0,161,222,.12) !important;outline:none}
.hpwt-map{background:#eaf7fd !important}
.hpwt-map-error{color:#9a3240 !important;background:#fff1f3 !important;border-top:1px solid rgba(223,93,105,.2)}
.hpwt-airport-label{background:rgba(255,255,255,.94) !important;border-color:rgba(0,161,222,.45) !important;color:#18344a !important;box-shadow:0 3px 10px rgba(23,98,137,.15) !important}
.hpwt-airport-label span{color:#008fd0 !important}

.hpwt-table th{background:#eaf7fd !important;color:#18344a !important;border-bottom-color:rgba(0,126,181,.18) !important;text-shadow:none !important;box-shadow:none !important}
.hpwt-table td{color:#29485f !important;border-bottom-color:rgba(0,126,181,.10) !important;background:#fff}
.hpwt-table tbody tr:nth-child(even) td{background:#f9fcfe !important}
.hpwt-table tr:hover td{background:#eef9fe !important}
.hpwt-table tr.is-done{opacity:.72 !important}
.hpwt-table tr.is-done td{background:#f2fbf7 !important}
.hpwt-table tr.is-current td{background:#fff9e9 !important}
.hpwt-table tr.is-map-selected td{background:#e3f5fd !important;box-shadow:inset 4px 0 0 #00a1de !important}
.hpwt-icao{color:#008fd0 !important;border-color:rgba(0,161,222,.26) !important;background:#f2faff}

.hpwt-ranking-panel{background:#fff !important;border-color:rgba(0,126,181,.17) !important;box-shadow:0 14px 38px rgba(23,98,137,.09) !important}
.hpwt-ranking-head{background:linear-gradient(90deg,#eaf7fd,#f8fcff) !important;border-bottom-color:rgba(0,126,181,.14) !important}
.hpwt-ranking-head h3{color:#18344a !important}
.hpwt-ranking-head p,.hpwt-ranking-account{color:#6f8798 !important}
.hpwt-ranking-account a,.hpwt-ranking-account button{background:#fff !important;color:#18344a !important;border-color:rgba(0,126,181,.24) !important}
.hpwt-ranking-account .hpwt-rank-login,.hpwt-ranking-account .hpwt-rank-register,.hpwt-account-card .hpwt-primary-button,.hpwt-time-actions .hpwt-primary-button{background:linear-gradient(135deg,#008fd0,#00a1de) !important;border-color:#00a1de !important;color:#fff !important;box-shadow:0 8px 20px rgba(0,161,222,.18) !important}
.hpwt-ranking-tabs{border-bottom-color:rgba(0,126,181,.13) !important;background:#fbfdff}
.hpwt-ranking-tabs button{background:#fff !important;color:#526b7d !important;border-color:rgba(0,126,181,.20) !important}
.hpwt-ranking-tabs button.is-active{background:#eaf7fd !important;color:#007eb5 !important;border-color:#00a1de !important;box-shadow:0 0 0 2px rgba(0,161,222,.07) !important}
.hpwt-ranking-table th{background:#eaf7fd !important;color:#18344a !important}
.hpwt-ranking-table td{color:#29485f !important;border-bottom-color:rgba(0,126,181,.10) !important;background:#fff}
.hpwt-ranking-table tbody tr:hover td{background:#f2faff !important}
.hpwt-ranking-table tr.is-me td{background:#e7f7ff !important;color:#173d56 !important}
.hpwt-ranking-table tr.is-me td:first-child{box-shadow:inset 4px 0 #00a1de !important}
.hpwt-ranking-table td span{background:#00a1de !important;color:#fff !important}

.hpwt-modal-backdrop{background:rgba(24,52,74,.42) !important;backdrop-filter:blur(5px)}
.hpwt-modal-card,.hpwt-time-card,.hpwt-account-card{background:#fff !important;border-color:rgba(0,126,181,.24) !important;color:#18344a !important;box-shadow:0 28px 80px rgba(18,78,113,.24) !important}
.hpwt-modal-close{color:#526b7d !important}
.hpwt-account-card h2,.hpwt-time-card h2,.hpwt-time-title{color:#18344a !important;text-shadow:none !important}
.hpwt-account-card>p,.hpwt-time-route,.hpwt-time-hint,.hpwt-account-help,.hpwt-time-format{color:#6f8798 !important;text-shadow:none !important}
.hpwt-account-icon,.hpwt-time-icon{background:#eaf7fd !important;border-color:rgba(0,161,222,.25) !important;box-shadow:none !important}
.hpwt-account-card form label span,.hpwt-time-entry label span{color:#29485f !important;text-shadow:none !important}
.hpwt-account-card form input,.hpwt-account-card form input[type="text"],.hpwt-account-card form input[type="password"],.hpwt-time-entry input{background:#f8fcff !important;color:#18344a !important;-webkit-text-fill-color:#18344a !important;border-color:rgba(0,126,181,.28) !important;box-shadow:none !important}
.hpwt-account-card form input:focus,.hpwt-time-entry input:focus{background:#fff !important;color:#18344a !important;-webkit-text-fill-color:#18344a !important;border-color:#00a1de !important;box-shadow:0 0 0 4px rgba(0,161,222,.12) !important}
.hpwt-time-entry{background:#f2faff !important;border-color:rgba(0,126,181,.20) !important;box-shadow:none !important}
.hpwt-time-entry strong{color:#008fd0 !important}
.hpwt-account-error{background:#fff2f4 !important;color:#a63b49 !important;border-color:rgba(223,93,105,.28) !important}
.hpwt-account-error.is-success{background:#edf9f4 !important;color:#176b4d !important;border-color:rgba(32,168,117,.28) !important}
.hpwt-account-card .hpwt-text-button{color:#008fd0 !important;background:transparent !important;border-color:transparent !important}
.hpwt-account-card .hpwt-text-button:hover{background:#eef9fe !important;border-color:rgba(0,161,222,.14) !important}
.hpwt-ranking-account [data-rank-change-password]{background:#fff !important;color:#29485f !important;border-color:rgba(0,126,181,.22) !important}

.hpwt-cert-inner{background:radial-gradient(circle at 50% 0,rgba(0,161,222,.10),transparent 46%),linear-gradient(180deg,#ffffff,#f4fbff) !important;border-color:#00a1de !important;outline-color:rgba(0,161,222,.24) !important;box-shadow:inset 0 0 60px rgba(0,161,222,.04) !important;color:#18344a !important}
.hpwt-cert-inner:before,.hpwt-cert-inner:after,.hpwt-cert-kicker{color:#008fd0 !important}
.hpwt-certificate h2{color:#006fa3 !important;text-shadow:none !important}
.hpwt-cert-grid>div{background:rgba(255,255,255,.72) !important;border-color:rgba(0,126,181,.20) !important;box-shadow:none !important}
.hpwt-cert-grid small,.hpwt-cert-date{color:#6f8798 !important}
.hpwt-cert-grid b{color:#18344a !important}
.hpwt-celebrate-card{background:radial-gradient(circle at 50% 0,rgba(0,161,222,.11),transparent 45%),linear-gradient(180deg,#fff,#f4fbff) !important}
.hpwt-celebrate-card h2{color:#007eb5 !important}

@media(max-width:650px){.hpwt-app{background:linear-gradient(180deg,#fff,#f5fbff) !important}}


/* KLM Portal coordinated light headers: flight log + achievements */
.hpwt-dashboard h3{
  background:linear-gradient(90deg,#eaf7fd 0%,#f8fcff 100%) !important;
  color:#007eb5 !important;
  border-bottom:1px solid rgba(0,126,181,.16) !important;
  text-shadow:none !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.7) !important;
}
.hpwt-dashboard section:first-child h3:before,
.hpwt-dashboard section:last-child h3:before{
  color:#00a1de !important;
  text-shadow:none !important;
}

/* 4.2.3.6 — flight log / achievements high-contrast KLM text */
.hpwt-log-item b{
  color:#18344a !important;
  font-weight:700 !important;
}
.hpwt-log-item time{
  color:#526b7d !important;
  font-weight:600 !important;
}
.hpwt-log-item span{
  color:#3f6177 !important;
  font-weight:600 !important;
}
.hpwt-empty{
  color:#526b7d !important;
  font-weight:600 !important;
}
.hpwt-achievement{
  color:#29485f !important;
  opacity:.78 !important;
  background:#f7fbfe !important;
}
.hpwt-achievement b{
  color:inherit !important;
  font-weight:700 !important;
}
.hpwt-achievement.is-unlocked{
  color:#176b4d !important;
  opacity:1 !important;
  background:#edf8f3 !important;
}


/* 4.2.3.7 — information cards and filter labels high-contrast KLM text */
.hpwt-info-card small{
  color:#3f6177 !important;
  font-weight:700 !important;
}
.hpwt-info-card b{
  color:#18344a !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.hpwt-controls label,
.hpwt-controls label span{
  color:#29485f !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.hpwt-controls input,
.hpwt-controls select{
  color:#18344a !important;
  -webkit-text-fill-color:#18344a !important;
  font-weight:600 !important;
}
.hpwt-controls input::placeholder{
  color:#60798c !important;
  -webkit-text-fill-color:#60798c !important;
  opacity:1 !important;
}
.hpwt-controls select option{
  background:#ffffff !important;
  color:#18344a !important;
}


/* 4.2.3.8 — route list readability + compact no-wrap flown stats */
.hpwt-table td{
  color:#18344a !important;
  font-weight:600 !important;
  text-shadow:none !important;
}
.hpwt-table td:nth-child(9){
  color:#3f6177 !important;
}
.hpwt-table tr.is-done{
  opacity:.90 !important;
}
.hpwt-table tr.is-done td{
  color:#29485f !important;
}
.hpwt-table .hpwt-stars{
  color:#c68a00 !important;
  font-weight:700 !important;
}
.hpwt-stats strong[data-stat="done"],
.hpwt-stats strong[data-stat="nm"],
.hpwt-stats strong[data-stat="time"]{
  white-space:nowrap !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  font-size:var(--hpwt-stat-fit-size,clamp(16px,1.25vw,20px)) !important;
  letter-spacing:-.01em !important;
}
@media(max-width:650px){
  .hpwt-stats strong[data-stat="done"],
  .hpwt-stats strong[data-stat="nm"],
  .hpwt-stats strong[data-stat="time"]{
    font-size:var(--hpwt-stat-fit-size,15px) !important;
  }
}

/* 4.2.3.10 — clearer visual contrast between completed and pending route rows */
.hpwt-table tr:not(.is-done) td{
  color:#17384f !important;
  opacity:1 !important;
}
.hpwt-table tr:not(.is-done) td:nth-child(9){
  color:#365c74 !important;
}
.hpwt-table tr.is-done{
  opacity:1 !important;
}
.hpwt-table tr.is-done td{
  color:#5f7f76 !important;
  background:#f2fbf7 !important;
  font-weight:600 !important;
}
.hpwt-table tr.is-done td:nth-child(9){
  color:#718b83 !important;
}
.hpwt-table tr.is-done .hpwt-icao{
  color:#4f7b6c !important;
  border-color:rgba(79,123,108,.28) !important;
  background:rgba(79,123,108,.06) !important;
}
.hpwt-table tr:not(.is-done) .hpwt-icao{
  color:#007eb5 !important;
}

/* 4.2.3.11 — auto-fit completed-leg count just like flown distance/time */


/* 4.2.3.12 — all 7 top statistics use length/width-aware auto-fit text */
.hpwt-stats strong[data-stat]{
  white-space:nowrap !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  font-size:var(--hpwt-stat-fit-size,clamp(16px,1.25vw,20px)) !important;
  letter-spacing:-.01em !important;
}
@media(max-width:650px){
  .hpwt-stats strong[data-stat]{
    font-size:var(--hpwt-stat-fit-size,15px) !important;
  }
}


/* 4.2.3.13 — slightly larger brand subtitle in page header */
.hpwt-header p{
  font-size:17px !important;
  line-height:1.55 !important;
}
@media(max-width:650px){
  .hpwt-header p{font-size:15px !important;}
}


/* 1.2.4: 地图下方增加“下一航段”，并支持点击定位到航段列表 */
@media(min-width:651px){.hpwt-info-card{grid-template-columns:1fr 1.25fr 1.25fr 1fr}}
.hpwt-info-card>.hpwt-next-card{cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.hpwt-info-card>.hpwt-next-card:focus-visible{outline:2px solid #00a1de;outline-offset:3px;border-color:rgba(0,161,222,.65)!important}
.hpwt-info-card>.hpwt-next-card.is-disabled{cursor:default;opacity:.72}
@media (hover:hover) and (pointer:fine){.hpwt-info-card>.hpwt-next-card:not(.is-disabled):hover{border-color:rgba(0,161,222,.55)!important;background:#f5fbfe!important;transform:translateY(-1px)}}

/* Diverse achievements with clear criteria and progress. */
.hpwt-achievement-list{display:block!important;max-height:610px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.hpwt-achievement-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 0 13px;border-bottom:1px solid #d9eaf3;color:#087eae}
.hpwt-achievement-summary strong{font-size:14px}
.hpwt-achievement-summary>span{font-size:11px;color:#78909e}
.hpwt-achievement-group{margin-top:15px}
.hpwt-achievement-group h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 9px;padding:0;color:#28536b;font-size:12px;font-weight:750}
.hpwt-achievement-group h4 small{font-size:11px;color:#78909e;font-weight:500}
.hpwt-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.hpwt-achievement-list .hpwt-achievement{display:block;min-width:0;padding:11px 10px;border:1px solid #dceaf1!important;border-radius:12px;background:#f8fbfd!important;color:#33586d!important;opacity:1!important;filter:none!important;box-shadow:none}
.hpwt-achievement-list .hpwt-achievement.is-unlocked{background:#effaf5!important;border-color:#b9e5d2!important;color:#176b4d!important}
.hpwt-achievement-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hpwt-achievement-icon{display:inline-grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:#e8f4fc;font-size:17px;line-height:1}
.hpwt-achievement-head strong{font-size:12px;line-height:1.35;flex:1;min-width:55px}
.hpwt-achievement-status{font-size:9px;line-height:1.5;white-space:nowrap;color:#78909e}
.hpwt-achievement.is-unlocked .hpwt-achievement-status{color:#158661}
.hpwt-achievement-list .hpwt-achievement p{margin:8px 0 9px;min-height:34px;font-size:11px;line-height:1.55;color:#688493}
.hpwt-achievement-track{height:5px;overflow:hidden;border-radius:8px;background:#dcebf3}
.hpwt-achievement-track i{display:block;height:100%;border-radius:8px;background:#1ba5d8}
.hpwt-achievement.is-unlocked .hpwt-achievement-track i{background:#20a875}
.hpwt-achievement-list .hpwt-achievement .hpwt-achievement-progress{display:block;width:auto;height:auto;flex:none;margin-top:6px;border-radius:0;background:none;box-shadow:none;font-size:10px;line-height:1.35;color:#668394;font-variant-numeric:tabular-nums}
.hpwt-achievement.is-unlocked:hover{box-shadow:0 5px 14px rgba(32,168,117,.10)!important}
@media(max-width:520px){.hpwt-achievement-grid{grid-template-columns:1fr}.hpwt-achievement-list{max-height:580px}.hpwt-achievement-list .hpwt-achievement p{min-height:0}}

/* Keep both desktop dashboard lists the same height and independently scrollable. */
@media(min-width:1051px){
  .hpwt-dashboard{--hpwt-dashboard-list-height:610px}
  .hpwt-dashboard .hpwt-log-list,
  .hpwt-dashboard .hpwt-achievement-list{height:var(--hpwt-dashboard-list-height);max-height:var(--hpwt-dashboard-list-height);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
