:root{font-family:Inter,Hanken Grotesk,Arial,sans-serif;color:#3d3b3b;background:#f2f0ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2{color:#002313}h1{font-size:clamp(2rem,3vw,2.8rem);letter-spacing:-.035em;font-weight:550;margin-bottom:.25rem}h2{font-size:1.25rem;margin-bottom:.25rem}.topbar{height:auto;min-height:62px;background:#002313;color:#fff;display:flex;align-items:center;gap:24px;padding:0 22px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;white-space:nowrap}.brand-dot{width:13px;height:13px;background:#ff462d;border-radius:50%}.topbar nav{display:flex;align-self:stretch;gap:3px}.topbar nav button{border:0;border-bottom:3px solid transparent;background:none;color:#b9d4cf;padding:16px 12px;white-space:nowrap}.topbar nav button.active{color:#fff;border-bottom-color:#ff462d}.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.mode-toggle{background:#24513d;border-radius:99px;padding:3px;display:flex}.mode-toggle button{border:0;background:transparent;color:#e4f4f1;border-radius:99px;padding:5px 15px;font-weight:700}.mode-toggle button.selected{background:#fff;color:#002313}.save-status{font-size:12px;color:#b9d4cf;white-space:nowrap}.export,.primary{border:1px solid #ff462d;background:#ff462d;color:#002313;border-radius:99px;font-weight:700;padding:9px 16px;white-space:nowrap}.export{background:transparent;color:#fff;border-color:#b9d4cf}main{max-width:1740px;margin:auto;padding:28px 24px 48px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px}.intro p:last-child,.page-panel>p,.section-heading p{color:#565049}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#287079;margin-bottom:8px}.route-chip{background:#e4f4f1;border:1px solid #b5d8d2;border-radius:99px;padding:8px 15px;font-weight:700;color:#002313;white-space:nowrap}.route-chip span{color:#ff462d;padding:0 5px}.legend{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0 18px;color:#565049;font-size:12px}.legend span{display:flex;gap:7px;align-items:center}.legend i{height:14px;width:14px;border-radius:3px;border:1px solid #ddd9d2}.legend .mint{background:#e4f4f1;border-color:#b5d8d2}.legend .white{background:#fff}.legend .amber-dot{background:#f7dfa6;border-color:#c99a2e}.setup-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field span{font-size:12px;color:#565049;font-weight:600}.field input,textarea{width:100%;border:1px solid #b5d8d2;background:#e4f4f1;color:#205f66;border-radius:7px;padding:9px 10px;min-width:0}.field input:focus,textarea:focus,.compass-grid input:focus{outline:2px solid #287079;outline-offset:1px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:14px;box-shadow:0 2px 12px #00231312;margin-bottom:18px;overflow:hidden}.summary-grid>div{padding:16px 22px;border-right:1px solid #eae7e1}.summary-grid small{display:block;color:#565049;font-size:12px}.summary-grid strong{font-size:clamp(1.4rem,2vw,2rem);color:#002313;font-weight:600}.summary-grid em{font-style:normal;font-size:13px;color:#565049;font-weight:400}.danger-text{color:#b3261e!important}.issues{background:#fff4e5;border:1px solid #e2b66a;border-radius:9px;padding:10px 14px;margin-bottom:15px;font-size:13px}.issues ul{margin:4px 0 0;padding-left:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-heading p{font-size:13px;margin:0}.pill{border-radius:99px;background:#e4f4f1;color:#287079;font-weight:700;padding:5px 12px;white-space:nowrap}.table-scroll{overflow-x:auto;border:1px solid #ddd9d2;border-radius:12px;background:#fff}.nav-table{border-collapse:collapse;min-width:1700px;width:100%;font-variant-numeric:tabular-nums}.nav-table th{background:#002313;color:#fff;padding:8px 6px;font-size:11px;white-space:nowrap}.nav-table th.entered{text-align:left;padding-left:13px}.nav-table th.calculated{background:#287079;text-align:left;padding-left:13px;border-left:3px solid #ff462d}.nav-table td{border-right:1px solid #e1ded8;border-bottom:1px solid #e1ded8;text-align:center;min-width:62px;padding:0}.nav-table td:first-child{min-width:57px;font-size:11px;color:#565049}.nav-table td:nth-child(2){min-width:145px}.nav-table td:nth-child(4){min-width:82px}.nav-table .field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nav-table .field input{border:0;border-radius:0;text-align:center;height:45px;padding:5px 4px;font-size:12px;font-weight:650}.nav-table td:nth-child(2) input{text-align:left;padding-left:9px}.nav-table .output{min-width:65px;display:flex;flex-direction:column;justify-content:center;min-height:45px}.output small{font-size:9px;color:#777}.output strong{font-size:12px;color:#002313}.output.warning strong{color:#b3261e}.nav-table .amber input,.nav-table .amber{background:#f7dfa6}.nav-table .departure-row{background:#f2f0ed;text-align:left;padding-left:14px;font-size:12px;color:#565049}.remove{display:block;margin:auto;border:0;background:transparent;color:#9a5b00;font-size:18px;line-height:16px}.invalid-row td{border-bottom-color:#e2b66a}.below-table{display:flex;gap:12px;align-items:center;margin:13px 0;font-size:12px;color:#565049}.outline{background:transparent;border:1px solid #002313;border-radius:99px;padding:9px 17px;color:#002313;font-weight:700;white-space:nowrap}.rule-note{background:#e4f4f1;border-radius:8px;padding:10px 12px;margin-top:13px;font-size:13px}.coordinates{margin-top:16px;background:#fff;border-radius:9px;padding:12px}.coordinates summary{cursor:pointer;font-weight:700;color:#002313}.coordinate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:12px}.coordinate-grid>div{border:1px solid #ddd9d2;padding:10px;border-radius:8px}.coordinate-grid .field{margin-top:8px}.disclaimer,.note{font-size:12px;color:#565049;margin-top:16px}.page-panel{background:transparent}.airport-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.airport-table{display:grid;grid-template-columns:180px repeat(3,minmax(160px,1fr));background:#fff;border:1px solid #ddd9d2;border-radius:12px;overflow:auto}.airport-head{background:#002313;color:#fff;font-weight:600;padding:12px}.airport-head b{display:block;font-size:18px}.airport-row{display:contents}.airport-row>*{border-bottom:1px solid #eae7e1;padding:10px;font-size:12px}.airport-row b{background:#faf9f7;color:#565049}.side-stack{display:grid;gap:14px}.card{background:#fff;border-radius:14px;padding:17px;box-shadow:0 2px 12px #00231312}.card p{font-size:13px;color:#565049}.card textarea{resize:vertical}.compass-grid{display:grid;grid-template-columns:150px repeat(12,minmax(58px,1fr));overflow:auto;background:#fff;border-radius:12px;border:1px solid #ddd9d2}.compass-grid>*{padding:12px 3px;text-align:center;border-bottom:1px solid #eae7e1;border-right:1px solid #eae7e1;min-width:58px}.compass-grid>b{background:#002313;color:#fff}.compass-grid .compass-caption{text-align:left;padding-left:12px;min-width:150px;background:#faf9f7;font-weight:700}.compass-grid .compass-caption:first-child{background:#002313;color:#fff}.compass-grid input{border:0;background:#e4f4f1;color:#287079;font-weight:700;width:100%;border-radius:0}@media(max-width:1100px){.topbar{padding:8px 16px}.top-actions{margin-left:0}.setup-grid{grid-template-columns:repeat(3,1fr)}.airport-grid{grid-template-columns:1fr}.airport-table{overflow-x:auto}}@media(max-width:700px){main{padding:20px 13px}.topbar nav{order:3;width:100%;overflow-x:auto}.top-actions{margin-left:auto;gap:6px}.save-status{display:none}.export{font-size:11px;padding:8px}.intro{align-items:start;flex-direction:column;gap:5px}.setup-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid>div{padding:12px}.airport-table{grid-template-columns:110px repeat(3,minmax(130px,1fr));overflow:auto}.compass-grid{grid-template-columns:120px repeat(12,58px)}.compass-grid .compass-caption{min-width:120px}}@media print{.topbar nav,.top-actions,.legend,.below-table,.coordinates,.remove,.side-stack{display:none!important}.topbar{background:#fff;color:#002313;padding:0}.brand{color:#002313}main{padding:8px;max-width:none}.setup-grid{grid-template-columns:repeat(6,1fr)}.nav-table{min-width:0;font-size:7px}.nav-table th{font-size:6px}.nav-table td{min-width:0!important}.nav-table .field input{font-size:7px;height:30px;padding:0;background:#fff;color:#000}.nav-table .output{min-height:30px;min-width:0}.output strong{font-size:7px}.output small{display:none}.table-scroll{overflow:visible}.summary-grid strong{font-size:15px}.disclaimer{font-size:9px}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:landscape;margin:8mm}}.clear-demo{border:1px solid #b9d4cf;background:#ffffff1f;color:#fff;border-radius:99px;padding:9px 16px;font-weight:700;white-space:nowrap}.clear-demo:hover,.export:hover{background:#fff3}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:#00180da6;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(100%,470px);background:#fff;border-radius:18px;padding:28px;box-shadow:0 18px 64px #001c1270}.modal-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff0e6;color:#a33b17;font-size:24px;font-weight:800;margin-bottom:14px}.modal h2{font-size:24px;margin:0 0 10px}.modal p{color:#565049;line-height:1.5;margin-bottom:22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.danger-button{border:1px solid #a33b17;background:#a33b17;color:#fff;border-radius:99px;padding:9px 17px;font-weight:700}.danger-button:hover{background:#822b0e}@media(max-width:700px){.clear-demo{font-size:11px;padding:8px 12px}.modal{padding:22px}.modal-actions>*{flex:1}}@media print{.modal-backdrop{display:none!important}}.nav-table .paired-cell{min-width:112px}.nav-table .paired-cell .field+.field{border-top:2px solid #b5d8d2}.nav-table .paired-cell .field span{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;text-align:left;padding:5px 8px 0;background:#e4f4f1;color:#40616a;font-size:10px}.nav-table .paired-cell .field input{height:34px;text-align:left;padding-left:8px}.nav-table tbody tr:not(:first-child) td{border-bottom:2px solid #b8c8c2}.nav-table .output{min-height:70px;gap:3px}.nav-table .output small{font-size:10px}.nav-table .output strong{font-size:14px}.airport-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.airport-cards{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.airport-cards>div>h2{font-size:15px;margin-bottom:8px}.airport-card{background:#fff;border:1px solid #ddd9d2;border-radius:12px;padding:15px;min-height:315px;overflow-wrap:anywhere}.airport-card h2{font-size:20px;margin-bottom:8px}.airport-card strong{display:block;color:#205f66}.airport-card p{font-size:13px;margin:9px 0}.airport-card small{display:block;font-size:11px;color:#565049;margin:7px 0}.weather-report{border-top:1px solid #ddd9d2;padding-top:10px;margin-top:12px;font-size:12px}.weather-report b,.weather-report span,.weather-report small{display:block}.weather-report span{margin-top:5px;line-height:1.4}.dialog-backdrop{position:fixed;inset:0;background:#001b12b8;z-index:20;display:grid;place-items:center;padding:20px}.welcome-dialog{background:#fff;border-radius:16px;max-width:560px;padding:30px;box-shadow:0 15px 55px #0005}.welcome-dialog p{line-height:1.55;color:#403d38}.welcome-dialog .primary{margin-top:8px}@media(max-width:1150px){.airport-layout{grid-template-columns:1fr}.airport-cards{grid-template-columns:1fr 1fr}}@media(max-width:700px){.airport-cards{grid-template-columns:1fr}}@media print{.dialog-backdrop,.weather-report{display:none!important}.airport-layout{display:block}.airport-cards{display:grid;grid-template-columns:repeat(3,1fr)}.airport-card{min-height:0}.nav-table .paired-cell .field span{font-size:6px;padding:0 2px}.nav-table .paired-cell .field input{height:15px}.nav-table .output{min-height:30px}}@media print{main{padding:2px 5px}.intro{margin:0 0 4px}.intro h1{font-size:20px;margin:0}.intro p{font-size:9px;margin:0}.setup-grid{gap:4px;margin-bottom:6px}.setup-grid .field input{padding:2px 4px;height:22px;font-size:9px}.summary-grid{margin-bottom:6px}.summary-grid>div{padding:5px 8px}.section-heading{margin-bottom:3px}.section-heading h2{font-size:14px;margin:0}.section-heading p{font-size:8px}.nav-table .field input{height:22px}.nav-table .paired-cell .field input{height:11px}.nav-table .paired-cell .field span{font-size:5px;line-height:6px}.nav-table .output{min-height:22px}.nav-table .output strong{font-size:7px}.nav-table th{padding:3px 2px}.disclaimer{margin-top:4px}}
