:root {
  --tm-navy: #0b1733;
  --tm-navy-2: #122246;
  --tm-blue: #2979ff;
  --tm-blue-soft: #eaf2ff;
  --tm-ink: #152039;
  --tm-muted: #68748b;
  --tm-line: #e4e9f2;
  --tm-bg: #f5f7fb;
  --tm-white: #fff;
  --tm-radius: 18px;
}

.tm-tool { max-width: 1180px; margin: 36px auto; color: var(--tm-ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.tm-tool * { box-sizing: border-box; }
.tm-tool__intro { margin-bottom: 24px; }
.tm-tool__intro h2 { margin: 5px 0 8px; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.035em; color: var(--techmins-tool-heading, var(--tm-navy)); }
.tm-tool__intro p { max-width: 760px; margin: 0; color: var(--techmins-tool-intro, var(--tm-muted)); font-size: 17px; line-height: 1.65; }
.tm-eyebrow { color: var(--tm-blue); font-weight: 800; letter-spacing: .12em; font-size: 12px; }

.tm-calc-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr); gap: 24px; align-items: start; }
.tm-calc { display: grid; gap: 16px; }
.tm-section, .tm-summary { background: var(--tm-white); border: 1px solid var(--tm-line); border-radius: var(--tm-radius); box-shadow: 0 8px 28px rgba(16, 35, 70, .06); }
.tm-section { padding: 24px; }
.tm-section__heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 19px; }
.tm-section__heading h3 { margin: 0 0 4px; color: var(--tm-navy); font-size: 19px; }
.tm-section__heading p { margin: 0; color: var(--tm-muted); font-size: 13px; line-height: 1.5; }
.tm-step { width: 33px; height: 33px; display: inline-grid; place-items: center; flex: 0 0 33px; border-radius: 10px; background: var(--tm-blue-soft); color: var(--tm-blue); font-weight: 800; font-size: 12px; }

.tm-grid { display: grid; gap: 14px; }
.tm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-field { display: grid; gap: 7px; }
.tm-field--wide { grid-column: 1 / -1; }
.tm-field > span { color: #43506a; font-size: 13px; font-weight: 700; }
.tm-field small { color: #8a94a8; font-weight: 600; }
.tm-field input, .tm-currency-select select { width: 100%; border: 1px solid #dce2ec; background: #fff; border-radius: 11px; min-height: 46px; padding: 10px 12px; color: var(--tm-ink); font: inherit; outline: 0; transition: border-color .15s, box-shadow .15s; }
.tm-field input:focus, .tm-currency-select select:focus { border-color: var(--tm-blue); box-shadow: 0 0 0 3px rgba(41,121,255,.12); }

.tm-pricing-mode { display: inline-flex; gap: 4px; padding: 4px; margin: 0 0 16px; background: var(--tm-bg); border-radius: 12px; }
.tm-pricing-mode button { appearance: none; border: 0; border-radius: 9px; padding: 9px 13px; background: transparent; color: var(--tm-muted); font-weight: 800; cursor: pointer; }
.tm-pricing-mode button.is-active { background: var(--tm-white); color: var(--tm-blue); box-shadow: 0 2px 10px rgba(16,35,70,.08); }

.tm-summary { position: sticky; top: 24px; overflow: hidden; }
.tm-summary__top { padding: 21px 22px 17px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.tm-currency-select label { display: grid; gap: 4px; color: var(--tm-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.tm-currency-select select { min-height: 38px; padding: 7px 9px; font-size: 13px; }
.tm-result-hero { padding: 25px 22px 27px; background: linear-gradient(135deg, var(--tm-navy), var(--tm-navy-2)); color: #fff; }
.tm-result-hero span { display: block; opacity: .72; font-size: 13px; margin-bottom: 5px; }
.tm-result-hero strong { display: block; font-size: clamp(34px, 5vw, 48px); letter-spacing: -.04em; line-height: 1; }
.tm-result-hero small { display: block; margin-top: 8px; opacity: .7; }
.tm-breakdown { padding: 19px 22px 10px; }
.tm-breakdown > div, .tm-total-row { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; }
.tm-breakdown span, .tm-total-row span { color: var(--tm-muted); }
.tm-breakdown b { color: var(--tm-ink); }
.tm-total-row { margin: 0 22px; padding: 16px 0; border-top: 1px solid var(--tm-line); border-bottom: 1px solid var(--tm-line); }
.tm-total-row strong { color: var(--tm-navy); font-size: 19px; }
.tm-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px 22px; }
.tm-metrics > div { background: var(--tm-bg); border-radius: 12px; padding: 12px; }
.tm-metrics span { display: block; color: var(--tm-muted); font-size: 11px; margin-bottom: 4px; }
.tm-metrics strong { color: var(--tm-navy); }
.tm-tax-note { margin: 0 22px 18px; padding: 13px 14px; border-radius: 12px; background: var(--tm-blue-soft); display: flex; justify-content: space-between; gap: 12px; color: #204b95; }
.tm-tax-note[hidden] { display: none !important; }
.tm-disclaimer { margin: 0; padding: 0 22px 22px; color: #8a94a8; font-size: 11px; line-height: 1.55; }

@media (max-width: 860px) {
  .tm-calc-layout { grid-template-columns: 1fr; }
  .tm-summary { position: static; }
}
@media (max-width: 620px) {
  .tm-tool { margin: 24px auto; }
  .tm-section { padding: 19px; }
  .tm-grid--2, .tm-grid--3 { grid-template-columns: 1fr; }
  .tm-field--wide { grid-column: auto; }
  .tm-summary__top { align-items: start; }
}
.tm-custom-currency{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 22px 16px}.tm-custom-currency[hidden]{display:none!important}.tm-custom-currency label{display:grid;gap:5px;color:var(--tm-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tm-custom-currency input{width:100%;border:1px solid #dce2ec;border-radius:10px;padding:9px 10px;font:inherit;color:var(--tm-ink)}
@media(max-width:620px){.tm-custom-currency{grid-template-columns:1fr}}

/* Filament Selector */
.tm-selector-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:24px;align-items:start}.tm-selector-panel{display:grid;gap:16px}.tm-selector-panel select{width:100%;min-height:46px;border:1px solid #dce2ec;background:#fff;border-radius:11px;padding:10px 12px;color:var(--tm-ink);font:inherit}.tm-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tm-choice{position:relative;cursor:pointer}.tm-choice input{position:absolute;opacity:0;pointer-events:none}.tm-choice>span{display:block;border:1px solid #dce2ec;border-radius:12px;padding:13px 14px;background:#fff;transition:.15s ease}.tm-choice b{display:block;color:var(--tm-navy);font-size:13px;margin-bottom:3px}.tm-choice small{display:block;color:var(--tm-muted);font-size:11px;line-height:1.4}.tm-choice input:checked+span{border-color:var(--tm-blue);background:var(--tm-blue-soft);box-shadow:0 0 0 2px rgba(41,121,255,.08)}.tm-selector-results{position:sticky;top:94px;border:1px solid var(--tm-line);border-radius:var(--tm-radius);overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(16,35,70,.06)}.tm-selector-results__head{padding:22px;border-bottom:1px solid var(--tm-line)}.tm-selector-results__head h3{margin:5px 0 4px;color:var(--tm-navy);font-size:22px}.tm-selector-results__head p{margin:0;color:var(--tm-muted);font-size:12px}.tm-filament-result{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:17px 20px;border-bottom:1px solid var(--tm-line)}.tm-filament-result:last-child{border-bottom:0}.tm-filament-result.is-blocked{opacity:.62}.tm-filament-rank span{width:29px;height:29px;border-radius:9px;background:var(--tm-blue-soft);color:var(--tm-blue);display:grid;place-items:center;font-size:11px;font-weight:900}.tm-filament-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.tm-filament-title h4{margin:0;color:var(--tm-navy);font-size:16px}.tm-filament-title em{font-style:normal;color:var(--tm-blue);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tm-matchbar{height:5px;background:#edf1f7;border-radius:999px;margin:9px 0 8px;overflow:hidden}.tm-matchbar i{display:block;height:100%;background:linear-gradient(90deg,#2979ff,#16a9ff);border-radius:inherit}.tm-filament-main p{margin:0;color:var(--tm-muted);font-size:11px;line-height:1.45}.tm-filament-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.tm-filament-tags span{padding:4px 7px;border-radius:999px;background:#f1f5fa;color:#536177;font-size:9px;font-weight:700}.tm-filament-warning{margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff3e8;color:#9a4d00;font-size:10px;line-height:1.4}.tm-selector-note{margin:0 20px 20px;padding:13px 14px;border-radius:11px;background:#eef5ff;color:#44546b;font-size:10px;line-height:1.55}.tm-selector-note b{color:#1d63ca}
@media(max-width:860px){.tm-selector-layout{grid-template-columns:1fr}.tm-selector-results{position:static}}@media(max-width:620px){.tm-choice-grid{grid-template-columns:1fr}}

/* 3D Printing Scale Converter */
.tm-scale-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.75fr);gap:24px;align-items:start}.tm-scale-workspace{display:grid;gap:16px}.tm-scale-mode-section{padding-bottom:20px}.tm-scale-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:5px;background:var(--tm-bg);border-radius:13px}.tm-scale-tabs button{appearance:none;border:0;border-radius:10px;background:transparent;color:#66738a;padding:11px 9px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;line-height:1.25}.tm-scale-tabs button.is-active{background:#fff;color:var(--tm-blue);box-shadow:0 2px 12px rgba(16,35,70,.09)}.tm-scale-mode[hidden]{display:none!important}.tm-unit-input{display:grid;grid-template-columns:1fr 90px;gap:8px}.tm-unit-input select,.tm-scale-mode select{width:100%;border:1px solid #dce2ec;background:#fff;border-radius:11px;min-height:46px;padding:10px 12px;color:var(--tm-ink);font:inherit}.tm-scale-presets{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:15px;border-top:1px solid var(--tm-line)}.tm-scale-presets>span{font-size:11px;color:var(--tm-muted);font-weight:800;margin-right:3px}.tm-scale-presets button{appearance:none;border:1px solid #dce2ec;background:#fff;color:#40506a;border-radius:999px;padding:6px 9px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.tm-scale-presets button:hover{border-color:var(--tm-blue);color:var(--tm-blue);background:var(--tm-blue-soft)}.tm-scale-optional{margin-top:15px}.tm-scale-reference{background:linear-gradient(145deg,#fbfcff,#f4f7fb)}.tm-scale-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tm-scale-facts>div{border:1px solid var(--tm-line);border-radius:12px;background:#fff;padding:13px}.tm-scale-facts b{display:block;color:var(--tm-navy);font-size:12px;margin-bottom:4px}.tm-scale-facts span{display:block;color:var(--tm-muted);font-size:10px;line-height:1.45}.tm-scale-summary{position:sticky;top:94px;overflow:hidden;background:#fff;border:1px solid var(--tm-line);border-radius:var(--tm-radius);box-shadow:0 8px 28px rgba(16,35,70,.08)}.tm-scale-summary__head{padding:21px 22px 14px}.tm-scale-summary__head h3{margin:5px 0 0;color:var(--tm-navy);font-size:19px}.tm-scale-primary{padding:25px 22px 26px;color:#fff;background:linear-gradient(135deg,#0b1733,#173262)}.tm-scale-primary strong{display:block;font-size:clamp(38px,5vw,54px);line-height:1;letter-spacing:-.045em}.tm-scale-primary span{display:block;margin-top:8px;font-size:12px;opacity:.72}.tm-scale-copy{padding:16px 22px;border-bottom:1px solid var(--tm-line)}.tm-scale-copy>span{display:block;color:var(--tm-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px}.tm-scale-copy>div{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:7px;align-items:center}.tm-scale-copy b{width:24px;height:24px;border-radius:7px;background:var(--tm-blue-soft);color:var(--tm-blue);display:grid;place-items:center;font-size:9px}.tm-scale-copy strong{color:var(--tm-navy);font-size:12px}.tm-scale-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:17px 22px}.tm-scale-stats>div{padding:11px;border-radius:11px;background:var(--tm-bg)}.tm-scale-stats span{display:block;color:var(--tm-muted);font-size:9px;margin-bottom:4px}.tm-scale-stats strong{display:block;color:var(--tm-navy);font-size:14px}.tm-scale-detail{margin:0 22px 16px;padding:14px;border:1px solid #dbe6fb;border-radius:12px;background:#f2f7ff}.tm-scale-detail[hidden]{display:none!important}.tm-scale-detail span{display:block;color:#58709b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tm-scale-detail strong{display:block;margin:4px 0;color:#173d7d;font-size:22px}.tm-scale-detail small{color:#71809a;line-height:1.4}.tm-scale-tip{margin:0 22px 16px;padding:13px 14px;border-radius:12px;background:#f7f9fc}.tm-scale-tip b{display:block;color:var(--tm-blue);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.tm-scale-tip p{margin:5px 0 0;color:#536177;font-size:11px;line-height:1.5}
@media(max-width:950px){.tm-scale-layout{grid-template-columns:1fr}.tm-scale-summary{position:static}.tm-scale-tabs{grid-template-columns:1fr 1fr}}@media(max-width:620px){.tm-scale-tabs{grid-template-columns:1fr}.tm-unit-input{grid-template-columns:1fr 78px}.tm-scale-facts{grid-template-columns:1fr}.tm-scale-copy>div{grid-template-columns:auto 1fr auto 1fr}.tm-scale-copy>div b:nth-of-type(3),.tm-scale-copy>div strong:nth-of-type(3){margin-top:4px}}

.tm-filament-why,.tm-filament-trade{display:grid;grid-template-columns:92px 1fr;gap:8px;margin-top:8px;font-size:10px;line-height:1.45}.tm-filament-why b,.tm-filament-trade b{color:#10213f}.tm-filament-why span,.tm-filament-trade span{color:#66758a}.tm-filament-guide{display:inline-flex;margin-top:10px;color:#176fff;font-size:10px;font-weight:800}.tm-filament-guide:hover{text-decoration:underline}
