.tool-list{gap:1.1rem;max-width:760px;padding-bottom:clamp(24px,4vw,40px);display:grid}.tool-card{background:var(--surface);border-radius:var(--r);box-shadow:var(--card-shadow);padding:1.4rem 1.5rem}.tool-card h2{letter-spacing:-.02em;font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.2}.tool-card h2 a{color:var(--ink);text-decoration:none}.tool-card h2 a:hover{color:var(--descent)}.tool-card p{color:var(--muted);max-width:64ch;margin:.55rem 0 1.1rem;line-height:1.55}.tool-page-cta{max-width:760px;padding-bottom:clamp(48px,7vw,96px)}.tool-page-cta .cta{margin-top:clamp(24px,4vw,40px)}.tool-page{max-width:860px;margin:0 auto;padding-top:clamp(28px,5vw,56px)}.tool-page h1{margin:.9rem 0 1rem;font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.08}.tool-lead{max-width:62ch}.tool-app{margin-top:clamp(22px,3vw,32px)}.tool-app .gpx-drop{margin-top:1rem}.seg-row .dot-up{background:var(--climb)}.seg-row .dot-down{background:var(--descent)}.tool-panels{gap:1rem;margin-top:1.4rem;display:grid}@media (width>=760px){.tool-panels{grid-template-columns:1fr 1fr}.tool-panels>:nth-child(n+3){grid-column:1/-1}}.tool-panel{background:var(--surface);border-radius:var(--r);box-shadow:var(--card-shadow);min-width:0;padding:1.2rem 1.3rem}.tool-panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem;font-size:.78rem;font-weight:700}.tool-big{letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.tool-sub{letter-spacing:0;color:var(--muted);font-size:.95rem;font-weight:500;display:block}.tool-note{color:var(--muted);margin:.6rem 0 0;font-size:.92rem;line-height:1.5}.tool-terrain-bar{width:100%;height:12px;display:block;overflow:hidden}.tool-terrain-bar rect{stroke:var(--surface);stroke-width:2px}.tb-up{fill:var(--climb)}.tb-flat{fill:var(--terrain-fill)}.tb-down{fill:var(--descent)}.tool-terrain-legend{white-space:nowrap;flex-wrap:nowrap;gap:.9rem;margin:.6rem 0 0;font-size:13px;display:flex}.tb-item{align-items:center;gap:.35rem;display:inline-flex}.tb-item b{font-weight:600}.tb-share{color:var(--muted);font-variant-numeric:tabular-nums}.tb-dot{border-radius:3px;flex:none;width:9px;height:9px}.tb-dot-up{background:var(--climb)}.tb-dot-flat{background:var(--terrain-fill);box-shadow:inset 0 0 0 1px var(--line-strong)}.tb-dot-down{background:var(--descent)}.tool-details{margin-top:.8rem}.tool-details summary{cursor:pointer;color:var(--descent);font-size:.95rem;font-weight:500}.tool-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:.4rem;font-size:.92rem}.tool-table th,.tool-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 8px}.tool-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:normal;vertical-align:bottom;font-size:.7rem;font-weight:700}.tool-panel{overflow-x:auto}.tool-slices td:first-child{color:var(--muted);width:6.5rem}.tool-slices td:last-child{text-align:right;width:4.5rem}.tool-bar-cell{width:100%}.tool-bar{width:100%;height:10px;display:block}.tool-bar rect{fill:var(--terrain-line);opacity:.35}.tool-slices tr.top .tool-bar rect{fill:var(--climb);opacity:1}.tool-slices tr.top td{color:var(--ink);font-weight:600}.tool-about{padding-top:clamp(32px,5vw,56px)}.tool-glossary{margin:0 0 1.2rem}.tool-glossary>div{border-top:1px solid var(--line);padding:.7rem 0}.tool-glossary dt{font-weight:600}.tool-glossary dd{color:color-mix(in srgb, var(--ink) 85%, transparent);margin:.25rem 0 0;line-height:1.6}@media (width<=520px){.tool-panel{padding:1rem 1.05rem}.tool-terrain-legend{gap:.6rem}.tool-table th,.tool-table td{padding:7px 5px}.tool-table{font-size:.88rem}}
