/* v19: one tool style layer, based on Log Viewer. Load after module CSS.
   Inter is for the interface, Space Mono for values, and the system code
   stack for Python. Layouts and specialist controls stay module-specific. */
:is(.log-page,.crossplot-page,.histogram-page,.python-page){
  --tool-font:Inter,system-ui,sans-serif;
  --tool-mono:'Space Mono',monospace;
  --tool-code:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-family:var(--tool-font);
  background:radial-gradient(ellipse at 75% 8%,#08202c 0,#020b12 45%,#02090e 100%);
}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(button,input,select,textarea){font-family:var(--tool-font)}
:is(.log-shell,.tool-shell,.python-shell){padding-top:24px;padding-bottom:34px}
:is(.log-intro,.tool-intro,.python-intro){gap:20px;padding:27px 0 29px;margin:0}
:is(.log-intro,.tool-intro,.python-intro) h1{font-size:clamp(38px,4.1vw,59px);font-weight:600;line-height:1.04;letter-spacing:-.045em;margin:0 0 12px}
:is(.log-intro,.tool-intro,.python-intro) p{color:#9eb4bf;font-size:14px;line-height:1.6;margin:0}
:is(.log-intro,.tool-intro,.python-intro) .eyebrow{font-family:var(--tool-mono);font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.2em;color:#89a9b8;margin:0 0 12px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .breadcrumb{font-size:12px;line-height:1.5;color:#7e9caa}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .breadcrumb a{color:#a6bec8}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .version-tag{display:flex;align-items:center;gap:14px;padding:10px 13px;border:1px solid #4b402a;border-radius:5px;color:#c4ab7c;font:10px var(--tool-mono);letter-spacing:.08em;white-space:nowrap}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .version-tag b{border-left:1px solid #4b402a;color:#dfc18a;padding-left:12px;font-size:13px}
:is(.data-panel,.viewer-panel,.controls,.plot-panel,.python-source,.python-panel){border-radius:10px}
:is(.side-section,.control-section){padding:20px}
:is(.side-heading,.control-heading){margin-bottom:19px}
:is(.side-heading,.control-heading) h2{font-family:var(--tool-font);font-size:13px;font-weight:600;line-height:1.4}
:is(.viewer-toolbar,.plot-toolbar){padding:18px 20px}
:is(.well-title,.plot-title,.python-source,.py-title) h2{font-family:var(--tool-font);font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.01em}
:is(.well-title,.plot-title,.python-source,.py-title) p{font-family:var(--tool-font);font-size:10px;line-height:1.5}
.drop-zone strong{font-family:var(--tool-font);font-size:12px;font-weight:500;line-height:1.4}
.drop-zone :is(small,p,.drop-detail),.drop-zone>span{font-family:var(--tool-font);font-size:10px;line-height:1.6}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .drop-zone .btn{font-family:var(--tool-font);font-size:11px!important}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.small-button,.reset-button,.session-bar button,.source-actions button,.control-tab){font-family:var(--tool-font);font-size:11px!important;line-height:1.4;min-height:33px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.small-button,.reset-button){border-radius:5px}
.log-page .small-button.add-selected{font-size:18px!important;line-height:1;min-height:28px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .demo-button{font-size:10px!important}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.tool-switcher a,.resource-links a){font-family:var(--tool-font);font-size:11px;line-height:1.5}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.depth-toolbar,.dialog-section,.axis-field,.axis-scale-form,.point-style-controls,.selection-controls,.regression-settings,.colouring-settings,.colour-limits-form,.filtering-settings,.hist-grid,.expanded-axis-picker) label{font-family:var(--tool-font);font-size:10px;line-height:1.4}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(select,input[type=text],input[type=search]){font-family:var(--tool-font);font-size:11px;line-height:1.4;min-height:33px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) input[type=number]{font-family:var(--tool-mono);font-size:11px;line-height:1.4!important;min-height:33px;font-variant-numeric:tabular-nums}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.session-status,.las-export-status,.dock-lock-status,.dock-lock-help,.python-note,.python-error,.hist-help,.curve-description,.unit-note,.local-note){font-family:var(--tool-font);line-height:1.6}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.session-status,.las-export-status,.python-note,.hist-help){font-size:11px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.curve-description,.unit-note,.local-note){font-size:10px}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.file-name,#file-name,.range-ends,.curve-chip-info strong,.curve-header,.colouring-scale,.hist-chart-top,.hist-kpi strong,.hist-table-wrap td){font-family:var(--tool-mono);font-variant-numeric:tabular-nums}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.file-name,#file-name){font-size:9px;line-height:1.65}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.site-footer,.python-footer){font-family:var(--tool-font);font-size:11px}

/* Python controls share the same interface style in every host tool. */
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.py-tabs button,.py-object small,.py-empty,.py-help,.py-results-toolbar,.py-result-row>span,.py-footnote,.py-scope-note,.py-time-label){font-family:var(--tool-font)}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .py-clear{font-family:var(--tool-font)!important}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) :is(.py-section-label,.py-object strong,.py-filebar,.py-statusbar){font-family:var(--tool-mono)}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .python-panel :is(.py-fallback,.cm-scroller,.cm-gutters,.py-pane){font-family:var(--tool-code)}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .python-panel :is(.py-fallback,.cm-scroller){font-size:13px;line-height:1.75}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .python-panel .py-pane.py-help{font-family:var(--tool-font)}
:is(.log-page,.crossplot-page,.histogram-page,.python-page) .python-panel .py-help code{font-family:var(--tool-code)}

@media(max-width:620px){
  :is(.log-page,.crossplot-page,.histogram-page,.python-page) .topbar{padding-left:18px;padding-right:18px;height:70px}
  :is(.log-page,.crossplot-page,.histogram-page,.python-page) .brand{font-size:18px}
  :is(.log-page,.crossplot-page,.histogram-page,.python-page) .nav{top:70px}
  :is(.log-shell,.tool-shell,.python-shell){padding-left:16px;padding-right:16px;padding-top:18px}
  :is(.log-intro,.tool-intro,.python-intro){align-items:flex-start;padding:24px 0}
  :is(.log-intro,.tool-intro,.python-intro) h1{font-size:40px}
  :is(.log-intro,.tool-intro,.python-intro) p{font-size:12px}
  :is(.log-intro,.tool-intro,.python-intro) .eyebrow{font-size:8px;letter-spacing:.16em}
  :is(.log-page,.crossplot-page,.histogram-page,.python-page) .version-tag{font-size:8px;gap:8px;padding:8px;margin-top:4px}
  :is(.log-page,.crossplot-page,.histogram-page,.python-page) .version-tag b{font-size:10px;padding-left:8px}
  :is(.side-section,.control-section){padding:16px}
  :is(.viewer-toolbar,.plot-toolbar){padding:16px}
  .drop-zone strong{font-size:11px}
  .drop-zone :is(small,p,.drop-detail),.drop-zone>span{font-size:9px}
}
