@import url("./vendor/leaflet/leaflet.css?v=d435635ee358");
@import url("./common/widget-view-controls.css?v=d435635ee358");
:root{--ink:#173b5d;--muted:#617487;--line:#c7d5e0;--green:#17699d;--bg:#edf2f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button{border:1px solid #aac4dc;border-radius:7px;background:white;color:var(--ink);padding:9px 13px;cursor:pointer;transition:background .15s}button:hover{background:#e9f2fa}button:focus-visible,summary:focus-visible{outline:3px solid #2878ad;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.topbar{height:76px;padding:0 34px;display:flex;align-items:center;gap:40px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;font-size:25px;font-weight:750;color:var(--ink);letter-spacing:-1px}.brand>span:last-child{font-weight:400}.master-download{display:inline-flex;align-items:center;text-decoration:none;font-size:12px;font-weight:650;color:#17699d;border:1px solid #aac4dc;border-radius:7px;background:#fff;padding:8px 12px;white-space:nowrap}.master-download:hover{background:#e9f2fa}.master-download:focus-visible{outline:3px solid #2878ad;outline-offset:2px}.mark{background:var(--green);color:#fff;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;font:italic 27px Georgia;margin-right:10px}.topbar nav{font-size:12px;color:var(--muted)}.storage{margin-left:auto;font-size:11px;letter-spacing:.04em;background:#f4f2e8;color:#776c3f;border:1px solid #e9e4cd;border-radius:20px;padding:7px 12px}main{padding:30px 34px 12px;max-width:1900px;margin:auto}.workspace-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:#547995}h1{font-size:28px;font-weight:550;letter-spacing:-.8px;margin:8px 0}p{color:var(--muted);line-height:1.6;margin:6px 0}.toolbar{display:flex;gap:8px}#panes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:calc(20px / 3);align-items:start}.pane{grid-column:span 2;border:1px solid #b8cddd;border-radius:12px;background:#e4eef6;overflow:hidden}.pane[data-mode=medium]{grid-column:span 1}.pane[data-mode=thumbnail]{grid-column:span 1}.pane[data-mode=thumbnail] .grid{display:none}.pane-head{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #b8cddd;cursor:grab}.pane-head h2{font-size:15px;margin:0;font-weight:650}.pane-head .hint{font-size:11px;color:var(--muted);margin-left:auto}.grid{position:relative;min-height:480px;margin:14px;background-image:radial-gradient(#8faabe4f 1px,transparent 1px);background-size:20px 20px;transform-origin:top left}.widget{position:absolute;border:1px solid #b9cedf;border-radius:10px;background:white;box-shadow:0 3px 9px #173b5d10;overflow:hidden;display:flex;flex-direction:column;transition:left .16s,top .16s,width .16s,height .16s}.widget.drop-over{outline:3px solid #2878ad}.widget-head{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #d7e4ee;cursor:grab;height:49px}.widget-head h3{font-size:13px;font-weight:650;margin:0}.size-controls{display:flex;gap:3px}.size-controls button{padding:2px 5px;font-size:12px;border-radius:4px;height:24px;min-width:24px}.size-controls button.selected{background:#dceefb;color:#17699d;border-color:#8eb7d5}.position{margin-left:auto;border:0;background:transparent;color:#7f908e;font-size:10px;max-width:78px}.widget-content{flex:1;min-height:0;overflow:auto}.loader-content{padding:18px}.cloud-buttons{display:flex;gap:8px;justify-content:center}.cloud-buttons button{flex:1}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#145781}.drop-prompt{border:1px dashed #91afc5;border-radius:8px;background:#f7fbff;text-align:center;padding:16px 10px;margin:0 0 13px}.drop-prompt strong{display:block;font-size:14px;margin:7px}.drop-prompt p{font-size:11px}.drop-prompt button{border:0;background:none;color:var(--green);padding:4px;text-decoration:underline}.active{margin:16px 0 12px;border-left:3px solid #2878ad;background:#e9f2fa;padding:10px 12px}.label{font-size:9px;letter-spacing:.12em;color:#617487;font-weight:700}.active strong{display:block;font-size:13px;margin-top:5px;word-break:break-word}.active small{display:block;color:#617487;font-size:10px;margin-top:4px}.disk-actions{display:flex;gap:7px}.disk-actions button{font-size:11px}.danger{color:#9d5046}details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;font-size:12px;font-weight:600}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.fields label{font-size:10px;color:var(--muted)}.fields input,.fields select{display:block;width:100%;margin-top:5px;padding:7px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:white}.widget[data-mode=thumbnail] .medium-only{display:none}.widget[data-mode=thumbnail] .loader-content{display:flex;align-items:center;justify-content:center}.widget[data-mode=thumbnail] .cloud-buttons{flex-direction:column;width:100%}.render-content{display:flex;flex-direction:column;overflow:hidden;position:relative}.render-content canvas{width:100%;flex:1;min-height:0;display:block;touch-action:none;cursor:grab}.render-toolbar{padding:8px;display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--line)}.render-toolbar button,.render-toolbar label{font-size:10px}.render-toolbar input[type=color]{width:23px;height:22px;border:0;background:none;vertical-align:middle}.render-toolbar input[type=range]{width:70px;vertical-align:middle}.widget:not([data-mode=expanded]) .expanded-only{display:none}.render-hint{position:absolute;bottom:10px;left:12px;font-size:10px;color:#6a828c;pointer-events:none;background:#ffffffbd;padding:5px 8px;border-radius:5px}.widget[data-mode=expanded] .render-hint{bottom:53px}.widget[data-mode=thumbnail] .render-hint{display:none}.status{font-size:12px;padding:10px 2px;min-height:40px}.status.error{color:#a44032}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:8px 34px;padding:14px 0;font-size:10px;color:#71889c}footer b{padding:0 7px;color:#afc2d1}dialog{border:1px solid var(--line);border-radius:12px;padding:22px;width:min(650px,95vw);color:var(--ink)}dialog::backdrop{background:#173b5d60}dialog header{display:flex;align-items:center;justify-content:space-between}dialog h2{font-size:20px}#records{display:grid;gap:8px;max-height:60vh;overflow:auto}#records button{text-align:left}.pane-dragging,.widget-dragging{opacity:.6}.grab{color:#99aaa2;font-size:15px}.file-input{display:none}@media(max-width:760px){main{padding:20px 12px}.topbar{padding:0 15px;gap:10px}.topbar nav{display:none}.workspace-heading{display:block}.toolbar{margin-top:15px}.pane[data-mode=medium],.pane[data-mode=thumbnail]{grid-column:span 2}.widget-head{padding:8px}.position{max-width:60px}footer{margin:8px 12px;gap:20px}}

/* Renderer settings belong to each instance; position policy is development-only. */
.render-toolbar{margin-top:auto;justify-content:flex-start;background:#f7fbff;min-height:43px}
.renderer-settings{position:absolute;left:10px;bottom:51px;width:min(280px,calc(100% - 20px));max-height:calc(100% - 65px);overflow:auto;z-index:5;background:#f7fbff;border:1px solid #91afc5;border-radius:9px;padding:13px;box-shadow:0 8px 28px #173b5d30;color:#173b5d}
.renderer-settings[hidden]{display:none}.settings-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.settings-title button{padding:1px 7px;font-size:20px}.settings-colors{display:grid;gap:8px;margin-bottom:14px}.settings-colors label{display:flex;align-items:center;justify-content:space-between;font-size:12px}.settings-colors input{width:38px;height:25px;padding:0;border:1px solid #aac4dc;background:white;border-radius:4px}.settings-slider{display:block;margin-top:12px;font-size:12px}.settings-slider>span{display:flex;justify-content:space-between}.settings-slider output{color:#617487;font-size:11px}.settings-slider input{width:100%;margin:7px 0 0;accent-color:#17699d}.image-save-dialog{max-width:440px}.image-save-dialog label{display:block;margin-top:16px;font-size:12px}.image-save-dialog input{display:block;width:100%;padding:9px;margin-top:6px;border:1px solid #aac4dc;border-radius:5px}.save-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

.loader-controls{width:100%}
.widget[data-mode=medium] .loader-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}
.widget[data-mode=medium] .loader-controls .drop-prompt{margin:0;padding:10px 8px}
.widget[data-mode=medium] .loader-controls .cloud-buttons{flex-direction:column}
.widget[data-mode=medium] .loader-controls .cloud-buttons button{width:100%}

.widget[data-mode=medium] .loader-controls .disk-actions{display:flex;flex-direction:column;gap:8px}

.cloud-buttons .load-cloud{font-size:11px;white-space:nowrap;padding-inline:8px}

/* Compact loader and shared click-to-expand widget presentation. */
.widget[data-widget=loader] .widget-head{height:40px;padding:7px 10px}
.loader-content{padding:8px}
.loader-content .cloud-buttons button{padding:4px 6px;font-size:11px;line-height:1.3}
.loader-content .active{margin:8px 0;padding:8px 10px}
.loader-content details{margin-top:8px;padding-top:8px}
.widget[data-mode=medium] .loader-controls{gap:8px}
.widget[data-mode=medium] .loader-controls .drop-prompt{padding:6px}
.loader-content .drop-prompt strong{margin:4px}
.loader-content .drop-prompt p{margin:4px 0;line-height:1.4}
.widget:focus-visible{outline:3px solid #2878ad;outline-offset:2px}

.loader-content .cloud-buttons{gap:6px}
.widget[data-mode=thumbnail] .widget-head{height:12px;padding:0;border:0;justify-content:center}
.widget[data-mode=thumbnail] .widget-head h3{display:none}
.widget[data-mode=thumbnail] .widget-head::after{content:'';width:24px;height:3px;border-radius:2px;background:#b9cedf}
.widget[data-mode=thumbnail] .loader-content{padding:6px}

.widget[data-mode=medium] .widget-head{height:12px;padding:0;border:0;justify-content:center}
.widget[data-mode=medium] .widget-head h3{display:none}
.widget[data-mode=medium] .widget-head::after{content:'';width:24px;height:3px;border-radius:2px;background:#b9cedf}

.widget[data-mode=medium] .loader-content>details{margin:0 0 8px;padding:0 0 8px;border-top:0;border-bottom:1px solid var(--line)}

.widget-drop-preview{position:absolute;pointer-events:none;z-index:5;border:2px dashed #17699d;border-radius:10px;background:#64b5f64d;box-shadow:inset 0 0 0 2px #ffffff80}
.widget-drop-preview[hidden]{display:none}

.widget[data-mode=thumbnail] .loader-content.has-active-file{align-items:flex-start}
.thumbnail-file-name{font-size:11px;font-weight:600;line-height:1.25;text-align:center;margin:0 0 6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}

/* Each dot marks an allowed widget top-left corner; 3pt = 4 CSS pixels. */
.grid{margin:4px;background-image:radial-gradient(circle at 1px 1px,#7898b288 1px,transparent 1px);background-size:22px 22px;background-position:0 0}

.widget[data-mode=thumbnail] .widget-head{display:none}
.widget[data-mode=thumbnail]{cursor:grab;user-select:none}
.widget[data-mode=thumbnail].widget-dragging{cursor:grabbing}

.fields .project-field-missing{outline:3px solid #18854b;outline-offset:1px;border-color:#18854b;background:#f2fff5}
.fields .project-field-missing:focus-visible{outline:3px solid #18854b;outline-offset:2px}

.json-viewer-content{padding:10px;overflow:auto}
.json-thumbnail{display:grid;place-items:center;padding:0;font-size:24px;font-weight:650;color:#17699d}
.json-viewer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.json-viewer-controls button,.json-viewer-controls label,.json-viewer-controls select{font-size:11px}
.json-tree{font:12px/1.65 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}
.json-tree details{border:0;margin:0;padding:0}
.json-tree summary{font:inherit;color:#17699d;padding:2px 0}
.json-children{margin-left:16px;padding-left:8px;border-left:1px solid #c7d5e0}
.json-value{padding:2px 0;white-space:pre-wrap}

.widget[data-widget=loader][data-mode=thumbnail][data-aircraft-loaded=true]{background:#e3f5e7;border-color:#a5cfaf}
.widget[data-widget=loader][data-mode=thumbnail][data-aircraft-loaded=false]{background:#fbe5e5;border-color:#e3b3b3}

.widget[data-widget=loader][data-mode=thumbnail] .loader-content{position:relative;display:block;padding:6px}
.widget[data-widget=loader][data-mode=thumbnail] .loader-controls{height:100%;display:grid;place-items:center}
.widget[data-widget=loader][data-mode=thumbnail] .cloud-buttons{width:calc(100% - 12px);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.widget[data-widget=loader][data-mode=thumbnail] .thumbnail-file-name{position:absolute;top:6px;left:6px;right:6px;margin:0;white-space:nowrap;display:block;text-overflow:ellipsis}

.pane[data-mode=medium]{grid-column:1/-1;max-width:100%;justify-self:start}
.pane[data-mode=medium] .grid{min-height:0}
.pane[data-mode=medium] .pane-head{padding:8px;gap:6px;flex-wrap:wrap}
.pane[data-mode=medium] .pane-head h2{min-width:0;overflow-wrap:anywhere;font-size:12px}
.pane[data-mode=medium] .pane-head .hint{display:none}

.loader-loading{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#edf6ffdf;border-radius:inherit;cursor:progress}
.loader-loading[hidden]{display:none}
.loading-hourglass{display:block;font-size:32px;line-height:1;animation:loader-hourglass-spin 1.4s linear infinite}
@keyframes loader-hourglass-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-hourglass{animation:none}}

.page-release{padding:3px 8px;background:#fff;color:rgba(17,24,39,.78)}
.data-rights{font:4pt/1.4 Arial,sans-serif}
#appVersion{display:block;border:0;padding:2px 0;background:transparent;color:rgba(17,24,39,.78);font:6px/1.4 Arial,sans-serif;border-radius:0}
#appVersion:disabled{opacity:1;cursor:default}
#versionEntries{padding-left:20px;max-height:60vh;overflow:auto}
#versionEntries li{margin:12px 0}

.renderer-settings{max-height:85%;overflow:auto}.renderer-settings>label{display:grid;gap:4px;margin:8px 0}.renderer-settings select,.renderer-settings input[type=file]{max-width:100%;width:100%;font-size:12px}

.ps-content{padding:0!important;overflow:hidden;flex:1;min-height:0}.ps-content iframe{border:0;width:100%;height:100%;display:block}.widget[data-widget=ps][data-mode=thumbnail] iframe{pointer-events:none}

.ps-content{display:flex;flex-direction:column}.ps-content iframe{flex:1;min-height:180px}.comparison-import{flex:none;max-height:52%;overflow:auto;padding:8px;background:#eef6fc}.comparison-loader.widget{position:relative!important;width:100%!important;height:auto!important;min-height:240px}.comparison-loader .loader-content{padding:6px}.comparison-status{font-size:12px;padding:4px}.comparison-status.error{color:#92251e}

.widget[data-widget=ps][data-mode=thumbnail] iframe{min-height:0}.widget[data-widget=ps][data-mode=thumbnail] .ps-content{height:100%}

/* Nested Ps widgets own their scrolling; they are not pane-positioned widgets. */
.widget[data-widget=ps][data-mode=expanded]>.ps-content{display:grid;grid-template-rows:auto minmax(320px,1fr);overflow:auto;align-content:start}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>.comparison-import{display:block;max-height:340px;min-height:42px;overflow:auto;margin:6px;border:1px solid #91afc5;border-radius:8px;padding:10px}
.comparison-import>summary{cursor:pointer;font-size:14px;color:#173b5d;margin-bottom:8px}
.comparison-loader.widget{flex:none;min-height:260px;overflow:visible;box-shadow:none}
.comparison-loader>.loader-content{flex:none;overflow:visible}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>iframe{height:100%;min-height:320px}

/* Give nested content natural height; scroll the Ps workspace, not a clipped summary. */
.widget[data-widget=ps][data-mode=expanded]>.ps-content{display:block;overflow:auto}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>.comparison-import{height:auto;max-height:none;min-height:0;overflow:visible}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>.comparison-import[open]{padding-bottom:12px}
.comparison-import>.comparison-loader.widget{display:block;position:relative!important;inset:auto!important;height:auto!important;min-height:0;max-height:none;overflow:visible}
.comparison-import .loader-content{display:block;height:auto;max-height:none;overflow:visible}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>iframe{display:block;width:100%;height:760px;min-height:480px;flex:none}

.widget[data-mode=thumbnail]>.widget-head,.widget[data-mode=thumbnail]>.size-controls{display:none!important}

/* Main workspace fills the window; expanded height follows the laptop viewport. */
main{max-width:none;width:100%;padding:12px 8px 8px;box-sizing:border-box}
#panes{width:100%;grid-template-columns:minmax(0,1fr)}
#pane-main{grid-column:1;width:100%;box-sizing:border-box}
#pane-main[data-mode=expanded]{overflow:auto}
@media(max-width:760px){main{padding:8px 4px}}

.pane{position:relative}.pane-resize-handle{position:absolute;right:3px;bottom:3px;top:auto;z-index:20;padding:4px 8px;cursor:nwse-resize;touch-action:none;background:#d9ecfa;border:1px solid #91afc5;color:#173b5d}.pane-head{padding-right:45px}#panes{overflow:visible}#pane-main{max-width:none}
.dependency-cycle-dialog{width:min(560px,calc(100% - 32px));border:1px solid #91afc5;border-radius:12px;background:#fff;color:#173b5d;box-shadow:0 18px 50px #10263e55;padding:20px}.dependency-cycle-dialog::backdrop{background:#10263e80}.dependency-cycle-dialog h2{margin:0 0 10px;font-size:20px}.dependency-cycle-dialog p{margin:8px 0;color:#40556a}.dependency-cycle-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}

.widget[data-widget=ps][data-mode=medium] iframe{pointer-events:none;min-height:0;height:100%}
.widget[data-widget=ps][data-mode=medium]>.widget-head{display:none}
.widget[data-widget=ps][data-mode=medium]>.ps-content{height:100%;padding:0}

.widget[data-widget=ps][data-mode=expanded]>.ps-content{overflow:hidden}
.widget[data-widget=ps][data-mode=expanded]>.ps-content>iframe{min-height:0;flex:none}

/* A visible drag grip in every medium view, including plot-only Ps. */
.widget[data-mode=medium]>.widget-head,.widget[data-widget=ps][data-mode=medium]>.widget-head{display:flex;height:18px;min-height:18px;cursor:grab}

/* Shared widget shell sits flush against its child pane. */
.widget>.widget-content{padding:0;margin:0}
.pane>.grid{margin-top:0}

.ps-content{padding:0!important;overflow:hidden;flex:1;min-height:0}.ps-content iframe{border:0;width:100%;height:100%;display:block}.widget[data-widget=em][data-mode=thumbnail] iframe{pointer-events:none}
.widget[data-widget=em][data-mode=thumbnail] iframe{min-height:0}.widget[data-widget=em][data-mode=thumbnail] .ps-content{height:100%}
.widget[data-widget=em][data-mode=expanded]>.ps-content{display:grid;grid-template-rows:auto minmax(320px,1fr);overflow:auto;align-content:start}
.widget[data-widget=em][data-mode=expanded]>.ps-content>.comparison-import{display:block;max-height:340px;min-height:42px;overflow:auto;margin:6px;border:1px solid #91afc5;border-radius:8px;padding:10px}
.widget[data-widget=em][data-mode=expanded]>.ps-content>iframe{height:100%;min-height:320px}
.widget[data-widget=em][data-mode=expanded]>.ps-content{display:block;overflow:auto}
.widget[data-widget=em][data-mode=expanded]>.ps-content>.comparison-import{height:auto;max-height:none;min-height:0;overflow:visible}
.widget[data-widget=em][data-mode=expanded]>.ps-content>.comparison-import[open]{padding-bottom:12px}
.widget[data-widget=em][data-mode=expanded]>.ps-content>iframe{display:block;width:100%;height:760px;min-height:480px;flex:none}
.widget[data-widget=em][data-mode=medium] iframe{pointer-events:none;min-height:0;height:100%}
.widget[data-widget=em][data-mode=medium]>.widget-head{display:none}
.widget[data-widget=em][data-mode=medium]>.ps-content{height:100%;padding:0}
.widget[data-widget=em][data-mode=expanded]>.ps-content{overflow:hidden}
.widget[data-widget=em][data-mode=expanded]>.ps-content>iframe{min-height:0;flex:none}
.widget[data-mode=medium]>.widget-head,.widget[data-widget=em][data-mode=medium]>.widget-head{display:flex;height:18px;min-height:18px;cursor:grab}

.lover-d-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.lover-d-plot{position:relative;flex:1;min-height:0;margin:0;border:0;border-radius:0;background:#fff;overflow:hidden}.lover-d-plot canvas{display:block;width:100%;height:100%;min-height:0;pointer-events:none}.lover-d-controls{flex:none;display:grid;gap:8px;border-top:1px solid var(--line);background:#f3f8fc;padding:9px 12px}.lover-d-axis{justify-self:start;padding:6px 10px;font-size:11px}.lover-d-altitudes{display:grid;gap:6px}.lover-d-altitude-row{display:grid;grid-template-columns:90px minmax(140px,1fr) 76px;align-items:center;gap:10px;color:#173b5d;font-size:11px}.lover-d-altitude-row input[type=range]{width:100%}.lover-d-altitude-row output{text-align:right;font-weight:700}.lover-d-enable-label{display:flex;align-items:center;gap:6px;font-weight:700}.lover-d-enable{appearance:none;width:15px;height:15px;margin:0;border:2px solid #17699d;border-radius:50%;background:#fff}.lover-d-enable:checked{box-shadow:inset 0 0 0 3px #fff;background:#17699d}.lover-d-legend{position:absolute;z-index:3;min-width:100px;border:1px solid #9fb2c3;border-radius:6px;background:#fffffff0;padding:6px 8px;color:#173b5d;font-size:10px;cursor:grab;touch-action:none}.lover-d-legend div{display:flex;align-items:center;gap:6px;padding:2px}.lover-d-legend span{display:inline-block;width:18px;height:3px}.widget[data-widget=lover-d][data-mode=thumbnail] .lover-d-controls,.widget[data-widget=lover-d][data-mode=medium] .lover-d-controls{display:none}.widget[data-widget=lover-d][data-mode=expanded] .lover-d-plot{min-height:420px}.widget[data-widget=lover-d][data-mode=expanded] .lover-d-content{overflow:auto}@media(max-width:620px){.lover-d-altitude-row{grid-template-columns:82px minmax(90px,1fr) 68px;gap:5px}}

/* Stage new widget shells until their final snapped dimensions are applied. */
.grid{min-height:132px}
.pane.layout-pending .widget{visibility:hidden;transition:none!important}
/* Plot legends and data overlays never appear in thumbnail mode. */
.widget[data-mode=thumbnail] .lover-d-legend,.widget[data-mode=thumbnail] [data-role=plot-legend],.widget[data-mode=thumbnail] .plot-data-overlay{display:none!important}

.thrust-drag-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.thrust-drag-plot{position:relative;flex:1;min-height:0;margin:0;border:0;border-radius:0;background:#fff;overflow:hidden}.thrust-drag-plot canvas{display:block;width:100%;height:100%;min-height:0;pointer-events:none}.thrust-drag-controls{flex:none;display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:12px;align-items:center;border-top:1px solid var(--line);background:#f3f8fc;padding:9px 12px}.thrust-drag-control{display:grid;grid-template-columns:60px minmax(140px,1fr) 78px;align-items:center;gap:9px;color:#173b5d;font-size:11px}.thrust-drag-control input{width:100%}.thrust-drag-control output{text-align:right;font-weight:700}.thrust-drag-axis,.thrust-drag-best-range,.thrust-drag-max-endurance{padding:6px 10px;font-size:11px}.thrust-drag-legend{position:absolute;z-index:3;min-width:128px;border:1px solid #9fb2c3;border-radius:6px;background:#fffffff0;padding:6px 8px;color:#173b5d;font-size:10px;cursor:grab;touch-action:none}.thrust-drag-legend div{display:flex;align-items:center;gap:6px;padding:2px}.thrust-drag-legend span{display:inline-block;width:18px;height:3px}.widget[data-widget=thrust-drag]:is([data-mode=thumbnail],[data-mode=medium]) .thrust-drag-legend{display:none!important}.widget[data-widget=thrust-drag][data-mode=expanded] .thrust-drag-plot{min-height:420px}.widget[data-widget=thrust-drag][data-mode=expanded] .thrust-drag-content{overflow:auto}@media(max-width:900px){.thrust-drag-controls{grid-template-columns:1fr}.thrust-drag-control{grid-template-columns:55px minmax(90px,1fr) 68px}}

/* Expanded widget panels keep sliders clear of adjacent controls and panel edges. */
.widget[data-mode=expanded] .widget-content input[type=range]{margin-block:5pt}
.legacy-tool-content{position:relative;display:flex;min-height:0;overflow:hidden;background:#fff}.legacy-tool-frame{display:block;width:100%;height:100%;border:0;background:#fff}.legacy-tool-thumbnail,.legacy-tool-empty{display:none}.widget[data-mode=thumbnail] .legacy-tool-frame,.widget[data-mode=thumbnail] .legacy-tool-empty{display:none}.widget[data-mode=thumbnail] .legacy-tool-thumbnail{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#173b5d;font:700 20px Arial,sans-serif;text-align:center}.widget[data-widget=three-view][data-mode=thumbnail] .legacy-tool-thumbnail{display:none}.widget[data-widget=three-view][data-mode=thumbnail] .legacy-tool-frame{display:block;pointer-events:none}.widget[data-widget=three-view][data-mode=medium] .legacy-tool-frame,.widget[data-widget=aileron-sizer][data-mode=medium] .legacy-tool-frame{pointer-events:none}.widget[data-mode=medium] .legacy-tool-empty,.widget[data-mode=expanded] .legacy-tool-empty{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:18px;color:#617487;font:700 16px Arial,sans-serif;text-align:center}.widget[data-mode=expanded] .legacy-tool-content{overflow:visible}.widget[data-mode=expanded] .legacy-tool-frame{height:auto;min-height:600px}
.widget[data-widget=three-view][data-mode=expanded] .legacy-tool-frame{min-height:0}
.converter-widget-actions{display:flex;align-items:center;gap:8px}.converter-widget-button{min-width:112px;height:38px;padding:7px 14px;border:1px solid #17699d;border-radius:7px;font:700 13px Arial,sans-serif}.converter-widget-primary{background:#17699d;color:#fff}.converter-widget-secondary{background:#fff;color:#173b5d}.converter-widget-render-space{width:100%;border:1px solid #c8d7e3;border-radius:7px;background:#fff;overflow:hidden}.converter-widget-viewport{display:block;width:100%;height:calc(100vh - 126px);min-height:250px}

/* Empty aircraft plots have a shared, gesture-transparent thumbnail label. */
.empty-plot-thumbnail{display:none}
.widget[data-mode=thumbnail]>.empty-plot-thumbnail{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:white;color:#173b5d;font:700 20px Arial,sans-serif;pointer-events:none}

/* Native tool components occupy the widget without a nested browsing context. */
.native-tool-root{display:block;flex:1;width:100%;height:100%;min-height:0;border:0;overflow:hidden}.ps-content>.native-tool-root{width:100%;height:100%}.legacy-tool-content>.native-tool-root{width:100%;height:100%}.widget[data-mode=thumbnail] .legacy-tool-content:not(.legacy-tool-three-view)>.native-tool-root{display:none}.widget[data-mode=expanded] .native-tool-root{flex:none;min-height:420px}

.widget:is([data-widget=ps],[data-widget=em]):is([data-mode=thumbnail],[data-mode=medium]) .native-tool-root{pointer-events:none}

/* Shared chart viewport target: 4:3, fitted inside compact widget cards. */
.widget:not([data-mode="expanded"]) :is(.thrust-drag-content,.lover-d-content){container-type:size;justify-content:center;align-items:center}
:is(.thrust-drag-plot,.lover-d-plot){flex:none;width:min(100cqw,133.333333cqh);height:auto;aspect-ratio:4/3;min-height:0}
.widget[data-widget][data-mode="expanded"] :is(.thrust-drag-plot,.lover-d-plot){width:100%;height:auto;min-height:0;flex:none;aspect-ratio:4/3}

:is(.thrust-drag-plot,.lover-d-plot) canvas{position:absolute;inset:0}

.round-trip-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.round-trip-actions{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;background:#f2f7fb;border-bottom:1px solid #c8d7e3}.round-trip-actions button{padding:6px 9px;font-size:11px}.round-trip-actions span{font-size:10px;color:#526a7f}.round-trip-tool{flex:1;min-height:0}.round-trip-thumbnail{justify-content:center;gap:8px;padding:5px;text-align:center;font-size:11px;container-type:size}.round-trip-thumbnail>div>span,.round-trip-thumbnail>div>strong{display:block}.round-trip-thumbnail strong{font-size:12px;color:#173b5d}.constraints-thumbnail{position:relative;width:min(100cqw,133.333333cqh);aspect-ratio:4/3;align-self:center}.constraints-thumbnail svg{display:block;width:100%;height:100%;pointer-events:none}.widget[data-mode=expanded] .round-trip-content{height:760px;flex:none}.widget[data-mode=thumbnail] .constraints-thumbnail text{visibility:hidden}

.round-trip-actions[hidden]{display:none}

/* Cost Model expanded viewport follows the shared 4:3 presentation ratio. */
.widget[data-widget=cost-model][data-mode=expanded] .round-trip-content{width:100%;height:auto;aspect-ratio:4/3;flex:none;min-height:0;overflow:hidden}
.widget[data-widget=cost-model][data-mode=expanded] .round-trip-tool{flex:1;height:0;min-height:0}

.widget[data-widget=constraints][data-mode=thumbnail] .constraint-selected{animation:none!important}

.widget[data-widget=weight-model][data-mode=expanded] .round-trip-content{flex:1;height:0;min-height:0;overflow:hidden}
.widget[data-widget=weight-model][data-mode=expanded] .round-trip-tool{flex:1;height:0;min-height:0}

.widget[data-widget=constraints][data-mode=expanded] .round-trip-content{flex:1;height:0;min-height:0;overflow:hidden}
.widget[data-widget=constraints][data-mode=expanded] .round-trip-tool{flex:1;height:0;min-height:0}

.widget[data-widget=weight-balance][data-mode=expanded] .round-trip-content,.widget[data-widget=weight-balance][data-mode=expanded] .round-trip-tool{flex:1;height:0;min-height:0;overflow:hidden}

/* Every project pane spans the available window width in every mode. */
body>main{max-width:none;width:100%}#panes{grid-template-columns:minmax(0,1fr)}#panes>.pane{grid-column:1 / -1;width:100%;min-width:0;max-width:100%}

/* Small panes collapse to a single independent header row. */
#panes>.pane[data-mode=thumbnail]>.grid{display:none}#panes>.pane[data-mode=thumbnail]>.pane-head{padding:8px 45px 8px 8px;gap:6px;flex-wrap:nowrap}#panes>.pane[data-mode=thumbnail]>.pane-head .hint{display:none}

/* Expanded widgets stay within the window; excess content scrolls internally. */
.widget[data-mode=expanded]{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.widget[data-mode=expanded]>.widget-content{flex:1!important;height:auto!important;min-height:0!important;overflow:auto!important}

/* Shared medium plot viewport centering. */
.widget[data-mode=medium] :is(.lover-d-content,.thrust-drag-content){display:flex;align-items:center;justify-content:center}

.widget[data-widget=engine-model][data-mode=thumbnail] .round-trip-thumbnail{padding:7px 12px;gap:6px}.engine-thumbnail-values{width:auto;align-self:center;border-collapse:separate;border-spacing:4px 0;font-size:10px;font-variant-numeric:tabular-nums}.engine-thumbnail-values th,.engine-thumbnail-values td{padding:2px 0;text-align:right;white-space:nowrap}.engine-thumbnail-values th:first-child,.engine-thumbnail-values td:first-child{text-align:left}.engine-thumbnail-values td{color:#173b5d;font-weight:700}

#panes>.pane[data-mode=thumbnail]{height:auto!important;min-height:0!important}#panes>.pane[data-mode=thumbnail]>.pane-resize-handle{display:none}#panes>.pane[data-mode=thumbnail]>.pane-head{border-bottom:0}#panes>.pane[data-mode=thumbnail]>.pane-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.ntop-content{box-sizing:border-box;height:100%;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px;color:#173b5d;font:13px Arial,sans-serif}
.ntop-brand{display:flex;align-items:center;justify-content:center;gap:12px;flex:none}.ntop-brand img{width:54px;height:54px;object-fit:contain}.ntop-brand h2{margin:0;font-size:22px}
.ntop-downloads{display:grid;grid-template-columns:1fr;gap:8px}.ntop-downloads a,.ntop-software{display:block;padding:10px 12px;border:1px solid #b8cbdc;border-radius:7px;text-align:center;text-decoration:none;font-weight:700;color:#173b5d;background:#f3f8fc}.ntop-downloads a:hover,.ntop-downloads a:focus-visible{background:#e3eff8}.ntop-software{color:#fff;background:#17699d;border-color:#17699d}.ntop-content p{margin:0;font-size:11px;line-height:1.4;text-align:center}
.widget[data-widget=ntop][data-mode=thumbnail] .ntop-content{padding:14px;justify-content:center;overflow:hidden}.widget[data-widget=ntop][data-mode=thumbnail] .ntop-brand{height:100%}.widget[data-widget=ntop][data-mode=thumbnail] .ntop-brand img{width:100%;height:100%;max-width:94px;max-height:94px}
.widget[data-widget=ntop][data-mode=expanded] .ntop-content{max-width:760px;margin:auto;width:100%}
.wt-instructions{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:white}
.wt-instructions-open{display:block;flex:none;text-align:center;padding:12px 30px;color:#173b5d;font:700 13px Arial,sans-serif;text-decoration:none;background:#edf5fb}
.wt-instructions-open:hover{background:#dcecf8}.wt-instructions iframe{display:block;border:0;width:100%;flex:1;min-height:0}
.widget[data-widget=wind-tunnel-instructions][data-mode=thumbnail] .wt-instructions-open{position:relative;flex:1;min-height:0;padding:0;font-size:12px;overflow:hidden}
.wt-instructions-open img{width:100%;height:100%;object-fit:cover;display:block}.wt-instructions-open span{position:absolute;inset:auto 0 0;padding:5px;background:#ffffffed}
.makeiges-link{height:100%;display:flex}.makeiges-link a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:12px;box-sizing:border-box;text-align:center;text-decoration:none;color:#173b5d;background:#fff;font:700 19px Arial,sans-serif}.makeiges-link a:hover{background:#fff}.ntop-export{flex:none;background:#000;color:#fff;border:1px solid #000;border-radius:6px;padding:9px 12px;font-weight:700;cursor:pointer}.ntop-export:disabled{opacity:.55;cursor:wait}.widget[data-widget=ntop][data-mode=thumbnail] .ntop-brand{flex:1;min-height:0}.widget[data-widget=ntop][data-mode=thumbnail] .ntop-content{gap:5px;padding:8px}.ntop-content [role=status]:empty{display:none}
.widget[data-widget=ntop][data-mode=thumbnail] .ntop-export{font-size:10px;white-space:nowrap;padding:7px 4px}
.ntop-notice{max-width:440px;border:1px solid #8b9bab;border-radius:9px;padding:22px;font:14px/1.5 Arial,sans-serif;color:#173b5d}.ntop-notice::backdrop{background:#0006}.ntop-notice button{background:#000;color:#fff;padding:9px 14px;border:0;border-radius:5px;margin:8px 8px 0 0;cursor:pointer}
.analysis-link{height:100%;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;text-align:center}.analysis-link a{color:#173b5d;font:bold 15px Arial;text-decoration:none;overflow-wrap:anywhere}
.mission-content{box-sizing:border-box;height:100%;min-height:0;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:auto;color:#173b5d;font:12px Arial}.mission-content h2{font:bold 12px Arial;margin:0;text-align:center}.mission-total{font-size:16px}.mission-plot{width:100%;max-height:290px;aspect-ratio:4/3;flex:none}.mission-content p{margin:0}.mission-infeasible{border:4px solid #e00000!important}.mission-errors{color:#b00000;font-weight:bold}.mission-actions{display:flex;gap:10px;align-items:center}.mission-table-scroll{overflow:auto;width:100%;min-height:150px}.mission-content table{border-collapse:collapse;font-size:12px}.mission-content td,.mission-content th{padding:5px;border:1px solid #c5d2dc}.mission-content input{width:75px}.mission-content select{width:85px}.mission-content tr.selected{background:#e0edff}.mission-content button{cursor:pointer}.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-content{justify-content:center;text-align:center;padding:8px}.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-total{font-size:14px}.widget[data-widget=mission-analysis][data-mode=medium] .mission-plot{flex:1;min-height:0;max-height:calc(100% - 65px)}
.widget[data-widget=constraints].constraints-infeasible{border:4px solid #e00000!important}
.widget[data-widget=mission-analysis][data-mode=expanded] .mission-content{display:flex;flex-direction:column;align-items:stretch;gap:12px;height:auto;flex:0 1 auto!important}
.mission-profile-panel{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px}.mission-editor-panel{min-width:0;display:flex;flex-direction:column;gap:8px}.mission-editor-panel .mission-table-scroll{min-height:0}
.mission-editor-panel table{width:100%;table-layout:fixed;font-size:9px}.mission-editor-panel th,.mission-editor-panel td{padding:3px;overflow-wrap:anywhere}.mission-editor-panel input,.mission-editor-panel select{box-sizing:border-box;width:100%;min-width:0;font-size:9px;padding:2px}.mission-editor-panel td button{font-size:9px;padding:3px;margin:1px}.mission-editor-panel .mission-actions{font-size:10px;flex-wrap:wrap}.mission-content>.mission-errors{grid-column:1/-1}
.mission-repair{grid-column:1/-1;justify-self:start;background:#173b5d;color:white;border:0;border-radius:5px;padding:8px 12px;cursor:pointer}

/* Mission editor: retain numeric validation without spinner controls. */
.mission-content input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.mission-content input[type="number"]::-webkit-inner-spin-button,
.mission-content input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mission-table-scroll .mission-totals > * { font-weight: 700; border-top: 2px solid #526679; }

.mission-editor-panel th:first-child { width: 24px; }
.mission-editor-panel th:nth-child(3) { width: calc((100% - 31px) / 14 * 1.2 - 7px); }

.mission-editor-panel tr.mission-q-exceeded { outline: 3px solid #a020f0; outline-offset: -3px; }
.mission-editor-panel tr.mission-negative-ps { outline: 3px solid #e00000; outline-offset: -3px; }
.mission-editor-panel tr.mission-not-evaluated { outline: 3px solid #808080; outline-offset: -3px; }

.widget[data-widget=mission-analysis][data-mode=expanded] .mission-profile-panel{width:min(100%,max(440px,56%));align-self:center;flex:none}
.widget[data-widget=mission-analysis][data-mode=expanded] .mission-plot{max-height:none;height:auto;width:100%;aspect-ratio:4/3}
.widget[data-widget=mission-analysis][data-mode=expanded] .mission-editor-panel{flex:none;width:100%}
.mission-expanded-top{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);gap:12px;align-items:start;flex:none}
.widget[data-widget=mission-analysis][data-mode=expanded] .mission-expanded-top .mission-profile-panel{width:100%}
.mission-ai-panel,.mission-ai-explanation{padding:10px;border:1px solid #c5d2dc;border-radius:6px;background:#f5f8fc;min-width:0}
.mission-ai-panel summary{cursor:pointer;font-weight:bold}.mission-ai-panel[open] summary{margin-bottom:8px}.mission-ai-panel .mission-ai-explanation{padding:0;margin:0 0 10px;border:0;background:none}.mission-ai-panel textarea{box-sizing:border-box;width:100%;height:320px;margin-top:8px;resize:vertical;font:12px Arial;user-select:text}
.mission-ai-explanation{font-size:12px;line-height:1.5}
@media(max-width:800px){.mission-expanded-top{grid-template-columns:1fr}.mission-ai-panel textarea{height:200px}}
.mission-plot-panel{position:relative;width:100%;min-width:0;flex:none}
.mission-save-plot{position:absolute;right:8px;top:2px;z-index:2}
.plot-save-button{position:absolute;right:8px;top:7px;z-index:6;padding:5px 9px;border-color:#7891a8;background:#fff;color:#254b6c;font-size:11px;font-weight:700}.plot-save-button:disabled{opacity:.55}.area-distribution-plot{position:relative}
.mission-save-status{position:absolute;left:8px;top:2px;font:11px Arial}
.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-plot-panel,
.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-content h2{display:none}
.widget[data-widget=mission-analysis][data-mode=medium] .mission-save-plot{display:none}
.mission-plot-panel[data-fullscreen-target]{display:block!important;background:white}
.mission-plot-panel[data-fullscreen-target] .mission-plot{display:block;width:100%!important;height:100%!important;max-height:none!important}
.mission-plot-panel[data-fullscreen-target] .mission-save-plot{display:block!important}
/* Reserve title/fuel space, then fit the SVG inside the remaining medium area. */
.widget[data-widget=mission-analysis][data-mode=medium] .mission-content > h2,
.widget[data-widget=mission-analysis][data-mode=medium] .mission-content > .mission-total{flex:none}
.widget[data-widget=mission-analysis][data-mode=medium] .mission-plot-panel{
 flex:none;min-height:0;width:100%;aspect-ratio:16/9;overflow:hidden
}
.widget[data-widget=mission-analysis][data-mode=medium] .mission-plot-panel .mission-plot{
 display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto
}
.widget[data-widget=mission-analysis][data-mode=medium] .mission-errors{flex:none}
.analysis-link a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer}

.widget[data-widget=wind-tunnel-analysis][data-mode=thumbnail] .analysis-link a{font:700 20px Arial,sans-serif}

/* Shared typography for title-only thumbnails; data and image cards keep their own layouts. */
.widget[data-mode=thumbnail] .performance-thumbnail-label,
.widget[data-mode=thumbnail] .legacy-tool-thumbnail,
.widget[data-mode=thumbnail] .analysis-link a,
.widget[data-mode=thumbnail] .makeiges-link a,
.widget[data-mode=thumbnail] > .empty-plot-thumbnail{
 font:700 20px/1.2 Arial,sans-serif;
 color:#173b5d;
 text-align:center;
 text-decoration:none;
 letter-spacing:normal;
 text-transform:none;
}
.widget.weight-balance-infeasible{border:4px solid #e00000!important}

.widget.thrust-drag-infeasible{border:4px solid #e00000!important}
.landing-gear-content{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:#fff}.gear-visual{display:flex;flex-direction:column;min-height:0;flex:1}.gear-visual h3{text-align:center;font:700 16px Arial;margin:8px}.gear-plot{position:relative;aspect-ratio:4/3;flex:1;min-height:0;width:100%;overflow:hidden}.gear-plot canvas{position:absolute;width:100%;height:100%;inset:0}.gear-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font:700 12px Arial;text-align:center;padding:8px;color:#173b5d}.gear-summary>span{white-space:nowrap}.gear-highlights{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:2px 8px 6px}.gear-highlight{min-width:0;padding:7px 10px;border:1px solid #079447;border-radius:6px;background:#e4f5e9;color:#075f31;text-align:center;font:700 11px Arial}.gear-highlight.gear-highlight-warning{border-color:#e87500;background:#fff0d5;color:#9a4b00}.gear-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px;flex-wrap:wrap}.gear-view-buttons{display:flex;justify-content:center;gap:6px;padding:4px}.gear-view-buttons button{padding:4px 10px}.gear-up-control{display:flex;align-items:center;gap:6px;font:700 10px Arial;color:#526679}.gear-up-cross{display:grid;grid-template-columns:22px 22px 22px;grid-template-rows:22px 22px 22px;gap:2px}.gear-up-cross button{width:22px;height:22px;min-width:22px;padding:0;border-radius:3px;font-size:12px;line-height:1}.gear-up-forward{grid-column:2;grid-row:1}.gear-up-inboard{grid-column:1;grid-row:2}.gear-up-down{grid-column:2;grid-row:2}.gear-up-outboard{grid-column:3;grid-row:2}.gear-up-aft{grid-column:2;grid-row:3}.gear-nose-up-control{align-items:center}.gear-nose-up-pair{display:grid;grid-template-rows:22px 22px;gap:2px}.gear-nose-up-pair button{width:22px;height:22px;min-width:22px;padding:0;border-radius:3px;font-size:12px;line-height:1}.gear-nose-up-pair button.selected{background:#17699d;color:#fff;border-color:#17699d}.gear-up-cross button.selected{background:#17699d;color:#fff;border-color:#17699d}.gear-editor{padding:12px;overflow:auto;min-width:0}.gear-editor fieldset,.gear-rotation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #b8c9d7;margin:10px 0}.gear-editor label{display:grid;gap:3px;font-size:12px}.gear-editor input{width:100%;min-width:0;padding:5px;box-sizing:border-box}.gear-status{color:#a92323;font-size:12px}.gear-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;font-weight:700}.gear-value-red{color:#ff2020}.gear-value-orange{color:#e87500}.gear-value-green{color:#079447}.gear-moments{font-size:11px;width:100%;border-collapse:collapse}.gear-moments td,.gear-moments th{padding:5px;border-bottom:1px solid #ccd7df;text-align:right}.gear-editor>p{font-size:11px;color:#526679}[data-widget=landing-gear-design][data-mode=expanded] .landing-gear-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,1fr);height:min(70vh,720px)}[data-widget=landing-gear-design][data-mode=thumbnail] .gear-visual h3{font-size:12px;margin:3px}[data-widget=landing-gear-design][data-mode=thumbnail] .gear-summary{font-size:9px;padding:3px}@media(max-width:750px){[data-widget=landing-gear-design][data-mode=expanded] .landing-gear-content{display:flex;overflow:auto}.gear-visual{min-height:280px}.gear-editor{overflow:visible}}
.gear-plot{container-type:size}.gear-plot canvas{width:min(100cqw,133.333333cqh);height:min(100cqh,75cqw);inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
[data-widget=landing-gear-design][data-mode=thumbnail] .gear-plot canvas{pointer-events:none}
.aircraft-designer-content{width:100%;height:100%;min-height:0;overflow:hidden}.aircraft-designer-frame{display:block;border:0;width:100%;height:100%;background:#fff}[data-widget=aircraft-designer][data-mode=medium] .aircraft-designer-content{height:100%;min-height:0}[data-widget=aircraft-designer][data-mode=thumbnail] .aircraft-designer-content{height:100%;min-height:0;display:grid;place-items:center;padding:8px;text-align:center;color:#173b5d;font:700 20px Arial}

.area-distribution-content{display:flex;align-items:center;justify-content:center;min-height:0;height:100%;overflow:hidden}.area-distribution-plot{min-height:0;max-width:100%;aspect-ratio:4/3}.area-distribution-plot svg{display:block;width:100%;height:100%;font-family:Arial,sans-serif}.widget[data-widget="area-distribution"][data-mode="thumbnail"] svg{pointer-events:none}

/* Aircraft Designer is a standalone project surface; its pane record remains only for persistence. */
#panes>.standalone-widget-surface{grid-column:1/-1;width:100%;min-width:0;overflow:hidden}.standalone-widget-surface>.standalone-widget{position:relative;inset:auto;width:100%;height:100%;border-radius:12px}.standalone-widget-surface .widget-head{cursor:default}.standalone-widget-surface.layout-pending>.widget{visibility:hidden;transition:none!important}

.drag-polar-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.drag-polar-plots{display:grid;grid-template-columns:1fr;flex:1;min-height:0;background:#fff}.drag-polar-plot{position:relative;width:100%;min-height:350px;aspect-ratio:4/3;background:#fff}.widget[data-widget=drag-polar][data-mode=thumbnail] .drag-polar-plot{min-height:0}.drag-polar-plot canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.drag-polar-plot-label{position:absolute;z-index:2;color:#233d53;font:600 12px Arial,sans-serif;pointer-events:none}.drag-polar-title{top:7px;left:50%;transform:translateX(-50%);font-weight:700;white-space:nowrap}.drag-polar-x-axis{bottom:3px;left:50%;transform:translateX(-50%);white-space:nowrap}.drag-polar-y-axis{top:50%;left:2px;transform:translate(-36%,-50%) rotate(-90deg);white-space:nowrap}.drag-polar-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(110px,1fr));gap:10px;padding:11px 14px;border-top:1px solid var(--line);background:#f3f8fc}.drag-polar-controls label{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:8px;font-size:11px;font-weight:700}.drag-polar-controls input{min-width:0;width:100%;padding:5px;border:1px solid var(--line);border-radius:5px}.drag-polar-controls output{min-width:34px}.drag-polar-readout{grid-column:1/-1;display:grid;gap:3px;color:#40556a;font-size:11px}.drag-polar-readout b{color:#173b5d}.drag-polar-equations{display:grid;gap:7px;padding:12px 16px 16px;border-top:1px solid var(--line);background:#fff;color:#40556a;font:12px Arial,sans-serif}.drag-polar-equations strong{color:#173b5d;font-size:13px}.drag-polar-equation-sheet{overflow-x:auto;padding:8px 0;color:#173b5d}.drag-polar-equation-sheet .drag-polar-equation-svg{display:block;width:100%;min-width:760px;height:auto;max-width:none}.drag-polar-equations small{line-height:1.45;color:#617487}.drag-polar-equations span{line-height:1.45}.drag-polar-equations .equation-cases{display:grid;grid-template-columns:max-content 1fr;gap:9px;align-items:start}.drag-polar-equations .equation-cases i{font-style:normal}.drag-polar-equations .equation-cases b{font-weight:400;border-left:1px solid #8094a6;padding-left:9px}.widget[data-widget=drag-polar]:not([data-mode=expanded]) .drag-polar-plots{display:flex;align-items:center;justify-content:center;container-type:size}.widget[data-widget=drag-polar]:not([data-mode=expanded]) .drag-polar-main{width:min(100cqw,133.333333cqh);height:auto;aspect-ratio:4/3}.widget[data-widget=drag-polar][data-mode=thumbnail]:not([data-fullscreen-target]) .drag-polar-plot-label{display:none}.widget[data-widget=drag-polar][data-mode=expanded] .drag-polar-content{overflow:auto}.widget[data-widget=drag-polar][data-mode=expanded] .drag-polar-plots{grid-template-columns:repeat(2,minmax(0,1fr));flex:none}.widget[data-widget=drag-polar][data-mode=expanded] .drag-polar-plot{min-height:350px}@media(max-width:760px){.widget[data-widget=drag-polar][data-mode=expanded] .drag-polar-plots{grid-template-columns:1fr}.drag-polar-controls{grid-template-columns:1fr}.drag-polar-readout{grid-column:auto}}
.thumbnail-widget-drag-surface{position:absolute;inset:0;z-index:8;cursor:grab;background:transparent;touch-action:none}.thumbnail-widget-drag-surface:active{cursor:grabbing}
.drag-polar-cfe-reference{overflow-x:auto;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}.drag-polar-cfe-reference table{width:100%;min-width:760px;border-collapse:collapse;color:#111;background:#fff;font:16px Georgia,'Times New Roman',serif}.drag-polar-cfe-reference caption{padding:0 8px 12px;font-size:22px;font-weight:700}.drag-polar-cfe-reference th,.drag-polar-cfe-reference td{padding:7px 10px;border-bottom:3px solid #111;text-align:left;vertical-align:middle}.drag-polar-cfe-reference thead th{border-top:3px solid #111;font-size:17px}.drag-polar-cfe-reference th:last-child,.drag-polar-cfe-reference td:last-child{width:90px;text-align:right;font-variant-numeric:tabular-nums}.drag-polar-cfe-reference th:nth-child(2),.drag-polar-cfe-reference td:nth-child(2){width:42%}.drag-polar-cfe-supercruise small,.drag-polar-cfe-supercruise td:nth-child(2){color:#07801d;font-weight:700;font-style:italic}.drag-polar-cfe-supercruise small{display:inline;margin-left:14px;font-size:.82em}


.drag-polar-annotation{z-index:4;padding:3px 6px;border:1px solid currentColor;border-radius:4px;background:rgba(255,255,255,.92);font:700 11px Arial,sans-serif;white-space:nowrap;box-shadow:0 1px 3px #173b5d22}
.drag-polar-cd0{color:#a51f1f;transform:translate(9px,-125%)}
.drag-polar-cdmin{color:#08703c;transform:translate(calc(-100% - 9px),28%)}
.drag-polar-annotation sub{font-size:.72em}


[data-widget=landing-gear-design][data-mode=medium] .gear-toolbar{display:none}
[data-widget=landing-gear-design][data-mode=medium] .gear-visual h3{margin:4px 0;font-size:14px}
[data-widget=landing-gear-design][data-mode=medium] .gear-summary{padding:3px;font-size:11px}
[data-widget=landing-gear-design][data-mode=medium] .gear-plot{aspect-ratio:auto;flex:1 1 0}
[data-widget=landing-gear-design][data-mode=medium] .gear-highlights{flex-shrink:0}
.widget:is([data-widget=weight-model],[data-widget=weight-balance])[data-mode=thumbnail] .round-trip-thumbnail{gap:2px;padding:3px 5px;font-size:10px;line-height:11px}
.widget:is([data-widget=weight-model],[data-widget=weight-balance])[data-mode=thumbnail] .round-trip-thumbnail>div{flex:none}
.widget:is([data-widget=weight-model],[data-widget=weight-balance])[data-mode=thumbnail] .round-trip-thumbnail strong{font-size:12px;line-height:13px}
.widget[data-widget=weight-balance][data-mode=thumbnail] .round-trip-thumbnail strong{font-size:11px;white-space:nowrap}

/* Compact mission legs beside the profile, with a readable narrow-window fallback. */
.mission-expanded-top{grid-template-columns:minmax(260px,2fr) minmax(620px,3fr);gap:10px}
.mission-editor-panel th,.mission-editor-panel td{padding:2px}
.mission-editor-panel input,.mission-editor-panel select{padding:2px 0}
.mission-editor-panel th:first-child{width:18px}
.mission-editor-panel th:nth-child(2){width:65px}
.mission-editor-panel th:nth-child(3){width:64px}
@media(max-width:1050px){.mission-expanded-top{grid-template-columns:minmax(0,1fr)}}

#records .cloud-template-record{background:#dcfce7;color:#14532d;border-color:#86efac}

.resource-links-thumbnail{display:grid;place-items:center;height:100%}.resource-links-thumbnail button{font-size:20px;font-weight:700;background:transparent;border:0;color:#173b5d;cursor:pointer}.resource-links-dialog{width:min(720px,90vw);max-height:85vh;overflow:auto;border:1px solid #b8c8d4;border-radius:12px;padding:20px}.resource-links-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px}.resource-links-dialog details{margin-top:10px;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.resource-links-dialog summary{cursor:pointer;font-weight:700;color:#173b5d}.resource-links-dialog li{margin:10px 0;overflow-wrap:anywhere}.resource-links-dialog a{color:#17699d}.resource-links-dialog::backdrop{background:#0f172a88}

/* Medium loader: project identity is always visible, with compact grouped actions. */
.widget[data-widget=loader][data-mode=medium] .loader-content{padding:8px;display:flex;flex-direction:column;gap:6px}
.widget[data-widget=loader][data-mode=medium] .loader-project{margin:0;padding:0 0 6px;border-bottom:1px solid var(--line)}
.widget[data-widget=loader][data-mode=medium] .loader-project h4{font-size:12px;margin:0 0 4px}
.widget[data-widget=loader][data-mode=medium] .fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;margin:0}
.widget[data-widget=loader][data-mode=medium] .fields input,.widget[data-widget=loader][data-mode=medium] .fields select{margin-top:2px;padding:3px 4px;min-width:0;height:25px;font-size:11px}
.widget[data-widget=loader][data-mode=medium] .loader-controls{display:flex;flex-direction:column;gap:5px}
.widget[data-widget=loader][data-mode=medium] .drop-prompt{margin:0;padding:4px 6px}
.widget[data-widget=loader][data-mode=medium] .drop-prompt>span{display:none}
.widget[data-widget=loader][data-mode=medium] .drop-prompt strong{display:inline;font-size:12px;margin:0 8px 0 0}
.widget[data-widget=loader][data-mode=medium] .drop-prompt p{font-size:10px;margin:2px 0;line-height:1.2}
.widget[data-widget=loader][data-mode=medium] .cloud-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.widget[data-widget=loader][data-mode=medium] .disk-actions{display:contents}
.widget[data-widget=loader][data-mode=medium] .cloud-buttons button{padding:4px;font-size:11px}
.widget[data-widget=loader][data-mode=medium] .active{margin:0;padding:5px 8px}
.widget[data-widget=loader][data-mode=medium] .active strong,.widget[data-widget=loader][data-mode=medium] .active small{margin-top:2px}

/* Medium loader: disk drop target beside a single action stack. */
.widget[data-widget=loader][data-mode=medium] .fields{gap:8px 10px}
.widget[data-widget=loader][data-mode=medium] .loader-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.widget[data-widget=loader][data-mode=medium] .loader-controls .drop-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}
.widget[data-widget=loader][data-mode=medium] .drop-prompt strong{margin:0;font-size:13px}
.widget[data-widget=loader][data-mode=medium] .drop-prompt p{margin:6px 0}
.widget[data-widget=loader][data-mode=medium] .cloud-buttons{display:flex;flex-direction:column;gap:4px}
.widget[data-widget=loader][data-mode=medium] .cloud-buttons button{flex:none;width:100%;min-height:27px}

.widget[data-widget=loader][data-mode=medium] .loader-project h4{font-size:16px}
.widget[data-widget=loader][data-mode=medium] .fields input[data-project-field=pin]{border:3px solid #1769c2}

/* Login owns workspace access and project metadata. */
.master-download[hidden]{display:none}
.login-gate{grid-column:1/-1;display:flex;justify-content:center}
.login-gate-widget{position:relative;width:min(392px,100%);min-height:360px;height:auto;transition:none}
.widget[data-widget=login]>.login-content{padding:10pt;overflow:auto}
.login-content p{font-size:12px}
.login-content form{display:grid;gap:10px}
.login-content label{font-size:11px;color:var(--muted)}
.login-content input{display:block;width:100%;min-width:0;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:5px}
.login-content .fields{margin:0;gap:8px}
.login-content .fields input,.login-content .fields select{font-size:11px;padding:6px}
.login-content input[data-project-field=pin]{border:3px solid #1769c2}
.login-email-form{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
.login-status.error{color:#a44032}
.widget[data-widget=login][data-mode=thumbnail] .login-content{display:grid;place-items:center;padding:10pt}
body:not([data-login-ready=true]) .master-download{display:none}

body[data-login-ready=false] #status{display:none}

.login-content .login-heading{font-size:18pt;font-weight:700}

.back-to-login{margin-left:auto;flex:none;white-space:nowrap}
@media(max-width:760px){
 .topbar{flex-wrap:wrap;height:auto;min-height:76px;padding-block:12px;gap:10px}
 .topbar .brand{order:0}
 .topbar .back-to-login{order:1}
 .topbar .master-downloads{order:2}
 .topbar .storage{display:none}
}

.login-content .login-identity-fields[hidden]{display:none}
.login-summary{width:100%;font-size:10px;line-height:1.4}
.login-summary-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px}
.login-summary-row strong{font-weight:700}
.login-summary-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.login-team-projects[hidden]{display:none}
.login-team-projects{border-top:1px solid var(--line);padding-top:10px}
.login-team-projects h4{margin:0 0 6px;font-size:13px}
.login-team-projects button{font-size:11px;padding:5px 8px;margin:4px 0}
.login-team-projects details{margin-top:6px;padding-top:6px}
.login-team-aircraft{margin-left:12px}
.login-team-aircraft button{display:block;width:100%;text-align:left}
.login-team-users{font-size:11px}
.shared-readonly-status{font-size:11px;font-weight:700;color:#536578;margin:4px 0}

.login-content .login-workspace-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.login-content .login-workspace-row.workspace-open{grid-template-columns:minmax(0,1fr)}
.login-content .login-identity-fields{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;align-items:end}
.login-content .login-open-workspace[hidden]{display:none}
.login-content .login-open-workspace{font-size:11px;padding:6px 8px;white-space:nowrap;min-height:28px}

.login-content .login-team-fields{grid-template-columns:repeat(2,minmax(0,1fr))}

.login-project-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.login-project-actions button{width:auto;flex:0 0 auto}

.master-downloads{display:flex;flex-direction:column;gap:4px;align-items:stretch}
.master-downloads .master-download{padding:4px 10px;text-align:center}
body:not([data-login-ready=true]) .master-downloads{display:none}

.login-summary-team{margin-bottom:5px;overflow-wrap:anywhere}

.login-content .login-aircraft-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.login-team-fields label:has([data-project-field=cadetName]){grid-column:1/-1}

.login-title-row{position:relative;display:flex;align-items:center;gap:12px;min-width:0}
.login-user-name{min-width:0;text-align:left;font-size:18pt;font-weight:700;overflow-wrap:anywhere}
.login-team-toolbar{display:flex;align-items:center;gap:6px}
.login-add-design form{display:grid;gap:10px}
.login-add-design input,.login-add-design textarea{display:block;width:100%;margin-top:4px;padding:6px}

.resource-links-dialog .resource-link{display:flex;align-items:center;gap:10px;min-height:36px}
.resource-link span{min-width:0;overflow-wrap:anywhere}
.resource-link-thumbnail{flex:0 0 48px;width:48px;height:36px;object-fit:cover;border-radius:4px;background:#f1f5f9}
.resource-link-thumbnail.resource-link-icon{object-fit:contain;padding:3px;box-sizing:border-box}

.widget[data-widget=engine-model][data-mode=thumbnail] .round-trip-thumbnail>strong{font-size:18px}

.widget[data-widget=weight-balance][data-mode=thumbnail] .round-trip-thumbnail .weight-balance-thumbnail-title{font-size:12px;font-weight:700;line-height:1.1;white-space:nowrap;flex:none;order:0}

.mission-route-warning{color:#dc2626;font-weight:700;margin:8px 0}

.widget[data-widget=cost-model][data-mode=thumbnail] .round-trip-thumbnail .cost-model-thumbnail-title{font-size:20pt;font-weight:700;line-height:1.1;flex:none}
.widget[data-widget=cost-model][data-mode=thumbnail] .round-trip-thumbnail>div>strong{font-size:18px}

.resource-link .resource-link-badge{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:36px;border-radius:4px;background:#eaf1f7;color:#173b5d;font-size:11px;font-weight:700;overflow:hidden}
.resource-link-badge .resource-link-thumbnail{position:absolute;inset:0}

.widget[data-widget=login][data-mode=thumbnail] .login-content{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:6px;gap:4px;height:100%;box-sizing:border-box}
.login-summary-team{font-size:calc(10px + 4pt);line-height:1.15}
.widget[data-widget=login][data-mode=thumbnail] .login-summary{line-height:1.2}
.login-thumbnail-actions{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.login-thumbnail-actions button{font-size:10px;line-height:12px;padding:2px 4px;min-height:0;width:100%}

/* Tools thumbnail titles are presentation banners; the thumbnail remains its drag surface. */
:is(#pane-tools,#pane-requirements) .widget[data-mode=thumbnail]>.widget-content,#pane-aero-performance .widget[data-widget=moment-of-inertia][data-mode=thumbnail]>.widget-content{padding:21px 5px 3px;justify-content:flex-start;gap:2px}
:is(#pane-tools,#pane-requirements) .widget[data-mode=thumbnail] .tools-thumbnail-title,#pane-aero-performance .widget[data-widget=moment-of-inertia][data-mode=thumbnail] .tools-thumbnail-title,.widget[data-widget=login][data-mode=thumbnail] .tools-thumbnail-title{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;right:0;height:18px;box-sizing:border-box;margin:0;padding:2px;font:700 12px/14px Arial,sans-serif;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;background:#173b5d;color:#fff;text-align:center;overflow:hidden;z-index:1}
:is(#pane-tools,#pane-requirements) .widget[data-widget=mission-analysis][data-mode=thumbnail] :is(.mission-total,.mission-radius-readout){margin-top:1em;margin-bottom:0}

#pane-tools .widget[data-widget=constraints][data-mode=thumbnail] .constraints-thumbnail{flex:1 1 0;min-height:0;width:100%;max-height:none!important;aspect-ratio:auto}
.widget[data-widget=constraints][data-mode=thumbnail] .constraints-thumbnail>svg{height:100%!important;max-height:100%}

.widget[data-widget=weight-balance][data-mode=expanded] .round-trip-content,.widget[data-widget=weight-balance][data-mode=expanded] .round-trip-tool{flex:none;height:auto;min-height:0;overflow:visible}

.weight-takeoff-input{appearance:textfield;-moz-appearance:textfield}
.weight-takeoff-input::-webkit-inner-spin-button,.weight-takeoff-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-readout-label{font-weight:400}

.widget[data-widget=weight-model][data-mode=thumbnail].weight-fuel-deficit{border:4px solid #b91c1c!important}
.widget[data-widget=weight-model][data-mode=thumbnail].weight-fuel-surplus{border:4px solid #15803d!important}

.widget[data-widget=weight-balance].weight-balance-caution{border:4px solid #f97316!important}

.moment-of-inertia-content{display:block;padding:8px;overflow:auto;color:#173b5d}.moment-of-inertia-content table{width:100%;border-collapse:collapse;font:12px Arial,sans-serif}.moment-of-inertia-content th,.moment-of-inertia-content td{padding:5px;border-bottom:1px solid #d4e1eb;text-align:right}.moment-of-inertia-content th:first-child,.moment-of-inertia-content td:first-child{text-align:left}.moment-of-inertia-content caption{text-align:center;font-weight:bold;margin:0 0 5px}.moment-of-inertia-content small{display:block;text-align:right;font-size:10px}.moment-of-inertia-content h3{margin:12px 0 6px;font-size:14px}.moment-of-inertia-content .inertia-totals{max-width:350px}.inertia-detail-scroll{overflow:auto}.moment-of-inertia-content .inertia-calculation{min-width:680px}.inertia-calculation thead{background:#e9f1f8}.inertia-method-note{font-size:11px;line-height:1.4}.widget[data-mode=thumbnail] .moment-of-inertia-content table{font-size:11px}.widget[data-mode=thumbnail] .moment-of-inertia-content th,.widget[data-mode=thumbnail] .moment-of-inertia-content td{padding:3px}

.raymer-factors{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #b9cedd;margin-top:12px}.raymer-factors label{display:grid;gap:4px;font-size:11px}.raymer-factors input{width:90px;max-width:100%;padding:4px;text-align:center}.raymer-method{margin-top:10px;font-size:12px;line-height:1.5}.raymer-method summary{cursor:pointer;font-weight:bold}.raymer-method .raymer-equation{display:inline-block;max-width:240px;margin:8px}.raymer-method svg{max-width:220px}

.moment-of-inertia-content .inertia-method-documentation{padding:10px;margin-top:12px;border:1px solid #c3d5e1;border-radius:7px;background:#eef5fa;font-size:11px;line-height:1.5}.moment-of-inertia-content .inertia-method-documentation ul{padding-left:18px;margin-bottom:0}

/* Readable Raymer formulas with consistent cards and separate method paragraphs. */
.moment-of-inertia-content .raymer-method{font:14px/1.55 Arial,sans-serif;color:#173b5d;border:1px solid #b9cedd;border-radius:8px;background:#f7fafc;padding:10px 12px}
.moment-of-inertia-content .raymer-method>summary{font-size:14px;padding:2px 0}
.moment-of-inertia-content .raymer-formula-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:12px}
.moment-of-inertia-content .raymer-formula-card>strong{grid-column:1/-1;font-size:16px}
.moment-of-inertia-content .raymer-method .raymer-equation{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;max-width:none;min-width:0;margin:0;padding:12px;border:1px solid #cedde8;border-radius:7px;background:#fff}
.moment-of-inertia-content .raymer-equation>span{font-size:14px;font-weight:700}
.moment-of-inertia-content .raymer-method .raymer-equation svg{display:block;width:100%;height:150px;max-width:none;color:#173b5d}
.moment-of-inertia-content .raymer-symbols{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px;margin:0;padding:12px;background:#eaf2f8;border-radius:6px}
.moment-of-inertia-content .raymer-symbols>div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline}
.moment-of-inertia-content .raymer-symbols dt{font-weight:bold;white-space:nowrap}.moment-of-inertia-content .raymer-symbols dd{margin:0}
.moment-of-inertia-content .raymer-formula-card>cite{grid-column:1/-1;font-size:12px;line-height:1.5;font-style:normal;color:#52687b}
.moment-of-inertia-content .raymer-method-explanation{margin:12px 0 0}
@media(max-width:450px){.moment-of-inertia-content .raymer-formula-card{grid-template-columns:minmax(0,1fr)}}

.moment-of-inertia-content .raymer-method{container-type:inline-size;container-name:raymer-method}
.moment-of-inertia-content .raymer-formula-card{grid-template-columns:repeat(3,minmax(0,1fr))}
.moment-of-inertia-content .raymer-method-explanation{font-size:14px;line-height:1.55}
@container raymer-method (max-width:850px){.moment-of-inertia-content .raymer-formula-card{grid-template-columns:minmax(0,1fr)}}

/* Raymer method uses a blue collapsible subpanel. */
.moment-of-inertia-content .raymer-method{padding:0;border:1px solid #17699d;border-radius:8px;background:#edf5fc;overflow:hidden}
.moment-of-inertia-content .raymer-method>summary{display:list-item;padding:10px 12px;background:#173b5d;color:#fff;font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
.moment-of-inertia-content .raymer-method[open]>summary{border-bottom:1px solid #17699d}
.moment-of-inertia-content .raymer-method>div{padding:0 12px 12px}
.moment-of-inertia-content .raymer-method>summary:focus-visible{outline:2px solid #77b9ed;outline-offset:-3px}

.volume-model-content{display:block;padding:8px;overflow:auto;color:#173b5d}.volume-model-content table{width:100%;border-collapse:collapse;font:12px Arial,sans-serif}.volume-model-content th,.volume-model-content td{padding:5px;border-bottom:1px solid #d4e1eb;text-align:right}.volume-model-content th:first-child,.volume-model-content td:first-child{text-align:left}.volume-model-content caption{text-align:center;font-weight:bold;margin:0 0 5px}.volume-model-content small{display:block;text-align:right;font-size:10px}.volume-model-content .volume-totals{max-width:350px}.volume-model-content h3{margin:12px 0 6px;font-size:14px}.volume-table-scroll{overflow:auto}.volume-calculation{min-width:680px}.volume-calculation thead{background:#e9f1f8}.volume-calculation input{width:80px;max-width:100%;padding:4px;text-align:right}.volume-dimensions{display:flex;gap:6px}.volume-dimensions label{display:grid;font-size:10px;gap:3px}.volume-dimensions input{width:55px}.volume-model-note{font-size:11px;line-height:1.4}.volume-assumptions aside{padding:10px;margin-top:12px;border:1px solid #c3d5e1;border-radius:7px;background:#eef5fa;font-size:12px;line-height:1.5}.volume-assumptions ul{padding-left:18px}.widget[data-mode=thumbnail] .volume-model-content table{font-size:11px}.widget[data-mode=thumbnail] .volume-model-content th,.widget[data-mode=thumbnail] .volume-model-content td{padding:3px}

/* Engine summary: readable numeric columns and a separate count footer. */
:is(#pane-tools,#pane-requirements) .widget[data-widget=engine-model][data-mode=thumbnail]>.round-trip-thumbnail{padding:21px 4px 4px;gap:3px}
.widget[data-widget=engine-model][data-mode=thumbnail] .engine-thumbnail-type{display:block;flex:none;align-self:center;max-width:100%;text-align:center;font-size:16px;line-height:19px;color:#173b5d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.engine-thumbnail-values{width:100%;table-layout:auto;border-collapse:collapse;border-spacing:0;font-size:12px;line-height:16px}
.engine-thumbnail-values th{font-size:11px;font-weight:600;color:#526a7f}
.engine-thumbnail-values th,.engine-thumbnail-values td{padding:1px 1px}
.engine-thumbnail-values td{font-size:13px}
.engine-thumbnail-values tr:last-child td{border-bottom:1px solid #c7d5e0}
.widget[data-widget=engine-model] .engine-thumbnail-count{display:flex;flex:none;align-items:center;justify-content:space-between;padding:0 3px;font-size:12px;line-height:16px;color:#526a7f}
.widget[data-widget=engine-model] .engine-thumbnail-count strong{font-size:13px;color:#173b5d}


.volume-model-content .volume-calculation{width:min(100%,650px);min-width:480px;table-layout:fixed;font-size:11px}
.volume-calculation th,.volume-calculation td{padding:4px}
.volume-calculation th:nth-child(1){width:21%}
.volume-calculation th:nth-child(2){width:34%}
.volume-calculation th:nth-child(3),.volume-calculation th:nth-child(5){width:3%}
.volume-calculation th:nth-child(4){width:18%}
.volume-calculation th:nth-child(6){width:21%}
.volume-calculation input{width:68px;padding:3px}
.volume-calculation .volume-dimensions{gap:3px}
.volume-calculation .volume-dimensions input{width:45px}

.volume-calculation-panel{margin-top:10px;border:1px solid #c3d5e1;border-radius:6px;overflow:hidden}
.volume-calculation-panel>summary{padding:7px 9px;background:#e9f1f8;color:#173b5d;font-size:13px;font-weight:700;cursor:pointer}
.volume-calculation-panel>.volume-table-scroll{padding:6px 8px}
.volume-calculation-panel>.volume-model-note{margin:4px 8px 8px}
.volume-model-content .volume-calculation{width:470px;min-width:470px}
.volume-calculation th:nth-child(1){width:95px}
.volume-calculation th:nth-child(2){width:155px}
.volume-calculation th:nth-child(3),.volume-calculation th:nth-child(5){width:12px}
.volume-calculation th:nth-child(4){width:90px}
.volume-calculation th:nth-child(6){width:106px}
.volume-calculation .volume-group-heading th{width:auto;padding:5px 6px;background:#dfeaf3;text-align:left}
.volume-calculation .volume-dimensions input{width:39px}

.widget[data-widget=volume-model][data-mode=medium] .volume-calculation{width:392.5px;min-width:392.5px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(2){width:77.5px}
.widget[data-widget=volume-model][data-mode=medium] .volume-reference-description{display:block;font-size:50%;line-height:1.2;overflow-wrap:anywhere}
.widget[data-widget=volume-model][data-mode=medium] .volume-reference-value{font-size:11px}
.widget[data-widget=volume-model][data-mode=medium] .volume-dimensions{flex-direction:column;gap:2px}
.widget[data-widget=volume-model][data-mode=medium] .volume-dimensions label{display:flex;align-items:center;justify-content:flex-end;gap:3px}

.widget[data-widget=volume-model][data-mode=medium] .volume-calculation{width:350px;min-width:350px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(1){width:85px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(2){width:70px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(3),.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(5){width:10px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(4){width:85px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation thead th:nth-child(6){width:90px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation input{width:60px}
.widget[data-widget=volume-model][data-mode=medium] .volume-calculation .volume-dimensions input{width:39px}
.volume-calculation input[readonly]{background:#eef3f7;color:#52647a}

.widget[data-widget=volume-model][data-mode=thumbnail].volume-surplus{border:4px solid #16a34a!important}
.widget[data-widget=volume-model][data-mode=thumbnail].volume-deficit{border:4px solid #e00000!important}

.widget[data-widget=engine-model][data-mode=thumbnail] .engine-thumbnail-type{width:100%;min-width:0;text-overflow:clip}

.volume-assumptions-panel{margin-top:10px;border:1px solid #c3d5e1;border-radius:6px;overflow:hidden}
.volume-assumptions-panel>summary{padding:7px 9px;background:#e9f1f8;color:#173b5d;font-size:13px;font-weight:700;cursor:pointer}
.volume-assumptions-panel>.volume-assumptions{padding:0 8px 8px}

.volume-fuselage-assumptions>summary{cursor:pointer;color:#173b5d;font-weight:700}

.login-project-actions.login-project-open{border:4px solid #16803b;border-radius:6px;padding:5px}

.login-team-toolbar{flex-wrap:wrap}
.login-archive-toggle{display:inline-block;float:right;margin-left:8px;vertical-align:middle;font-size:10px;padding:3px 5px}
.login-project-archived{background:#eceff3;opacity:.8}

.login-team-aircraft.login-aircraft-open:not([open])>summary{border:4px solid #16803b;border-radius:6px;padding:5px}

.login-team-user:not([open])>summary .login-archive-toggle{display:none}

.widget[data-widget=login][data-mode=thumbnail] .login-content{padding:22px 5px 2px;gap:2px;color:#173b5d}
.widget[data-widget=login][data-mode=thumbnail] .login-summary{line-height:1;flex:0 0 auto}
.login-summary-version{font-size:14px;overflow:hidden;line-height:1;white-space:nowrap}
.login-summary-user{font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-summary .login-summary-team{font-size:11px;line-height:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-thumbnail-actions{flex-direction:row;gap:2px;flex:none}
.login-thumbnail-actions button{flex:1;min-width:0;font-size:9px;line-height:10px;padding:2px 1px}

.login-summary-version{text-align:center;padding:0;background:transparent;color:#173b5d}
.login-summary{display:flex;flex-direction:column;gap:2px;text-align:center}
.login-summary-user,.login-summary .login-summary-team{color:#526a7f}
.login-thumbnail-actions button{border-radius:4px;border-color:#9eb6cc}
.login-thumbnail-actions .primary{background:var(--green);color:#fff;border-color:var(--green)}
.login-thumbnail-actions .primary:hover{background:#145781}

.login-team-details{border:1px solid #bccddd;border-radius:6px;background:#f3f7fb;padding:6px 8px}
.login-team-details>summary{font-size:12px;font-weight:700;color:#173b5d;cursor:pointer}
.login-team-details[open]>.login-team-fields{margin-top:8px}

.login-team-projects>.login-team-toolbar{flex-wrap:nowrap;gap:3px}
.login-team-projects>.login-team-toolbar>button{flex:0 1 auto;min-width:0;width:auto;font-size:10px;line-height:12px;white-space:nowrap;padding:4px;min-height:24px}

.login-team-user.login-user-open:not([open])>summary{border:4px solid #16803b;border-radius:6px;padding:5px}

.login-active-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
.login-active-row[hidden]{display:none}
.login-active-name{font-size:18pt;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden}
.login-active-row .danger{width:38px;padding:3px 2px;font-size:calc(10px - 2pt);line-height:1.3;white-space:pre-line;background:#b3261e;border-color:#b3261e;color:#fff}

.login-team-user>summary{display:flex;align-items:center;gap:6px;min-height:24px}
.login-team-user>summary::-webkit-details-marker{display:none}
.login-team-user>summary::before{content:'\25b8';flex:0 0 10px;font-size:11px;text-align:center}
.login-team-user[open]>summary::before{content:'\25be'}
.login-digital-twin-heading .login-archive-toggle{float:none;margin-left:auto;flex:none;width:auto}

.widget[data-widget=login][data-mode=thumbnail] .tools-thumbnail-title{font-size:11pt;line-height:18px;height:22px}
.widget[data-widget=login][data-mode=thumbnail] .login-content{padding-top:26px}

.widget[data-widget=mission-analysis][data-mode=thumbnail] :is(.mission-total,.mission-radius-readout){font-size:14px}

.widget[data-widget=login][data-mode=thumbnail] :is(.login-summary-user,.login-summary-team){text-align:left}
.widget[data-widget=login][data-mode=thumbnail] .login-thumbnail-actions{padding:4px 2px;gap:4px}

.login-active-row .danger:hover{background:#921e18}
.login-version-break{display:block;flex:0 0 6px}
.login-team-projects>.login-team-toolbar{gap:2px}
.login-team-projects>.login-team-toolbar>button{font-size:9px;padding:3px}

.widget[data-widget=thrust-drag][data-mode=thumbnail] .thrust-drag-controls{display:none}
.widget[data-widget=thrust-drag][data-mode=medium] .thrust-drag-controls{grid-template-columns:minmax(0,1fr);padding:5px 8px;gap:0}
.widget[data-widget=thrust-drag][data-mode=medium] .thrust-drag-control{grid-template-columns:48px minmax(0,1fr) 68px;gap:6px;font-size:10px}

.aero-content{padding:10px;overflow:auto;color:#173b5d}
.aero-content table{width:100%;border-collapse:collapse;font-size:12px}
.aero-content th{text-align:left;font-weight:400}
.aero-content td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.aero-content th,.aero-content td{padding:4px 6px;border-bottom:1px solid #dbe5ec}
.aero-coefficient-panel{margin-bottom:10px;border:1px solid #c7d5e0;border-radius:6px;overflow:hidden;background:white}
.aero-coefficient-panel caption{text-align:left;padding:6px;background:#e4eef6;font-weight:700}
.aero-source{font-size:11px;margin:0 0 8px}
.aero-invalid{color:#b91c1c}
.widget[data-widget=aero][data-mode=thumbnail] .aero-content{position:relative;padding:23px 5px 3px;overflow:hidden}
.widget[data-widget=aero][data-mode=thumbnail] .tools-thumbnail-title{position:absolute;top:0;left:0;right:0;height:20px;line-height:20px;text-align:center;background:#173b5d;color:white;font:700 12px/20px Arial}
.widget[data-widget=aero][data-mode=thumbnail] table{font-size:10px;line-height:12px}
.widget[data-widget=aero][data-mode=thumbnail] th,.widget[data-widget=aero][data-mode=thumbnail] td{padding:0 2px;border:0}
.aero-content sub{font-size:.8em}

.widget[data-widget=aero][data-mode=thumbnail] .aero-content sub{line-height:0}

.video-recording-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.video-recording-controls button,.recording-actions button{border:1px solid #173b5d;border-radius:6px;padding:6px 9px;background:#173b5d;color:white;font:700 12px Arial;cursor:pointer}.video-recording-controls #stopVideo{background:#b42318;border-color:#b42318}.video-recording-controls[hidden],.video-recording-controls [hidden],.recording-actions [hidden]{display:none}#recordingStatus{font:12px Arial;color:#173b5d}#recordingDownload{max-width:480px}#recordingDownload p{line-height:1.5}.recording-actions{display:flex;gap:8px}.video-recording-controls button:disabled,.recording-actions button:disabled{opacity:.55;cursor:wait}

.widget:is([data-widget=ps],[data-widget=em])[data-mode=expanded] .native-tool-root{min-height:0}.widget:is([data-widget=ps],[data-widget=em])[data-mode=expanded]>.ps-content{overflow:hidden}

/* Expanded performance widgets share the L/D outer sizing and fit their plots automatically. */
.widget:is([data-widget=ps],[data-widget=em])[data-mode=expanded]>.ps-content{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.widget:is([data-widget=ps],[data-widget=em])[data-mode=expanded]>.ps-content>.native-tool-root{flex:1;min-height:0;height:100%;width:100%}

.aircraft-designer-empty-view{display:grid;place-items:center;width:100%;height:100%;min-height:320px;color:#173b5d;font:600 20px Arial,sans-serif;background:#f5f9fc}

/* One shared aircraft-loading cartoon; underlying widget gestures remain active. */
.widget[data-mode=thumbnail]>.empty-plot-thumbnail{background:#f5f9fc;padding:4px;overflow:hidden;pointer-events:none}
.empty-plot-thumbnail>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}

.drag-polar-equation{color:#173b5d;font-size:11px}.widget[data-widget=drag-polar][data-mode=medium] .drag-polar-equation{font-size:10px;padding:3px 4px}

.jet2step-content{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;height:100%;color:#173b5d;text-align:center}.jet2step-content h2{margin:0}.jet2step-content p{margin:0;font-size:12px;line-height:1.5}.jet2step-content svg{display:block;width:100%;height:100%;max-height:132px}.jet2step-content button{padding:12px 16px;border-radius:6px;cursor:pointer}.jet2step-content button:disabled{opacity:.55;cursor:wait}.widget[data-widget=jet2step][data-mode=thumbnail] .jet2step-content{padding:4px}

.jet2step-content .converter-widget-primary{background:#17699d;color:#fff;border:1px solid #17699d}.jet2step-content .converter-widget-primary:hover{background:#125680}

.aero-wind-tunnel>summary{cursor:pointer;padding:8px;font-weight:700;background:#e4eef6;border-radius:6px;margin-bottom:10px}
.aero-content .aero-data-list{margin:0;padding-left:22px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.aero-data-list>li{padding:3px 0;border-bottom:1px solid #dbe5ec}
.aero-data-list dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px}
.aero-data-list dt{font-weight:700}.aero-data-list dd{margin:0}
.jet2step-content{gap:10px;padding:16px;justify-content:flex-start;overflow:auto}.jet2step-preview{width:100%;min-height:180px;flex:1;max-height:600px;border-radius:6px;background:#e9f2fa}.jet2step-controls{width:100%;display:flex;flex-direction:column;gap:6px}.jet2step-control{display:grid;grid-template-columns:minmax(155px,1fr) minmax(100px,2fr) 80px;align-items:center;gap:10px;text-align:left;font-size:12px}.jet2step-control input[type=number]{width:80px;padding:5px}.jet2step-content .converter-widget-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.widget[data-widget=jet2step][data-mode=expanded] .jet2step-preview{min-height:300px}.widget[data-widget=jet2step][data-mode=thumbnail] .jet2step-content{justify-content:center}
.jet2step-resolution{display:grid;grid-template-columns:130px minmax(100px,1fr) 105px;align-items:center;gap:8px;width:calc(100% - 24px);max-width:650px;font-size:12px;text-align:left}.jet2step-resolution output{text-align:right;white-space:nowrap}

.resource-links-thumbnail button{width:100%;height:100%;padding:0;overflow:hidden}.resource-links-thumbnail button>img{display:block;width:100%;height:100%;object-fit:contain;background:white}
.resource-link-badge{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:36px;overflow:hidden;border-radius:4px;background:#e4eef6;color:#173b5d;font:bold 20px Arial,sans-serif}
.resource-link-badge .resource-link-thumbnail{position:absolute;inset:0}

.jet2step-progress{display:flex;align-items:center;justify-content:center;gap:10px;min-height:28px}
.jet2step-processing-bar{width:min(280px,76%);height:16px;accent-color:#2a6ba4}
.jet2step-hourglass{display:inline-block;flex:none;font-size:24px;line-height:1;animation:jet2step-hourglass-spin 1.4s linear infinite}
.jet2step-hourglass[hidden]{display:none}
@keyframes jet2step-hourglass-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.jet2step-hourglass{animation:none}}

.jet2cad-scale-panel{box-sizing:border-box;width:100%;margin:0;padding:10px 12px;border:1px solid #a9c3d9;border-radius:6px;text-align:left;background:#f5f9fc}
.jet2cad-scale-panel legend{padding:0 6px;font-size:12px;font-weight:700}
/* Responsive groups use the widget width, including expanded and fullscreen views. */
.jet2cad-scale-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.jet2cad-scale-layout>section{min-width:0;padding:12px;background:#fff;border:1px solid #dce6ee;border-radius:5px}
.jet2cad-scale-layout h3{margin:0 0 12px;font-size:13px;color:#244a67}
.jet2cad-scale-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px 12px;align-items:center;font-size:12px}
.jet2cad-scale-row>span{grid-column:1/-1;font-weight:600}
.jet2cad-scale-row input[type=range]{width:100%;min-width:0;margin:4px 0}
.jet2cad-scale-row input[type=number]{box-sizing:border-box;width:100%;padding:6px;text-align:right}
.jet2cad-scale-row output{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.jet2cad-scale-factor{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12px;color:#4d6579}
.jet2cad-scale-factor output{font-weight:700;font-variant-numeric:tabular-nums}
.jet2cad-scale-note{margin:10px 0 0!important;font-size:11px!important;color:#4d6579}
.jet2cad-measurements{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:10px 16px;margin:14px 0 0;font-size:12px}
.jet2cad-measurements div{display:flex;flex-direction:column;gap:4px;border-top:1px solid #e5edf3;padding-top:8px;min-width:0}.jet2cad-measurements dt{color:#4d6579}.jet2cad-measurements dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.volume-calculation .volume-dimension-override{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px}
.volume-calculation .volume-dimension-override input[type=checkbox]{width:13px;min-width:13px;height:13px;margin:0;flex:none}
.volume-calculation thead th:nth-child(7){width:76px}

.awaiting-update-warning{position:absolute;z-index:8;bottom:4px;left:0;right:0;color:#704b00;text-align:center;font-family:inherit;font-size:5.5pt;font-weight:400;pointer-events:none}

/* Designer resizing follows the pointer immediately. */
.standalone-widget-surface>.standalone-widget{transition:none}
.standalone-widget-surface>.standalone-widget[data-widget="aircraft-designer"]{max-height:none}

/* Keep a clear page-scroll strip beside every project pane, including Designer. */
#panes>.pane,#panes>.standalone-widget-surface{padding-right:10pt}
#panes>.pane>.pane-resize-handle{right:calc(10pt + 3px)}

.login-team-files{margin-top:18px;border-top:1px solid #aac4dc;padding-top:12px}.login-team-file{margin-top:8px;padding:10px;border:1px solid #b8c9d7;border-radius:7px}.login-team-file strong{overflow-wrap:anywhere}.team-files-note{font-size:12px;color:#526b7c;margin:5px 0}.team-file-save-dialog{max-width:520px}.team-file-save-dialog p{overflow-wrap:anywhere}

.login-team-file-details{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.login-team-file-details>.team-files-note{flex:1 1 0;margin:0;min-width:0;overflow-wrap:anywhere}.login-team-file-actions{flex:0 0 auto;gap:4px;flex-wrap:nowrap}.login-content .login-team-file-actions button{width:auto;min-height:22px;padding:2px 6px;font-size:10px;line-height:16px;margin:0}.login-team-files>input[type=file][hidden]{display:none}

/* RoT: read-only historical geometry comparisons. */
.rot-content{display:flex;flex-direction:column;gap:8px;min-height:0;padding:8px;background:#fff;overflow:hidden}
.rot-tabs{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.rot-tabs button{padding:5px 10px;border:1px solid #89a5b7;border-radius:3px;background:#edf5fa;color:#173b5d;font:12px Arial;cursor:pointer}
.rot-tabs button[aria-pressed=true]{background:#173b5d;color:white}
.rot-plots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}
.rot-panel{min-width:0}.rot-panel[hidden]{display:none!important}
.rot-plot{width:100%;aspect-ratio:4/3;min-height:0;overflow:hidden;background:white}
.rot-plot svg{display:block;width:100%;height:100%;font-family:Arial,sans-serif}
.rot-readout{margin:4px 0 0;font:11px/1.4 Arial;color:#40556a}
.widget[data-mode="medium"] .rot-content{height:100%;box-sizing:border-box}.widget[data-mode="medium"] .rot-plots{display:flex;flex:1;min-height:0}.widget[data-mode="medium"] .rot-panel{width:100%;display:flex;flex-direction:column;min-height:0}.widget[data-mode="medium"] .rot-plot{flex:1;min-height:0;aspect-ratio:auto}.widget[data-mode="medium"] .rot-readout{flex-shrink:0}

@media(max-width:700px){.rot-plots{grid-template-columns:1fr}}

.widget[data-mode="expanded"] .rot-content{overflow:auto}.widget[data-mode="expanded"] .rot-plots{flex-shrink:0}

.rot-save-actions{display:flex;align-items:center;gap:8px;margin-top:5px;min-height:28px}.rot-save-actions .plot-save-button{position:static;flex-shrink:0}.rot-save-actions [role="status"]{font:11px Arial;color:#40556a}.rot-save-actions .error{color:#ae2e2e}

.widget[data-tail-disabled="true"]{display:none!important}

/* Keep the two account/support actions adjacent and equally sized. */
.topbar .topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none;order:3}
.topbar .topbar-actions .header-account-actions>button{position:static;top:auto;right:auto;margin:0;width:110px;height:32px;padding:8px 12px;border-radius:7px;font:700 12px Arial,sans-serif;white-space:nowrap;flex:none;order:0}

.topbar .topbar-actions .header-links{width:44px;height:44px;flex:none;order:0}
.header-links .resource-links-thumbnail{width:100%;height:100%;overflow:hidden;border-radius:7px}
.header-links .resource-links-thumbnail button{display:block;min-width:0;min-height:0}

.widget[data-widget=login][data-mode=expanded]>.login-content{overflow:hidden}
.widget[data-widget=login][data-mode=expanded] .login-profile{height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:12px}
.widget[data-widget=login][data-mode=expanded] .login-profile>section{min-width:0;min-height:0;height:100%;overflow:auto;margin:0;border-top:0;padding-top:0}
.widget[data-widget=login][data-mode=expanded] .login-team-files{border-left:1px solid var(--line);padding-left:12px}
.widget[data-widget=login][data-mode=expanded]>.login-content>.login-status[hidden]{display:none}

.login-team-files-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:nowrap}.login-team-files-heading h4{margin:0;white-space:nowrap}.team-files-limit{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}

.login-team-files-heading>.login-team-toolbar{margin-left:auto;flex:none;flex-wrap:nowrap;gap:4px}.login-team-files-heading>.login-team-toolbar>button{zoom:.5;margin:0}

.topbar .topbar-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.header-resource-actions,.header-account-actions{display:flex;align-items:center;gap:8px;flex:none}.header-resource-actions>.master-download[hidden]{display:none}

#pane-main>.pane-head h2{white-space:pre-wrap}

#panes>.pane[data-mode]>.pane-head{padding-block:1px;flex-wrap:nowrap}
#panes>.pane[data-mode]>.pane-head>.size-controls{flex:none}
#panes>.pane[data-mode]>.pane-head>h2{min-width:0;white-space:pre;overflow:hidden;text-overflow:ellipsis}

.widget[data-widget=login][data-mode=thumbnail] .login-summary{flex:1;min-height:0;justify-content:center;gap:6px}
.login-summary-name{width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-align:center;font-size:14px;font-weight:700;line-height:1.15;color:#173b5d}

.header-resource-actions .master-downloads>.master-download{padding:8px 12px;justify-content:center}
.topbar .header-resource-actions>.master-downloads{order:0}

/* Foam Glider: instruction cards and a geometry-only trace viewport. */
.foam-glider-content{padding:12px;overflow:auto;height:100%;box-sizing:border-box;background:#f4f8fb;color:#18374e}.foam-cartoon{aspect-ratio:1;background-size:400% 200%;background-repeat:no-repeat;background-color:#fff;border-radius:8px}.foam-glider-thumbnail{width:100%;height:100%;border-radius:0}.widget[data-mode=thumbnail] .foam-glider-content{padding:0;overflow:hidden}.foam-workbench{display:grid;grid-template-columns:minmax(260px, .8fr) minmax(350px,1.5fr);gap:16px}.foam-lesson,.foam-trace,.foam-measurements{background:#fff;border:1px solid #c9d9e4;border-radius:9px;padding:16px}.foam-lesson h2{margin:0 0 4px;font-size:22px}.foam-lesson h3{font-size:19px;margin:12px 0 6px}.foam-lesson p{font-size:14px;line-height:1.6}.foam-lesson .foam-cartoon{width:min(100%,240px);margin:8px auto}.foam-tip{padding:10px 12px;background:#edf5f8;border-left:3px solid #57a0b3;font-size:13px;line-height:1.6}.foam-step-nav,.foam-trace-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.foam-step-nav{justify-content:space-between}.foam-glider-content button,.foam-glider-content select{font:inherit;padding:6px 10px;border:1px solid #a0b9ca;border-radius:5px;color:#18374e;background:#fff;cursor:pointer}.foam-glider-content button:disabled{opacity:.45;cursor:default}.foam-glider-plot{position:relative;background:#fff;width:100%;height:500px;border:1px solid #d2dfe7;margin:12px 0;overflow:hidden;cursor:grab;touch-action:none}.foam-glider-plot svg{display:block;width:100%;height:100%;user-select:none}.foam-trace-hint,.foam-facts{font-size:12px;line-height:1.5;color:#496b80}.foam-measurements{margin-top:16px}.foam-fields{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px}.foam-fields label{display:grid;gap:5px;font-size:13px;font-weight:600}.foam-fields input{min-width:0;width:100%;padding:7px;border:1px solid #a8bfcd;border-radius:4px;font:inherit}.foam-measurement-results{font-weight:650;font-size:14px;line-height:1.7}.foam-sources{font-size:12px}.foam-glider-plot[data-fullscreen-target]{background:white}.foam-glider-plot[data-fullscreen-target] svg{width:100%;height:100%}.widget[data-mode=medium] .foam-workbench{display:block}.widget[data-mode=medium] .foam-lesson{padding:10px}.widget[data-mode=medium] .foam-lesson .foam-cartoon{width:140px}.widget[data-mode=medium] .foam-fields{grid-template-columns:1fr 1fr}.widget[data-mode=medium] .foam-trace{margin-top:12px}.widget[data-mode=medium] .foam-glider-plot{height:300px}@media(max-width:900px){.foam-workbench{grid-template-columns:1fr}.foam-fields{grid-template-columns:1fr 1fr}}

/* Only the first lesson needs the trace panel; later lessons occupy the workbench. */
.foam-trace[hidden]{display:none!important}
.foam-workbench.foam-lesson-only{grid-template-columns:1fr}
.foam-lesson-only .foam-lesson{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(300px,1.3fr);column-gap:28px;align-items:start}
.foam-lesson-only .foam-lesson>h2,.foam-lesson-only .foam-step-progress{grid-column:1/-1}
.foam-lesson-only .foam-lesson .foam-cartoon{grid-column:1;grid-row:3;width:min(100%,480px)}
.foam-lesson-only .foam-step-copy{grid-column:2;grid-row:3}
.foam-lesson-only .foam-step-nav{grid-column:1/-1;grid-row:4}
.widget[data-mode=medium] .foam-lesson-only .foam-lesson{display:block}
@media(max-width:900px){.foam-lesson-only .foam-lesson{display:block}.foam-lesson-only .foam-lesson .foam-cartoon{width:min(100%,320px)}}
.foam-save-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.foam-save-status{font-size:13px;margin:0}.foam-save-status.error{color:#a33124}

/* Read-only wind-tunnel manufacturing preview. */
.wind-model-content{display:flex;flex-direction:column;height:100%;min-height:0;padding:6px;box-sizing:border-box;overflow:hidden}
.wind-model-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 0 5px}
.wind-model-controls label{display:flex;align-items:center;gap:4px;font-size:12px}
.wind-model-controls input{width:76px}.wind-model-controls select{width:90px}
.wind-model-content canvas{display:block;width:100%;flex:1;min-height:80px;touch-action:none}
.wind-model-progress{display:flex;align-items:center;gap:8px;flex:none;min-height:40px;padding:6px 8px;box-sizing:border-box}.wind-model-progress .wind-model-status{margin:0}.wind-model-hourglass{display:inline-block;flex:none;width:28px;height:28px;text-align:center;font-size:26px;line-height:28px;animation:loader-hourglass-spin .9s linear infinite}.wind-model-hourglass[hidden]{display:none}@media(prefers-reduced-motion:reduce){.wind-model-hourglass{animation:none}}
.wind-model-status{margin:4px 0 0;font-size:11px;color:#344e63;overflow-wrap:anywhere}
.widget[data-mode=thumbnail] .wind-model-content{padding:0}

.wind-model-download{max-width:420px;border:1px solid #9db5c6;border-radius:10px;padding:20px;color:#173b5d}.wind-model-download::backdrop{background:#122d4680}.wind-model-download h3{margin:0 0 16px}.wind-model-download label{display:flex;gap:12px;align-items:center}.wind-model-download select{flex:1}.wind-model-download p{font-size:13px}.wind-model-download button{margin-right:8px}

.wind-model-deflections{flex:0 0 auto;max-height:230px;overflow:auto}.wind-model-deflections:empty{display:none}.cad-deflection-controls{border:1px solid #b7ccdc;border-radius:6px;margin:8px 0;padding:8px}.cad-deflection-controls legend{color:#173b5d;font-size:12px}.wind-model-deflections .jet2step-control{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,2fr) 75px;align-items:center;gap:10px;font-size:12px}.wind-model-content canvas{min-height:140px}

.widget[data-mode=expanded] .wind-model-content{min-height:540px}.widget[data-mode=expanded] .wind-model-content canvas{min-height:260px}

.wind-model-controls select[aria-label="Printer"]{width:150px}.wind-model-shifts{display:flex;gap:14px;flex-wrap:wrap;padding-top:8px}.wind-model-shifts label{font-size:12px;display:flex;align-items:center;gap:5px}.wind-model-shifts input{width:72px}
.team-files-breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0;font-size:12px}.team-files-breadcrumbs button{font-size:12px;padding:3px 6px;max-width:100%;overflow-wrap:anywhere}.team-files-breadcrumbs [aria-current=page]{font-weight:bold;background:#e2edf7}.login-team-folder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;margin-top:8px;border:1px solid #b8c9d7;border-radius:7px;background:#f3f8fc}.login-team-folder>.team-folder-open{font-weight:bold;overflow-wrap:anywhere;min-width:0;max-width:100%;text-align:left}.login-team-folder>.team-folder-open:before{content:'\1F4C1 '; }.login-team-folder>.team-files-note{flex:1}.login-team-folder>button:last-child:not(.team-folder-open){font-size:10px;padding:2px 6px}.team-file-folder-dialog{width:min(520px,90vw);border:1px solid #aac4dc;border-radius:8px}.team-file-folder-dialog label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.team-file-folder-dialog input,.team-file-folder-dialog select{width:100%;padding:8px}.team-file-folder-dialog .login-team-toolbar{justify-content:flex-end}.team-file-folder-dialog p{overflow-wrap:anywhere}@media(max-width:600px){.login-team-file-details{flex-wrap:wrap}.login-team-file-actions{flex-wrap:wrap}}
/* Internal Design: scoped structure/layout presentation. */
.internal-design-content{display:flex;flex-direction:column;gap:5px;min-height:0;overflow:auto;padding:6px;color:#173b5d;font:12px/1.35 Arial,sans-serif}
.internal-design-content h3{margin:0;text-align:center;font-size:14px}.internal-toolbar,.internal-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.internal-toolbar button{padding:3px 7px;font-size:11px}.internal-toolbar button.selected{background:#dbeefa;border-color:#417895}.internal-toolbar label{display:flex;align-items:center;font-size:11px;gap:2px}.internal-plot{height:300px;min-height:200px;flex:0 0 auto;position:relative;background:#f3f7fb;border:1px solid #cfdae3;border-radius:6px;overflow:hidden}.internal-plot svg,.internal-plot canvas{display:block;width:100%;height:100%}.internal-summary{font-weight:700;text-align:center}.internal-actions button{background:#e7f5ed;color:#165c39;border:1px solid #74a889;border-radius:4px;padding:5px 10px;font-weight:700}.internal-actions span{font-size:11px}.internal-status{margin:0;color:#ac4e1f}.internal-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:7px}.internal-editor fieldset{min-width:0;border:1px solid #c9d7e2;border-radius:5px;padding:7px}.internal-editor legend{font-weight:700}.internal-editor label{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;margin:3px 0}.internal-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:3px 10px}.internal-editor input[type=number]{width:70px;min-width:0;padding:3px}.internal-editor select{max-width:100%;padding:4px}.internal-capacity{margin:5px 0}.internal-weight-table{border-collapse:collapse;align-self:start}.internal-weight-table caption{font-weight:700;padding:4px}.internal-weight-table th,.internal-weight-table td{padding:4px 10px;border-bottom:1px solid #dce5ed;text-align:left}.internal-weight-table td{text-align:right}.internal-notes,.internal-diagnostics{grid-column:1/-1;font-size:11px;margin:2px}.internal-diagnostics p{margin:4px 0}.internal-notes{color:#596b78}.widget[data-widget=internal-design][data-mode=medium] .internal-design-content{gap:3px;padding:4px}.widget[data-widget=internal-design][data-mode=medium] .internal-plot{height:205px;min-height:160px}.widget[data-widget=internal-design][data-mode=medium] .internal-editor{display:none}.widget[data-widget=internal-design][data-mode=thumbnail] .internal-design-content{overflow:hidden;align-items:center;justify-content:center;padding:2px;gap:0}.widget[data-widget=internal-design][data-mode=thumbnail] .internal-design-content img{width:100%;height:75px;object-fit:contain;pointer-events:none}.widget[data-widget=internal-design][data-mode=thumbnail] .internal-design-content strong{font-size:12px;pointer-events:none}.widget[data-widget=internal-design][data-mode=thumbnail] .internal-design-content span:not(.thumbnail-font){font-size:10px;pointer-events:none}.internal-plot[data-fullscreen-target]{height:100%!important;min-height:0!important}

.internal-design-content>a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;color:inherit;gap:0}

/* Auto Pilot USB firmware library: no project/aircraft dependencies. */
.auto-pilot{box-sizing:border-box;min-height:0;height:100%;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:7px;background:#f1f6fa;color:#173b5d}
.auto-pilot[data-mode=thumbnail]{position:relative;padding:0;overflow:hidden;background:#e8f2fa}
.auto-pilot-artwork{width:100%;height:100%;object-fit:cover;pointer-events:none}
.auto-pilot label{display:flex;flex-direction:column;gap:3px;font:600 12px Arial,sans-serif}
.auto-pilot select,.auto-pilot input{width:100%;min-width:0;box-sizing:border-box;padding:5px;font:12px Arial,sans-serif}
.auto-pilot-toolbar{display:flex;flex-wrap:wrap;gap:6px}.auto-pilot-toolbar button{font-size:12px;padding:5px 8px}
.auto-pilot-note,.auto-pilot-status{margin:0;font:11px/1.35 Arial,sans-serif;overflow-wrap:anywhere}.auto-pilot-status{font-weight:700}.auto-pilot progress{width:100%;flex-shrink:0}
.widget[data-type=auto-pilot][data-mode=expanded] .auto-pilot{max-height:none}

/* Thumbnail font: the Wing Box artwork label profile, reused by name. */
.thumbnail-font{font-family:inherit;font-size:20px;font-weight:700;line-height:1.05;color:white;text-shadow:0 2px 5px #173349,0 0 2px #173349;pointer-events:none}
.thumbnail-font.simulator-thumbnail-title{font-size:26px}
.auto-pilot-thumbnail-title{position:absolute;top:10px;left:4px;right:4px;text-align:center;white-space:nowrap}

.internal-toolbar .internal-door-angle{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.internal-door-angle input[type=range]{width:120px;min-width:70px}.internal-door-angle output{min-width:32px;text-align:right}

.internal-view-controls{position:absolute;right:10px;bottom:34px;z-index:3;display:flex;gap:6px;align-items:center}.internal-view-controls button{padding:5px 8px;font-size:11px}.volume-fuel-capacity,.fuel-capacity-warning,.fuel-tank-overload{font-size:11px;margin:3px 0}.internal-data-inset{max-width:320px}

.auto-pilot-live{border-top:1px solid #b8cbdc;margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:7px}.auto-pilot-live h4{margin:2px 0;font:700 13px Arial,sans-serif}.auto-pilot-live a{font-size:11px}.auto-pilot-telemetry details{border:1px solid #b8cbdc;border-radius:4px;background:white;margin:4px 0;font:11px/1.4 monospace}.auto-pilot-telemetry summary{padding:5px;cursor:pointer;overflow-wrap:anywhere}.auto-pilot-telemetry .stale summary{color:#8c5222}.auto-pilot-telemetry table{border-collapse:collapse;width:100%;table-layout:fixed}.auto-pilot-telemetry th,.auto-pilot-telemetry td{padding:4px;border-top:1px solid #dde6ed;text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:normal}.auto-pilot-telemetry th:nth-child(2){width:48%}.auto-pilot-live input[type=search]{font:12px Arial,sans-serif;padding:5px}

.auto-pilot-draft-guide{max-width:620px;color:#173b5d;border:1px solid #aac4dc;border-radius:8px;padding:20px;font:14px/1.5 system-ui}

.widget[data-widget=volume-model][data-mode=thumbnail] .volume-model-content{padding:4px}
.widget[data-widget=volume-model][data-mode=thumbnail] .volume-model-content th,.widget[data-widget=volume-model][data-mode=thumbnail] .volume-model-content td{padding:1px 2px;font-size:10px}
.widget[data-widget=volume-model][data-mode=thumbnail] .volume-model-content caption{margin-bottom:2px}
.widget[data-widget=volume-model][data-mode=thumbnail] .volume-fuel-capacity,.widget[data-widget=volume-model][data-mode=thumbnail] .fuel-capacity-warning,.widget[data-widget=volume-model][data-mode=thumbnail] .fuel-tank-overload{font-size:9.5px;line-height:1.1;margin:2px 0}

.mission-active-name{display:block;max-width:100%;text-align:center;overflow-wrap:anywhere;font-size:13px;font-weight:700}.mission-library-controls{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:center;max-width:100%;font-size:11px}.mission-library-controls label{display:flex;align-items:center;gap:4px;min-width:0}.mission-library-controls select{width:170px;max-width:100%}.mission-library-controls input:not([type=file]){width:170px}.mission-library-status{flex-basis:100%;color:#8b1e16}.mission-library-status:empty{display:none}.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-content .mission-active-name{font-size:11pt;line-height:1.15;flex:none;padding-bottom:3pt;max-height:calc(2.3em + 3pt);overflow:hidden}.widget[data-widget=mission-analysis][data-mode=thumbnail] .mission-content :is(.mission-total,.mission-radius-readout){margin-top:0!important}.widget[data-widget=mission-analysis][data-mode=medium] .mission-library-controls{flex:none}.widget[data-widget=mission-analysis][data-mode=medium] .mission-plot{max-height:calc(100% - 110px)}

/* Transposed mission editor: one leg per column, with the original controls. */
.mission-editor-panel table.mission-legs-columns{table-layout:fixed;width:calc(46px + var(--mission-leg-column-count)*44px);min-width:0;font-size:11px}
.mission-editor-panel .mission-legs-columns th:first-child{width:46px;min-width:46px;position:sticky;left:0;background:#edf3f8;z-index:1;text-align:left}
.mission-editor-panel .mission-legs-columns th:nth-child(3){width:auto}
.mission-legs-columns th,.mission-legs-columns td{box-sizing:border-box;white-space:nowrap;overflow:hidden}.mission-legs-columns td{width:44px;min-width:0;max-width:44px}
.mission-editor-panel .mission-legs-columns input,.mission-editor-panel .mission-legs-columns select{font-size:11px;min-width:0;max-width:100%;height:20px;padding:0 1px}.mission-editor-panel .mission-legs-columns select{appearance:none;padding-right:7px;background-image:linear-gradient(45deg,transparent 50%,#526679 50%),linear-gradient(135deg,#526679 50%,transparent 50%);background-position:calc(100% - 4px) 50%,calc(100% - 2px) 50%;background-size:2px 3px;background-repeat:no-repeat}.mission-legs-columns select option{font-size:11px}
.mission-legs-columns td.selected{background:#e0edff}
.mission-legs-columns td.mission-not-evaluated{box-shadow:inset 0 0 0 1px #808080}
.mission-legs-columns td.mission-q-exceeded{box-shadow:inset 0 0 0 1px #a020f0}
.mission-legs-columns td.mission-negative-ps{box-shadow:inset 0 0 0 1px #e00000}
.mission-legs-columns tr>:last-child{font-weight:700;border-left:2px solid #526679}

/* Inline mission field propagation, shown while editing its source value. */
.mission-copy-field{position:relative;display:block;min-width:0;width:100%}
.mission-editor-panel .mission-copy-field .mission-copy-forward{position:absolute;right:1px;top:1px;bottom:1px;width:10px;height:auto;padding:0;margin:0;border:0;border-left:1px solid #b5c6d5;border-radius:0 2px 2px 0;background:#e8f1fa;color:#173b5d;font:700 10px/1 Arial;cursor:pointer;visibility:hidden}
.mission-copy-field:focus-within .mission-copy-forward{visibility:visible}
.mission-editor-panel .mission-copy-field:focus-within input{padding-right:12px}
.mission-copy-forward:disabled{opacity:.4;cursor:default!important}
.mission-copy-forward:focus-visible{outline:2px solid #1976b9;outline-offset:-2px}

/* Auto Pilot: compact setup rows and radio/switch feedback. */
.auto-pilot-setup{display:flex;flex-direction:column;gap:8px;min-width:0}
.auto-pilot h4{margin:0;font:700 13px Arial,sans-serif}
.auto-pilot-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px 12px;min-width:0}
.auto-pilot-fields>label{min-width:0}
.auto-pilot-device-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0}
.auto-pilot-device-field>button{align-self:flex-start}
.auto-pilot-status:empty{display:none}
.auto-pilot details>summary{font:12px/1.4 Arial,sans-serif;cursor:pointer}
.auto-pilot details>.auto-pilot-note{margin-top:5px}
.auto-pilot-live{margin-top:2px;padding-top:10px;gap:8px}
.auto-pilot-controller{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:18px;align-items:start;padding:10px;border:1px solid #c8d8e4;border-radius:6px;background:#fff}
.auto-pilot-controller-controls{display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:2px}
.auto-pilot-controller-controls .auto-pilot-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.auto-pilot-radio{margin:0;min-width:0;text-align:center}
.auto-pilot-radio figcaption{font:700 12px/1.4 Arial,sans-serif;margin:0 0 2px}
.auto-pilot-radio svg{display:block;width:100%;max-width:320px;height:auto;margin:auto;user-select:none}
.auto-pilot-radio circle{fill:none;stroke-width:5;pointer-events:none;display:none}
.auto-pilot-radio-selection{stroke:#1674ff}
.auto-pilot-radio-movement{stroke:#00b840}
.auto-pilot-radio [data-selected=true] .auto-pilot-radio-selection,.auto-pilot-radio [data-moving=true] .auto-pilot-radio-movement{display:inline}
.auto-pilot-radio-legend{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font:11px/1.3 Arial,sans-serif;margin:4px 0 6px}
.auto-pilot-radio-key{display:inline-flex;align-items:center;gap:4px}
.auto-pilot-radio-key::before{content:'';width:10px;height:10px;border:2px solid #1674ff;border-radius:50%;box-sizing:border-box}
.auto-pilot-radio-key.movement::before{border-color:#00b840}
.auto-pilot-radio-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:5px;font:10px/1.5 monospace}
.auto-pilot-radio-values span{border:1px solid #d5e1e9;border-radius:3px;padding:1px 2px;white-space:nowrap}
.auto-pilot-radio-values .selected{background:#e9f2ff;border-color:#1674ff;color:#095acb}
.auto-pilot-radio-values .moving{box-shadow:inset 0 0 0 1px #00b840}
.auto-pilot-telemetry-header{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.auto-pilot-telemetry-header input[type=search]{flex:1 1 170px;width:auto;max-width:330px;margin-left:auto}
.auto-pilot-telemetry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:8px;align-items:start}
.auto-pilot-telemetry details{margin:0;min-width:0}
.auto-pilot-telemetry details>summary{font:11px/1.4 monospace}
@media(max-width:720px){.auto-pilot-controller{grid-template-columns:minmax(0,1fr);gap:12px}.auto-pilot-radio svg{max-width:270px}.auto-pilot-radio-values{max-width:340px;margin-left:auto;margin-right:auto}.auto-pilot-telemetry-header input[type=search]{max-width:none;margin-left:0}}

.mission-assumptions{padding:10px;border:1px solid #c5d2dc;border-radius:6px;background:#f5f8fc}
.mission-assumptions summary{cursor:pointer;font-weight:bold}
.mission-assumptions[open] summary{margin-bottom:8px}
.mission-ai-panel{flex:none}

.auto-pilot-live{border-top:0;margin-top:0;padding-top:0}
.auto-pilot-controller-controls>.auto-pilot-setup{padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid #d7e3ec}
.auto-pilot-telemetry{display:block;columns:310px;column-gap:8px}
.auto-pilot-telemetry details{break-inside:avoid;display:block;margin:0 0 8px}
.auto-pilot-telemetry details[hidden]{display:none}

.designer-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;margin-left:auto;min-width:0}
.designer-header-actions button{font:700 9px Arial;padding:3px 6px;min-height:22px}
.designer-header-actions button[aria-pressed=true]{background:#17699d;color:white;border-color:#17699d}

.aero-content .aero-overridden>th,.aero-content .aero-overridden>td{color:#800080;font-weight:700}
.aero-content .aero-override-source{white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:11px;padding-inline:8px;max-width:220px}

/* Aero thumbnail stability text follows the existing workbook warning thresholds. */
.widget[data-widget=aero][data-mode=thumbnail] .aero-stability>*{background:transparent;color:#008000;font-weight:700}
.widget[data-widget=aero][data-mode=thumbnail] .aero-stability-warning>*{color:#ff0000}
.widget[data-widget=aero][data-mode=thumbnail] .aero-stability-unavailable>*{color:#617487}
.aero-content .aero-interpretation-button{margin-left:6px;padding:3px 6px;font:400 11px Arial,sans-serif;color:#173b5d;vertical-align:middle}
.aero-ratio-dialog{width:min(760px,calc(100vw - 24px));max-height:85vh;overflow:auto;background:white;color:#173b5d}
.aero-ratio-dialog h2{margin-top:0}.aero-ratio-dialog>button{margin-top:10px}
.aero-ratio-tooltip{position:fixed;z-index:2147483646;width:min(460px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:hidden;padding:10px;border:1px solid #8ba5bb;border-radius:6px;background:#fffef0;color:#173b5d;box-shadow:0 3px 12px #0003;pointer-events:none;font:12px/1.4 Arial,sans-serif}
.aero-ratio-tooltip[hidden]{display:none}
.aero-ratio-tooltip table,.aero-ratio-dialog table{border-collapse:collapse;width:100%;font:inherit}
.aero-ratio-tooltip th,.aero-ratio-tooltip td,.aero-ratio-dialog th,.aero-ratio-dialog td{border:1px solid #b8cbdc;padding:7px;text-align:left;vertical-align:top;white-space:normal}
.aero-ratio-tooltip thead,.aero-ratio-dialog thead{background:#e8f2fa}
.aero-ratio-tooltip p,.aero-ratio-dialog p{font:inherit;color:inherit;margin:8px 0 0}

.auto-pilot-console-dialog{box-sizing:border-box;width:min(760px,94vw);max-width:94vw;max-height:92vh;overflow:auto;border:1px solid #9aafbe;border-radius:10px;padding:18px;color:#182c3d;background:#f7fafc}
.auto-pilot-console-dialog::backdrop{background:#14283c88}
.auto-pilot-console-dialog h3{margin:0 0 10px}.auto-pilot-console-dialog p,.auto-pilot-console-dialog label{font-size:13px;line-height:1.4}
.auto-pilot-console-dialog textarea{display:block;box-sizing:border-box;width:100%;min-width:0;resize:vertical;margin:6px 0 12px;padding:8px;font:12px/1.45 monospace;border:1px solid #a8bac8;border-radius:4px}
.auto-pilot-console-output{white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:35vh;min-height:100px;padding:10px;background:#14222d;color:#e0f0e7;font:12px/1.4 monospace}

.auto-pilot-attitude{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 10px}
.auto-pilot-attitude figure{margin:0;min-width:0;border:1px solid #c7d5e0;border-radius:10px;overflow:hidden;background:#f3f7fa}
.auto-pilot-attitude figcaption{padding:9px 12px;font:700 13px Arial,sans-serif;color:#24465e}
.auto-pilot-attitude canvas{display:block;width:100%;height:auto;aspect-ratio:42/29}
.auto-pilot-cube-view{position:relative}
.auto-pilot-attitude-status{position:absolute;top:8px;right:10px;max-width:calc(100% - 85px);box-sizing:border-box;margin:0;padding:5px 7px;border-radius:5px;background:#f3f7fae8;font:11px/1.4 system-ui;color:#24465e;text-align:right;pointer-events:none}
.auto-pilot-attitude[data-attitude-state=stale] canvas,.auto-pilot-attitude[data-attitude-state=waiting] canvas{opacity:.45}
.auto-pilot-attitude[data-attitude-state=stale] .auto-pilot-attitude-status{color:#9a4c16;font-weight:700}
@media(max-width:620px){.auto-pilot-attitude{grid-template-columns:minmax(0,1fr)}}

.auto-pilot-console-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.auto-pilot-console-header h3{margin:0;min-width:0}
.auto-pilot-console-header>button{flex-shrink:0}

.auto-pilot-firmware-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.auto-pilot-setup-fields .auto-pilot-toolbar{gap:4px}
.auto-pilot-setup-fields .auto-pilot-toolbar button{padding:4px 7px}

.auto-pilot-firmware-actions{display:grid;grid-template-columns:max-content max-content max-content;justify-content:start}
.auto-pilot-firmware-actions>button:last-child{grid-column:1/-1;justify-self:start}
@media(max-width:380px){.auto-pilot-firmware-actions{grid-template-columns:minmax(0,1fr)}.auto-pilot-firmware-actions>button{justify-self:start;max-width:100%}}

.auto-pilot-cube-footer{padding:10px}
.auto-pilot-calibration-actions{justify-content:center}
.auto-pilot-calibration-dialog{box-sizing:border-box;width:min(700px,94vw);max-height:92vh;overflow:auto;padding:18px;border:1px solid #9aafbe;border-radius:10px;background:#f7fafc;color:#182c3d}
.auto-pilot-calibration-dialog::backdrop{background:#14283c88}
.auto-pilot-calibration-dialog p{font:13px/1.5 system-ui}
.auto-pilot-calibration-dialog progress{width:100%;margin:10px 0}
.auto-pilot-calibration-sides:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.auto-pilot-calibration-sides>div{padding:10px;border:1px solid #bbcbd6;border-radius:6px;background:#eaf0f5;font:13px system-ui}
.auto-pilot-calibration-sides>[data-state=measuring]{background:#fff0bd;border-color:#bb891a}
.auto-pilot-calibration-sides>[data-state=done]{background:#d9f3e1;border-color:#37905b}
.auto-pilot-calibration-log{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;padding:10px;background:#14222d;color:#e0f0e7;font:12px/1.4 monospace}

.auto-pilot-connect:enabled{background:#17699d;border-color:#17699d;color:#fff}
.auto-pilot-connect:enabled:hover{background:#12547e;border-color:#12547e;color:#fff}

.auto-pilot-attitude{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);align-items:stretch}
.auto-pilot-map-figure{display:flex;flex-direction:column}
.auto-pilot-map-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:0 9px 8px}
.auto-pilot-map-tools button,.auto-pilot-map-tools select{padding:4px 7px;font-size:11px;max-width:100%}
.auto-pilot-map-tools button[aria-pressed=true]{background:#17699d;color:white}
.auto-pilot-map-surface{position:relative;flex:1;min-height:350px;isolation:isolate;background:#dbe5ea}
.auto-pilot-map{position:absolute;inset:0;width:100%;height:100%;z-index:0;touch-action:none}
.auto-pilot-adi-overlay{position:absolute!important;top:9px;right:9px;width:clamp(120px,27%,175px);z-index:500;pointer-events:none;box-shadow:none;background:transparent!important}
.auto-pilot-adi-overlay figcaption{padding:4px 6px!important;font-size:10px!important;color:#eef5fa!important;background:#172534}
.auto-pilot-adi-overlay canvas{aspect-ratio:30/29}
.auto-pilot-map-north{position:absolute;left:54px;top:10px;z-index:500;padding:4px 7px;background:#ffffffe8;border-radius:4px;font-weight:700;pointer-events:none}
.auto-pilot-map-status{padding:7px 9px;margin:0;font:11px/1.4 system-ui;min-height:30px}
.auto-pilot-map .leaflet-control-attribution{font:9px/1.35 system-ui;max-width:100%}
.auto-pilot-map .leaflet-container{font:12px system-ui}
.auto-pilot-position-marker{background:transparent;border:0}
.auto-pilot-position-marker svg{width:40px;height:40px;filter:drop-shadow(0 1px 3px #0009);transform-origin:center}
.auto-pilot-position-marker[data-state=stale]{opacity:.5}
.auto-pilot-position-dot{display:block;width:16px;height:16px;margin:12px;background:#ff8b20;border:3px solid white;border-radius:50%;box-shadow:0 1px 4px #0008}
@media(max-width:720px){.auto-pilot-attitude{grid-template-columns:minmax(0,1fr)}.auto-pilot-map-surface{min-height:400px}}

.auto-pilot-map-location-banner{position:absolute;left:0;right:0;bottom:42px;z-index:450;padding:10px 14px;background:#713c12ed;color:#fff;border-top:1px solid #ffd28b;border-bottom:1px solid #ffd28b;font:700 12px/1.4 system-ui;text-align:center;pointer-events:none}

.auto-pilot-map-tools{flex-wrap:nowrap;padding-top:8px}
.auto-pilot-map-tools>button{flex:0 0 auto}
.auto-pilot-map-tools>select{flex:1 1 0;min-width:0;width:auto}

.auto-pilot-attitude .auto-pilot-adi-overlay{border:0;border-radius:0;overflow:visible;background:transparent!important}
.auto-pilot-adi-resize{position:absolute;left:0;bottom:0;width:22px;height:22px;padding:0;border:1px solid #d0e2ef;border-radius:4px;background:#173b5dbf;color:white;font:16px/20px system-ui;cursor:nesw-resize;pointer-events:auto;touch-action:none}
.auto-pilot-adi-resize:hover{background:#17699d;color:white}
.auto-pilot-adi-resize:focus-visible{outline:2px solid #fff;outline-offset:2px}

.auto-pilot-cube-view>.auto-pilot-adi-overlay{top:52px}

.auto-pilot-readouts>summary{padding:9px 11px;border:1px solid #b8cbdc;border-radius:6px;background:#f7fafc;font-weight:700!important}
.auto-pilot-readouts-tools{display:flex;justify-content:flex-end;margin:8px 0}
.auto-pilot-readouts-tools input{width:min(100%,330px)}
.auto-pilot-readouts>details{margin:8px 0}

.auto-pilot-setup-panel{min-width:0;border:1px solid #9fb8cc;border-radius:8px;background:#fff;overflow:hidden;flex-shrink:0}
.auto-pilot-setup-panel>summary{padding:10px 12px;background:#e5eff7;color:#173b5d;font-weight:700!important}
.auto-pilot-setup-panel[open]>summary{border-bottom:1px solid #b8cbdc}
.auto-pilot-setup-panel>.auto-pilot-controller{border:0;border-radius:0;padding:12px;background:transparent}

.auto-pilot-map-provider-banner{position:absolute;left:16px;right:16px;top:40%;z-index:440;padding:14px;background:#f7fafcf2;color:#173b5d;border:1px solid #8ea7bb;border-radius:6px;text-align:center;font:13px/1.5 system-ui;pointer-events:none}
.auto-pilot-map-keys{padding:0 9px 8px;font:11px system-ui}
.auto-pilot-map-key-fields{display:grid;gap:6px;margin:8px 0}
.auto-pilot-map-key-fields label{display:grid;gap:3px}
.auto-pilot-map-key-fields input{min-width:0;width:100%;padding:5px}
.auto-pilot-map-remember{display:flex;align-items:center;gap:5px;margin-bottom:7px}
.auto-pilot-map-remember input{width:auto}
.auto-pilot-map-keys p{margin:5px 0;font:11px/1.4 system-ui}

/* BLUF thumbnails contain cached pixels only; expanded keeps the shared renderer. */
.bluf-thumbnail{display:grid;place-items:center;position:relative;width:100%;height:100%;overflow:hidden}
.bluf-thumbnail img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.bluf-thumbnail-label{font:700 20px/1.05 Arial,sans-serif;color:var(--ink)}
.render-content:has(.bluf-preparing){position:relative}
.bluf-preparing{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 14px;border-radius:8px;background:#ffffffe6;box-shadow:0 2px 10px #0003;pointer-events:none;z-index:3}
.bluf-preparing[hidden]{display:none}
.bluf-hourglass{display:block;font-size:32px;line-height:1;animation:loader-hourglass-spin 1.2s linear infinite}
@media(prefers-reduced-motion:reduce){.bluf-hourglass{animation:none}}
.risks-content{overflow:auto;padding:10px;box-sizing:border-box;background:#fff;color:#172b40}
.risks-thumbnail{padding:0!important;overflow:hidden;position:relative;display:grid;place-items:center;background:white}
.risks-thumbnail-artwork{position:absolute;inset:18px 0 0;display:grid;place-items:center;pointer-events:none}
.risks-thumbnail-plot{position:relative;overflow:hidden;width:100%;max-height:100%;aspect-ratio:570/383;pointer-events:none}
.risks-thumbnail-plot img{position:absolute;width:168.421%;max-width:none;height:auto;left:-6.14%;top:-52.48%;pointer-events:none}
.risks-thumbnail-title{pointer-events:none}
.risks-overall{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:13px;margin-bottom:8px}
.risks-overall strong{padding:8px 12px;border-radius:5px}.risks-overall span{color:#526273}
.risks-plot{max-width:680px;margin:auto;touch-action:none}.risks-plot svg{display:block;width:100%;height:auto;max-height:520px}
.risks-status{font-size:12px;min-height:16px;margin:6px 0}.risks-status.error{color:#b91c1c}
.risks-toolbar{display:flex;align-items:center;gap:8px;margin:8px 0}.risks-toolbar span{margin-left:auto;font-size:11px;color:#526273}
.risks-table-scroller{width:100%;overflow:auto}.risks-table{border-collapse:collapse;min-width:0;width:max-content;table-layout:fixed;font:12px Arial,sans-serif;background:white}
.risks-table caption{font:bold 19px Arial;padding:10px;border:2px solid #173b5d;color:#173b5d;background:#e8f2fa;text-align:left}
.risks-table th,.risks-table td{border:1px solid #98afbf;padding:6px;vertical-align:top;overflow-wrap:anywhere}
.risks-table th{background:#173b5d;color:white;text-align:center;position:sticky;top:0;z-index:1}
.risks-column-resize{position:absolute;right:-4px;top:0;bottom:0;width:9px;z-index:2;cursor:col-resize;touch-action:none}
.risks-column-resize::after{content:"";position:absolute;top:25%;bottom:25%;left:3px;border-left:3px solid #aac4dc}
.risks-column-resize:focus-visible{outline:2px solid #90cd4b}
.risks-table select{width:100%;min-width:0;font:inherit;padding:4px}.risks-cell-editor{min-height:30px;white-space:pre-wrap;outline:none}.risks-cell-editor:focus{box-shadow:inset 0 0 0 2px #4b90bb;background:#f0f8ff}
.risks-score{font-weight:bold;text-align:center}.risks-number{position:relative;text-align:center}.risks-delete{visibility:hidden;display:block;font-size:10px;margin:5px auto 0}.risks-number:hover .risks-delete,.risks-number:focus-within .risks-delete{visibility:visible}
.risks-artifact-links a{display:block;margin-top:4px}.risks-artifact-dialog{max-width:480px}.risks-artifact-dialog::backdrop{background:#0006}.risks-artifact-dialog label{display:grid;gap:8px}.risks-artifact-dialog p{font-size:12px}.risks-artifact-dialog button{margin-right:8px}
.risks-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#f8fbfd;border:1px solid #aac4dc;padding:5px 8px}
.risks-actions .risks-toolbar{flex-wrap:wrap;margin:0}
.risks-zoom-tools{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;padding:5px 0}
.risks-actions button,.risks-zoom-tools button{padding:5px 10px;font-size:12px}
.risks-zoom-tools output{min-width:46px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}
.risks-workspace{display:grid;grid-template-columns:minmax(240px,32%) minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.risks-plot-panel,.risks-workspace .risks-table-scroller{min-width:0}
.risks-plot{overflow:auto;max-height:520px}
.risks-workspace .risks-plot{width:100%;margin:0}
.risks-plot svg{max-width:none}
.risks-workspace .risks-table-scroller{max-height:540px}
.risks-table .risks-definitions-heading{height:40px;box-sizing:border-box;padding:4px}
.risks-definitions-heading button{padding:4px 8px;font-size:12px;white-space:nowrap}
.risks-table .risks-assessment-headings th{top:40px}
.risks-definitions-dialog{width:min(900px,calc(100vw - 40px));max-height:85vh;box-sizing:border-box;overflow:auto;padding:20px;border:1px solid #aac4dc;border-radius:10px;background:#fff;color:#173b5d;font:14px/1.45 Arial,sans-serif}
.risks-definitions-dialog::backdrop{background:#173b5d88}
.risks-definitions-dialog h2{margin:0 0 10px}.risks-definitions-dialog h3{margin:20px 0 8px}
.risks-definitions-dialog table{width:100%;border-collapse:collapse;margin:10px 0;font:13px/1.4 Arial,sans-serif}
.risks-definitions-dialog th,.risks-definitions-dialog td{border:1px solid #aac4dc;text-align:left;vertical-align:top;padding:7px}
.risks-definitions-dialog thead{background:#173b5d;color:white}.risks-definitions-dialog tbody th{background:#e8f2fa;min-width:135px}
.risks-definitions-dialog a{color:#075b9b;text-decoration:underline}.risks-definition-source{font-size:12px}
.risks-definitions-dialog>button{padding:6px 16px}
.risks-release{padding:3px 16px}.risks-release .data-rights{font-size:4pt}.risks-release .version{font-size:6px}
.risks-page-header{padding:12px 16px;background:white;border-bottom:1px solid #c7d5e0}.risks-page-header h1{font-size:24px;margin:0 0 8px}.risks-page-header p{font-size:13px}.risks-page-header .error{color:#b00020}
#risksPage{max-width:none;margin:0;padding:12px 16px}
#risksPage .risks-content{overflow:visible;padding:0}
#risksPage .risks-workspace .risks-table-scroller{max-height:calc(100vh - 250px)}
.risks-plot-actions{display:flex;justify-content:flex-end;margin-bottom:4px}
.risks-plot-actions button,.risks-table caption button{padding:5px 10px;font-size:12px}
.risks-table caption button{margin-left:16px;vertical-align:middle}

.hoq-thumbnail-artwork{position:absolute;top:18px;left:0;width:100%;height:calc(100% - 18px);object-fit:contain;pointer-events:none}

/* Controller graph editor: fixed-runtime ABI 1. */
.controller-designer{width:min(1500px,96vw);max-width:96vw;max-height:94vh;padding:16px;border:1px solid #b6c7d7;border-radius:10px;background:#f5f8fc;color:#17263a;box-sizing:border-box}
.controller-designer::backdrop{background:#14283d99}
.controller-designer-head,.controller-designer-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.controller-designer-head{justify-content:space-between}.controller-designer-head h3{margin:0}.controller-designer p{margin:6px 0;font-size:13px}.controller-designer details{margin-top:8px}.controller-designer-status{min-height:32px}
.controller-graph-scroll{position:relative;height:55vh;min-height:300px;overflow:auto;border:1px solid #c7d5e0;background:#e6edf5;overscroll-behavior:contain}
.controller-graph-canvas{position:relative;width:4400px;height:4350px;background-image:radial-gradient(#b5c5d8 1px,transparent 1px);background-size:20px 20px;transform-origin:top left}
.controller-block{position:absolute;width:220px;padding:0 8px 8px;box-sizing:border-box;background:white;border:1px solid #8ca8c3;border-radius:6px;box-shadow:0 2px 5px #173b5d22;font-size:12px;z-index:1}
.controller-block-grip{margin:0 -8px 5px;padding:7px;background:#173b5d;color:white;cursor:move;touch-action:none;border-radius:5px 5px 0 0}
.controller-block label{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:3px 0}.controller-block input,.controller-block select{width:136px;min-width:0;font:12px Arial,sans-serif}.controller-block button{font-size:11px;margin-top:4px}
.controller-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.controller-wires path{fill:none;stroke:#3474ae;stroke-width:2}
.controller-output-bindings{position:absolute;left:1360px;top:330px;background:white;border:1px solid #8ca8c3;border-radius:6px;padding:12px;width:260px}.controller-output-bindings h4{margin:0 0 8px}.controller-output-bindings label{display:flex;justify-content:space-between;margin:6px 0}.controller-output-bindings select{width:180px}
.controller-input-catalog{max-height:220px;overflow:auto}.controller-designer-toolbar select{max-width:180px}

.internal-editor-panel{min-width:0;align-self:start;border:1px solid #c9d7e2;border-radius:5px;padding:7px}.internal-editor-panel>summary{font-weight:700;cursor:pointer}.internal-editor-panel[open]>summary{margin-bottom:6px}.internal-editor-panel>fieldset{margin:0;border:0;padding:0}.internal-editor-wide{grid-column:1/-1}.internal-editor-panel>.internal-weight-table{width:100%}

/* Login project actions and guided JSON merge. */
.login-team-projects-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.login-team-projects-heading h4{margin:0}.login-content .login-team-projects-heading>button{width:auto;margin:0;font-size:11px;padding:5px 8px}
.login-merge-dialog{box-sizing:border-box;width:min(650px,94vw);max-height:92vh;padding:20px;border:1px solid #91afc7;border-radius:10px;color:#173b5d;background:#f8fbfe}.login-merge-dialog::backdrop{background:#102b49b3}.login-merge-dialog h2{margin:0 0 8px}.login-merge-dialog button{font:inherit;font-size:12px;cursor:pointer;padding:6px 10px;border:1px solid #9ab4ca;border-radius:5px;background:white;color:#173b5d}.login-merge-dialog button.primary{background:#17699d;border-color:#17699d;color:white}.login-merge-dialog button:disabled{opacity:.5;cursor:default}.login-merge-dialog button:focus-visible,.login-merge-dialog input:focus-visible{outline:3px solid #237db7;outline-offset:2px}.login-merge-status{margin:8px 0;min-height:20px;font-weight:600;overflow-wrap:anywhere}.login-merge-status.error{color:#a51c26}.login-merge-projects{max-height:55vh;overflow:auto}.login-merge-footer{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid #cfdeeb;padding-top:12px;margin-top:12px}.login-merge-name-fields{display:flex;gap:12px;flex-wrap:wrap;flex:1}.login-merge-name-fields label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px;font-size:12px}.login-merge-name-fields input{box-sizing:border-box;width:100%;min-width:0;padding:8px;border:1px solid #9ab4ca;border-radius:4px;font:inherit;color:#173b5d;background:#fff}
.login-merge-dialog.login-merge-fullscreen{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;padding:16px;display:flex;flex-direction:column;overflow:hidden}.login-merge-fullscreen>.login-merge-body{display:flex;flex-direction:column;flex:1;min-height:0}.login-merge-help{font-size:12px;margin:0 0 10px;color:#526b80}.login-merge-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.login-merge-column-titles{flex:none;border:1px solid #bfcede;background:#e6eff7}.login-merge-column-titles h3{font-size:13px;padding:10px;margin:0;overflow-wrap:anywhere;border-right:1px solid #bfcede}.login-merge-column-titles h3:nth-child(2){background:#d8eee5}.login-merge-scroll{overflow:auto;min-height:0;flex:1;border:1px solid #bfcede;border-top:0;background:white;scrollbar-gutter:stable}.login-merge-row{border-bottom:1px solid #e0e7ef}.login-merge-cell{min-width:0;padding:8px;border-right:1px solid #e0e7ef}.login-merge-cell[data-side=merged]{background:#f1faf5}.login-merge-value{display:flex;align-items:flex-start;padding-left:min(calc(var(--merge-depth)*12px),72px);min-width:0}.login-merge-value code{font:12px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.login-merge-dialog .login-merge-expand,.login-merge-indent{display:inline-block;flex:0 0 22px;width:22px;padding:0;border:0;background:transparent;font-size:16px;line-height:20px}.login-merge-current>.login-merge-cell:not([data-side=merged]){background:#fff0c4;box-shadow:inset 0 0 0 2px #c78d1d}.login-merge-choice{cursor:pointer}.login-merge-choice:hover{background:#ffe6a0!important}.login-merge-choice-actions{display:flex;gap:6px;margin:0 0 8px}.login-merge-dialog .login-merge-change{font-size:10px;padding:2px 6px;margin:5px 0 0 22px}.login-merge-equal{color:#647b8c}.login-merge-fullscreen .login-merge-footer{flex:none}.login-merge-fullscreen .login-merge-name-fields{max-width:600px}@media(max-width:650px){.login-merge-dialog.login-merge-fullscreen{padding:8px}.login-merge-cell{padding:4px}.login-merge-value{padding-left:min(calc(var(--merge-depth)*6px),30px)}.login-merge-value code{font-size:10px}.login-merge-column-titles h3{font-size:11px;padding:6px}.login-merge-choice-actions{flex-wrap:wrap}}
.login-merge-difference{display:block;margin:4px 0 0 22px;color:#825a13;font-size:11px;font-weight:600}
.login-merge-cell[data-side=merged].login-merge-changed{background:#f0e2ff;color:#5b2387}.login-merge-level-controls{display:flex;flex:none;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.login-merge-value-different{outline:3px solid #16803c;outline-offset:-3px}

/* Merge provenance and the expanded branch currently under consideration. */
.login-merge-choice{cursor:default}.login-merge-choice:hover{background:#fff0c4!important}
.login-merge-source{flex:0 0 34px;width:34px;text-align:center;font-size:30px;font-weight:900;line-height:32px;-webkit-text-stroke:.7px currentColor;color:#176b3a}
.login-merge-source[data-source=pending]{color:#8a5b12}
.login-merge-tree{position:relative;min-width:0}.login-merge-branch-guides{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:2}
.login-merge-branch-guides path{fill:none;stroke:#16803c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.login-merge-branch-member>.login-merge-cell{border-left:2px solid #775314;border-right:2px solid #775314}
.login-merge-branch-start>.login-merge-cell{border-top:3px solid #775314}
.login-merge-branch-end>.login-merge-cell{border-bottom:3px solid #775314}
.login-merge-ancestor>.login-merge-cell{box-shadow:inset 0 0 0 2px #775314}

.login-merge-choice-actions{padding-left:min(calc(var(--merge-depth)*12px + 22px),94px)}

/* Internal Design viewport annotations and read-only loading envelope. */
.internal-view-controls{bottom:10px;max-width:calc(100% - 20px);flex-wrap:wrap;justify-content:flex-end}
.internal-view-controls button[aria-pressed=true].internal-declutter{background:#173b5d;color:white}
.internal-potato{margin:0;position:absolute;z-index:3;width:min(340px,calc(100% - 16px));box-sizing:border-box;border:1px solid #bdcedb;border-radius:6px;background:#fffffff2;color:#173b5d;box-shadow:0 2px 6px #173b5d18}
.internal-potato>summary{padding:6px 8px;font:700 11px/16px Arial,sans-serif;cursor:move;touch-action:none;user-select:none}
.internal-potato>svg{display:block;position:static;width:100%;height:auto;aspect-ratio:440/280;touch-action:none}
.internal-potato:not([open])>svg{display:none}
.internal-potato text{font:9px Arial,sans-serif}
.internal-potato .potato-grid{stroke:#dce5ed;stroke-width:.6}
.internal-potato .potato-limit{stroke:#111;stroke-width:1}
.internal-plot[data-declutter=true]>svg text,.internal-plot[data-declutter=true]>svg .plot-legend,.internal-plot[data-declutter=true] .internal-data-inset,.internal-plot[data-declutter=true] .internal-potato :is(text,.potato-grid){visibility:hidden}

/* Compact Internal Design panel stack follows the potato inset inside the viewport. */
.internal-sidebar{position:absolute;left:0;top:0;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:max-content;max-width:calc(100% - 16px);max-height:calc(100% - 52px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:none;padding:0 3px 3px 0;box-sizing:border-box}
.internal-sidebar>*{pointer-events:auto}
.internal-sidebar .internal-potato{position:relative;left:auto;top:auto;width:340px;max-width:100%;flex:none}
.internal-sidebar .internal-potato:not([open]){width:260px}
.internal-sidebar .internal-editor{display:flex;flex-direction:column;gap:6px;width:max-content;max-width:100%;padding:0;margin:0;flex:none}
.internal-design-content :is(.internal-potato,.internal-editor-panel){box-sizing:border-box;margin:0;border:1px solid #bdcedb;border-radius:6px;background:#fffffff5;color:#173b5d;box-shadow:0 1px 4px #173b5d12;padding:0;min-width:0;max-width:100%}
.internal-design-content .internal-editor-panel{width:260px}
.internal-design-content .internal-editor-panel[open]{width:520px}
.internal-design-content :is(.internal-potato,.internal-editor-panel)>summary{box-sizing:border-box;margin:0;padding:7px 9px;min-height:30px;font:700 11px/16px Arial,sans-serif;list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer}
.internal-design-content :is(.internal-potato,.internal-editor-panel)>summary::-webkit-details-marker{display:none}
.internal-design-content :is(.internal-potato,.internal-editor-panel)>summary::before{content:'\25b8';width:9px;flex:none;color:#526b7c}
.internal-design-content :is(.internal-potato,.internal-editor-panel)[open]>summary::before{content:'\25be'}
.internal-design-content :is(.internal-potato,.internal-editor-panel)[open]>summary{border-bottom:1px solid #d8e3eb}
.internal-workspace>.internal-sidebar:has(.internal-payload-heading){width:130px;max-width:calc(100vw - 32px)}
.internal-workspace .internal-sidebar .internal-editor-panel[data-internal-panel="Payloads"]:not([open]){width:130px}
.internal-workspace .internal-sidebar .internal-editor-panel>summary.internal-payload-heading{display:flex;height:26px;min-height:26px;padding:2px 5px}
.internal-workspace .internal-sidebar .internal-editor-panel>summary.internal-payload-heading::before{margin-right:0}
.internal-design-content .internal-editor-panel>summary .internal-new-payload{margin-left:auto;width:44px;min-width:0;padding:0 2px;font:10px/10px Arial,sans-serif;white-space:normal;flex:0 0 44px}
.internal-sidebar .internal-potato>summary{cursor:move}
.internal-design-content .internal-editor-panel>:not(summary){margin:0;padding:9px;box-sizing:border-box;min-width:0}
.internal-design-content .internal-editor-panel>table{width:100%;font-size:11px}
.internal-design-content .internal-editor-panel>fieldset{border:0;padding:9px;min-width:0}
.internal-design-content .internal-editor-panel :is(input,select){max-width:100%;box-sizing:border-box}
.internal-visibility-controls{display:flex;gap:16px;margin-bottom:8px}
.internal-sidebar .internal-door-angle{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #d8e3eb}
.internal-sidebar .internal-door-angle input{flex:1;min-width:80px}
.internal-design-content .internal-notes{font-size:11px;line-height:1.5}

/* Structure inputs and reports share one consistently spaced panel. */
.internal-footer{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;margin-top:8px}
.internal-structure-editor{display:flex;flex-direction:column;gap:10px}
.internal-editor .internal-structure-editor .internal-field-grid{grid-template-columns:minmax(0,1fr);gap:6px}
.internal-editor .internal-structure-editor label{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:12px;margin:0;font:11px/1.4 Arial,sans-serif}
.internal-editor .internal-structure-editor :is(input[type=number],select){width:130px;min-height:28px;padding:4px 6px;font:11px/1.4 Arial,sans-serif;border:1px solid #bdcedb;border-radius:4px;background:white}
.internal-editor .internal-structure-editor label:has(input[type=checkbox]){display:flex;justify-content:flex-start;gap:7px}
.internal-editor .internal-structure-editor input[type=checkbox]{width:14px;height:14px;margin:0}
.internal-structure-editor .internal-weight-table{width:100%;font:11px/1.4 Arial,sans-serif;margin:2px 0 0;border-top:1px solid #d8e3eb}
.internal-structure-editor .internal-weight-table caption{caption-side:top;text-align:left;padding:8px 0;font:700 11px/16px Arial,sans-serif}
.internal-structure-editor .internal-weight-table :is(th,td){padding:6px 8px}
.internal-structure-editor .internal-weight-table th{font-weight:400}
.internal-structure-editor .internal-weight-total :is(th,td){font-weight:700;border-top:1px solid #bdcedb;border-bottom:0}
.internal-footer .internal-diagnostics p{font-size:11px;line-height:1.5;margin:0}

.master-download-footer{display:flex;justify-content:center;padding:20px 12px 28px;margin-top:12px;border-top:1px solid #d4e0e8}
.master-download-footer .master-download{padding:8px 12px}
body:not([data-login-ready=true]) .master-download-footer{display:none}

/* Reserve the collapsed control width; expanded panels overlay the fixed plot. */
.internal-workspace{position:relative;max-width:100%;display:grid;grid-template-columns:130px minmax(0,1fr);width:100%;height:clamp(360px,67.2vh,864px);min-width:0;gap:0;align-items:stretch}
.internal-workspace>.internal-plot{width:100%;height:100%;min-width:0;box-sizing:border-box}
.internal-workspace>.internal-sidebar{position:relative;left:auto!important;top:auto!important;width:130px;max-width:45vw;max-height:100%;height:100%;padding:0;gap:0;pointer-events:auto;overflow:auto;box-sizing:border-box}
.internal-workspace>.internal-sidebar:has(.internal-editor-panel[open]){width:260px}
.internal-workspace>.internal-sidebar:has(>.internal-potato[open]){width:340px;max-width:calc(100vw - 32px)}
.internal-workspace .internal-sidebar>.internal-potato{width:340px;max-width:100%}
.internal-workspace .internal-sidebar>.internal-potato:not([open]){width:130px}
.internal-workspace .internal-sidebar .internal-editor{gap:0;width:100%;max-width:100%}
.internal-workspace .internal-sidebar .internal-editor-panel{width:130px}
.internal-workspace .internal-sidebar .internal-editor-panel[open]{width:260px}
.internal-workspace>.internal-sidebar:has(.internal-editor-panel[data-internal-panel="Fuselage"][open]){width:520px;max-width:calc(100vw - 32px)}
.internal-workspace .internal-sidebar [data-internal-panel="Fuselage"][open]{width:520px}
.internal-editor .internal-structure-editor label:has(select){grid-template-columns:minmax(0,1fr) 180px}
.internal-editor .internal-structure-editor select{width:180px}
.internal-workspace .internal-sidebar :is(.internal-potato,.internal-editor-panel)>summary{min-height:0;height:20px;padding:2px 5px;gap:4px;line-height:16px;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis}
.internal-workspace .internal-sidebar :is(.internal-potato,.internal-editor-panel)>summary::before{display:inline-block;margin-right:4px;width:7px}
.internal-workspace .internal-sidebar :is(.internal-potato,.internal-editor-panel):not([open]){background:rgb(255 255 255 / 50%);border-color:rgb(189 206 219 / 50%);box-shadow:none;color:#173b5d}
.internal-workspace .internal-sidebar :is(.internal-potato,.internal-editor-panel)[open]{background:white}
.internal-workspace .internal-sidebar .internal-potato>summary{cursor:pointer}
.internal-plot>.internal-data-inset{position:absolute;z-index:3;width:240px;max-width:calc(100% - 12px);box-sizing:border-box;margin:0;padding:5px;border:1px solid #bdcedb;border-radius:5px;background:#fffffff0;color:#173b5d;font:6pt/1.4 Arial,sans-serif;cursor:move;user-select:none;touch-action:none;overflow-wrap:anywhere}

.internal-gear-installation-note{font:11px/1.4 Arial,sans-serif;margin:0 0 8px}
.internal-gear-installation{margin:0 0 8px!important}
.internal-gear-installation legend{font:700 11px/16px Arial,sans-serif}
.internal-gear-installation input[readonly]{background:#eef3f7;color:#526b7c}

.internal-workspace>.pane-resize-handle{right:3px;bottom:3px;z-index:5}
.internal-workspace .internal-view-controls{right:44px}
.internal-workspace>.internal-sidebar:has(>.internal-potato[open]){width:var(--potato-width,340px)}
.internal-workspace .internal-sidebar>.internal-potato[open]{width:var(--potato-width,340px);height:var(--potato-height,auto)}
.internal-potato[open]{display:flex;flex-direction:column}
.internal-potato[open]>summary{flex:none}
.internal-potato[open]>svg{flex:1;min-height:0}
.internal-potato:not([open])>.potato-resize-handle{display:none}
.internal-potato>.potato-resize-handle{right:1px;bottom:1px;z-index:4;touch-action:none}

.login-instructor-review[hidden]{display:none}

.instructor-users details{margin:8px 0}
.instructor-users .login-team-toolbar>span{flex:1;overflow-wrap:anywhere}
.instructor-users .danger{background:#b3261e;border-color:#b3261e;color:#fff}
.instructor-users .danger:hover{background:#921e18}

.instructor-users .instructor-user-empty{border:2px solid #ed8b23;border-radius:6px;padding:8px}

.performance-plot-controls{display:flex;gap:8px;align-items:center;padding:7px 10px;flex:none;background:#f3f8fc}.plot-font-controls button{padding:5px 8px;font-size:12px}
