/* Founder Key ticker clearance — keeps CTAs above the bar */
body.fk-visible .screen.active{padding-bottom:72px}
/* Global Founder Key countdown bar — hidden; replaced by flexNav */
#founderKeyBar{display:none!important}
@keyframes fkPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.75;transform:scale(1.3)}}
/* ─── Flex Nav Pill — Glassmorphic ─── */
#flexNav{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateZ(0);z-index:99999;width:52px;height:52px;border-radius:999px;background:rgba(252,251,255,.86);backdrop-filter:blur(32px) saturate(190%) brightness(1.04);-webkit-backdrop-filter:blur(32px) saturate(190%) brightness(1.04);border:1.5px solid rgba(255,255,255,.90);box-shadow:0 12px 36px rgba(32,32,52,.16),0 4px 10px rgba(32,32,52,.07),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(32,32,52,.04);align-items:center;justify-content:center;gap:2px;padding:0;overflow:hidden;opacity:0;transition:width .44s cubic-bezier(.34,1.22,.64,1),height .36s cubic-bezier(.34,1.22,.64,1),border-radius .42s cubic-bezier(.34,1.22,.64,1),opacity .4s ease,box-shadow .3s ease;cursor:pointer;white-space:nowrap}
#flexNav.fn-visible{display:flex}
#flexNav.fn-in{opacity:1}
#flexNav.fn-open{width:min(400px,calc(100vw - 32px));height:62px;border-radius:24px;padding:0 6px;cursor:default;box-shadow:0 20px 52px rgba(32,32,52,.20),0 6px 18px rgba(32,32,52,.09),inset 0 1.5px 0 rgba(255,255,255,1),inset 0 -1px 0 rgba(32,32,52,.05)}
/* Collapsed indicator — 3 dots */
.fn-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:4.5px;align-items:center;transition:opacity .22s ease,transform .22s ease;z-index:2;pointer-events:none}
.fn-indicator i{width:4.5px;height:4.5px;border-radius:50%;background:rgba(32,32,52,.28);display:block;flex-shrink:0}
.fn-indicator i:nth-child(2){opacity:.55}
.fn-indicator i:nth-child(3){opacity:.27}
#flexNav.fn-open .fn-indicator{opacity:0;transform:translate(-50%,-50%) scale(.3)}
#flexNav.fn-mode-s2 .fn-indicator i:nth-child(1){background:#5E77FD;width:6px;height:6px;animation:fkPulse 2.4s ease-in-out infinite}
/* Profile enrichment badge */
.fn-badge{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:#FF4040;box-shadow:0 0 0 1.5px rgba(252,251,255,.9);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.fn-badge.fn-badge-done{opacity:0;transform:scale(0)}
/* Profile enrichment chips */
.pchip{font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.01em;padding:7px 13px;border-radius:20px;border:1px solid rgba(32,32,52,.14);background:rgba(255,255,255,.6);color:rgba(32,32,52,.55);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}
.pchip[data-on="1"]{background:rgba(32,32,52,.85);color:#fff;border-color:transparent}
/* Slots — vertical: icon on top, label below */
.fn-slot{min-width:58px;height:48px;border-radius:16px;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;flex:1;padding:0 6px;-webkit-tap-highlight-color:transparent;cursor:pointer;background:transparent;color:rgba(32,32,52,.28);position:relative;z-index:1;transform:scale(.72) translateY(6px);opacity:0;transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .18s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
#flexNav.fn-open #fnS1{transform:scale(1) translateY(0);opacity:1;transition-delay:.03s}
#flexNav.fn-open #fnS2{transform:scale(1) translateY(0);opacity:1;transition-delay:.08s}
#flexNav.fn-open #fnS3{transform:scale(1) translateY(0);opacity:1;transition-delay:.14s}
#flexNav.fn-open #fnS4{transform:scale(1) translateY(0);opacity:1;transition-delay:.20s}
#flexNav.fn-open #fnS5{transform:scale(1) translateY(0);opacity:1;transition-delay:.26s}
.fn-slot.fn-locked{opacity:.15!important;pointer-events:none}
.fn-slot.fn-done{background:transparent;color:rgba(32,32,52,.25)}
.fn-slot.fn-live{background:transparent;color:rgba(32,32,52,.40)}
.fn-slot.fn-on{background:rgba(255,255,255,.94);color:rgba(32,32,52,.84);box-shadow:0 2px 10px rgba(32,32,52,.09),0 0 0 .5px rgba(32,32,52,.05),inset 0 1px 0 rgba(255,255,255,.85)}
.fn-slot.fn-cta{background:#5E77FD;color:#fff;box-shadow:0 0 20px rgba(94,119,253,.40);animation:fnCtaPulse 2.8s ease-in-out infinite}
@keyframes fnCtaPulse{0%,100%{box-shadow:0 0 10px rgba(94,119,253,.22)}55%{box-shadow:0 0 28px rgba(94,119,253,.60)}}
.fn-icon{display:flex;align-items:center;justify-content:center;width:15px;height:15px;flex-shrink:0}
.fn-icon svg{display:block;width:15px;height:15px}
.fn-lbl{font-family:Montserrat,sans-serif;font-size:7px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1;color:currentColor}
.fn-sep{width:1px;height:22px;background:rgba(32,32,52,.07);flex-shrink:0;margin:0 4px;opacity:0;transition:opacity .25s ease .3s;z-index:1;position:relative;align-self:center}
#flexNav.fn-open .fn-sep{opacity:1}
.fn-time{font-family:Montserrat,sans-serif;font-size:7.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:rgba(32,32,52,.28);flex-shrink:0;font-variant-numeric:tabular-nums;padding:0 8px 0 4px;white-space:nowrap;text-align:right;opacity:0;transition:opacity .25s ease .35s;z-index:1;position:relative}
#flexNav.fn-open .fn-time{opacity:1}
/* Stage 2: status pill only */
#flexNav.fn-mode-s2.fn-open{width:min(240px,calc(100vw - 32px));height:62px;padding:0 22px;justify-content:center;gap:10px}
.fn-s2-label{display:none;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:7px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(32,32,52,.44);white-space:nowrap;position:relative;z-index:1}
.fn-s2-dot{width:5px;height:5px;border-radius:50%;background:#5E77FD;flex-shrink:0;animation:fkPulse 2.4s ease-in-out infinite}
#flexNav.fn-mode-s2.fn-open .fn-s2-label{display:flex}
#flexNav.fn-mode-s2 .fn-slot{display:none!important}
#flexNav.fn-mode-s2.fn-open .fn-sep,#flexNav.fn-mode-s2.fn-open .fn-time{display:none}
#sStory.active ~ #flexNav,#sRead.active ~ #flexNav{display:none!important}
body.fn-on .screen.active{padding-bottom:100px}
/* Timer sub-label — below collapsed pill */
#flexNav::after{content:attr(data-timer);position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-family:Montserrat,sans-serif;font-size:6px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(32,32,52,.22);white-space:nowrap;pointer-events:none;transition:opacity .2s ease}
#flexNav.fn-open::after{opacity:0}
/* ─── Ask Philia Overlay ─── */
#apOverlay{display:none;position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));top:0;bottom:0;width:min(430px,100vw);z-index:99998;flex-direction:column;background:rgba(251,248,247,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
#apOverlay.ap-open{display:flex;animation:apSlideUp .34s cubic-bezier(.2,.75,.2,1) both}
@keyframes apSlideUp{from{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}
.ap-topbar{display:flex;align-items:center;justify-content:space-between;padding:52px 24px 0;flex-shrink:0}
.ap-title{font-family:Montserrat,sans-serif;font-size:10px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:rgba(32,32,52,.80)}
.ap-close{background:none;border:none;cursor:pointer;color:rgba(32,32,52,.40);font-size:22px;line-height:1;padding:0 4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px}
.ap-close:hover{color:rgba(32,32,52,.70)}
.ap-messages{flex:1;overflow-y:auto;padding:20px 22px 12px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ap-messages::-webkit-scrollbar{display:none}
.ap-msg{max-width:88%;padding:16px 18px;border-radius:20px}
.ap-msg-ai{background:rgba(255,255,255,.92);border:1px solid rgba(32,32,52,.07);box-shadow:0 2px 14px rgba(32,32,52,.07);align-self:flex-start;border-radius:6px 20px 20px 20px}
.ap-msg-ai p{margin:0;font-family:Inter,sans-serif;font-size:15px;line-height:1.68;color:var(--steel)}
.ap-msg-user{background:rgba(32,32,52,.90);align-self:flex-end;border-radius:20px 6px 20px 20px}
.ap-msg-user p{margin:0;font-family:Inter,sans-serif;font-size:15px;line-height:1.68;color:#fff}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 22px 16px;flex-shrink:0}
.ap-chip{font-family:Inter,sans-serif;font-size:12.5px;font-weight:400;padding:8px 15px;border-radius:99px;border:1px solid rgba(32,32,52,.15);background:rgba(255,255,255,.80);color:rgba(32,32,52,.68);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,border-color .15s ease}
.ap-chip:hover{background:rgba(255,255,255,1);border-color:rgba(32,32,52,.25)}
.ap-input-row{display:flex;align-items:center;gap:12px;padding:12px 22px 48px;flex-shrink:0;border-top:1px solid rgba(32,32,52,.07)}
.ap-input{flex:1;height:46px;border-radius:23px;border:1px solid rgba(32,32,52,.13);background:rgba(255,255,255,.90);padding:0 18px;font-family:Inter,sans-serif;font-size:14.5px;color:var(--steel);outline:none;-webkit-appearance:none}
.ap-input::placeholder{color:rgba(32,32,52,.32)}
.ap-input:focus{border-color:rgba(94,119,253,.40);box-shadow:0 0 0 3px rgba(94,119,253,.08)}
.ap-send{width:46px;height:46px;border-radius:50%;background:#181B33;border:none;cursor:pointer;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(32,32,52,.22);transition:transform .15s ease,box-shadow .15s ease}
.ap-send:active{transform:scale(.93)}
.ap-typing{display:flex;align-items:center;gap:5px;padding:12px 14px;background:rgba(255,255,255,.92);border:1px solid rgba(32,32,52,.07);box-shadow:0 2px 14px rgba(32,32,52,.07);border-radius:6px 20px 20px 20px;align-self:flex-start;width:52px}
.ap-typing i{width:6px;height:6px;border-radius:50%;background:rgba(32,32,52,.28);flex-shrink:0;animation:apDot 1.2s ease-in-out infinite}
.ap-typing i:nth-child(2){animation-delay:.2s}
.ap-typing i:nth-child(3){animation-delay:.4s}
@keyframes apDot{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:.9}}
