@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Instrument+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{color-scheme:light}*{box-sizing:border-box}body,html{margin:0;padding:0;background:#F3F5F1;color:#131F1A}button{font:inherit}.sm-grid{background-image:linear-gradient(#D8DED666 1px,transparent 0),linear-gradient(90deg,#D8DED666 1px,transparent 0);background-size:28px 28px}.sm-stamp svg{animation:smStamp .5s cubic-bezier(.2,1.6,.4,1) both}@keyframes smStamp{0%{transform:scale(2.1) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.sm-phase{animation:smIn .35s ease both}@keyframes smIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2.5px solid #0C6B4F;outline-offset:2px}@media (prefers-reduced-motion:reduce){.sm-phase,.sm-stamp svg{animation:none}}
/* !important on .sm-hide-m: RunConsole's phase-tag row sets an inline
   `display:"flex"` (needed for its desktop layout), which — being an inline
   style — otherwise always beats this class's specificity regardless of the
   media query, so the "hide on mobile" utility silently never fired. Found
   via browser validation at 390px (labels ran together with no wrap room). */@media (max-width:720px){.sm-cols{grid-template-columns:1fr!important}.sm-hide-m{display:none!important}}@media print{.no-print,nav{display:none!important}body{background:#fff}.sm-grid{background-image:none!important}.print-slip{box-shadow:none!important;border-color:#131F1A!important}body:has(.print-slip) *{visibility:hidden}body:has(.print-slip) .print-slip,body:has(.print-slip) .print-slip *{visibility:visible}body:has(.print-slip) .print-slip{position:absolute;left:0;top:0;width:100%;margin:0;padding:24px}}@keyframes smShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes smPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.sm-chip-pop{animation:smPop .35s cubic-bezier(.2,1.4,.4,1) both;display:inline-block}@keyframes smRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.sm-rise{animation:smRise .5s ease both}.sm-rise-1{animation-delay:.08s}.sm-rise-2{animation-delay:.18s}.sm-rise-3{animation-delay:.3s}@keyframes smShowcase{0%{opacity:0}to{opacity:1}}.sm-showcase-rise{animation:smShowcase .45s ease both}.sm-lift{transition:transform .18s ease,box-shadow .18s ease}.sm-lift:hover{transform:translateY(-3px)}.sm-sticky-run{display:none}@media (max-width:720px){.sm-sticky-run{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#F3F5F1F2;border-top:1.5px solid #131f1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:space-between;align-items:center;gap:10px}
  /* !important: ConsentBanner sets an inline bottom:0 (needed for the desktop/
     tablet case) which otherwise always beats a class rule regardless of the
     media query — same reason .sm-hide-m needs it above. Without this, the
     consent banner (z 40) sat on top of the sticky run bar (z 30) on mobile,
     hiding the primary CTA behind the cookie prompt (root cause #9). */.sm-consent{bottom:calc(72px + env(safe-area-inset-bottom))!important}}@media (prefers-reduced-motion:reduce){.sm-chip-pop,.sm-rise,.sm-rise-1,.sm-rise-2,.sm-rise-3,.sm-showcase-rise{animation:none}.sm-lift:hover{transform:none}.sm-bar-fill,.sm-breath,.sm-dot,.sm-flash,.sm-redact-sweep,.sm-scope-track{animation:none!important;opacity:1!important}}@keyframes smScope{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.sm-scope-track{animation:smScope 3.4s linear infinite}@keyframes smFlash{0%{opacity:0}35%{opacity:.55}to{opacity:0}}.sm-flash{animation:smFlash .6s ease both}@keyframes smBreath{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.sm-breath{animation:smBreath 2.6s ease-in-out infinite}@keyframes smBarPulse{0%,to{transform:scaleX(var(--sm-base,.6))}50%{transform:scaleX(var(--sm-peak,.7))}}.sm-bar-fill{animation-name:smBarPulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:var(--sm-dur,2.4s);animation-delay:var(--sm-delay,0s)}@keyframes smShimmerDiag{0%{transform:translateX(-120%)}to{transform:translateX(220%)}}.sm-redact-sweep{animation:smShimmerDiag 2.4s ease-in-out infinite}@keyframes smDots{0%,80%,to{opacity:.25}40%{opacity:1}}.sm-dots{display:inline-flex;gap:3px;margin-left:5px;vertical-align:middle}.sm-dot{width:4px;height:4px;border-radius:50%;background:currentColor;animation:smDots 1.4s ease-in-out infinite}.sm-dot:nth-child(2){animation-delay:.2s}.sm-dot:nth-child(3){animation-delay:.4s}.sm-nav-right{gap:16px;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}@media (max-width:720px){.sm-nav-right{gap:8px;row-gap:6px}}.sm-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sm-stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}@media (max-width:720px){.sm-stat-grid{grid-template-columns:repeat(2,1fr)!important}}.sm-utility-row{display:grid;grid-template-columns:1fr}@media (min-width:1024px){.sm-utility-row{grid-template-columns:1fr 1fr}}.sm-decision-box{max-width:860px;padding:24px}@media (min-width:1024px){.sm-decision-box{max-width:980px;padding:20px 28px}}.sm-console-panel{padding:24px 24px 16px}@media (min-width:1024px){.sm-console-panel{padding:18px 24px 14px}}.sm-dash-grid{display:grid;grid-template-columns:1fr;grid-gap:48px;gap:48px;align-items:start}@media (min-width:1080px){.sm-dash-grid{grid-template-columns:minmax(0,1fr) 380px}}.sm-dash-rail>section:first-child{margin-top:0!important}.sm-run-feed{height:min(34vh,280px)}@media (min-width:1024px){.sm-run-feed{height:min(24vh,200px)}}.print-slip{--slip-gap-mult:1;--slip-lh-mult:1;--slip-scale:1;--slip-prose-font:"Instrument Sans",sans-serif}.print-slip[data-density=compact]{--slip-gap-mult:0.7;--slip-lh-mult:0.85}.print-slip[data-density=comfortable]{--slip-gap-mult:1;--slip-lh-mult:1}.print-slip[data-density=spacious]{--slip-gap-mult:1.45;--slip-lh-mult:1.3}.print-slip[data-typeface=mono]{--slip-prose-font:"IBM Plex Mono",monospace}.print-slip[data-typeface=sans]{--slip-prose-font:"Instrument Sans",sans-serif}.print-slip[data-size=large]{--slip-scale:1.2}.print-slip[data-detail=executive] .slip-detail-full{display:none}