.kp-root{--kp-navy:#101e30;--kp-text:#e8eef4;--kp-muted:#b0bfcc;--kp-cyan:#7cc5d5;color:var(--kp-text);background:radial-gradient(ellipse at 46% 22%, #1b3346 0%, transparent 65%), var(--kp-navy);border:1px solid #33475b;border-radius:18px;min-width:0;padding:clamp(18px,3vw,34px);font-family:Public Sans,sans-serif;font-weight:300;container-type:inline-size}.kp-root *,.kp-root :before,.kp-root :after{box-sizing:border-box}.kp-header{justify-content:space-between;align-items:start;gap:20px;display:flex}.kp-root .kp-eyebrow{color:var(--kp-muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:400;line-height:1.6}.kp-root h3{color:var(--kp-text);max-width:24ch;margin:0;font-size:clamp(23px,3vw,33px);font-weight:300;line-height:1.22}.kp-root button{cursor:pointer;color:inherit;font-family:inherit}.kp-motion{background:0 0;border:1px solid #536a7c;border-radius:24px;flex-shrink:0;min-height:40px;padding:8px 12px;font-size:11px;font-weight:400}.kp-motion:hover{background:#23394d}.kp-motion:disabled{opacity:.7;cursor:default}.kp-root button:focus-visible,.kp-root a:focus-visible{outline:2px solid var(--kp-cyan);outline-offset:5px}.kp-map{height:270px;margin-top:25px;position:relative}.kp-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.kp-guide{stroke:#496074;stroke-width:1px;stroke-dasharray:2 7;fill:none;opacity:.4}.kp-edge{fill:none;stroke:#61798a;stroke-width:1.2px;vector-effect:non-scaling-stroke;opacity:.34;transition:opacity .18s,stroke .18s}.kp-hot .kp-edge{stroke:var(--kp-cyan);opacity:.9}.kp-packet{fill:var(--kp-cyan);opacity:.4}.kp-hot .kp-packet{opacity:1}.kp-nodes{margin:0;padding:0;list-style:none}.kp-nodes li{left:var(--kp-x);top:var(--kp-y);width:19%;position:absolute;transform:translate(-50%,-50%)}.kp-node{text-align:center;background:#14263a;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px 5px;font-size:14px;font-weight:300;line-height:1.4;transition:border-color .18s,background .18s;display:flex}.kp-node.kp-hot{background:#20384b;border-color:#648b9f}.kp-number{color:#cbe1e9;letter-spacing:.04em;border:1px solid #617f92;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:10px;display:grid}.kp-heart .kp-number{animation:3.4s ease-in-out infinite kp-heart}.kp-gate .kp-number{border-radius:7px;animation:4s ease-in-out infinite kp-gate}.kp-root[data-kp-running=false] *,.kp-root[data-kp-running=false] :before,.kp-root[data-kp-running=false] :after{animation-play-state:paused!important}.kp-detail{border-top:1px solid #3d5265;grid-template-columns:1fr 1.6fr;gap:30px;min-height:176px;padding:24px 0 4px;display:grid}.kp-root h4{color:var(--kp-text);margin:0 0 9px;font-size:23px;font-weight:300;line-height:1.3}.kp-root .kp-prompt{color:var(--kp-muted);margin:0;font-size:12px;line-height:1.6}.kp-detail-body p{color:#d1dce5;margin:0;font-size:14px;font-weight:300;line-height:1.75}.kp-detail-body a{color:#d0e8ee;text-underline-offset:4px;margin-top:12px;font-size:12px;text-decoration:underline;display:inline-block}.kp-root .kp-instruction{color:var(--kp-muted);margin:20px 0 0;font-size:11px;line-height:1.65}.kp-mobile{display:none}.kp-compact .kp-map{margin-top:12px}.kp-compact .kp-detail{min-height:154px}@keyframes kp-heart{0%,to{box-shadow:0 0 #7cc5d500}40%{box-shadow:0 0 0 7px #7cc5d514}60%{box-shadow:0 0 0 3px #7cc5d508}}@keyframes kp-gate{0%,to{border-color:#617f92}50%{border-color:#b2d8e1}}@container (width<=620px){.kp-header{flex-wrap:wrap;gap:14px}.kp-map{height:420px;margin-top:20px}.kp-desktop{display:none}.kp-mobile{width:56px;display:block}.kp-nodes{grid-template-rows:repeat(5,84px);height:100%;display:grid}.kp-nodes li{align-items:center;width:100%;display:flex;position:relative;inset:auto;transform:none}.kp-node{text-align:left;background:0 0;flex-direction:row;gap:17px;width:100%;padding:12px 10px 12px 13px;font-size:15px}.kp-number{background:var(--kp-navy)}.kp-node.kp-hot{background:#20384b}.kp-detail{grid-template-columns:1fr;gap:16px;min-height:0;padding-top:22px}.kp-root h3{font-size:25px}.kp-motion{min-height:44px}.kp-root .kp-instruction{margin-top:18px}}@media (prefers-reduced-motion:reduce){.kp-root *,.kp-root :before,.kp-root :after{transition:none!important;animation:none!important}.kp-packet{display:none}}
