.ptrr, .ptrr * { box-sizing: border-box; }
.ptrr { --ptrr-accent:#32d5d2; --ptrr-ink:#0b1739; --ptrr-paper:#f4f7fb; max-width:1120px; margin:2rem auto; color:#16213c; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ptrr__hero { position:relative; overflow:hidden; padding:clamp(2rem,6vw,4.5rem); color:#fff; border-radius:28px; background:radial-gradient(circle at 85% 15%,color-mix(in srgb,var(--ptrr-accent) 30%,transparent),transparent 28%),linear-gradient(135deg,var(--ptrr-ink),#142d62); box-shadow:0 24px 60px rgba(11,23,57,.2); }
.ptrr__hero:after { content:"✈"; position:absolute; right:5%; top:5%; color:rgba(255,255,255,.07); font-size:clamp(8rem,22vw,17rem); transform:rotate(-12deg); pointer-events:none; }
.ptrr__eyebrow { margin:0 0 .8rem; color:var(--ptrr-accent); font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ptrr__hero h2 { position:relative; z-index:1; max-width:720px; margin:0; color:#fff; font-size:clamp(2rem,5vw,4rem); line-height:1.02; letter-spacing:-.045em; }
.ptrr__hero>p:not(.ptrr__eyebrow):not(.ptrr__demo) { position:relative; z-index:1; max-width:650px; margin:1rem 0 2rem; color:#dbe6ff!important; font-size:1.05rem; }
.ptrr__form { position:relative; z-index:2; display:grid; grid-template-columns:minmax(190px,1.25fr) minmax(140px,.72fr) minmax(160px,1fr) minmax(150px,.85fr) auto; gap:10px; align-items:end; padding:10px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); }
.ptrr__form label span { display:block; margin:0 0 6px 5px; color:#dbe6ff; font-size:.73rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.ptrr__form select,.ptrr__form input { width:100%; min-height:52px; margin:0; padding:0 15px; border:1px solid rgba(255,255,255,.15); border-radius:11px; color:#172343; background:#fff; font:inherit; }
.ptrr__form button { min-height:52px; padding:0 22px; border:0; border-radius:11px; color:var(--ptrr-ink); background:var(--ptrr-accent); font:800 .92rem/1 inherit; cursor:pointer; transition:transform .18s,filter .18s; }
.ptrr__form button span { margin-left:10px; font-size:1.2em; }
.ptrr__form button:hover { transform:translateY(-2px); filter:brightness(1.07); }
.ptrr__form.is-loading button { opacity:.65; pointer-events:none; }
.ptrr__demo { position:relative; z-index:1; margin:12px 0 0!important; color:#cbd8f7!important; font-size:.78rem!important; }
.ptrr__status { display:flex; min-height:54px; align-items:center; gap:10px; padding:0 8px; color:#5b6781; font-size:.85rem; font-weight:700; }
.ptrr-spinner { width:18px; height:18px; border:2px solid #d6ddec; border-top-color:var(--ptrr-accent); border-radius:50%; animation:ptrr-spin .8s linear infinite; }
@keyframes ptrr-spin { to { transform:rotate(360deg); } }
.ptrr__results { display:grid; gap:10px; }
.ptrr__result-head { display:flex; align-items:end; justify-content:space-between; padding:18px 20px 12px; }
.ptrr__result-head span,.ptrr__result-head small { display:block; color:#77829b; font-size:.75rem; }
.ptrr__result-head strong { display:block; color:var(--ptrr-ink); font-size:1.15rem; }
.ptrr-card { overflow:hidden; border:1px solid #e1e6f0; border-radius:16px; background:#fff; box-shadow:0 8px 28px rgba(17,37,79,.055); animation:ptrr-in .45s both; animation-delay:var(--delay); }
@keyframes ptrr-in { from { opacity:0; transform:translateY(8px); } }
.ptrr-card__head { display:grid; width:100%; grid-template-columns:78px 1fr auto 28px; gap:14px; align-items:center; padding:18px 20px 8px; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; }
.ptrr-card__code { display:grid; width:60px; height:46px; place-items:center; border-radius:12px; color:var(--ptrr-ink); background:color-mix(in srgb,var(--ptrr-accent) 24%,white); font-weight:900; letter-spacing:.08em; }
.ptrr-card__place strong,.ptrr-card__place small,.ptrr-card__count strong,.ptrr-card__count small { display:block; }
.ptrr-card__place strong { color:var(--ptrr-ink); font-size:1rem; }
.ptrr-card__place small,.ptrr-card__count small { margin-top:2px; color:#7d879c; font-size:.76rem; }
.ptrr-card__count { min-width:54px; text-align:center; }
.ptrr-card__count strong { color:var(--ptrr-ink); font-size:1.15rem; }
.ptrr-card__toggle { color:#7c879e; font-size:1.5rem; transition:transform .2s; }
.ptrr-card__head[aria-expanded="true"] .ptrr-card__toggle { transform:rotate(180deg); }
.ptrr-card__summary { padding:0 20px 16px 112px; color:#63708a; font-size:.78rem; }
.ptrr-route-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0 20px 16px 112px; }
.ptrr-add-route { padding:8px 13px; border:1px solid #b9e9e7; border-radius:999px; color:#0b5f61; background:#effcfb; font:700 .78rem/1 inherit; cursor:pointer; }
.ptrr-add-route:hover { background:#dff8f6; }
.ptrr-info-route { padding:8px 13px; border:1px solid #d3dbea; border-radius:999px; color:#263b68; background:#fff; font:700 .78rem/1 inherit; cursor:pointer; }
.ptrr-info-route:hover { background:#f3f6fb; }
.ptrr-guide { position:relative; margin-top:18px; padding:26px; border:1px solid #d9e1ee; border-radius:18px; color:#172343; background:#fff; box-shadow:0 16px 45px rgba(11,23,57,.12); }.ptrr-guide>button { position:absolute; top:12px; right:14px; border:0; color:#596780; background:transparent; font-size:1.6rem; cursor:pointer; }.ptrr-guide h3 { margin:4px 32px 15px 0; color:#0b1739; font-size:1.45rem; }.ptrr-guide h3 small { color:#79859b; font-size:.7em; }.ptrr-guide section { padding:12px 0; border-top:1px solid #edf0f5; }.ptrr-guide h4 { margin:0 0 5px; color:#263b68; }.ptrr-guide p { margin:0; color:#5f6d87; line-height:1.55; }.ptrr-guide__eyebrow { color:#e65c00!important; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.ptrr-guide__warning { margin:0 0 14px!important; padding:10px 12px; border-radius:9px; color:#6d4b00!important; background:#fff3cf; }.ptrr-guide__link { display:inline-block; margin-top:14px; color:#0b5f61; font-weight:800; }
.ptrr-trip { margin-top:22px; padding:22px; border:1px solid #dfe6f2; border-radius:18px; color:#172343; background:#fff; box-shadow:0 12px 35px rgba(11,23,57,.08); }
.ptrr-trip__head { display:flex; align-items:center; justify-content:space-between; gap:16px; }.ptrr-trip__head span,.ptrr-trip__head strong { display:block; }.ptrr-trip__head span { color:#69758d; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.ptrr-trip__head strong { margin-top:3px; font-size:1.25rem; }
.ptrr-trip__head em { color:#e65c00; font-size:.82rem; font-style:normal; white-space:nowrap; }
.ptrr-trip__head button,.ptrr-trip li button { border:0; color:#6a3850; background:transparent; font-weight:700; cursor:pointer; }.ptrr-trip ol { margin:18px 0 12px; padding:0; list-style:none; }.ptrr-trip li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-top:1px solid #edf0f5; }.ptrr-trip li strong,.ptrr-trip li span { display:block; }.ptrr-trip li span { margin-top:3px; color:#69758d; font-size:.82rem; }.ptrr-trip li button { font-size:1.3rem; }.ptrr-trip>p { margin:8px 0 0; color:#778199; font-size:.78rem; }
.ptrr-return { margin:16px 0; padding:16px; border-radius:12px; background:#f4f7fb; }.ptrr-return>strong { display:block; margin-bottom:12px; }.ptrr-return>div { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:10px; }.ptrr-return label span { display:block; margin-bottom:4px; color:#69758d; font-size:.72rem; font-weight:700; text-transform:uppercase; }.ptrr-return input { box-sizing:border-box; width:100%; min-height:42px; padding:0 10px; border:1px solid #cfd8e7; border-radius:8px; background:#fff; }.ptrr-return>button { margin:12px 8px 0 0; padding:9px 13px; border:0; border-radius:8px; color:#0b1739; background:#32d5d2; font-weight:700; cursor:pointer; }.ptrr-return>button[data-ptrr-cancel-return] { background:#e5eaf2; }
.ptrr-card__details { border-top:1px solid #edf0f6; background:#f9fbfe; }
.ptrr-card__details ul { margin:0; padding:0; list-style:none; }
.ptrr-flight { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:16px; align-items:center; padding:14px 20px; border-bottom:1px solid #edf0f6; }
.ptrr-flight:last-child { border-bottom:0; }
.ptrr-flight strong,.ptrr-flight span,.ptrr-flight small { display:block; }
.ptrr-flight strong { color:var(--ptrr-ink); font-size:.87rem; }
.ptrr-flight span:not(.ptrr-pill),.ptrr-flight small { margin-top:3px; color:#77829a; font-size:.72rem; }
.ptrr-add-flight { display:block; margin-top:8px; padding:6px 9px; border:1px solid #b9e9e7; border-radius:8px; color:#0b5f61; background:#effcfb; font-size:.72rem; font-weight:800; cursor:pointer; }
.ptrr-pill { display:inline-block!important; width:max-content; padding:4px 8px; border-radius:999px; font-size:.69rem; font-weight:800; background:#e9eef8; }
.ptrr-pill.is-on-time { color:#17653a; background:#e0f5e9; }.ptrr-pill.is-delayed { color:#875100; background:#fff1c9; }.ptrr-pill.is-cancelled { color:#9a2430; background:#ffe2e5; }.ptrr-pill.is-airborne { color:#194d82; background:#dcecff; }
.ptrr-empty { padding:40px; border:1px dashed #cbd3e2; border-radius:18px; text-align:center; background:#f8faff; }.ptrr-empty strong { color:var(--ptrr-ink); font-size:1.1rem; }.ptrr-empty p { margin:.4rem 0 0; color:#6e7991; }.ptrr-empty--error { border-color:#f0b7bd; background:#fff7f8; }
.ptrr-discover,.ptrr-preferences { margin-top:24px; padding:clamp(18px,4vw,28px); border:1px solid #dfe6f2; border-radius:20px; color:#172343; background:#fff; }.ptrr-discover>h3,.ptrr-preferences>h3 { margin:0; color:var(--ptrr-ink); font-size:1.55rem; }.ptrr-discover>p,.ptrr-preferences>p { color:#69758d; }.ptrr-discover__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }.ptrr-discover article { padding:18px; border:1px solid #e4e9f2; border-radius:14px; background:#f9fbfe; }.ptrr-discover article>span { color:#e65c00; font-size:.68rem; font-weight:850; text-transform:uppercase; }.ptrr-discover h4 { margin:6px 0; color:var(--ptrr-ink); font-size:1.08rem; }.ptrr-discover article p { color:#63708a; font-size:.83rem; line-height:1.48; }.ptrr-discover summary { color:#263b68; font-size:.82rem; font-weight:800; cursor:pointer; }.ptrr-discover article>button,.ptrr-preferences>button { margin-top:10px; padding:10px 13px; border:0; border-radius:9px; color:#fff; background:#e65c00; font-weight:800; cursor:pointer; }.ptrr-preferences>label { display:block; margin:14px 0; font-weight:750; }.ptrr-preferences>label input { width:min(100%,420px); min-height:42px; margin-left:8px; padding:0 10px; border:1px solid #ced7e6; border-radius:8px; }.ptrr-preferences fieldset { margin:12px 0; padding:14px; border:1px solid #dce3ef; border-radius:10px; }.ptrr-preferences legend { color:#263b68; font-weight:850; }.ptrr-preferences fieldset label { display:inline-block; margin:5px 14px 5px 0; }.ptrr-preferences>small { display:block; margin-top:10px; color:#52627f; }
@media (max-width:780px) { .ptrr__form,.ptrr-discover__grid { grid-template-columns:1fr; }.ptrr-card__head { grid-template-columns:64px 1fr auto 18px; padding:15px 14px 7px; }.ptrr-card__summary { padding-left:92px; }.ptrr-route-actions { margin-left:92px; }.ptrr-return>div { grid-template-columns:1fr; }.ptrr-flight { grid-template-columns:1fr 1fr; }.ptrr-flight>div:last-child { grid-column:1/-1; }.ptrr__result-head { align-items:start; flex-direction:column; gap:7px; }.ptrr-preferences>label input { display:block; margin:6px 0 0; } }
@media (prefers-reduced-motion:reduce) { .ptrr-card,.ptrr-spinner { animation:none; }.ptrr * { scroll-behavior:auto!important; transition:none!important; } }
.ptrr-live{margin:18px 0 24px;padding:20px;border:2px solid var(--ptrr-accent);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(11,23,57,.12);scroll-margin-top:18px}.ptrr-live__heading span{display:block;color:var(--ptrr-accent);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.ptrr-live__heading h3{margin:3px 0 10px;color:var(--ptrr-ink);font-size:clamp(23px,3vw,32px)}
.ptrr-no-break{white-space:nowrap}
.ptrr-inspiration-search{display:block;margin:18px 0}.ptrr-inspiration-search span{display:block;margin-bottom:6px;color:#263b68;font-size:.78rem;font-weight:850;text-transform:uppercase}.ptrr-inspiration-search input{width:100%;min-height:50px;padding:0 15px;border:2px solid #d8e0ed;border-radius:11px;color:#172343;background:#fff;font:inherit}.ptrr-inspiration-search input:focus{border-color:var(--ptrr-accent);outline:0}.ptrr-discover article[hidden]{display:none}
.ptrr-route-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.ptrr-route-filters label{color:#52627f;font-size:.75rem;font-weight:800;text-transform:uppercase}.ptrr-route-filters select{display:block;width:100%;min-height:44px;margin-top:5px;padding:0 10px;border:1px solid #ced7e6;border-radius:9px;color:#172343;background:#fff}.ptrr-route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ptrr-route-list article[hidden]{display:none}.ptrr-route-explorer>small{display:block;margin-top:14px;color:#6d778c}.ptrr-fact-source{color:#b94a00;font-size:.78rem;font-weight:800;text-decoration:none}
@media (max-width:780px){.ptrr-route-filters,.ptrr-route-list{grid-template-columns:1fr}}

/* Aviation Explorer 2.0 */
.ptrr-nav{position:sticky;z-index:20;top:8px;display:flex;gap:5px;margin:0 0 14px;padding:7px;overflow-x:auto;border:1px solid #e0e6ef;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 8px 26px rgba(11,23,57,.1);backdrop-filter:blur(12px)}
.ptrr-nav a{flex:0 0 auto;padding:10px 13px;border-radius:9px;color:var(--ptrr-ink);font-size:.78rem;font-weight:850;text-decoration:none}.ptrr-nav a:hover,.ptrr-nav a:focus{color:#fff;background:var(--ptrr-ink)}
.ptrr-explorer-hero{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:330px;padding:clamp(30px,7vw,76px);overflow:hidden;border-radius:28px;color:#fff;background:radial-gradient(circle at 84% 24%,rgba(255,102,0,.65),transparent 22%),linear-gradient(135deg,#070d1d,var(--ptrr-ink) 58%,#22345d);box-shadow:0 24px 60px rgba(11,23,57,.22)}
.ptrr-explorer-hero h2{margin:0;color:#fff;font-size:clamp(2.8rem,8vw,6.7rem);line-height:.88;letter-spacing:-.065em}.ptrr-explorer-hero p:not(.ptrr__eyebrow){max-width:620px;margin:18px 0 0;color:#dce5f8;font-size:clamp(1rem,2vw,1.25rem)}.ptrr-hero-plane{color:var(--ptrr-accent);font-size:clamp(6rem,20vw,14rem);filter:drop-shadow(0 18px 28px rgba(0,0,0,.28));transform:rotate(-11deg)}
.ptrr-category-strip{display:flex;gap:8px;margin:14px 0 0;padding:2px;overflow-x:auto}.ptrr-category-strip a{flex:0 0 auto;padding:11px 15px;border:1px solid #dfe5ef;border-radius:999px;color:#263653;background:#fff;font-size:.8rem;font-weight:800;text-decoration:none}
.ptrr-daily{padding:30px 0 6px}.ptrr-section-head>p{margin:0 0 4px;color:#e65c00;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ptrr-section-head h3{margin:0;color:var(--ptrr-ink);font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:-.035em}.ptrr-daily-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin-top:18px}
.ptrr-visual-card{position:relative;min-height:295px;padding:22px;overflow:hidden;border-radius:20px;color:#fff;background:#16213c}.ptrr-visual-card>span{font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ptrr-visual-card>div{position:absolute;right:12px;top:20px;color:rgba(255,255,255,.2);font-size:7rem;font-weight:900}.ptrr-visual-card h4{position:absolute;left:22px;right:22px;bottom:74px;margin:0;color:#fff;font-size:1.65rem}.ptrr-visual-card p{position:absolute;left:22px;right:22px;bottom:37px;margin:0;color:#e6ecf7;font-size:.82rem}.ptrr-visual-card a{position:absolute;left:22px;bottom:15px;color:#fff;font-size:.75rem;font-weight:800;text-decoration:none}.ptrr-visual-card--a380{background:linear-gradient(145deg,#101a35,#39588b)}.ptrr-visual-card--runway{background:linear-gradient(145deg,#192b30,#496b62)}.ptrr-visual-card--museum{background:linear-gradient(145deg,#562100,#e65c00)}
.ptrr-aircraft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ptrr-aircraft-grid article{overflow:hidden;padding:0 18px 18px}.ptrr-aircraft-art,.ptrr-museum-art{display:grid;height:120px;margin:0 -18px 17px;place-items:center;color:#fff;background:linear-gradient(145deg,#0b1739,#31538b);font-size:4.5rem}.ptrr-museum-art{height:110px;background:linear-gradient(145deg,#612500,#ff6600)}.ptrr-quick-facts{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.ptrr-quick-facts b{padding:5px 8px;border-radius:999px;color:#52627f;background:#e9eef6;font-size:.66rem}.ptrr-aircraft-grid article[hidden]{display:none}
.ptrr-search-count{margin:-8px 0 14px!important;color:#59677f!important;font-size:.78rem!important;font-weight:800}.ptrr-open-aircraft{width:100%;margin-top:12px;padding:10px 12px;border:0;border-radius:9px;color:#fff;background:#e65c00;font-weight:850;cursor:pointer}.ptrr-open-aircraft:hover{background:#bd4b00}.ptrr-aircraft-detail{position:relative;margin-top:16px;padding:24px;border:2px solid var(--ptrr-accent);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(11,23,57,.16);scroll-margin-top:90px}.ptrr-aircraft-detail>button{position:absolute;right:13px;top:10px;border:0;color:#52627f;background:transparent;font-size:1.7rem;cursor:pointer}.ptrr-aircraft-detail h3{margin:3px 40px 8px 0;color:var(--ptrr-ink);font-size:1.8rem}.ptrr-aircraft-detail h3 small{color:#71809b;font-size:.6em}.ptrr-aircraft-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.ptrr-aircraft-detail dl div{padding:12px;border-radius:10px;background:#f3f6fa}.ptrr-aircraft-detail dt{color:#71809b;font-size:.68rem;font-weight:850;text-transform:uppercase}.ptrr-aircraft-detail dd{margin:4px 0 0;color:#172343;font-weight:750}.ptrr-aircraft-detail [data-ptrr-aircraft-flights]{padding:11px 14px;border:0;border-radius:9px;color:#0b1739;background:var(--ptrr-accent);font-weight:850;cursor:pointer}
.ptrr-airport-preview{display:flex;align-items:flex-start;flex-direction:column;min-height:110px;padding:22px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#0b1739,#1c386d)}.ptrr-airport-preview strong{font-size:1.2rem}.ptrr-airport-preview span{margin-top:7px;color:#dce5f8;font-size:.82rem}.ptrr-airport-preview ul{margin:12px 0 0;padding:0;list-style:none}.ptrr-airport-preview button{margin:3px;padding:7px 10px;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;background:rgba(255,255,255,.1);cursor:pointer}.ptrr-event-callout{margin:18px 0 0!important;padding:15px;border-left:4px solid var(--ptrr-accent);border-radius:8px;background:#fff4ec}.ptrr-flight-tool{margin-top:28px}.ptrr-flight-tool h2{font-size:clamp(2rem,5vw,3.4rem)}
@media(max-width:780px){.ptrr-explorer-hero{grid-template-columns:1fr;min-height:380px}.ptrr-hero-plane{position:absolute;right:7%;margin-top:210px;opacity:.45}.ptrr-daily-grid,.ptrr-aircraft-grid,.ptrr-aircraft-detail dl{grid-template-columns:1fr}.ptrr-visual-card{min-height:230px}.ptrr-nav{top:4px}.ptrr__hero{border-radius:20px}.ptrr-no-break{white-space:normal}}
