
.fp-launch{position:fixed;right:16px;bottom:16px;z-index:40;display:none;align-items:center;gap:9px;min-height:46px;padding:0 18px;border-radius:999px;
  border:1px solid rgba(122,220,236,.55);background:rgba(8,12,22,.82);backdrop-filter:blur(8px);color:#DCEBF5;font:600 14px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.fp-on .fp-launch{display:inline-flex}
.fp-launch:hover{border-color:#7ADCEC;color:#fff}
.fp-launch .fp-ic{width:12px;height:12px;border:2px solid #7ADCEC;border-radius:3px;transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.fp-launch .fp-ic{transform:none;border-radius:999px}}

.fp{position:fixed;inset:0;z-index:60;background:radial-gradient(1200px 700px at 70% -10%,#0a1430,#04050b 72%);color:#EAF1FB;overflow:hidden}
.fp[hidden]{display:none}
.fp-scene{position:absolute;inset:0;perspective:900px;perspective-origin:50% 44%}
.fp-world{position:absolute;left:50%;top:44%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.fp-station{position:absolute;left:0;top:0;width:620px;max-width:86vw;transform-style:preserve-3d;
  margin-left:-310px;margin-top:-180px;padding:26px 30px;border-radius:18px;
  border:1px solid rgba(122,220,236,.28);background:linear-gradient(160deg,rgba(14,22,40,.86),rgba(8,12,22,.78));
  box-shadow:0 30px 80px rgba(0,0,0,.5);backface-visibility:hidden}
.fp-station .fp-k{font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:#7ADCEC;margin:0 0 12px}
.fp-station h2{font-size:clamp(22px,3.4vw,30px);line-height:1.12;margin:0 0 12px;letter-spacing:-.01em;color:#F3F8FF}
.fp-station p{margin:0 0 8px;color:#C6D3E6;line-height:1.55;font-size:15.5px}
.fp-station .fp-loop{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fp-station .fp-loop li{font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:#AEC2DA;border:1px solid rgba(122,220,236,.3);border-radius:999px;padding:7px 10px}
.fp-station .fp-cta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.fp-station .fp-cta a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14.5px;border:1px solid rgba(122,220,236,.5);color:#EAF1FB}
.fp-station .fp-cta a.p{background:linear-gradient(135deg,#96E6F0,#7ADCEC 28%,#8B9BF5 84%,#9B7BF0);color:#05060B;border:0}

.fp-hud{position:absolute;left:0;right:0;bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(0deg,rgba(4,5,11,.92),rgba(4,5,11,0));pointer-events:none}
.fp-hud>*{pointer-events:auto}
.fp-now{margin:0;font:600 12px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#8FA6C0;text-align:center}
.fp-nav{display:flex;align-items:center;justify-content:center;gap:14px}
.fp-nav button{min-width:120px;min-height:46px;border-radius:10px;border:1px solid rgba(122,220,236,.5);background:rgba(10,16,28,.8);color:#EAF1FB;font:600 14px/1 system-ui,sans-serif;cursor:pointer}
.fp-nav button:disabled{opacity:.4;cursor:default}
.fp-dots{display:flex;gap:7px}
.fp-dots button{min-width:10px;width:10px;height:10px;padding:0;border-radius:999px;border:1px solid rgba(122,220,236,.5);background:transparent;cursor:pointer}
.fp-dots button[aria-current=true]{background:#7ADCEC;border-color:#7ADCEC}
.fp-ctl{display:flex;align-items:center;justify-content:center;gap:10px}
.fp-ctl button{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(143,166,192,.4);background:transparent;color:#AEC2DA;font:600 13px/1 system-ui,sans-serif;cursor:pointer}
.fp-ctl button:hover{color:#fff;border-color:#7ADCEC}
.fp-ctl button[aria-pressed=true]{color:#05060B;background:#7ADCEC;border-color:#7ADCEC}
.fp-hint{position:absolute;left:0;right:0;top:14px;margin:0;text-align:center;font:500 12.5px/1.4 system-ui,sans-serif;color:#7E92AC;padding:0 16px;pointer-events:none;transition:opacity .4s}
.fp-scene.dragging{cursor:grabbing}
.fp-scene{cursor:grab}
@media(prefers-reduced-motion:reduce){.fp-world{transition:none!important}.fp-hint{transition:none}}
@media(max-width:560px){.fp-nav button{min-width:96px}.fp-station{padding:20px 18px}}
