/* Garage Toolbox. Matches the live gearshiftgarage.us theme (Flawless, GEARSHIFT-black).
   Everything is scoped to .gsg-toolbox. The theme's base.css zeroes margins and styles bare p, h1-h4, select, small, and focus,
   so rules here set those values explicitly instead of trusting browser defaults. */
.gsg-toolbox{--gsg-bg:#0b0b0c;--gsg-panel:#17171a;--gsg-inset:#111113;--gsg-hover:#1f1f23;--gsg-line:#2a2a2e;--gsg-line-strong:#4a4a52;--gsg-text:#fff;--gsg-soft:#dedee2;--gsg-muted:#a3a3ab;--gsg-red:#ce102c;--gsg-red-hover:#a50d23;--gsg-red-text:#f23a52;--gsg-error:#ff7a8a;--gsg-display:"Bebas Neue","Arial Narrow",Impact,sans-serif;--gsg-body:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  position:relative;max-width:1320px;margin:0 auto;padding:48px 15px 72px;color:var(--gsg-text);font:400 20px/1.35 var(--gsg-body);letter-spacing:.01em;text-align:left;-webkit-font-smoothing:antialiased}
.gsg-toolbox *,.gsg-toolbox *:before,.gsg-toolbox *:after{box-sizing:border-box}
.gsg-toolbox :is(h1,h2,h3,h4){margin:0;font-family:var(--gsg-display);font-weight:400;color:var(--gsg-text);text-transform:uppercase;letter-spacing:.01em;line-height:.95;word-break:normal}
.gsg-toolbox p{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;word-break:normal}
.gsg-toolbox a{color:inherit;text-underline-offset:4px}
.gsg-toolbox :is(button,input,select){margin:0;border-radius:0;box-shadow:none;font:inherit;letter-spacing:inherit;color:inherit;text-transform:none}
.gsg-toolbox :is(button,a,input,select,summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gsg-toolbox button{cursor:pointer}
.gsg-toolbox button:disabled{cursor:wait;opacity:.6}
.gsg-toolbox :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--gsg-red);outline-offset:3px}
/* On Shopify the theme header sits above this section, so an offscreen top offset would land on it. Clip until focused instead. */
.gsg-toolbox .gsg-skip{position:absolute;left:15px;top:10px;z-index:10;padding:10px 14px;background:var(--gsg-red);color:#fff}
.gsg-toolbox .gsg-skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gsg-toolbox .gsg-noscript{padding:30px;border:1px solid var(--gsg-line);color:var(--gsg-soft)}

.gsg-toolbox .eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--gsg-red-text);font:500 16px/1.25 var(--gsg-body);letter-spacing:.18em;text-transform:uppercase}
.gsg-toolbox .red-square{display:inline-block;width:8px;height:8px;background:var(--gsg-red)}
.gsg-toolbox .hero{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;padding:0 0 48px}
.gsg-toolbox .hero h1{font-size:clamp(64px,8vw,115px);line-height:.88}
.gsg-toolbox .hero h1 span{color:var(--gsg-red)}
.gsg-toolbox .hero-right{width:100%;max-width:380px;justify-self:end;align-self:center}
.gsg-toolbox .edition{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--gsg-line);color:var(--gsg-muted);font:500 14px/1.2 var(--gsg-body);letter-spacing:.14em;text-transform:uppercase}
.gsg-toolbox .hero-right>p{margin:22px 0 14px;color:var(--gsg-text);font-size:32px;line-height:1.1}
.gsg-toolbox .hero-caption{color:var(--gsg-soft);font-size:20px;line-height:1.4}
.gsg-toolbox .free-note{display:inline-flex;align-items:center;gap:14px;margin-top:22px;font:500 14px/1.2 var(--gsg-body);letter-spacing:.14em;text-transform:uppercase}
.gsg-toolbox .free-note b{color:var(--gsg-red-text);font-size:20px}

.gsg-toolbox .toolbox{scroll-margin-top:20px}
.gsg-toolbox .group-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px;border-bottom:1px solid var(--gsg-line)}
.gsg-toolbox .group-strip button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;margin-bottom:-1px;padding:0 16px 14px 0;border:0;border-bottom:4px solid transparent;background:none;color:var(--gsg-muted);text-align:left}
.gsg-toolbox .group-strip strong{font:400 42px/.95 var(--gsg-display);letter-spacing:.01em;text-transform:uppercase}
.gsg-toolbox .group-strip span{font:500 14px/1.2 var(--gsg-body);letter-spacing:.14em;text-transform:uppercase}
.gsg-toolbox .group-strip button:hover{color:var(--gsg-text)}
.gsg-toolbox .group-strip button[aria-pressed=true]{border-bottom-color:var(--gsg-red);color:var(--gsg-text)}
.gsg-toolbox .group-strip button[aria-pressed=true] span{color:var(--gsg-red-text)}
/* Tabs wrap and stretch, so any number of tools fills each row. The 1px gaps show the line color between tabs. */
.gsg-toolbox .tool-strip{display:flex;flex-wrap:wrap;gap:1px;border:1px solid var(--gsg-line);background:var(--gsg-line)}
.gsg-toolbox .tool-strip button{flex:1 1 190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;padding:15px 14px;border:0;background:var(--gsg-panel);color:var(--gsg-soft);font:500 18px/1.1 var(--gsg-body);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}
.gsg-toolbox .tool-strip button span{color:var(--gsg-muted);font:400 17px/1 var(--gsg-display);letter-spacing:.06em}
.gsg-toolbox .tool-strip button:hover:not([aria-selected=true]){background:var(--gsg-hover);color:var(--gsg-text)}
.gsg-toolbox .tool-strip button[aria-selected=true]{background:var(--gsg-red);color:#fff}
.gsg-toolbox .tool-strip button[aria-selected=true] span{color:rgba(255,255,255,.8)}
.gsg-toolbox .tool-content{border:1px solid var(--gsg-line);border-top:0;background:var(--gsg-panel)}
.gsg-toolbox .tool-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 32px;border-bottom:1px solid var(--gsg-line)}
.gsg-toolbox .tool-header h2{font-size:48px}
.gsg-toolbox .tool-header p{margin-top:8px;color:var(--gsg-soft);font-size:20px}
.gsg-toolbox .tool-tag{padding:9px 12px;border:1px solid var(--gsg-line-strong);color:var(--gsg-soft);font:500 14px/1 var(--gsg-body);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

.gsg-toolbox .workspace{display:grid;grid-template-columns:1fr 1fr}
.gsg-toolbox .input-panel{min-width:0;padding:30px 32px;border-right:1px solid var(--gsg-line)}
.gsg-toolbox .form-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;color:var(--gsg-muted);font:500 14px/1.2 var(--gsg-body);letter-spacing:.12em;text-transform:uppercase}
.gsg-toolbox .form-caption button{padding:5px 0;border:0;border-bottom:1px solid var(--gsg-line-strong);background:none;color:var(--gsg-soft);font:inherit;letter-spacing:inherit;text-transform:inherit}
.gsg-toolbox .form-caption button:hover{border-color:var(--gsg-red);color:var(--gsg-text)}
.gsg-toolbox .fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.gsg-toolbox .field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0}
.gsg-toolbox .field.wide{grid-column:1/-1}
.gsg-toolbox .field>span:first-child{color:var(--gsg-text);font-size:19px}
.gsg-toolbox .unit-label{color:var(--gsg-muted)}
.gsg-toolbox .field input,.gsg-toolbox .field select{width:100%;min-height:50px;padding:11px 13px;border:1px solid var(--gsg-line-strong);border-radius:0;background-color:var(--gsg-bg);color:var(--gsg-text);font:400 20px/1.2 var(--gsg-body);letter-spacing:.02em;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}
.gsg-toolbox .field select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px;cursor:pointer}
.gsg-toolbox .field select :is(option,optgroup){background:var(--gsg-panel);color:var(--gsg-text)}
.gsg-toolbox .field small a{color:var(--gsg-soft)}
.gsg-toolbox .field input:hover,.gsg-toolbox .field select:hover{border-color:#6a6a73}
.gsg-toolbox .field input:focus,.gsg-toolbox .field select:focus{border-color:var(--gsg-red);outline:1px solid var(--gsg-red);outline-offset:0}
.gsg-toolbox .field:has(input:focus)>span:first-child{color:var(--gsg-red-text)}
.gsg-toolbox .field-group{grid-column:1/-1;margin:6px 0 -8px;color:var(--gsg-muted);font:500 14px/1.2 var(--gsg-body);letter-spacing:.12em;text-transform:uppercase}
.gsg-toolbox .field small{color:var(--gsg-muted);font-size:16px;line-height:1.25}
.gsg-toolbox .field [aria-invalid=true]{border-color:var(--gsg-error)}
.gsg-toolbox .segment{display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:25px;border-bottom:1px solid var(--gsg-line)}
.gsg-toolbox .segment button{margin-bottom:-1px;padding:0 0 11px;border:0;border-bottom:2px solid transparent;background:none;color:var(--gsg-muted);font:500 17px/1.2 var(--gsg-body);letter-spacing:.1em;text-transform:uppercase}
.gsg-toolbox .segment button:hover{color:var(--gsg-text)}
.gsg-toolbox .segment button.active{border-bottom-color:var(--gsg-red);color:var(--gsg-text)}
.gsg-toolbox .input-note{margin:20px 0;color:var(--gsg-muted);font-size:17px;line-height:1.35}
.gsg-toolbox .primary{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:56px;margin-top:25px;padding:12px 22px;border:1px solid var(--gsg-red);background:var(--gsg-red);color:#fff;font:400 26px/1 var(--gsg-display);letter-spacing:.04em;text-transform:uppercase}
.gsg-toolbox .primary:hover{border-color:var(--gsg-red-hover);background:var(--gsg-red-hover)}
.gsg-toolbox .secondary{min-height:46px;padding:10px 18px;border:1px solid var(--gsg-text);background:transparent;color:var(--gsg-text);font:400 22px/1 var(--gsg-display);letter-spacing:.04em;text-transform:uppercase}
.gsg-toolbox .secondary:hover{background:var(--gsg-text);color:var(--gsg-bg)}
.gsg-toolbox .error{margin-top:15px;color:var(--gsg-error);font-size:18px}
.gsg-toolbox .error:empty{display:none}

.gsg-toolbox .output-panel{min-width:0;padding:30px}
.gsg-toolbox .result-main{position:relative;overflow:hidden;padding:26px 28px 22px;border:1px solid var(--gsg-line);background:var(--gsg-bg);color:var(--gsg-text)}
.gsg-toolbox .result-main:before{content:'';position:absolute;left:0;top:0;width:64px;height:4px;background:var(--gsg-red)}
.gsg-toolbox .result-label{display:flex;align-items:center;gap:8px;color:var(--gsg-soft);font:500 15px/1.2 var(--gsg-body);letter-spacing:.14em;text-transform:uppercase}
.gsg-toolbox .result-label:before{content:'';flex:none;width:7px;height:7px;background:var(--gsg-red)}
.gsg-toolbox .big-number{margin:18px 0 9px;color:var(--gsg-text);font:400 88px/1 var(--gsg-display);letter-spacing:.01em;overflow-wrap:anywhere}
.gsg-toolbox .big-number small{margin-left:10px;color:var(--gsg-muted);font:400 24px/1 var(--gsg-body);letter-spacing:.02em}
.gsg-toolbox .result-sub{margin-top:15px;padding-top:15px;border-top:1px solid var(--gsg-line);color:var(--gsg-soft);font-size:18px;line-height:1.35}
.gsg-toolbox .metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--gsg-line);border-top:0;background:var(--gsg-line)}
.gsg-toolbox .metric{padding:17px 19px;background:var(--gsg-inset)}
.gsg-toolbox .metric>span{display:block;color:var(--gsg-muted);font:500 14px/1.2 var(--gsg-body);letter-spacing:.1em;text-transform:uppercase}
.gsg-toolbox .metric strong{display:block;margin-top:8px;color:var(--gsg-text);font:400 32px/1 var(--gsg-display);letter-spacing:.01em}
.gsg-toolbox .metric strong small{margin-left:6px;color:var(--gsg-muted);font:400 17px/1 var(--gsg-body)}
.gsg-toolbox .output-panel h3{margin:28px 0 14px;font-size:30px}
.gsg-toolbox .gear-table{width:100%;border-collapse:collapse;font:400 19px/1.2 var(--gsg-body);font-variant-numeric:tabular-nums}
.gsg-toolbox .gear-table th{padding:10px;border-bottom:1px solid var(--gsg-line);color:var(--gsg-muted);font:500 14px/1.2 var(--gsg-body);letter-spacing:.12em;text-align:right}
.gsg-toolbox .gear-table td{padding:11px 10px;border-bottom:1px solid var(--gsg-line);color:var(--gsg-soft);text-align:right}
.gsg-toolbox .gear-table td+td{color:var(--gsg-text);white-space:nowrap}
.gsg-toolbox .gear-table td.wrap{white-space:normal}
.gsg-toolbox .gear-table :is(th,td):first-child{text-align:left}
.gsg-toolbox .gear-table tr:is(.fastest,.total) td{background:var(--gsg-inset);color:var(--gsg-red-text)}
.gsg-toolbox .output-note{margin-top:19px;color:var(--gsg-muted);font-size:17px;line-height:1.4}
.gsg-toolbox .output-panel>.secondary{margin-top:18px}
.gsg-toolbox .handoffs{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.gsg-toolbox .output-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px}
.gsg-toolbox .text-button{padding:4px 0;border:0;border-bottom:1px solid currentColor;background:none;color:var(--gsg-soft);font:400 18px/1.2 var(--gsg-body);letter-spacing:.02em}
.gsg-toolbox .text-button:hover{color:var(--gsg-red-text)}
.gsg-toolbox .pending-note{margin-top:24px;padding:17px;border:1px solid var(--gsg-line);color:var(--gsg-soft);font-size:17px}
.gsg-toolbox .pending-note strong{display:block;margin-bottom:5px;color:var(--gsg-text);font-size:19px;font-weight:500}
.gsg-toolbox .result-placeholder{padding:45px 25px;border:1px dashed var(--gsg-line-strong);color:var(--gsg-muted);font-size:22px}
.gsg-toolbox .chart{display:block;width:100%;height:auto;margin-top:22px}
.gsg-toolbox .chart text{fill:var(--gsg-muted);font:12px var(--gsg-body);letter-spacing:.06em}
.gsg-toolbox .chart .axis{stroke:var(--gsg-line);stroke-width:1}
.gsg-toolbox .chart .curve{fill:none;stroke:var(--gsg-red);stroke-width:2}
/* Second series. #3d93c9 against the panel surface passes all six palette checks with the brand red:
   lightness band, chroma floor, CVD separation (19.1 protan, 36.3 tritan), normal-vision 31.5, contrast. */
.gsg-toolbox .chart .curve-2{fill:none;stroke:#3d93c9;stroke-width:2}
.gsg-toolbox .chart .ref{fill:none;stroke:var(--gsg-line-strong);stroke-width:1.5;stroke-dasharray:5 4}
.gsg-toolbox .chart .edge{fill:none;stroke:var(--gsg-soft);stroke-width:2}
.gsg-toolbox .chart .body{fill:var(--gsg-inset);stroke:var(--gsg-line-strong);stroke-width:1}
.gsg-toolbox .chart .dim{stroke:var(--gsg-muted);stroke-width:1}
.gsg-toolbox .chart .part{fill:var(--gsg-red);stroke:none}
.gsg-toolbox .chart .mark{fill:var(--gsg-red);stroke:var(--gsg-panel);stroke-width:2}
.gsg-toolbox .chart .key{fill:var(--gsg-soft);font-weight:500}
.gsg-toolbox .chart .lead{fill:var(--gsg-text);font-weight:500}
.gsg-toolbox .figure-note{margin-top:8px;color:var(--gsg-muted);font-size:15px;letter-spacing:.04em;text-transform:uppercase}

.gsg-toolbox .method{padding:20px 32px;border-top:1px solid var(--gsg-line)}
.gsg-toolbox .method summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font:500 19px/1.2 var(--gsg-body);letter-spacing:.1em;text-transform:uppercase}
.gsg-toolbox summary::-webkit-details-marker{display:none}
.gsg-toolbox .method summary:after{content:'+';color:var(--gsg-red-text);font:400 30px/1 var(--gsg-display)}
.gsg-toolbox .method[open] summary:after{content:'−'}
.gsg-toolbox .method-content{max-width:860px;padding:12px 0;color:var(--gsg-soft);font-size:18px;line-height:1.45}
.gsg-toolbox .method-content p{margin:12px 0}
.gsg-toolbox .method-content code{display:block;overflow:auto;margin:12px 0;padding:14px;border:1px solid var(--gsg-line);background:var(--gsg-bg);color:var(--gsg-text);font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.gsg-toolbox .method-content a{color:var(--gsg-text)}
.gsg-toolbox .method-content a:hover{color:var(--gsg-red-text)}
.gsg-toolbox .method-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:64px}
.gsg-toolbox .method-band h2{font-size:56px;line-height:.95}
.gsg-toolbox .method-band>div:last-child{color:var(--gsg-soft);font-size:20px;line-height:1.45}
.gsg-toolbox .method-band>div:last-child p{margin:0 0 16px}
.gsg-toolbox .method-band .text-button{margin-top:4px;color:var(--gsg-text)}
.gsg-toolbox .gsg-toast{position:fixed;left:50%;bottom:25px;z-index:2147483000;max-width:calc(100vw - 30px);padding:14px 22px;border:1px solid var(--gsg-line-strong);border-left:4px solid var(--gsg-red);background:var(--gsg-panel);color:var(--gsg-text);font-size:18px;box-shadow:0 10px 30px rgba(0,0,0,.5);transform:translateX(-50%)}
.gsg-toolbox .gsg-toast:empty{display:none}

/* Shared weather for the air and fuel tabs. */
.gsg-toolbox .shared-weather{margin:24px 32px;padding:22px 24px;border:1px solid var(--gsg-line);border-left:3px solid var(--gsg-red);background:var(--gsg-inset)}
.gsg-toolbox .weather-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.gsg-toolbox .weather-heading .eyebrow{margin-bottom:10px;font-size:14px}
.gsg-toolbox .weather-heading h3{font-size:34px}
.gsg-toolbox .weather-readings{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.gsg-toolbox .weather-readings>span{color:var(--gsg-muted);font-size:17px}
.gsg-toolbox .weather-readings strong{display:block;margin-top:5px;color:var(--gsg-text);font:400 30px/1 var(--gsg-display);letter-spacing:.02em}
.gsg-toolbox .weather-status{margin-top:12px;color:var(--gsg-muted);font-size:16px}
.gsg-toolbox .weather-footnote{max-width:76ch;margin-top:14px;color:var(--gsg-muted);font-size:16px}
.gsg-toolbox .reading-source{margin-top:20px;padding-left:12px;border-left:3px solid var(--gsg-red);color:var(--gsg-soft);font-size:16px;overflow-wrap:anywhere}
.gsg-toolbox :is(.weather-location,.fuel-sample){margin-top:16px;padding-top:14px;border-top:1px solid var(--gsg-line)}
.gsg-toolbox .fuel-sample{margin-top:22px}
.gsg-toolbox :is(.weather-location,.fuel-sample) summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;color:var(--gsg-text);font-size:19px}
.gsg-toolbox :is(.weather-location,.fuel-sample) summary:before{content:'+';width:14px;color:var(--gsg-red-text);font:400 26px/1 var(--gsg-display)}
.gsg-toolbox :is(.weather-location,.fuel-sample)[open] summary:before{content:'−'}
.gsg-toolbox .weather-location .fields{max-width:560px}
.gsg-toolbox .weather-location .text-button{margin-top:14px}
.gsg-toolbox .weather-location h4{margin:22px 0 12px;font-size:26px}
.gsg-toolbox .weather-location button[type=submit]{margin-top:18px}
.gsg-toolbox .fuel-sample .fields{margin-top:18px}
.gsg-toolbox .place-search{display:flex;align-items:flex-end;gap:14px;max-width:560px;margin-bottom:20px;flex-wrap:wrap}
.gsg-toolbox .place-search .field{flex:1 1 280px}
.gsg-toolbox .place-search .text-button{margin-top:0;padding-bottom:15px}
.gsg-toolbox .place-matches{max-width:560px;margin:0 0 20px;padding:0;list-style:none;border-top:1px solid var(--gsg-line)}
.gsg-toolbox .place-matches li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--gsg-line)}
.gsg-toolbox .place-matches .text-button{margin-top:0;text-align:left}
.gsg-toolbox .place-matches span{color:var(--gsg-muted);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}

@media(max-width:1190px){
  .gsg-toolbox :is(.input-panel,.output-panel){padding:25px}
  .gsg-toolbox .hero{gap:25px}
}
@media(max-width:760px){
  .gsg-toolbox{padding-top:32px}
  .gsg-toolbox .hero{grid-template-columns:1.1fr 1fr;gap:25px;padding-bottom:36px}
  .gsg-toolbox .hero h1{font-size:76px}
  .gsg-toolbox .hero-right>p{font-size:26px}
  .gsg-toolbox .hero-caption{font-size:18px}
  .gsg-toolbox .eyebrow{font-size:14px;letter-spacing:.12em}
  .gsg-toolbox :is(.edition,.free-note){font-size:12px}
  .gsg-toolbox .free-note{gap:8px}
  .gsg-toolbox .group-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .gsg-toolbox .group-strip strong{font-size:32px}
  .gsg-toolbox .group-strip span{font-size:12px;letter-spacing:.1em}
  .gsg-toolbox .tool-strip button{flex-basis:170px;padding:14px 12px;white-space:normal}
  .gsg-toolbox .workspace{grid-template-columns:1fr}
  .gsg-toolbox .input-panel{border-right:0;border-bottom:1px solid var(--gsg-line)}
  .gsg-toolbox .tool-header{align-items:flex-start;padding:24px}
  .gsg-toolbox .tool-header h2{font-size:40px}
  .gsg-toolbox .tool-tag{padding:7px;font-size:12px}
  .gsg-toolbox .method-band{gap:30px}
  .gsg-toolbox .method-band h2{font-size:44px}
  .gsg-toolbox .big-number{font-size:92px}
  .gsg-toolbox .shared-weather{margin:20px 24px;padding:20px}
  .gsg-toolbox .weather-heading{align-items:flex-start}
  .gsg-toolbox .weather-readings{gap:12px}
  .gsg-toolbox .weather-readings strong{font-size:26px}
}
@media(max-width:480px){
  .gsg-toolbox .place-search{display:block}
  .gsg-toolbox .place-search .text-button{margin-top:14px;padding-bottom:4px}
  .gsg-toolbox .place-matches li{display:block}
  .gsg-toolbox .place-matches span{display:block;margin-top:4px;white-space:normal}
  .gsg-toolbox{padding-top:24px}
  .gsg-toolbox .hero{grid-template-columns:1fr;gap:18px;padding-bottom:28px}
  .gsg-toolbox .hero h1{font-size:68px}
  .gsg-toolbox .hero-right{max-width:none;justify-self:start}
  .gsg-toolbox .edition{display:none}
  .gsg-toolbox .hero-right>p{margin:0 0 10px;font-size:24px}
  .gsg-toolbox .hero-right>p br{display:none}
  .gsg-toolbox .hero-caption{font-size:18px}
  .gsg-toolbox .free-note{margin-top:14px;font-size:13px}
  .gsg-toolbox .group-strip{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-bottom:16px}
  .gsg-toolbox .group-strip button{padding:0 8px 12px 0}
  .gsg-toolbox .group-strip strong{font-size:23px}
  .gsg-toolbox .group-strip span{font-size:11px;letter-spacing:.06em}
  .gsg-toolbox .tool-strip button{flex-basis:140px;padding:13px 12px;font-size:17px}
  .gsg-toolbox .tool-header{padding:22px 18px}
  .gsg-toolbox .tool-tag{display:none}
  .gsg-toolbox :is(.input-panel,.output-panel){padding:22px 18px}
  .gsg-toolbox .fields{gap:17px 12px}
  .gsg-toolbox .field input,.gsg-toolbox .field select{padding:10px;font-size:18px}
  .gsg-toolbox .field select{padding-right:34px;background-position:right 11px center}
  .gsg-toolbox .form-caption{font-size:12px;letter-spacing:.06em}
  .gsg-toolbox .segment{gap:6px 16px}
  .gsg-toolbox .segment button{font-size:15px;letter-spacing:.06em}
  .gsg-toolbox .method{padding:18px}
  .gsg-toolbox .method-band{grid-template-columns:1fr;gap:20px;margin-top:40px}
  .gsg-toolbox .method-band h2{font-size:42px}
  .gsg-toolbox .result-main{padding:22px}
  .gsg-toolbox .big-number{font-size:76px}
  .gsg-toolbox .result-label{font-size:13px}
  .gsg-toolbox .metric{padding:15px 13px}
  .gsg-toolbox .metric strong{font-size:28px}
  .gsg-toolbox .gear-table :is(th,td){padding-left:5px;padding-right:5px}
  .gsg-toolbox .shared-weather{margin:18px;padding:17px 14px}
  .gsg-toolbox .weather-heading{flex-wrap:wrap;gap:14px}
  .gsg-toolbox .weather-heading .secondary{width:100%}
  .gsg-toolbox .weather-readings{grid-template-columns:1fr 1fr;gap:14px}
  .gsg-toolbox .weather-readings>span:last-child{grid-column:1/-1}
  .gsg-toolbox .weather-readings strong{font-size:24px}
}
/* Touch targets. These controls are sized to their type, which reads right on a desktop
   but leaves a tap area well under the 44px a finger needs. Every rule here adds space
   ABOVE the text only, so the underline stays where it is and nothing overlaps the copy
   around it. Coarse pointers only: a mouse is precise and does not need the padding. */
@media(pointer:coarse){
  .gsg-toolbox .text-button{padding-top:18px}
  .gsg-toolbox .segment button{padding-top:13px}
  .gsg-toolbox .form-caption button{padding-top:24px}
  .gsg-toolbox .method summary{padding-top:14px}
  .gsg-toolbox :is(.weather-location,.fuel-sample) summary{padding-top:18px}
  .gsg-toolbox .place-matches li{padding-top:4px}
}

@media(prefers-reduced-motion:reduce){.gsg-toolbox *{animation:none!important;transition:none!important}}
/* Print on white. On Shopify, drop the theme header, announcement bar, and footer. */
@media print{
  body{background:#fff!important}
  .shopify-section-group-header-group,.shopify-section-group-footer-group{display:none!important}
  .gsg-toolbox{--gsg-bg:#fff;--gsg-panel:#fff;--gsg-inset:#f3f3f3;--gsg-hover:#fff;--gsg-line:#bbb;--gsg-line-strong:#999;--gsg-text:#000;--gsg-soft:#222;--gsg-muted:#555;--gsg-red-text:#a50d23;max-width:none;padding:0}
  .gsg-toolbox :is(.gsg-skip,.hero,.group-strip,.tool-strip,.method-band,.primary,.output-actions,.form-caption button,.gsg-toast,.weather-heading button,.weather-location){display:none!important}
  .gsg-toolbox .workspace{grid-template-columns:1fr 1fr}
  .gsg-toolbox :is(.tool-header,.input-panel,.output-panel){padding:15px}
  .gsg-toolbox .input-panel{border-right:1px solid var(--gsg-line);border-bottom:0}
  .gsg-toolbox .field select{background-image:none}
  .gsg-toolbox .shared-weather{margin:10px 15px;padding:12px}
  .gsg-toolbox .weather-footnote{font-size:12px}
  .gsg-toolbox .fuel-sample .fields{display:grid}
}
