/* ══ INSTABOT DEMO ATTACHMENT — TEMPORARY, remove after the Friday investor
   meeting (exact steps in REMOVE_AFTER_FRIDAY.md). Everything is namespaced
   ib- and touches nothing else on the landing. ══ */

/* ── Floating flip-coin beacon (bottom-right) ── */
#ib-fab{position:fixed;right:26px;bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:150;width:68px;height:68px;border:0;padding:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
#ib-fab .ib-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(242,98,46,.55);animation:ibPulse 2.6s ease-out infinite;pointer-events:none}
#ib-fab .ib-ring2{inset:-9px;border-color:rgba(209,30,76,.35);animation-delay:.6s}
@keyframes ibPulse{0%{transform:scale(.85);opacity:.9}75%,100%{transform:scale(1.4);opacity:0}}

.ib-coin{position:relative;display:block;width:68px;height:68px;perspective:520px;transition:transform .22s cubic-bezier(.22,.61,.36,1)}
#ib-fab:hover .ib-coin{transform:scale(1.07)}
.ib-coin-inner{position:absolute;inset:0;transform-style:preserve-3d;animation:ibFlip 6s cubic-bezier(.45,.05,.35,1) infinite;border-radius:50%;box-shadow:0 10px 32px rgba(0,0,0,.55),0 0 0 2px rgba(242,98,46,.9),0 0 26px rgba(242,98,46,.45)}
@keyframes ibFlip{0%,38%{transform:rotateY(0)}50%,88%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
.ib-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#120822}
.ib-face img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);display:block}
.ib-face.ib-back{transform:rotateY(180deg)}

/* ── Tooltip nudge ── */
.ib-tip{position:fixed;right:108px;bottom:calc(42px + env(safe-area-inset-bottom,0px));z-index:150;background:rgba(18,8,34,.92);border:1px solid rgba(242,98,46,.35);color:#F5EFE8;font:600 13px/1.4 'Urbanist','Segoe UI',system-ui,sans-serif;padding:10px 14px;border-radius:13px;box-shadow:0 12px 36px rgba(0,0,0,.5);opacity:0;transform:translateX(8px);transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ib-tip small{display:block;font-weight:400;font-size:11px;color:rgba(245,239,232,.6);margin-top:2px}
.ib-tip.ib-show{opacity:1;transform:none}
@media(max-width:560px){.ib-tip{display:none}#ib-fab{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(max-width:360px){#ib-fab{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}

/* ── Frosted overlay + phone frame hosting the untouched InstaBot app ── */
#ib-overlay{position:fixed;inset:0;z-index:9995;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,4,16,.66);backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .32s,visibility .32s}
#ib-overlay.ib-open{opacity:1;visibility:visible}
.ib-wrap{position:relative}
.ib-frame{width:420px;max-width:calc(100vw - 40px);height:min(860px,88vh);border-radius:28px;overflow:hidden;box-shadow:0 40px 110px rgba(0,0,0,.7),0 0 0 1px rgba(242,98,46,.25);transform:translateY(16px) scale(.97);transition:transform .38s cubic-bezier(.22,.61,.36,1);background:#120822}
#ib-overlay.ib-open .ib-frame{transform:none}
.ib-frame iframe{width:100%;height:100%;border:0;display:block;background:#120822}
.ib-close{position:absolute;top:-16px;right:-16px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid rgba(245,239,232,.3);background:rgba(18,8,34,.9);color:#F5EFE8;font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .2s,color .2s;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.ib-close:hover{border-color:#F2622E;color:#F2622E}
@media(max-width:560px){
  /* dvh tracks the CURRENT visible viewport (vh ignores mobile URL bars and
     put the close button off-screen); vh lines remain as fallback */
  .ib-frame{max-width:100vw;width:100vw;height:88vh;height:88dvh;border-radius:20px 20px 0 0}
  #ib-overlay{padding:0;align-items:flex-end}
  .ib-close{top:auto;bottom:calc(88vh + 12px);bottom:calc(88dvh + 12px);right:12px}
}
@media (prefers-reduced-motion:reduce){.ib-coin-inner,.ib-ring,.ib-ring2{animation:none!important}}
