/* NovaSolver simulator UX template v1 */

html.ux-template-v1{scroll-behavior:smooth}
body.ux-template-v1-page .main{
  max-width:1200px;
  grid-template-columns:300px 1fr;
  gap:20px;
}
body.ux-template-v1-page .main>.explanation{
  grid-column:1/-1;
  width:100%;
  max-width:min(1200px,100%);
  justify-self:center;
  box-sizing:border-box;
}
body.ux-template-v1-page .main>.explanation .fblock,
body.ux-template-v1-page .main>.explanation .chat,
body.ux-template-v1-page .main>.explanation .faq-section{
  box-sizing:border-box;
  width:100%;
}
body.ux-template-v1-page .panel,
body.ux-template-v1-page .controls{
  position:sticky;
  top:72px;
  max-height:calc(100vh - 88px);
  overflow:auto;
  scrollbar-width:thin;
}
body.ux-template-v1-page .viz-panel,
body.ux-template-v1-page .charts-area,
body.ux-template-v1-page .right-col{
  display:flex;
  flex-direction:column;
  gap:clamp(14px,1.35vw,20px);
}
body.ux-template-v1-page .tab-btns,
body.ux-template-v1-page .tab-buttons,
body.ux-template-v1-page .tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
body.ux-template-v1-page .tab-btn{
  appearance:none;
  border:1px solid rgba(111,124,139,.32);
  border-radius:8px;
  background:#fff;
  color:#344256;
  font:600 .9rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding:8px 12px;
  min-height:36px;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
body.ux-template-v1-page .tab-btn:hover{
  border-color:rgba(0,123,255,.46);
  color:#075fb8;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
body.ux-template-v1-page .tab-btn.active,
body.ux-template-v1-page .tab-btn[aria-selected="true"]{
  border-color:var(--accent,#007BFF);
  background:rgba(0,123,255,.1);
  color:var(--accent,#007BFF);
}
body.ux-template-v1-page .chart-card,
body.ux-template-v1-page .chart-card-inline{
  overflow:hidden;
}
body.ux-template-v1-page .chart-card{
  padding:clamp(16px,1.55vw,24px);
}
body.ux-template-v1-page .chart-card-inline{
  padding:clamp(14px,1.35vw,20px);
}
body.ux-template-v1-page .ux-repaired-result-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:clamp(8px,1vw,12px);
}
body.ux-template-v1-page .param-group:has(> .param-label .num-wrap)>input.num-input[id$="Num"],
body.ux-template-v1-page .param-group:has(> .slider-label .num-wrap)>input.num-input[id$="Num"],
body.ux-template-v1-page .slider-group:has(> .slider-label .num-wrap)>input.num-input[id$="Num"],
body.ux-template-v1-page .control-group:has(.num-wrap)>input.num-input[id$="Num"],
body.ux-template-v1-page .ctrl-group:has(> label .num-wrap)>input.num-input[id$="Num"],
body.ux-template-v1-page .field:has(> label .num-wrap)>input.num-input[id$="Num"]{
  display:none!important;
}
.ux-hidden-duplicate-num{
  display:none!important;
}
body.ux-template-v1-page .panel>.panel-title:last-child,
body.ux-template-v1-page .panel>.section-title:last-child,
body.ux-template-v1-page .controls>.panel-title:last-child,
body.ux-template-v1-page .controls>.section-title:last-child,
body.ux-template-v1-page .controls>h2:last-child,
body.ux-template-v1-page .controls>h3:last-child{
  display:none!important;
}
body.ux-template-v1-page .panel>.divider:has(+ .panel-title:last-child),
body.ux-template-v1-page .panel>.divider:has(+ .section-title:last-child),
body.ux-template-v1-page .controls>.divider:has(+ .panel-title:last-child),
body.ux-template-v1-page .controls>.divider:has(+ .section-title:last-child){
  display:none!important;
}
body.ux-template-v1-page .param-label,
body.ux-template-v1-page .slider-label,
body.ux-template-v1-page .ctrl-label{
  gap:8px;
  min-width:0;
}
body.ux-template-v1-page .ux-controls .param-label,
body.ux-template-v1-page .ux-controls .slider-label,
body.ux-template-v1-page .ux-controls .ctrl-label{
  flex-wrap:wrap;
}
body.ux-template-v1-page .param-name,
body.ux-template-v1-page .slider-label>span:first-child,
body.ux-template-v1-page .ctrl-label>span:first-child{
  min-width:0;
  overflow-wrap:anywhere;
}
body.ux-template-v1-page .num-wrap{
  flex-shrink:0;
  max-width:55%;
}
body.ux-template-v1-page .ux-controls .num-wrap{
  margin-left:auto;
}
body.ux-template-v1-page .ux-controls .num-input,
body.ux-template-v1-page .ux-controls input[type="number"]{
  min-width:0!important;
  max-width:100%!important;
}
body.ux-template-v1-page .ux-controls .num-unit{
  min-width:0!important;
  overflow-wrap:anywhere;
  white-space:normal;
}
body.ux-template-v1-page .ux-controls{
  overflow-x:hidden!important;
}
body.ux-template-v1-page .ux-controls *,
body.ux-template-v1-page .ux-controls *::before,
body.ux-template-v1-page .ux-controls *::after{
  max-width:100%;
}
body.ux-template-v1-page .ux-controls .toggle-row,
body.ux-template-v1-page .ux-controls .button-row,
body.ux-template-v1-page .ux-controls .btn-row,
body.ux-template-v1-page .ux-controls .preset-grid,
body.ux-template-v1-page .ux-controls .btn-group{
  flex-wrap:wrap;
}
body.ux-template-v1-page .ux-controls mjx-container{
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
body.ux-template-v1-page mjx-assistive-mml{
  display:none!important;
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  contain:size layout style!important;
}
body.ux-template-v1-page mjx-assistive-mml math{
  width:1px!important;
  max-width:1px!important;
  overflow:hidden!important;
}
body.ux-template-v1-page .chart-card mjx-container,
body.ux-template-v1-page .chart-card-inline mjx-container,
body.ux-template-v1-page .fblock mjx-container,
body.ux-template-v1-page .theory-box mjx-container,
body.ux-template-v1-page .cae-note mjx-container,
body.ux-template-v1-page .viz-panel mjx-container{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  contain:inline-size layout!important;
}
body.ux-template-v1-page .chart-card>canvas,
body.ux-template-v1-page .chart-card-inline>canvas,
body.ux-template-v1-page .viz-panel>canvas,
body.ux-template-v1-page .charts-area>canvas,
body.ux-template-v1-page .right-col>canvas,
body.ux-template-v1-page .chart-wrap>canvas,
body.ux-template-v1-page .canvas-wrap>canvas{
  width:100%!important;
}
body.ux-template-v1-page .chart-card>canvas[height],
body.ux-template-v1-page .chart-card-inline>canvas[height],
body.ux-template-v1-page canvas[data-ux-fixed-chart]{
  height:auto!important;
  min-height:0!important;
}
body.ux-template-v1-page canvas.colorbar{
  width:14px!important;
  height:120px!important;
  min-height:0!important;
}
body.ux-template-v1-page canvas#stabilityCanvas{
  width:130px!important;
  height:110px!important;
  max-width:38vw!important;
  max-height:34vw!important;
  min-height:0!important;
}
body.ux-template-v1-page .ux-visual-card>canvas,
body.ux-template-v1-page .ux-visual-card>.chart-wrap>canvas,
body.ux-template-v1-page .ux-visual-card>.chart-wrap-sm>canvas,
body.ux-template-v1-page .ux-visual-card>.canvas-wrap>canvas{
  min-height:clamp(260px,30vw,430px);
}
body.ux-template-v1-page .ux-visual-card canvas{
  min-height:clamp(260px,30vw,430px);
}
body.ux-template-v1-page .tab-pane.active .chart-card canvas,
body.ux-template-v1-page .tab-pane.active .chart-card-inline canvas{
  display:block;
  width:100%!important;
  min-height:clamp(260px,30vw,430px);
}
body.ux-template-v1-page .ux-primary-visual>canvas,
body.ux-template-v1-page .ux-primary-visual>.chart-wrap>canvas,
body.ux-template-v1-page .ux-primary-visual>.chart-wrap-sm>canvas,
body.ux-template-v1-page .ux-primary-visual>.canvas-wrap>canvas{
  min-height:clamp(320px,36vw,540px)!important;
}
body.ux-template-v1-page .ux-primary-visual canvas{
  width:100%!important;
  max-width:100%!important;
  min-height:clamp(320px,36vw,540px)!important;
}
body.ux-template-v1-page .ux-primary-visual .canvas-container,
body.ux-template-v1-page .ux-primary-visual .chart-wrap,
body.ux-template-v1-page .ux-primary-visual .chart-wrap-sm,
body.ux-template-v1-page .ux-primary-visual .canvas-wrap{
  min-height:clamp(320px,36vw,540px);
}
body.ux-template-v1-page .ux-visual-card canvas:not(.ux-chartjs-canvas),
body.ux-template-v1-page .ux-primary-visual canvas:not(.ux-chartjs-canvas){
  min-height:0!important;
}
body.ux-template-v1-page .ux-visual-card canvas[style*="position: absolute"],
body.ux-template-v1-page .ux-primary-visual canvas[style*="position: absolute"]{
  width:min(80px,24vw)!important;
  height:min(80px,24vw)!important;
  min-height:0!important;
  max-width:24vw!important;
  max-height:24vw!important;
}
body.ux-template-v1-page .ux-primary-visual .canvas-container:has(canvas:not(.ux-chartjs-canvas)),
body.ux-template-v1-page .ux-primary-visual .chart-wrap:has(canvas:not(.ux-chartjs-canvas)),
body.ux-template-v1-page .ux-primary-visual .chart-wrap-sm:has(canvas:not(.ux-chartjs-canvas)),
body.ux-template-v1-page .ux-primary-visual .canvas-wrap:has(canvas:not(.ux-chartjs-canvas)){
  min-height:0!important;
}
@media(min-width:821px){
  body.ux-template-v1-page .ux-visual-card canvas:not(.ux-chartjs-canvas),
  body.ux-template-v1-page .ux-primary-visual canvas:not(.ux-chartjs-canvas){
    width:auto!important;
    max-width:100%!important;
    max-height:min(680px,72vh)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
body.ux-template-v1-page canvas.ux-chartjs-canvas{
  height:clamp(300px,32vw,440px)!important;
  max-height:480px!important;
  min-height:0!important;
}
body.ux-template-v1-page .ux-compact-chart canvas.ux-chartjs-canvas{
  height:clamp(240px,26vw,360px)!important;
  max-height:380px!important;
}
body.ux-template-v1-page .ux-compact-chart{
  max-width:100%;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
body.ux-template-v1-page .ux-compact-chart canvas{
  max-height:480px;
}
body.ux-template-v1-page .ux-compact-chart .chart-wrap-pie,
body.ux-template-v1-page .ux-compact-chart .pie-wrap,
body.ux-template-v1-page .ux-compact-chart .donut-wrap{
  max-width:min(760px,100%)!important;
  height:clamp(320px,32vw,460px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ux-template-v1-page .ux-results-card .stat-card,
body.ux-template-v1-page .ux-result-dock-cell,
body.ux-template-v1-page .ux-wide-metric{
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
body.ux-template-v1-page .ux-results-card .stat-cards,
body.ux-template-v1-page .ux-results-card .stats-row,
body.ux-template-v1-page .ux-results-card .stat-row,
body.ux-template-v1-page .ux-results-card .stat-grid,
body.ux-template-v1-page .ux-results-card .stats-grid,
body.ux-template-v1-page .ux-results-card .stats,
body.ux-template-v1-page .ux-results-card .result-grid,
body.ux-template-v1-page .ux-results-card .metrics-grid{
  grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
}
body.ux-template-v1-page .ux-results-card .stat-card{
  min-width:0;
}
body.ux-template-v1-page .ux-results-card .stat-card *,
body.ux-template-v1-page .ux-result-dock-cell *,
body.ux-template-v1-page .stat-card *{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
body.ux-template-v1-page .ux-results-card .stat-card .label,
body.ux-template-v1-page .ux-results-card .stat-card .lbl,
body.ux-template-v1-page .ux-results-card .stat-card .stat-label,
body.ux-template-v1-page .ux-results-card .stat-card .sl{
  color:var(--muted,#6c757d);
}
body.ux-template-v1-page .ux-results-card .stat-card .value,
body.ux-template-v1-page .ux-results-card .stat-card .val,
body.ux-template-v1-page .ux-results-card .stat-card .stat-value,
body.ux-template-v1-page .ux-results-card .stat-card .sv{
  color:var(--accent,#007BFF);
}
body.ux-template-v1-page .ux-normalized-result-grid>.stat-card.wide,
body.ux-template-v1-page .ux-normalized-result-grid>.stat-card.stat-full,
body.ux-template-v1-page .ux-normalized-result-grid>.stat-full,
body.ux-template-v1-page .ux-normalized-result-grid>.wide{
  grid-column:auto!important;
}
body.ux-template-v1-page .ux-result-grid-scroll{
  overflow-x:auto;
  overscroll-behavior-x:contain;
  padding-bottom:2px;
  scrollbar-width:thin;
}
body.ux-template-v1-page .ux-result-grid-scroll>.stat-card,
body.ux-template-v1-page .ux-result-grid-scroll>.result-card,
body.ux-template-v1-page .ux-result-grid-scroll>.metric-card,
body.ux-template-v1-page .ux-result-grid-scroll>.stat-item{
  min-width:96px;
}
@media(min-width:1024px){
  body.ux-template-v1-page .ux-result-grid-scroll{
    overflow-x:visible;
  }
  body.ux-template-v1-page .ux-result-grid-scroll>.stat-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.result-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.metric-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.stat-item{
    min-width:0;
  }
}
body.ux-template-v1-page .ux-value-flash{
  border-color:var(--accent,#007BFF)!important;
  background:rgba(0,123,255,.08)!important;
  box-shadow:0 0 0 3px rgba(0,123,255,.08)!important;
}
.ux-mobile-switch,
.ux-result-dock,
.ux-wide-rail,
.ux-mobile-scrim,
.ux-mobile-control-fab,
.ux-mobile-panel-head{display:none}

@media(min-width:821px){
  body.ux-template-v1-page .ux-viz-stage{
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    min-width:0;
  }
  body.ux-template-v1-page .ux-viz-stage-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-width:0;
  }
  body.ux-template-v1-page .ux-viz-stage-title{
    margin:0;
    color:var(--muted,#6c757d);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  body.ux-template-v1-page .ux-viz-stage-tabs{
    display:flex;
    gap:8px;
    justify-content:flex-end;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    min-width:0;
    max-width:100%;
    padding-bottom:2px;
  }
  body.ux-template-v1-page .ux-viz-stage-tab{
    appearance:none;
    flex:0 0 auto;
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    border:1px solid rgba(111,124,139,.34);
    border-radius:999px;
    background:#fff;
    color:#344256;
    font:800 .78rem/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    min-height:34px;
    padding:7px 12px;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
  }
  body.ux-template-v1-page .ux-viz-stage-tab:hover{
    border-color:rgba(0,123,255,.5);
    color:var(--accent,#007BFF);
    box-shadow:0 2px 8px rgba(15,23,42,.08);
  }
  body.ux-template-v1-page .ux-viz-stage-tab[aria-selected="true"]{
    border-color:var(--accent,#007BFF);
    background:var(--accent,#007BFF);
    color:#fff;
  }
  body.ux-template-v1-page .ux-viz-stage-panes{
    position:relative;
    min-width:0;
  }
  body.ux-template-v1-page .ux-viz-stage-pane{
    display:block!important;
    position:absolute!important;
    inset:0 auto auto 0;
    z-index:-1;
    width:100%;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    visibility:hidden;
    pointer-events:none;
    opacity:0;
    min-width:0;
  }
  body.ux-template-v1-page .ux-viz-stage-pane.active{
    display:block!important;
    position:relative!important;
    z-index:auto;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    visibility:visible;
    pointer-events:auto;
    opacity:1;
  }
  body.ux-template-v1-page .ux-viz-stage-unit{
    width:100%;
    max-width:100%;
    margin:0!important;
  }
  body.ux-template-v1-page .ux-viz-stage-unit.chart-row,
  body.ux-template-v1-page .ux-viz-stage-unit.charts-grid,
  body.ux-template-v1-page .ux-viz-stage-unit.grid{
    align-items:stretch;
  }
  body.ux-template-v1-page .ux-viz-stage .chart-card,
  body.ux-template-v1-page .ux-viz-stage .chart-card-inline{
    margin:0!important;
  }
}

@media(min-width:1320px){
  body.ux-template-v1-page .main{
    max-width:1200px;
    grid-template-columns:300px 1fr;
    gap:20px;
  }
}

@media(min-width:1480px){
  body.ux-template-v1-page .main{
    max-width:1200px;
    grid-template-columns:300px 1fr;
    gap:20px;
    align-items:start;
  }
  body.ux-template-v1-page .ux-controls{grid-column:1}
  body.ux-template-v1-page .ux-viz{
    grid-column:2;
    min-width:0;
  }
  .ux-wide-rail{
    display:none!important;
  }
  /*
  .ux-wide-rail{
    grid-column:3;
    display:flex;
    flex-direction:column;
    gap:12px;
    position:sticky;
    top:72px;
    max-height:calc(100vh - 88px);
    overflow:auto;
    scrollbar-width:thin;
  }
  .ux-wide-panel{
    border:1px solid var(--border,#dee2e6);
    border-radius:10px;
    background:#fff;
    box-shadow:0 2px 12px rgba(0,0,0,.04);
    padding:12px;
  }
  .ux-wide-title{
    margin:0 0 10px;
    color:var(--muted,#6c757d);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .ux-wide-metric-list{
    display:grid;
    gap:8px;
  }
  .ux-wide-metric{
    min-width:0;
    border:1px solid var(--border,#dee2e6);
    border-radius:8px;
    background:var(--bg,#F8F9FA);
    padding:9px 10px;
  }
  .ux-wide-metric-label{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted,#6c757d);
    font-size:.66rem;
    font-weight:800;
  }
  .ux-wide-metric-value{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--accent,#007BFF);
    font-family:'Roboto Mono',monospace;
    font-size:1rem;
    font-weight:900;
    line-height:1.35;
  }
  */
}

@media(max-width:820px){
  body.ux-template-v1-page .main{
    grid-template-columns:1fr;
    padding:6px 6px 16px!important;
    gap:8px!important;
  }
  body.ux-template-v1-page .panel,
  body.ux-template-v1-page .controls{
    position:static;
    max-height:52vh;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.ux-template-v1-page .viz-panel,
  body.ux-template-v1-page .charts-area,
  body.ux-template-v1-page .right-col{
    gap:12px;
  }
  body.ux-template-v1-page .chart-card,
  body.ux-template-v1-page .chart-card-inline,
  body.ux-template-v1-page .viz-panel{
    border-radius:10px;
  }
  body.ux-template-v1-page .tab-bar,
  body.ux-template-v1-page .tab-buttons,
  body.ux-template-v1-page .viz-tabs,
  body.ux-template-v1-page .tabs,
  body.ux-template-v1-page [role="tablist"]{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
    max-width:100%!important;
  }
  body.ux-template-v1-page .tab-bar>*,
  body.ux-template-v1-page .tab-buttons>*,
  body.ux-template-v1-page .viz-tabs>*,
  body.ux-template-v1-page .tabs>*,
  body.ux-template-v1-page [role="tablist"]>*{
    min-width:0!important;
    white-space:normal!important;
  }
  body.ux-template-v1-page .ux-visual-card>canvas,
  body.ux-template-v1-page .ux-visual-card>.chart-wrap>canvas,
  body.ux-template-v1-page .ux-visual-card>.chart-wrap-sm>canvas,
  body.ux-template-v1-page .ux-visual-card>.canvas-wrap>canvas,
  body.ux-template-v1-page .ux-visual-card canvas.ux-chartjs-canvas{
    min-height:220px;
  }
  body.ux-template-v1-page .ux-visual-card canvas{
    min-height:clamp(230px,58vw,360px);
  }
  body.ux-template-v1-page .ux-primary-visual>canvas,
  body.ux-template-v1-page .ux-primary-visual>.chart-wrap>canvas,
  body.ux-template-v1-page .ux-primary-visual>.chart-wrap-sm>canvas,
  body.ux-template-v1-page .ux-primary-visual>.canvas-wrap>canvas{
    min-height:clamp(280px,68vw,420px)!important;
  }
  body.ux-template-v1-page .ux-primary-visual canvas{
    width:100%!important;
    max-width:100%!important;
    min-height:clamp(280px,68vw,420px)!important;
  }
  body.ux-template-v1-page .ux-visual-card canvas:not(.ux-chartjs-canvas),
  body.ux-template-v1-page .ux-primary-visual canvas:not(.ux-chartjs-canvas),
  body.ux-template-v1-page .viz-panel .canvas-wrap>canvas:not(.ux-chartjs-canvas){
    max-height:min(500px,72vh)!important;
  }
  body.ux-template-v1-page canvas#stabilityCanvas{
    width:100px!important;
    height:85px!important;
    min-height:0!important;
  }
  body.ux-template-v1-page .ux-primary-visual .canvas-container,
  body.ux-template-v1-page .ux-primary-visual .chart-wrap,
  body.ux-template-v1-page .ux-primary-visual .chart-wrap-sm,
  body.ux-template-v1-page .ux-primary-visual .canvas-wrap{
    min-height:clamp(280px,68vw,420px);
  }
  .ux-mobile-switch{
    position:sticky;
    top:0;
    z-index:30;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:6px;
    max-width:1280px;
    margin:0 auto;
    padding:6px 6px 5px;
    background:rgba(248,249,250,.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(222,226,230,.8);
  }
  .ux-mobile-switch button{
    border:1px solid var(--border,#dee2e6);
    background:#fff;
    color:var(--text,#1a1a2e);
    min-height:30px;
    border-radius:999px;
    font:700 .74rem/1.1 inherit;
  }
  .ux-mobile-switch button:active,
  .ux-mobile-switch button:focus-visible{
    border-color:var(--accent,#007BFF);
    color:var(--accent,#007BFF);
    outline:none;
  }
  .ux-result-dock{
    position:sticky;
    top:42px;
    z-index:29;
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);
    gap:5px;
    max-width:1280px;
    margin:0 auto;
    padding:5px 6px 6px;
    background:rgba(248,249,250,.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(222,226,230,.8);
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .ux-result-dock::-webkit-scrollbar{display:none}
  .ux-result-dock-cell{
    min-width:0;
    border:1px solid var(--border,#dee2e6);
    border-radius:8px;
    background:#fff;
    padding:5px 6px;
  }
  .ux-result-dock-label{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted,#6c757d);
    font-size:.54rem;
    font-weight:700;
    letter-spacing:.04em;
  }
  .ux-result-dock-value{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--accent,#007BFF);
    font-family:'Roboto Mono',monospace;
    font-size:.76rem;
    font-weight:800;
    line-height:1.25;
  }
  body.ux-template-v1-page .ux-results-card .stat-cards,
  body.ux-template-v1-page .ux-results-card .stats-row,
  body.ux-template-v1-page .ux-results-card .stat-row,
  body.ux-template-v1-page .ux-results-card .stat-grid,
  body.ux-template-v1-page .ux-results-card .stats-grid,
  body.ux-template-v1-page .ux-results-card .stats,
  body.ux-template-v1-page .ux-results-card .result-grid,
  body.ux-template-v1-page .ux-results-card .metrics-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.ux-mobile-sheet-enabled .ux-viz{
    order:1;
  }
  body.ux-template-v1-page .ux-viz{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.ux-template-v1-page .ux-viz .chart-card,
  body.ux-template-v1-page .ux-viz .chart-card-inline{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.ux-template-v1-page .ux-viz>*,
  body.ux-template-v1-page .ux-viz>.chart-card,
  body.ux-template-v1-page .ux-viz>.chart-card-inline{
    order:4;
  }
  body.ux-template-v1-page .ux-viz>.warning-box,
  body.ux-template-v1-page .ux-viz>.warning-banner,
  body.ux-template-v1-page .ux-viz>.alert{
    order:0;
  }
  body.ux-template-v1-page .ux-viz>.tab-btns,
  body.ux-template-v1-page .ux-viz>.tab-buttons,
  body.ux-template-v1-page .ux-viz>.viz-tabs,
  body.ux-template-v1-page .ux-viz>.tabs,
  body.ux-template-v1-page .ux-viz>[role="tablist"]{
    order:1;
  }
  body.ux-template-v1-page .ux-viz>.ux-results-card,
  body.ux-template-v1-page .ux-viz>.ux-results-wrapper{
    order:3;
  }
  body.ux-template-v1-page .ux-viz>.ux-primary-visual,
  body.ux-template-v1-page .ux-viz>.ux-primary-wrapper,
  body.ux-template-v1-page .ux-viz>.tab-pane.active,
  body.ux-template-v1-page .ux-viz>.ux-primary-visual.ux-results-card{
    order:2;
  }
  body.ux-template-v1-page .ux-viz-stage{
    display:contents!important;
  }
  body.ux-template-v1-page .ux-viz-stage-head{
    display:none!important;
  }
  body.ux-template-v1-page .ux-viz-stage-panes{
    display:contents!important;
  }
  body.ux-template-v1-page .ux-viz-stage-pane{
    display:block!important;
    order:4;
  }
  body.ux-template-v1-page .ux-viz-stage-pane.active{
    display:block!important;
  }
  body.ux-template-v1-page .ux-viz-stage-unit{
    width:100%;
  }
  body.ux-mobile-sheet-enabled .ux-controls{
    position:fixed;
    left:8px;
    right:8px;
    bottom:0;
    top:auto;
    z-index:70;
    max-height:min(42dvh,360px);
    overflow:auto;
    transform:translateY(calc(100% + 18px));
    transition:transform .22s ease;
    background:#fff;
    border:1px solid var(--border,#dee2e6);
    border-bottom:0;
    border-radius:16px 16px 0 0;
    box-shadow:0 -16px 38px rgba(0,31,63,.22);
    -webkit-overflow-scrolling:touch;
  }
  body.ux-mobile-controls-open .ux-controls{
    transform:translateY(0);
  }
  .ux-mobile-panel-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:-2px -2px 12px;
    padding:12px 12px 10px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border,#dee2e6);
  }
  .ux-mobile-panel-title{
    color:var(--text,#1a1a2e);
    font-size:.92rem;
    font-weight:900;
  }
  body.ux-mobile-sheet-enabled .ux-controls>.ux-mobile-original-panel-title{
    display:none!important;
  }
  .ux-mobile-panel-close{
    width:34px;
    height:34px;
    border:1px solid var(--border,#dee2e6);
    border-radius:999px;
    background:#fff;
    color:var(--text,#1a1a2e);
    font-size:1.25rem;
    font-weight:800;
    line-height:1;
  }
  .ux-mobile-scrim{
    position:fixed;
    inset:0;
    z-index:60;
    display:block;
    pointer-events:none;
    opacity:0;
    background:rgba(0,31,63,.28);
    transition:opacity .18s ease;
  }
  body.ux-mobile-controls-open .ux-mobile-scrim{
    pointer-events:auto;
    opacity:1;
  }
}

@media(max-width:360px){
  body.ux-template-v1-page .ux-results-card .stat-cards,
  body.ux-template-v1-page .ux-results-card .stats-row,
  body.ux-template-v1-page .ux-results-card .stat-row,
  body.ux-template-v1-page .ux-results-card .stat-grid,
  body.ux-template-v1-page .ux-results-card .stats-grid,
  body.ux-template-v1-page .ux-results-card .stats,
  body.ux-template-v1-page .ux-results-card .result-grid,
  body.ux-template-v1-page .ux-results-card .metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.ux-template-v1-page .ux-result-grid-scroll{
    overflow-x:visible;
  }
  body.ux-template-v1-page .ux-result-grid-scroll>.stat-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.result-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.metric-card,
  body.ux-template-v1-page .ux-result-grid-scroll>.stat-item{
    min-width:0;
  }
}

@media(min-width:821px){
  body.ux-template-v1-page .ux-results-card .stat-cards,
  body.ux-template-v1-page .ux-results-card .stats-row,
  body.ux-template-v1-page .ux-results-card .stat-row,
  body.ux-template-v1-page .ux-results-card .stat-grid,
  body.ux-template-v1-page .ux-results-card .stats-grid,
  body.ux-template-v1-page .ux-results-card .stats,
  body.ux-template-v1-page .ux-results-card .result-grid,
  body.ux-template-v1-page .ux-results-card .metrics-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
