:root{--ink:#05131b;--panel:#091a24;--line:#85b7c629;--muted:#6f8994;--cyan:#78dce9;--orange:coral;--content-max:1720px}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{color:#d7e6ea;background:linear-gradient(#78dce905 1px, transparent 1px), linear-gradient(90deg, #78dce905 1px, transparent 1px), radial-gradient(circle at 75% 10%, #26748524, transparent 34rem), radial-gradient(circle at 20% 80%, #ff7f500a, transparent 28rem), var(--ink);background-size:36px 36px,36px 36px,auto,auto,auto;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit}.shell{min-height:100vh;padding:0 clamp(18px,2.5vw,42px);overflow-x:clip}.topbar{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#05131bd6;justify-content:space-between;align-items:center;height:84px;margin-left:calc(-1*clamp(18px,2.5vw,42px));margin-right:calc(-1*clamp(18px,2.5vw,42px));padding:0 clamp(18px,2.5vw,42px);display:flex;position:sticky;top:0}.brand{color:#edf8fa;letter-spacing:.14em;align-items:center;gap:13px;font-size:20px;font-weight:800;text-decoration:none;display:flex}.brand>span:last-child span{color:var(--cyan)}.brand-icon{border-radius:8px;flex-shrink:0;width:32px;height:32px;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 0 16px #78dce938}.brand:hover .brand-icon{transform:scale(1.05);box-shadow:0 0 20px #78dce966}.top-status{color:#718d98;text-transform:uppercase;letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:13px}.status-dot{background:#69d19d;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #69d19db3}.top-status.loading .status-dot{background:#e7b671;animation:1.1s ease-in-out infinite pulse;box-shadow:0 0 12px #e7b67199}.top-status.error .status-dot{background:var(--orange);box-shadow:none}@keyframes pulse{50%{opacity:.35}}.topbar-actions{align-items:center;gap:8px;display:flex}.nav-pill{color:#8faab5;cursor:pointer;background:#091a2499;border:1px solid #85b7c62e;border-radius:4px;align-items:center;gap:6px;padding:9px 16px;font-size:14px;transition:all .2s;display:inline-flex}.nav-pill:hover{border-color:var(--cyan);color:#e2f2f5;background:#78dce91a}.hero{max-width:var(--content-max);flex-direction:column;gap:28px;margin:0 auto;padding:40px 0 32px;display:flex}.hero-content{flex-direction:column;gap:16px;max-width:1100px;display:flex}.hero-badge{color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;background:#78dce90a;border:1px solid #78dce938;align-self:flex-start;align-items:center;gap:9px;padding:7px 14px;font:12px ui-monospace,monospace;display:inline-flex}.badge-pulse{background:var(--cyan);width:6px;height:6px;box-shadow:0 0 10px var(--cyan);border-radius:50%;animation:1.5s infinite pulse}h1{letter-spacing:-.04em;color:#e8f4f6;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,4.8vw,72px);font-weight:400;line-height:.96}h1 em{color:var(--cyan);font-style:italic;font-weight:400}.intro{color:#84a0ac;white-space:nowrap;max-width:none;margin:0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:14px;margin-top:4px;display:flex}.hero-cta-btn{border:1px solid var(--cyan);color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:linear-gradient(90deg,#78dce933,#78dce914);align-items:center;gap:9px;padding:14px 23px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.hero-cta-btn:hover{background:#78dce947;transform:translateY(-1px);box-shadow:0 6px 20px #78dce92e}.workspace{max-width:var(--content-max);grid-template-columns:320px minmax(600px,1fr) 305px;align-items:stretch;gap:16px;margin:0 auto;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#0c202afa,#081a23f0);box-shadow:0 12px 40px #0000004d}.panel-title{border-bottom:1px solid var(--line);color:#a9bec5;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;height:66px;padding:0 22px;font-size:13px;font-weight:700;display:flex}.panel-title>span{color:var(--cyan);font-family:ui-monospace,monospace;font-size:12px}.panel-title small{color:#526c76;letter-spacing:.06em;margin-left:auto;font-size:12px}.live-indicator{letter-spacing:.1em;font-weight:700;color:#69d19d!important}.controls{padding-bottom:22px}.field-label{color:#617c87;text-transform:uppercase;letter-spacing:.14em;padding:18px 22px 8px;font-size:12px;display:block}.naca-field{background:#081820;border:1px solid #74b1c13d;align-items:center;height:44px;margin:0 22px;display:flex}.naca-field span{color:#516a74;padding-left:14px;font-family:ui-monospace,monospace;font-size:13px}.naca-field input{color:#e2f0f3;text-align:right;letter-spacing:.12em;background:0 0;border:0;outline:0;width:100%;padding:0 14px 0 8px;font-family:ui-monospace,monospace;font-size:22px}.presets-header{color:#516a74;text-transform:uppercase;letter-spacing:.1em;padding:14px 22px 6px;font:11px ui-monospace,monospace}.presets-grid{grid-template-columns:repeat(2,1fr);gap:6px;padding:0 22px 14px;display:grid}.presets-grid button{border:1px solid var(--line);color:#536f79;text-align:left;cursor:pointer;background:#0c202a66;padding:6px 8px;transition:all .15s}.presets-grid button strong{color:#9bb3bc;font:13px ui-monospace,monospace;display:block}.presets-grid button small{color:#4b6671;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.presets-grid button.active{background:#78dce914;border-color:#78dce96b}.presets-grid button.active strong{color:var(--cyan)}.range-heading{color:#829aa3;border-top:1px solid #85b7c617;justify-content:space-between;align-items:center;padding:14px 22px 8px;font-size:13px;display:flex}.range-heading strong{color:#e0ecef;font:18px ui-monospace,monospace}.range{width:calc(100% - 44px);height:3px;accent-color:var(--cyan);margin:8px 22px;display:block}.range-scale{color:#536d77;justify-content:space-between;padding:0 22px 12px;font:11px ui-monospace,monospace;display:flex}.toggle-row{border-top:1px solid #85b7c614;flex-direction:column;gap:8px;padding:10px 22px 14px;display:flex}.toggle-label{color:#79949f;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13px;display:flex}.toggle-label input{accent-color:var(--cyan);cursor:pointer;width:14px;height:14px}.case-advisory{border-radius:4px;align-items:flex-start;gap:10px;margin:8px 22px 14px;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.case-advisory.warning{color:#f1cf99;background:#e7b67114;border:1px solid #e7b67159}.case-advisory.warning>span{color:#e7b671;background:#e7b67133;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;display:inline-flex}.case-advisory.warning strong{color:#ffd899;margin-bottom:2px;font-size:11px;display:block}.case-advisory.warning p{color:#dfbf8d;margin:0}.case-advisory.error{color:#fa8;background:#ff7f5017;border:1px solid #ff7f5066}.case-advisory.error>span{width:18px;height:18px;color:var(--orange);background:#ff7f5040;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:ui-monospace,monospace;font-size:13px;font-weight:700;display:inline-flex}.case-advisory.error strong{color:#ff8e66;margin-bottom:2px;font-size:11px;display:block}.case-advisory.error p{color:#f0a282;margin:0}.predict-button{color:#b9edf3;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;background:linear-gradient(90deg,#78dce921,#78dce90d);border:1px solid #78dce97a;justify-content:space-between;align-items:center;width:calc(100% - 44px);height:50px;margin:4px 22px 12px;padding:0 16px;font-size:13px;font-weight:700;transition:border-color .2s,background .2s,transform .2s;display:flex}.predict-button:hover:not(:disabled){border-color:var(--cyan);background:#78dce929;transform:translateY(-1px)}.predict-button b{color:var(--cyan);font-size:18px}.predict-button.loading{color:#e7b671;border-color:#e7b67166}.predict-button:disabled{cursor:not-allowed;opacity:.55}.run-controls{padding-bottom:12px}.run-controls .predict-button{margin-bottom:8px}.reset-button{color:#617d88;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;width:calc(100% - 44px);margin:0 22px;padding:8px 10px;font:11px ui-monospace,monospace}.reset-button:hover{color:var(--cyan)}.baseline-controls{padding:0 22px}.pin-button{color:#7999a4;cursor:pointer;background:#78dce908;border:1px dashed #78dce940;width:100%;padding:10px;font-size:12px;transition:all .15s}.pin-button:hover:not(:disabled){border-color:var(--cyan);color:#b7e9f0;background:#78dce914}.baseline-active{color:var(--cyan);background:#78dce90f;border:1px solid #78dce94d;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.baseline-active button{color:coral;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:underline}.visuals{flex:1;grid-template-rows:minmax(320px,1fr) minmax(340px,1.05fr) minmax(340px,1.05fr);gap:16px;display:grid}.airfoil-panel,.pressure-panel{flex-direction:column;min-width:0;height:100%;display:flex;position:relative}canvas.interactive{cursor:crosshair}.airfoil-canvas{flex:1;width:100%;min-height:220px;display:block}.geometry-stats{color:#55717c;letter-spacing:.06em;border-top:1px solid #85b7c614;flex:0 0 58px;justify-content:center;gap:clamp(16px,4vw,56px);height:58px;font:11px ui-monospace,monospace;display:flex}.geometry-stats span{align-items:center;gap:7px;display:flex}.geometry-stats b{color:#78949d;font-weight:500}.panel-title i{width:12px;height:2px;margin:0 4px 2px 8px;display:inline-block}.upper-key{background:var(--orange)}.lower-key{background:var(--cyan)}.baseline-key{background:#fff6;border:1px dashed #fff}.cp-canvas{flex:1;width:100%;min-height:300px;display:block}.cf-panel{border-color:#78dce942}.separation-key{color:#d79a82;letter-spacing:.04em;text-transform:none;white-space:nowrap;border:1px solid #ff7f503d;margin-left:8px;padding:4px 7px;font:500 10px ui-monospace,monospace}.axis-label{color:#65808a;font:13px ui-monospace,monospace;position:absolute;top:82px;left:18px}.chart-caption{color:#5b7580;font:12px ui-monospace,monospace;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.hover-hud{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#7f9ca7;background:#06151de0;border:1px solid #78dce94d;gap:14px;padding:7px 13px;font:12px ui-monospace,monospace;display:flex;position:absolute;top:76px;right:24px}.hover-hud b{color:#d7e8ec}.hover-hud b.upper-val{color:var(--orange)}.hover-hud b.lower-val{color:var(--cyan)}.results{padding-bottom:20px}.case-summary{background:#85b7c61a;grid-template-columns:repeat(3,1fr);gap:1px;margin:14px 22px 0;display:grid}.case-summary span{color:#6f8b96;text-align:center;background:#081a23;padding:9px 5px;font:11px ui-monospace,monospace}.metric{border-bottom:1px solid #85b7c61a;justify-content:space-between;align-items:center;min-height:110px;margin:0 22px;display:flex}.metric>div{flex-direction:column;gap:4px;display:flex}.metric-val{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.metric span{color:#79939c;font:20px Georgia,serif}.metric small{color:#3f5a64;letter-spacing:.12em;font:10px ui-monospace,monospace}.metric strong{color:#d7e8ec;font:400 37px Georgia,serif}.metric.primary strong{color:var(--cyan);font-size:43px}.delta{border-radius:2px;padding:2px 5px;font:600 11px ui-monospace,monospace}.delta.pos{color:#69d19d;background:#69d19d1a}.delta.neg{color:var(--orange);background:#ff7f501a}.efficiency{background:#78dce909;border:1px solid #78dce921;grid-template-columns:1fr auto;align-items:end;margin:16px 22px;padding:15px;display:grid}.efficiency span{color:#4f6b75;letter-spacing:.12em;grid-column:1/-1;font:10px ui-monospace,monospace}.efficiency strong{color:#b6cbd1;margin-top:6px;font:400 31px Georgia,serif}.efficiency small{color:#45616b;font:11px ui-monospace,monospace}.secondary-metrics{grid-template-columns:1fr;gap:8px;margin:0 22px 14px;display:grid}.sub-metric{background:#0c202a66;border:1px solid #85b7c61f;padding:9px 11px}.sub-metric span{color:#536f79;text-transform:uppercase;font:10px ui-monospace,monospace;display:block}.sub-metric strong{color:#b4c9cf;margin-top:4px;font:14px ui-monospace,monospace;display:block}.sub-metric strong.separated{color:var(--orange)}.sub-metric strong.attached{color:#69d19d}.confidence{color:#57727c;justify-content:space-between;padding:0 22px;font-size:12px;display:flex}.confidence b{color:#e7b671;letter-spacing:.08em;font:11px ui-monospace,monospace}.confidence b.ready{color:#69d19d}.confidence b.error{color:var(--orange)}.disclaimer{color:#45616b;min-height:40px;margin:10px 22px;font-size:12px;line-height:1.5}.export-group{gap:8px;margin:0 22px;display:flex}.export{color:#83a3ad;cursor:pointer;background:#78dce90d;border:1px solid #78dce938;flex:1;justify-content:space-between;align-items:center;height:42px;padding:0 12px;font-size:12px;transition:all .15s;display:flex}.export:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.export.secondary{background:0 0;border-color:#85b7c629}.export span{color:var(--cyan)}.export:disabled{cursor:wait;opacity:.4}footer{max-width:var(--content-max);border-top:1px solid var(--line);color:#415f6b;letter-spacing:.1em;justify-content:space-between;align-items:center;height:90px;margin:40px auto 0;font:11px ui-monospace,monospace;display:flex}.footer-col{flex-direction:column;gap:4px;display:flex}.footer-col strong{color:#88a7b3;font-weight:600}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020a0ed6;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.about-modal{background:#091a24;border:1px solid #78dce940;width:min(760px,100%);max-height:90vh;padding:38px;position:relative;overflow-y:auto;box-shadow:0 28px 90px #0009}.modal-close{color:#6f8994;cursor:pointer;background:0 0;border:0;font-size:22px;transition:color .15s;position:absolute;top:16px;right:18px}.modal-close:hover{color:var(--cyan)}.about-modal h2{color:#e6f1f3;letter-spacing:-.03em;margin:0 0 16px;font:400 34px/1.05 Georgia,serif}.about-modal h2 em{color:var(--cyan);font-weight:400}.about-modal>p:not(.eyebrow){color:#78919b;font-size:15px;line-height:1.7}.eyebrow{color:#536f79;text-transform:uppercase;letter-spacing:.14em;margin:0 0 8px;font:11px ui-monospace,monospace}.airfrans-card{background:#78dce90a;border:1px solid #78dce942;margin:18px 0 22px;padding:18px;position:relative}.airfrans-badge{border:1px solid var(--cyan);color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;padding:3px 8px;font:9px ui-monospace,monospace;display:inline-block}.airfrans-card strong{color:#e2f2f5;margin-bottom:4px;font-size:15px;display:block}.airfrans-card p{color:#87a4b0;margin:0 0 12px;font-size:14px;line-height:1.5}.airfrans-links-row{flex-wrap:wrap;gap:8px;display:flex}.airfrans-link{border:1px solid var(--cyan);color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#78dce91f;align-items:center;gap:6px;padding:7px 13px;font-size:11px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.airfrans-link:hover{background:#78dce940;transform:translateY(-1px)}.airfrans-link.secondary{color:#8eb3c0;background:#091a2499;border-color:#85b7c64d}.airfrans-link.secondary:hover{border-color:var(--cyan);color:var(--cyan)}.spec-dl{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:20px 0;display:grid}.spec-dl div{background:#081822;padding:12px}.spec-dl dt{color:#536f79;text-transform:uppercase;letter-spacing:.1em;font:9px ui-monospace,monospace}.spec-dl dd{color:#c3d8dd;margin:5px 0 0;font:16px Georgia,serif}.accordion-group{border-top:1px solid var(--line);margin:20px 0 24px}.accordion-header-title{color:#536f79;text-transform:uppercase;letter-spacing:.12em;padding:14px 0 8px;font:9px ui-monospace,monospace}.accordion-item{background:#08182299;border:1px solid #85b7c624;margin-bottom:8px}.accordion-item.open{background:#78dce908;border-color:#78dce959}.accordion-trigger{color:#d0e4e8;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:13px 14px;font-size:14px;font-weight:600;transition:color .15s;display:flex}.accordion-trigger:hover{color:var(--cyan)}.accordion-trigger b{color:var(--cyan);font-family:ui-monospace,monospace;font-size:16px}.accordion-content{color:#7f9ca8;border-top:1px dashed #85b7c61f;padding:0 14px 14px;font-size:13px;line-height:1.6}.accordion-content p{margin:10px 0 8px}.accordion-content ul{margin:0;padding-left:16px}.accordion-content li{margin-bottom:6px}.accordion-content li b{color:#d0f0f5}.architecture-flow{flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0 14px;display:flex}.architecture-flow span{color:#b8d3d9;background:#78dce90d;border:1px solid #78dce933;padding:7px 9px;font:11px ui-monospace,monospace}.architecture-flow b{color:var(--cyan);font:12px ui-monospace,monospace}.validation-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0;display:grid}.validation-grid span{background:#06151d80;border:1px solid #85b7c624;padding:10px}.validation-grid b{color:#607d88;font:500 10px ui-monospace,monospace;display:block}.validation-grid strong{color:#d7e8ec;margin-top:5px;font:400 15px Georgia,serif;display:block}.technical-note{color:#91a5ac;background:#e7b6710d;border-left:2px solid #e7b671;padding:10px 12px;margin-top:12px!important}.modal-action{width:100%;height:44px;color:var(--cyan);text-transform:uppercase;letter-spacing:.11em;cursor:pointer;background:#78dce914;border:1px solid #78dce94d;font-size:12px;font-weight:700;transition:background .15s}.modal-action:hover{background:#78dce929}.contact-form{flex-direction:column;gap:14px;margin:20px 0;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#84a2ad;text-transform:uppercase;letter-spacing:.1em;font:11px ui-monospace,monospace}.form-input,.form-textarea{color:#eaf3f5;background:#06151d;border:1px solid #85b7c638;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-input:focus,.form-textarea:focus{border-color:var(--cyan);box-shadow:0 0 10px #78dce926}.form-textarea{resize:vertical;min-height:90px;line-height:1.5}.form-submit-btn{border:1px solid var(--cyan);color:#fff;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;background:linear-gradient(90deg,#78dce938,#78dce914);width:100%;height:46px;font-size:13px;font-weight:700;transition:all .2s}.form-submit-btn:hover:not(:disabled){background:#78dce94d;transform:translateY(-1px)}.form-submit-btn:disabled{opacity:.5;cursor:wait}.form-status{border-radius:4px;padding:10px 14px;font-size:13px}.form-status.success{color:#69d19d;background:#69d19d1a;border:1px solid #69d19d66}.form-status.error{color:#ff9e7d;background:#ff7f501a;border:1px solid #ff7f5066}@media (max-width:1100px){.intro{white-space:normal;max-width:760px}}@media (max-width:1250px){.workspace{grid-template-columns:280px 1fr}.results{grid-column:1/-1;grid-template-columns:220px 1fr 1fr 210px;align-items:center;padding:0;display:grid}.results .panel-title{height:100%}.metric{border:0;min-height:118px;margin:0 10px}.efficiency{margin:14px}.confidence,.disclaimer,.export-group{display:none}}@media (max-width:760px){.shell{padding:0 18px}.topbar{height:74px;margin-left:-18px;margin-right:-18px;padding:0 18px}.top-status{display:none}.hero{gap:20px;padding-top:24px}.hero-actions{flex-direction:column;align-items:stretch}.workspace{grid-template-columns:1fr}.results{grid-column:auto;padding-bottom:18px;display:block}.results .panel-title{height:58px}.results .confidence,.results .export-group{display:flex}.results .disclaimer{display:block}.contact-grid{grid-template-columns:1fr}.about-modal{padding:28px 20px}.validation-grid{grid-template-columns:repeat(2,1fr)}footer{text-align:center;flex-direction:column;align-items:center;gap:14px;height:auto;padding:28px 0}}
