/* Tools only: room for data without reducing text or touch target sizes. */
#tools-nav-expand{display:none}
.tools-compact .sidebar nav svg,#tools-nav-expand svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tools-compact .topbar{gap:14px;padding-bottom:18px;margin-bottom:22px}
.tools-compact .top-actions{flex-shrink:0}
.tools-compact #new-session{white-space:nowrap}
@media(min-width:701px){
 .tools-compact .workspace{grid-template-columns:80px minmax(0,1fr)}
 .tools-compact .main{max-width:none;padding:24px 28px;margin:0}
 .tools-compact .sidebar{position:sticky;top:0;align-self:start;min-height:100dvh;padding:18px 10px;z-index:30}
 /* The current shell owns rail height; the legacy minimum covers its 701-768px bottom bar. */
 .tools-compact .sidebar.st-rail{min-height:0}
 .tools-compact .sidebar .brand{position:relative;height:44px;min-height:44px;overflow:hidden;color:transparent;font-size:0;padding:0}
 .tools-compact .sidebar .brand:after{content:'s.';font:800 30px Archivo,Arial,sans-serif;color:var(--gold);position:absolute;inset:0;display:grid;place-items:center}
 .tools-compact .sidebar .brand>span,.tools-compact .sidebar .nav-label{display:none}
 #tools-nav-expand{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;margin:18px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);width:100%}
 .tools-compact .sidebar nav{gap:4px}
 .tools-compact .sidebar nav a{position:relative;min-height:46px;justify-content:center;padding:10px;gap:0}
 .tools-compact:not(.tools-nav-expanded) .tools-nav-tip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .tools-compact:not(.tools-nav-expanded) :is(nav a,#tools-nav-expand):is(:hover,:focus-visible)>.tools-nav-tip{clip-path:none;overflow:visible;left:calc(100% + 10px);top:50%;transform:translateY(-50%);width:max-content;max-width:260px;height:auto;white-space:normal;padding:9px 13px;background:#26353a;border:1px solid #607277;border-radius:7px;box-shadow:0 5px 20px #0007;color:var(--text);font:500 16px/1.4 Outfit,Arial,sans-serif;pointer-events:none;z-index:50}
 .tools-compact:not(.tools-nav-expanded) .sidebar-bottom{display:none}
 .tools-compact .topbar .tools-language{position:static;display:flex;align-items:center;margin:0;font-size:14px;gap:8px}
 .tools-compact .topbar .tools-language>span{display:none}
 .tools-compact .topbar .tools-language select{width:125px;min-height:44px;margin:0;padding:8px}
 .tools-compact.tools-nav-expanded .workspace{grid-template-columns:240px minmax(0,1fr)}
 .tools-nav-expanded .sidebar{padding-inline:16px}
 .tools-nav-expanded .sidebar nav a,#tools-nav-expand[aria-expanded=true]{justify-content:flex-start;gap:12px;padding-inline:12px}
 .tools-nav-expanded .tools-nav-tip{position:static;font-size:15px}
 .tools-nav-expanded .sidebar-bottom{margin-top:24px}
}
/* Values stay compact; labels and strategy choices have their own width. */
:is(#lab-form,#progression-form)>.fields{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:start}
:is(#lab-form,#progression-form)>.fields>label{flex:0 1 180px;font-size:16px;line-height:1.4;min-width:0}
:is(#lab-form,#progression-form)>.fields>label:has(select){flex-basis:250px}
:is(#lab-form,#progression-form) input[type=number]{width:min(100%,16ch);min-height:44px;font-size:16px}
:is(#p-coverage,#p-levels,#l-levels,#l-context){max-width:9ch}
#lab-form>.fields>label:has(#l-selection){flex-basis:280px}
:is(#lab-form,#progression-form) select{min-height:44px;font-size:16px}
:is(#lab-form,#progression-form) .check{min-height:44px}
#progression-form>button{margin-top:18px}
#progression-result .progression-verdict{padding:16px 18px;border-left:3px solid var(--gold);background:#252e28;font-size:16px;line-height:1.6}
#progression-result table{font-size:15px}
#progression-result th{font-size:14px;letter-spacing:0}
.tools-compact .strategy-studio .ss-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.tools-compact .strategy-studio .ss-fields label{font-size:16px;min-width:0}
.tools-compact .strategy-studio .ss-fields input[type=number]{width:min(100%,16ch);min-height:44px;font-size:16px}
@media(max-width:700px){.tools-compact .main{padding:20px 16px}.tools-compact .topbar{display:flex;flex-wrap:wrap;gap:12px}.tools-compact .topbar>.top-actions{width:100%;margin-top:0;order:4}.tools-compact .tools-table-access{margin-bottom:0}}
@media(max-width:400px){:is(#lab-form,#progression-form)>.fields>label{flex-basis:100%}:is(#lab-form,#progression-form)>.fields>label:has(select){flex-basis:100%}.tools-compact .main{padding-inline:12px}}
@media(min-width:701px) and (max-height:800px){.tools-compact .sidebar{padding-top:10px;padding-bottom:10px}.tools-compact .sidebar nav{gap:2px}.tools-compact .sidebar nav a{min-height:44px;padding:8px}#tools-nav-expand{margin:10px 0 8px}}
.tools-nav-expanded .sidebar{max-height:100dvh;overflow-y:auto}
