html,body{height:100%}body{display:flex;flex-direction:column;overflow:hidden}.lc-top{position:relative;z-index:20;flex:none;padding:14px 20px 8px;text-align:center}.lc-top h1{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3.4vw,40px);line-height:1.02;letter-spacing:-.02em}.lc-top h1 .it{font-style:italic;color:var(--con-l)}.lc-top p{font-size:13px;color:var(--fg-2);max-width:64ch;margin:6px auto 0;line-height:1.5}.lc-ctrl{position:relative;z-index:20;flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:8px 18px 6px}.lc-seg{display:inline-flex;background:var(--bg-3);border-radius:30px;padding:4px}.lc-seg button{cursor:pointer;border:0;background:transparent;color:var(--fg-2);font-family:var(--disp);font-weight:600;font-size:12.5px;padding:8px 15px;border-radius:24px;transition:.16s;white-space:nowrap}.lc-seg button.on{background:var(--fg);color:var(--bg)}.lc-divider{width:1px;height:24px;background:var(--line-2)}.lc-chips{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:center}.lcchip{cursor:pointer;background:transparent;font-family:var(--disp);font-size:11.5px;font-weight:600;color:var(--fg-2);padding:6px 12px;border-radius:30px;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;transition:.16s;white-space:nowrap}.lcchip .pip{width:8px;height:8px;border-radius:50%;flex:none}.lcchip:hover{color:var(--fg);border-color:var(--line-2)}.lcchip.on{color:var(--fg);border-color:var(--fg-2);background:color-mix(in srgb,var(--fg) 7%,transparent)}.lc-zoom{display:inline-flex;gap:5px}.lc-zoom button,.lc-jbtn{cursor:pointer;width:34px;height:34px;border-radius:10px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg-2);font-size:17px;line-height:1;display:grid;place-items:center;transition:.16s;font-family:var(--disp)}.lc-zoom button:hover,.lc-jbtn:hover{color:var(--fg);border-color:var(--fg-2)}.lc-jbtn{width:auto;padding:0 14px;height:34px;font-size:12.5px;font-weight:600;gap:7px}.lc-jbtn.on{background:var(--con);border-color:var(--con);color:#fff}.lc-stage{position:relative;z-index:5;flex:1;min-height:0;overflow:hidden}#lcmap{width:100%;height:100%;display:block;cursor:grab;touch-action:none;background:radial-gradient(120% 120% at 50% 0,var(--bg-2),var(--bg))}#lcmap.grabbing{cursor:grabbing}.lc-sea{fill:color-mix(in srgb,var(--orb) 9%,var(--bg))}.lc-rg{stroke-width:2;transition:fill-opacity .25s,opacity .25s}.lc-rg-way{fill:color-mix(in srgb,var(--way) 24%,var(--bg));stroke:color-mix(in srgb,var(--way) 55%,transparent)}.lc-rg-anch{fill:color-mix(in srgb,var(--anch) 24%,var(--bg));stroke:color-mix(in srgb,var(--anch) 55%,transparent)}.lc-rg-orb{fill:color-mix(in srgb,var(--orb) 24%,var(--bg));stroke:color-mix(in srgb,var(--orb) 55%,transparent)}.lc-rg-con{fill:color-mix(in srgb,var(--con) 22%,var(--bg));stroke:color-mix(in srgb,var(--con) 55%,transparent)}.lc-coast{fill:none;stroke:color-mix(in srgb,var(--fg) 12%,transparent);stroke-width:6;stroke-linejoin:round}.lc-river{fill:none;stroke:color-mix(in srgb,var(--orb) 40%,transparent);stroke-width:5;stroke-linecap:round;opacity:.7}.lc-mtn{fill:none;stroke:color-mix(in srgb,var(--way) 70%,transparent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.lc-tree{fill:color-mix(in srgb,var(--anch) 55%,transparent);opacity:.5}.lc-rgname{font-family:var(--serif);font-style:italic;fill:var(--fg-2);opacity:.55;letter-spacing:.06em;pointer-events:none;text-anchor:middle}.lc-dimmed{opacity:.16}.lcmark{cursor:pointer}.lcmark .hit{fill:transparent}.lcmark .glow{opacity:0;transition:opacity .2s}.lcmark .dot{transition:r .18s,stroke-width .18s}.lcmark .ring{fill:none;transition:stroke-opacity .2s}.lcmark text{font-family:var(--disp);font-weight:600;font-size:15px;fill:var(--fg-2);pointer-events:none;transition:fill .18s;paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}.lcmark:hover text{fill:var(--fg)}.lcmark:hover .glow{opacity:.9}.lcmark.m-way .dot,.lcmark.m-way .ring{fill:var(--way);stroke:var(--way)}.lcmark.m-anch .dot,.lcmark.m-anch .ring{fill:var(--anch);stroke:var(--anch)}.lcmark.m-orb .dot,.lcmark.m-orb .ring{fill:var(--orb);stroke:var(--orb)}.lcmark.m-con .dot,.lcmark.m-con .ring{fill:var(--con);stroke:var(--con)}.lcmark .ring{stroke-width:2.4}.lcmark.is-on .dot{stroke:var(--fg);stroke-width:3}.lcmark.faded{opacity:.14}.lcmark .stopnum{font-family:var(--disp);font-weight:700;font-size:14px;fill:var(--bg);stroke:none;text-anchor:middle;dominant-baseline:central}.lc-routeline{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 11}.lc-routeline.solo{stroke:var(--way-l)}.lc-routeline.pair-a{stroke:var(--con-l)}.lc-routeline.pair-b{stroke:var(--orb-l)}.lc-compass{opacity:.5;pointer-events:none}.lc-compass circle{fill:none;stroke:color-mix(in srgb,var(--fg) 30%,transparent);stroke-width:1.5}.lc-compass path{fill:color-mix(in srgb,var(--con) 60%,transparent)}.lc-compass text{font-family:var(--disp);font-size:13px;fill:var(--fg-3);text-anchor:middle}.lctip{position:fixed;z-index:40;pointer-events:none;max-width:260px;background:var(--bg-3);border:1px solid var(--line-2);border-radius:13px;padding:12px 14px;opacity:0;transform:translateY(6px);transition:opacity .14s,transform .14s;box-shadow:0 18px 44px -22px #000000d9}.lctip.show{opacity:1;transform:none}.lctip .tk{font-family:var(--disp);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.lctip .tt{font-family:var(--serif);font-size:17px;color:var(--fg);line-height:1.2;margin-bottom:5px}.lctip .tb{font-size:12px;color:var(--fg-2);line-height:1.45}.lctip .tgo{margin-top:7px;font-family:var(--disp);font-size:10.5px;color:var(--fg-3)}.lc-drawer{position:absolute;top:0;right:0;bottom:0;width:330px;max-width:86vw;z-index:30;background:linear-gradient(180deg,var(--bg-2),var(--bg-3));border-left:1px solid var(--line-2);box-shadow:-24px 0 60px -40px #000000e6;transform:translate(100%);transition:transform .28s var(--ease);display:flex;flex-direction:column}.lc-drawer.open{transform:none}.lc-dhead{flex:none;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.lc-dhead .dk{font-family:var(--disp);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}.lc-dhead h2{font-family:var(--serif);font-weight:300;font-size:23px;margin-top:3px;display:flex;align-items:center;justify-content:space-between;gap:8px}.lc-dhead h2 .x{cursor:pointer;font-size:22px;color:var(--fg-3);background:none;border:0;line-height:1}.lc-dhead h2 .x:hover{color:var(--fg)}.lc-modej{display:flex;gap:6px;margin-top:12px}.lc-modej button{flex:1;cursor:pointer;border:1px solid var(--line-2);background:transparent;color:var(--fg-2);font-family:var(--disp);font-weight:600;font-size:12px;padding:8px;border-radius:10px;transition:.16s}.lc-modej button.on{color:var(--fg)}.lc-modej button.on.solo{border-color:var(--way);background:color-mix(in srgb,var(--way) 12%,transparent)}.lc-modej button.on.pair{border-color:var(--con);background:color-mix(in srgb,var(--con) 12%,transparent)}.lc-pair-names{display:none;gap:8px;margin-top:10px}.lc-pair-names.show{display:flex}.lc-pair-names input{flex:1;min-width:0;border:1px solid var(--line-2);background:var(--bg);color:var(--fg);border-radius:9px;padding:7px 10px;font-family:var(--sans);font-size:13px;outline:none}.lc-pair-names input:focus{border-color:var(--con)}.lc-dbody{flex:1;overflow-y:auto;padding:14px 18px}.lc-hint{font-size:12.5px;color:var(--fg-3);line-height:1.5;text-align:center;padding:18px 6px}.lc-stop{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;margin-bottom:8px;background:var(--bg-2)}.lc-stop .n{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:12px;color:var(--bg)}.lc-stop .nm{flex:1;min-width:0}.lc-stop .nm b{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--fg);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-stop .nm span{font-size:11px;color:var(--fg-3)}.lc-stop .who{cursor:pointer;border:1px solid var(--line-2);background:var(--bg);border-radius:20px;font-family:var(--disp);font-size:10px;font-weight:700;padding:3px 8px;color:var(--fg-2);white-space:nowrap}.lc-stop .rm{cursor:pointer;border:0;background:none;color:var(--fg-3);font-size:16px;line-height:1}.lc-stop .rm:hover{color:var(--con-l)}.lc-dfoot{flex:none;padding:12px 18px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.lc-dfoot input.jname{border:1px solid var(--line-2);background:var(--bg);color:var(--fg);border-radius:9px;padding:9px 11px;font-family:var(--sans);font-size:13.5px;outline:none}.lc-dfoot input.jname:focus{border-color:var(--con)}.lc-drow{display:flex;gap:8px}.lc-drow button{flex:1;cursor:pointer;border-radius:10px;font-family:var(--disp);font-weight:600;font-size:12.5px;padding:10px;border:1px solid var(--line-2);background:transparent;color:var(--fg-2);transition:.16s}.lc-drow button.save{background:var(--con);border-color:var(--con);color:#fff}.lc-drow button:hover{border-color:var(--fg-2);color:var(--fg)}.lc-drow button.save:hover{color:#fff;filter:brightness(1.06)}.lc-saved{font-size:11.5px;color:var(--fg-3);line-height:1.5}.lc-saved a{color:var(--fg-2);cursor:pointer;border-bottom:1px solid var(--line)}.lc-saved a:hover{color:var(--fg)}.lc-foot{position:relative;z-index:20;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 20px 11px;font-size:11.5px;color:var(--fg-3)}.lc-foot a{color:var(--fg-2);border-bottom:1px solid var(--line)}.lc-foot a:hover{color:var(--fg)}.lc-foot .home{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:700;font-size:13px;color:var(--fg);border:0}@media(max-width:680px){.lc-top p,.lc-foot .leg{display:none}}@media(max-width:640px){.lc-divider{display:none}.lc-ctrl{gap:8px;padding:6px 12px}.lc-chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lc-chips::-webkit-scrollbar{display:none}.lc-zoom button{width:42px;height:42px;font-size:19px}.lc-jbtn{height:42px}.lc-pair-names input,.lc-dfoot input.jname{font-size:16px}.lc-drawer{inset:auto 0 0;width:100%;max-width:none;height:min(58%,440px);border-left:0;border-top:1px solid var(--line-2);border-radius:18px 18px 0 0;box-shadow:0 -24px 60px -40px #000000e6;transform:translateY(100%)}}
