/* Trim tuner — every rule is scoped to .tt-app so the theme is untouched */
.tt-app{font-size:15px;line-height:1.55;color:var(--ink);
  font-family:var(--body);position:relative;padding:0;background:none}
.tt-app{--paper:#eceae4;
  --paper-2:#e2dfd7;
  --ink:#1c2733;
  --ink-soft:#5a6672;
  --rule:#c3bfb4;
  --sail:#c0402c;
  --ref:#2b6b8c;
  --brass:#a8792b;
  --ghost:#9aa4ad;
  --disp:"IBM Plex Sans Condensed","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;}
.tt-app *{box-sizing:border-box}
.tt-app .shell{max-width:1240px;margin:0 auto;padding:20px 20px 64px}
.tt-app .masthead{margin-bottom:18px}
.tt-app .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px}
.tt-app .masthead h1{font-family:var(--disp);font-weight:700;font-size:clamp(24px,3.2vw,36px);line-height:1.02;letter-spacing:-.015em;margin:0 0 6px;text-transform:uppercase}
.tt-app .masthead p{margin:0;max-width:none;color:var(--ink-soft);font-size:14.5px}
.tt-app .specline{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:12px;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}
.tt-app .specline b{color:var(--ink);font-weight:500}
.tt-app .stage{display:grid;grid-template-columns:minmax(0,0.96fr) minmax(300px,1.06fr) minmax(238px,.72fr);gap:18px;align-items:start}
@media(max-width:1180px){
.tt-app .stage{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}
.tt-app .plots{grid-column:1;grid-row:1/span 2}
.tt-app .midcol{grid-column:2;grid-row:1}
.tt-app .readout{grid-column:2;grid-row:2}
}
@media(max-width:900px){
.tt-app .stage{grid-template-columns:1fr}
.tt-app .plots{grid-column:1;grid-row:auto}
.tt-app .midcol{grid-column:1;grid-row:auto}
.tt-app .readout{grid-column:1;grid-row:auto;position:static}
}
.tt-app .readout{position:sticky;top:12px;display:grid;gap:14px;align-content:start}
.tt-app .midcol{display:grid;gap:14px;align-content:start}
.tt-app .panel{background:var(--paper);border:2px solid var(--ink);padding:12px 13px 11px}
.tt-app .panel>h2{font-family:var(--disp);font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;
  padding-bottom:6px;border-bottom:1px solid var(--rule)}
.tt-app .readout .score{margin-top:0;border:0;padding:0;background:none}
.tt-app .readout .gauges{border-top:1px solid var(--rule)}
@media(prefers-reduced-motion:no-preference){
.tt-app .score-num{transition:color .2s}
}
.tt-app .plots{display:grid;grid-template-columns:1fr;gap:12px}
.tt-app .plot--small{max-width:262px;margin-left:auto;margin-right:auto;width:100%}
.tt-app .plot{background:rgba(255,255,255,.55);border:1px solid var(--rule);position:relative}
.tt-app .plot--wide{grid-column:1/-1}
.tt-app .plot svg{display:block;width:100%;height:auto}
.tt-app .plot figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);padding:6px 9px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:8px}
.tt-app .plot figcaption span{color:var(--ink)}
.tt-app .deck{background:rgba(255,255,255,.6);border:1px solid var(--rule);padding:16px 16px 14px}
.tt-app .deck h2{font-family:var(--disp);font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px}
.tt-app .deck>p.lead{margin:0 0 16px;font-size:12.5px;color:var(--ink-soft)}
.tt-app .ctl{margin-bottom:10px}
.tt-app .ctl-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:1px}
.tt-app .ctl-top label{font-weight:500;font-size:13.5px}
.tt-app .ctl-val{font-family:var(--mono);font-size:11.5px;color:var(--ref);letter-spacing:.04em}
.tt-app .ctl input[type=range]{width:100%;height:20px;margin:0;accent-color:var(--sail);background:transparent;cursor:grab}
.tt-app .ctl input[type=range]:active{cursor:grabbing}
.tt-app .ctl input[type=range]:focus-visible{outline:2px solid var(--ref);outline-offset:3px}
.tt-app .ctl-note{font-size:11.5px;color:var(--ink-soft);margin-top:0;line-height:1.35}
.tt-app .sweep, .tt-app .playbtn{padding:0 6px;font-size:9.5px;letter-spacing:0;border-color:var(--rule);color:var(--ink-soft);line-height:1.6}
.tt-app .sweep[aria-pressed=true], .tt-app .playbtn[aria-pressed=true]{background:var(--ref);border-color:var(--ref);color:#fff}
.tt-app .wind{padding:0;margin:0}
.tt-app .wind label b{font-size:14px}
.tt-app .grouphead{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-soft);margin:4px 0 10px}
.tt-app .grouphead::after{content:"";flex:1;height:1px;background:var(--rule)}
.tt-app .shorebox{border-left:2px solid var(--ref);padding-left:11px;margin:18px 0 0}
.tt-app .shorebox .grouphead{color:var(--ref);margin-top:0}
.tt-app .shorebox .grouphead::after{background:rgba(43,107,140,.35)}
.tt-app .shorebox input[type=range]{accent-color:var(--ref)}
.tt-app .shorebox .ctl-val{color:var(--ink-soft)}
.tt-app .ctl-row{display:flex;align-items:center;gap:7px}
.tt-app .ctl-row input[type=range]{flex:1;min-width:0}
.tt-app .ctl-row .sweep{flex:0 0 auto}
.tt-app .helpbtn{width:100%;padding:10px 12px;font-size:11.5px;border-width:2px;background:var(--paper)}
.tt-app .helpbtn[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tt-app .helpbtn:hover{background:var(--ink);color:var(--paper)}
.tt-app .score{margin-top:18px;border:2px solid var(--ink);padding:12px 13px 11px;background:rgba(255,255,255,.55)}
.tt-app .score-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tt-app .score-head em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.tt-app .score-num{font-family:var(--disp);font-weight:700;font-size:46px;line-height:.9;letter-spacing:-.02em}
.tt-app .score-word{font-family:var(--disp);font-size:15px;text-transform:uppercase;letter-spacing:.05em}
.tt-app .score-track{position:relative;height:12px;background:var(--paper-2);border:1px solid var(--rule);margin:9px 0 3px}
.tt-app .score-win{position:absolute;top:-1px;bottom:-1px;left:66%;right:0;background:rgba(90,143,78,.22);border-left:1px solid rgba(90,143,78,.8)}
.tt-app .score-mark{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--ink);left:0;transition:left .3s ease}
.tt-app .score-ceil{position:absolute;top:-5px;bottom:-5px;width:1px;background:var(--brass);left:100%;transition:left .3s ease}
.tt-app .score-ceil::after{content:"";position:absolute;top:-3px;left:-3px;border-left:3px solid transparent;
  border-right:3px solid transparent;border-top:5px solid var(--brass)}
.tt-app .regime{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--sail);margin-top:7px;display:none}
.tt-app .regime.on{display:block}
.tt-app .score-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.05em;color:var(--ink-soft)}
.tt-app .wrow{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;margin-top:5px;
  font-family:var(--mono);font-size:9.5px;color:var(--ink-soft);letter-spacing:.03em;line-height:1.5}
.tt-app .infobtn{flex:0 0 auto;width:17px;height:17px;padding:0;line-height:15px;text-align:center;
  border-radius:50%;font-size:10px;letter-spacing:0;text-transform:none}
.tt-app .infobtn[aria-expanded=true]{background:var(--ink);color:var(--paper)}
.tt-app .weights{display:none;font-family:var(--mono);font-size:9px;color:var(--ink-soft);letter-spacing:.03em;
  margin-top:6px;padding-top:6px;border-top:1px solid var(--rule);line-height:1.6}
.tt-app .weights.on{display:block}
.tt-app .score-lim{margin-top:8px;font-size:12.5px}
.tt-app .score-lim b{font-family:var(--disp);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px}
.tt-app .btnrow{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0}
.tt-app button{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  padding:6px 11px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);cursor:pointer;
  transition:background .12s,color .12s}
.tt-app button:hover{background:var(--ink);color:var(--paper)}
.tt-app button:focus-visible{outline:2px solid var(--ref);outline-offset:2px}
.tt-app button[aria-pressed=true]{background:var(--sail);border-color:var(--sail);color:#fff}
.tt-app .gauges{margin-top:18px;border-top:1px solid var(--rule);padding-top:14px}
.tt-app .gauge{margin-bottom:9px}
.tt-app .gauge-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:3px}
.tt-app .gauge-top b{color:var(--ink);font-weight:500}
.tt-app .track{height:6px;background:var(--paper-2);border:1px solid var(--rule);position:relative;overflow:hidden}
.tt-app .fill{height:100%;width:0;transition:width .28s ease}
.tt-app .helm{height:16px;background:var(--paper-2);border:1px solid var(--rule);position:relative;margin-top:2px}
.tt-app .helm::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--ink)}
.tt-app .helm-mark{position:absolute;top:2px;bottom:2px;width:3px;background:var(--sail);left:50%;transition:left .28s ease}
.tt-app .helm-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:var(--ink-soft);margin-top:2px;letter-spacing:.06em}
.tt-app .notes{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:26px 34px}
.tt-app .note h3{font-family:var(--disp);font-size:16px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;padding-bottom:4px;border-bottom:1px solid var(--rule)}
.tt-app .note .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--sail);text-transform:uppercase;display:block;margin-bottom:2px}
.tt-app .note p{margin:8px 0 0;font-size:13.5px}
.tt-app .note p.tight{color:var(--ink-soft);font-size:12.5px}
.tt-app .closing{margin-top:44px;border-top:2px solid var(--ink);padding-top:16px}
.tt-app .closing h3{font-family:var(--disp);font-size:18px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}
.tt-app .closing ol{margin:0;padding-left:0;list-style:none;counter-reset:step}
.tt-app .closing li{counter-increment:step;position:relative;padding-left:38px;margin-bottom:12px;max-width:76ch;font-size:14px}
.tt-app .closing li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--mono);font-size:11px;color:var(--sail);letter-spacing:.05em}
.tt-app .disclaimer{margin-top:34px;font-family:var(--mono);font-size:11px;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:12px;max-width:80ch;line-height:1.7}
@media(prefers-reduced-motion:reduce){
.tt-app *{transition:none!important;animation:none!important}
}

/* ---------- WordPress / GeneratePress additions ---------- */
.tt-app .tt-langbar{position:absolute;top:0;right:0;display:flex;gap:5px;z-index:2}
.tt-app .tt-flag{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:4px 8px;
  border:1px solid var(--rule);background:var(--paper);color:var(--ink-soft);cursor:pointer}
.tt-app .tt-flag[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:#fff}
.tt-app .tt-flag span{font-size:12px;line-height:1}
.tt-app .masthead{padding-right:120px}
.tt-app .helpbox{display:none;font-size:12.5px;color:var(--ink-soft);line-height:1.5;
  border-left:2px solid var(--brass);padding:2px 0 2px 10px;margin:7px 0 2px}
.tt-app .helpbox.on{display:block}
.tt-app .helpbox p{margin:0 0 6px}
.tt-app .helpbox p:last-child{margin-bottom:0}
.tt-app .tt-help{color:var(--brass);border-color:var(--rule)}
.tt-app .tt-help[aria-expanded=true]{background:var(--brass);border-color:var(--brass);color:#fff}
.tt-app .tt-aboutbar button{width:100%;padding:9px 12px;font-size:11px}
.tt-app .aboutbox{display:none;margin-top:22px}
.tt-app .aboutbox.on{display:block}
.tt-app .notes{margin-top:0}
.tt-app .note ol{margin:8px 0 0;padding-left:0;list-style:none;counter-reset:tstep}
.tt-app .note li{counter-increment:tstep;position:relative;padding-left:30px;margin-bottom:10px;font-size:13.5px}
.tt-app .note li::before{content:counter(tstep,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--mono);font-size:10.5px;color:var(--sail)}
.tt-app .note p{font-size:13.5px}
/* GeneratePress resets that would otherwise bleed in */
.tt-app h1,.tt-app h2,.tt-app h3{color:var(--ink)}
.tt-app p{color:inherit}
.tt-app button{box-shadow:none;text-decoration:none}
.tt-app canvas,.tt-app svg{max-width:100%}
@media(max-width:600px){
.tt-app{padding:12px}
.tt-app .masthead{padding-right:0}
.tt-app .tt-langbar{position:static;justify-content:flex-end;margin-bottom:8px}
}

.tt-app .wlim{font-family:var(--mono);font-size:10px;color:var(--sail);letter-spacing:.03em;line-height:1.5;margin-top:5px;min-height:30px}
