.tools{--panel:linear-gradient(180deg, #ffffff13, #ffffff09);--panel-shadow:0 1px 0 #ffffff0f inset, 0 24px 60px -28px #000000bf;--well:#03050b6b;--halo:#03050bb8;--map-ground:#0b1020;--radius:22px}:root[data-theme=light] .tools{--panel:linear-gradient(180deg, #ffffffb8, #ffffff75);--panel-shadow:0 1px 0 #fffc inset, 0 22px 50px -30px #281e1459;--well:#03050b0a;--halo:#f6f1e7e6;--map-ground:#e9e2d4}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .tools{--panel:linear-gradient(180deg, #ffffffb8, #ffffff75);--panel-shadow:0 1px 0 #fffc inset, 0 22px 50px -30px #281e1459;--well:#03050b0a;--halo:#f6f1e7e6;--map-ground:#e9e2d4}}.tools h1{font-size:clamp(42px,5.4vw,72px)}.tool-intro .lede{margin-bottom:14px}.privacy-line{color:var(--text);align-items:center;gap:8px;margin:0;font-size:.95rem;display:flex}.privacy-mark{color:var(--accent);flex:none}.tool{border:1px solid var(--glass-edge);border-radius:var(--radius);background:var(--panel);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(14px)saturate(1.1);margin:30px 0 14px;padding:22px}.tool-empty{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:22px;display:grid}.drop{border:1.5px dashed color-mix(in srgb, var(--accent) 38%, transparent);border-radius:calc(var(--radius) - 6px);background:var(--well);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:280px;padding:28px 22px;transition:border-color .25s,background-color .25s,transform .25s;display:flex}.dragging .drop{border-color:var(--accent);background:var(--tint);border-style:solid;transform:scale(1.01)}.drop-mark{color:var(--accent);margin-bottom:6px}.drop-title{font-family:var(--font-display,Georgia, serif);font-variation-settings:"SOFT" 30;text-wrap:balance;margin:0;font-size:1.45rem;font-weight:400;line-height:1.25}.drop .pick{margin-top:12px;padding:12px 24px}.cta:disabled{cursor:default;opacity:.55}.drop-note{margin:8px 0 0}.link-button{color:var(--link);font:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:0;padding:2px 0;font-size:.95rem;text-decoration-thickness:1px}.link-button:hover{text-decoration-thickness:2px}.link-button:disabled{color:var(--muted);cursor:default}.drop .link-button{margin-top:8px}.example{grid-template-rows:auto auto auto auto;align-content:center;gap:12px;margin:0;padding:6px 4px;display:grid}.example-outline{width:100%;height:auto;max-height:240px;display:block}.example-outline .halo,.example-outline .line,.map-sketch path{fill:none;stroke-linecap:round;stroke-linejoin:round}.example-outline .halo{stroke:var(--halo);stroke-width:7px}.example-outline .line,.map-sketch path{stroke:var(--accent);stroke-width:2.6px}.example-outline .start{fill:var(--accent);stroke:var(--page);stroke-width:2px}.example-outline .end{fill:var(--text);stroke:var(--page);stroke-width:2px}.example-profile{width:100%;height:56px;display:block}.example-profile .area,.strip-plot .area{fill:color-mix(in srgb, var(--accent) 20%, transparent)}.example-profile .line,.strip-plot .line{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.figures,.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0;display:grid}.figures{grid-template-columns:repeat(4,minmax(0,1fr))}.stats .wide{grid-column:1/-1}.stats .wide dd{font-size:1.05rem}.figures dt,.stats dt{color:var(--muted);font-size:.8rem}.figures dd,.stats dd{font-family:var(--font-display,Georgia, serif);font-variation-settings:"SOFT" 30;font-variant-numeric:tabular-nums;margin:0;font-size:1.3rem;font-weight:400;line-height:1.25}.example figcaption{color:var(--muted);font-size:.85rem}.tool-status{color:var(--muted);margin:14px 2px 0;font-size:.95rem}.tool-status:empty{display:none}.tool-status[data-tone=error]{color:var(--link)}.tool-result{gap:18px;display:grid}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 18px;display:flex}.file-line{min-width:0}.file-name{overflow-wrap:anywhere;margin:0;font-size:clamp(24px,2.6vw,32px)}.file-meta{overflow-wrap:anywhere;margin:4px 0 0}.result-grid{grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);align-items:start;gap:18px;display:grid}.map-frame{aspect-ratio:1;border:1px solid var(--glass-edge);border-radius:calc(var(--radius) - 6px);background:var(--map-ground);position:relative;overflow:hidden}.map-sketch{width:84%;height:84%;position:absolute;inset:8%}.map-frame .map{opacity:0;transition:opacity .6s;position:absolute;inset:0}.map-frame .map[data-loaded]{opacity:1}.map-frame[data-nomap] .map{display:none}.tool-marker{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 28%, transparent);pointer-events:none;border:3px solid #03050b;border-radius:50%}.result-side{flex-direction:column;gap:18px;min-width:0;display:flex}.side-title{margin:0 0 10px;font-size:1.1rem;font-weight:400}.controls:empty{display:none}.controls,.downloads,.animate{border-top:1px solid var(--line);padding-top:16px}.control+.control{margin-top:16px}.merge-list{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.merge-list li{border:1px solid var(--glass-edge);background:var(--glass);border-radius:14px;align-items:center;gap:6px;margin:0;padding:8px 8px 8px 12px;display:flex}.merge-words{flex-direction:column;flex:1;min-width:0;display:flex}.merge-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.merge-words .meta{font-size:.8rem}.merge-total{margin:0}.icon-button{border:1px solid var(--glass-edge);background:var(--glass);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;place-items:center;transition:border-color .2s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--accent)}.icon-button:disabled{opacity:.35;cursor:default}.tolerance-label{justify-content:space-between;font-size:.95rem;display:flex}.tolerance-value{font-variant-numeric:tabular-nums;font-weight:600}.simplify input[type=range]{width:100%;accent-color:var(--accent);margin:10px 0 6px}.count{font-variant-numeric:tabular-nums;margin:0;font-size:.95rem}.count strong{font-family:var(--font-display,Georgia, serif);font-size:1.3rem;font-weight:400}.option{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:.92rem;display:flex}.option input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:3px 0 0}.option strong{color:var(--text)}.download-buttons{flex-wrap:wrap;gap:8px;display:flex}.download-buttons .cta{margin:0;padding:9px 16px;font-size:.9rem}.animate .animate-button{justify-content:center;align-items:center;gap:8px;width:100%;margin:0;padding:13px 20px;font-size:1rem;display:inline-flex}.animate .meta{margin:8px 0 0}.strip{border:1px solid var(--glass-edge);border-radius:calc(var(--radius) - 6px);background:var(--well);padding:14px 16px 12px}.strip-head{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.875rem;display:flex}.strip-title{color:var(--muted)}.strip-read{font-variant-numeric:tabular-nums}.strip-plot{cursor:crosshair;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:10px;height:120px;position:relative}.strip-plot svg{width:100%;height:100%;display:block}.strip-plot:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.strip-cursor{background:color-mix(in srgb, var(--text) 55%, transparent);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.strip-dot{border:2px solid var(--page);background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;left:-6px;transform:translateY(-50%)}.strip-axis{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:6px;font-size:.8rem;display:flex}.strip-empty{color:var(--muted);margin:0;font-size:.92rem}.animate-note{margin:0 2px 8px}.does{gap:10px;padding:0;list-style:none;display:grid}.does li{grid-template-columns:18px minmax(0,1fr);gap:12px;margin:0;display:grid}.does .mark{margin-top:5px}.hub-intro{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:32px;margin-bottom:8px;display:grid}.hub-intro .example{border:1px solid var(--glass-edge);border-radius:var(--radius);background:var(--panel);box-shadow:var(--panel-shadow);padding:18px}.hub-intro .figures{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=860px){.tool-empty,.result-grid,.hub-intro{grid-template-columns:minmax(0,1fr)}.map-frame{aspect-ratio:4/3}}@media (width<=640px){.tool{border-radius:18px;margin-top:22px;padding:14px}.drop{min-height:0;padding:24px 16px}.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.example-outline{max-height:180px}.map-frame{aspect-ratio:1}.strip{padding:12px}.strip-plot{height:96px}}@media (prefers-reduced-motion:reduce){.drop,.map-frame .map{transition:none}.dragging .drop{transform:none}}
