.dt-tool{display:grid;gap:1.1rem}.dt-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;border-radius:.9rem;background:var(--panel);border:1px solid var(--hairline);backdrop-filter:blur(10px);position:relative;z-index:2}.dt-controls>*{min-width:0}.dt-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem}.dt-btn{font-family:var(--font-ui);font-size:.9rem;padding:.45rem .9rem;border-radius:.6rem;border:1px solid var(--hairline-strong);background:var(--panel-strong);color:var(--fg);cursor:pointer}.dt-btn:hover{border-color:var(--gold)}.dt-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dt-hero{padding-block:2.2rem .4rem}.dt-hero-kicker{margin:0 0 .4rem;font-family:var(--font-ui);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.dt-hero-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;margin:0;font-size:clamp(1.9rem,4.6vw,3.1rem);letter-spacing:-.01em}.dt-hero-side{white-space:nowrap}.dt-hero-to{font-family:var(--font-ui);font-weight:500;font-style:normal;font-size:.55em;color:var(--muted)}.dt-badge{display:inline-block;margin-right:.45rem;padding:.18em .38em;border:1px solid var(--hairline-strong);border-radius:2px;background:var(--panel-strong);font-family:ui-monospace,Cascadia Mono,SF Mono,Menlo,Consolas,monospace;font-size:.6em;font-weight:500;line-height:1;letter-spacing:.08em;text-transform:uppercase;vertical-align:.15em;color:var(--muted)}.dt-headline{margin:0;font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.45}.dt-error{margin:0;padding:.75rem 1rem;border-radius:.6rem;border:1px solid var(--coral);color:var(--coral)}.dt-result-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1rem;align-items:stretch}.dt-result{border:1px solid var(--hairline);border-radius:.9rem;background:var(--panel);backdrop-filter:blur(10px);padding:1.1rem 1.2rem;display:grid;gap:.9rem;align-content:start}.dt-distance{margin:0;display:grid;gap:.15rem}.dt-distance-km{font-family:var(--font-ui);font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--gold)}.dt-distance-miles{font-family:var(--font-ui);font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--muted)}.dt-context{margin:0;display:grid;gap:.55rem;font-size:.92rem}.dt-context div{display:grid;gap:.1rem;padding-top:.55rem;border-top:1px solid var(--hairline)}.dt-context dt{color:var(--muted)}.dt-context dd{margin:0;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.dt-context .dt-muted-row{font-size:.85rem}.dt-context .dt-muted-row dd{color:var(--muted);font-weight:400}.dt-map-wrap{margin:0;border:1px solid var(--hairline);border-radius:.9rem;background:var(--panel);backdrop-filter:blur(10px);padding:.6rem}.dt-map{display:block;width:100%;height:auto;border-radius:.5rem}.dt-map-bg{fill:var(--ocean)}.dt-map-graticule{stroke:var(--graticule);stroke-width:1}.dt-map-country{stroke-width:1.4}.dt-map-country.is-a{fill:var(--land);stroke:var(--coral)}.dt-map-country.is-b{fill:var(--land);stroke:var(--gold)}.dt-map-arc{fill:none;stroke:var(--fg);stroke-opacity:.85;stroke-width:1.6;stroke-dasharray:6 5;stroke-linecap:round}.dt-map-dot{stroke:var(--ocean);stroke-width:1.5}.dt-map-dot.is-a{fill:var(--coral)}.dt-map-dot.is-b{fill:var(--gold)}.dt-map-loading{fill:var(--muted);font-family:var(--font-ui);font-size:14px;text-anchor:middle}.dt-globe{display:block;width:100%;max-width:34rem;margin-inline:auto;aspect-ratio:1 / 1;border-radius:.5rem;touch-action:none;cursor:grab}.dt-globe-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--muted);text-align:center}.dt-share-status{margin:0;font-size:.85rem;color:var(--gold)}.dt-tool--embed{gap:.75rem}.dt-tool--embed .dt-controls{gap:.7rem;padding:.7rem}.dt-tool--embed .dt-result{gap:.6rem;padding:.8rem .9rem}.dt-tool--embed .dt-distance-km{font-size:clamp(1.5rem,3.2vw,2.1rem)}.dt-tool--embed .dt-context{font-size:.85rem;gap:.4rem}.dt-tool--embed .dt-map-wrap{padding:.5rem}.dt-tool--embed .dt-globe{max-width:26rem}.dt-tool--embed .dt-globe-hint{margin-top:.35rem;font-size:.75rem}@media (max-width: 760px){.dt-controls,.dt-result-grid{grid-template-columns:1fr}}@media (max-width: 640px){.dt-hero-side{white-space:normal}}
