.map-stage{position:relative;margin-top:clamp(36px,5vw,56px)}.mapc{position:relative;z-index:2;padding:clamp(16px,2.6vw,28px);display:grid;gap:14px}.mp-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.mp-t{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mp-t i{width:8px;height:8px;border-radius:50%;background:#2BD47F;box-shadow:0 0 0 4px rgba(43,212,127,.18);animation:blink 2s ease-in-out infinite}.mp-hint{font-size:12.5px;color:var(--muted)}.mp{position:relative;height:clamp(300px,34vw,400px);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(var(--accent-rgb),.18) 1px,transparent 1.4px) 0 0 / 22px 22px,linear-gradient(160deg,rgba(255,255,255,.85),rgba(234,248,250,.85));border:1px solid var(--line)}.mp-lines{position:absolute;inset:0;width:100%;height:100%}.mp-lines path{fill:none;stroke:rgba(var(--accent-rgb),.35);stroke-width:1.5;stroke-dasharray:4 6;animation:dash 18s linear infinite}.mp-lines path.on{stroke:var(--accent);stroke-width:2.2;stroke-dasharray:none}@keyframes dash{to{stroke-dashoffset:-200}}.mp-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:grid;place-items:center;gap:6px}.mp-hub img{width:64px;height:64px;padding:14px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 0 0 10px rgba(var(--accent-rgb),.08),0 0 0 22px rgba(var(--accent-rgb),.04),0 20px 30px -16px rgba(var(--accent-rgb),.6);object-fit:contain;box-sizing:border-box}.mp-hub span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted)}.pin{all:unset;box-sizing:border-box;position:absolute;z-index:4;transform:translate(-50%,-50%);cursor:pointer;display:grid;place-items:center}.pin i{width:16px;height:16px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 6px 12px -4px rgba(18,26,28,.4);transition:transform .3s var(--ease)}.pin::before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:var(--c);opacity:.35;animation:ping 2.6s ease-out infinite;animation-delay:var(--dl,0s)}@keyframes ping{0%{transform:scale(1);opacity:.45}100%{transform:scale(3.4);opacity:0}}.pin b{position:absolute;top:100%;margin-top:6px;white-space:nowrap;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--line);transition:background .3s,color .3s}.pin.on i,.pin:hover i,.pin:focus-visible i{transform:scale(1.35)}.pin.on b{background:var(--ink);color:#fff;border-color:var(--ink)}.pin:focus-visible{outline:none}.pin:focus-visible b{outline:2px solid var(--accent);outline-offset:2px}.mp-card{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;padding:14px 18px;border-radius:16px;background:var(--ink);color:#fff;min-height:64px}.mp-card .mc-n{font-family:var(--display);font-size:18px;font-weight:560;letter-spacing:-0.02em}.mp-card .mc-n small{display:block;font-family:var(--mono);font-size:10.5px;color:#7FF6FF;letter-spacing:.06em;text-transform:uppercase;font-weight:400}.mp-card .mc-s{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}.mp-card .mc-s span{font-size:13px;color:rgba(255,255,255,.7)}.mp-card .mc-s b{display:block;font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-0.03em;color:#7FF6FF}.mp-card .mc-say{width:100%;font-size:13.5px;color:rgba(255,255,255,.75);border-top:1px dashed rgba(255,255,255,.15);padding-top:10px}.mp-note{font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.45)}@media (max-width:620px){.pin b{display:none}.pin.on b{display:block}.mp-card .mc-s{margin-left:0}.mp-hint{display:none}}.lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ln{padding:16px 16px 22px;display:flex;flex-direction:column;gap:8px;transition:transform .4s var(--ease)}.ln:hover{transform:translateY(-4px)}.ln h3{font-size:22px;letter-spacing:-0.025em;line-height:1.15;padding-inline:6px}.ln p{font-size:14.5px;color:var(--muted);padding-inline:6px}.ln-n{font-family:var(--mono);font-size:11px;color:var(--accent);padding:8px 6px 0}.ln-v{height:140px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid var(--line);position:relative;overflow:hidden}.ln-v1 i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2.5px solid #fff;box-shadow:0 4px 10px -3px rgba(var(--accent-rgb),.7);opacity:0;transform:scale(.4);transition:.5s var(--ease)}.ln-v1 i:nth-child(1){left:18%;top:30%}.ln-v1 i:nth-child(2){left:40%;top:62%}.ln-v1 i:nth-child(3){left:58%;top:26%}.ln-v1 i:nth-child(4){left:76%;top:56%}.ln-v1 i:nth-child(5){left:28%;top:72%}.ln-v1 i:nth-child(6){left:86%;top:22%}.ln.go .ln-v1 i{opacity:1;transform:none}.ln.go .ln-v1 i:nth-child(2){transition-delay:.12s}.ln.go .ln-v1 i:nth-child(3){transition-delay:.24s}.ln.go .ln-v1 i:nth-child(4){transition-delay:.36s}.ln.go .ln-v1 i:nth-child(5){transition-delay:.48s}.ln.go .ln-v1 i:nth-child(6){transition-delay:.6s}.ln-v2{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:6px;padding:14px}.ln-v2 span{font-size:13px;padding:6px 12px;border-radius:999px;background:rgba(var(--accent-rgb),.06);color:var(--muted);transition:.5s var(--ease)}.ln.go .ln-v2 span:not(.on){text-decoration:line-through;opacity:.5}.ln.go .ln-v2 span.on{background:var(--ink);color:#7FF6FF;transform:scale(1.06)}.ln-v3 svg{position:absolute;inset:14px 14px 26px;width:calc(100% - 28px);height:calc(100% - 40px);overflow:visible}.ln-v3 .floor{stroke:#E2557A;stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.ln-v3 .line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.6s var(--ease)}.ln.go .ln-v3 .line{stroke-dashoffset:0}.ln-v3 em{position:absolute;left:14px;bottom:8px;font-style:normal;font-family:var(--mono);font-size:10px;color:#B23A5E}@media (max-width:900px){.lines{grid-template-columns:minmax(0,1fr)}}.ih{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(22px,4vw,44px)}.ih-cloud{display:flex;flex-wrap:wrap;gap:8px}.ih-cloud span{font-size:15px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);display:inline-flex;gap:8px;align-items:center;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .4s,transform .5s var(--ease),border-color .3s;transition-delay:calc(var(--k) * 50ms)}.ih-cloud span i{width:8px;height:8px;border-radius:50%;background:var(--c)}.ih-cloud span:hover{border-color:var(--c)}.ih.go .ih-cloud span{opacity:1;transform:none}@media (max-width:900px){.ih{grid-template-columns:minmax(0,1fr)}}.vb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,32px);padding-block:clamp(10px,2vw,20px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.vb-word{padding-block:clamp(18px,3vw,32px);display:grid;gap:8px;align-content:start;opacity:0;transform:translateY(14px);transition:.7s var(--ease);transition-delay:calc(var(--k) * 140ms)}.vb.go .vb-word{opacity:1;transform:none}.vb-word small{font-family:var(--mono);font-size:11px;color:var(--accent)}.vb-word b{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);font-weight:560;letter-spacing:-0.04em;line-height:1.02}.vb-word:nth-child(2) b{color:var(--accent)}.vb-word p{font-size:15px;color:var(--muted);max-width:32ch}@media (max-width:860px){.vb{grid-template-columns:minmax(0,1fr);gap:0}.vb-word + .vb-word{border-top:1px dashed var(--line)}}@media (prefers-reduced-motion:reduce){.vb-word,.ih-cloud span,.ln-v1 i{opacity:1;transform:none}.ln-v3 .line{stroke-dashoffset:0}}