/* INVEST MYBAL · Public Boot Experience · v7.0 */
:root{--imb-gold:#d9ad57;--imb-gold2:#f3d58f;--imb-bg:#030508}
html.public-boot-lock,html.public-boot-lock body{overflow:hidden}
.public-boot{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(217,173,87,.15),transparent 28%),linear-gradient(145deg,#020305,#080b10 56%,#030405);color:#f6f2e9;opacity:1;visibility:visible;transition:opacity .75s ease,visibility .75s ease}
.public-boot.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.public-boot-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(217,173,87,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(217,173,87,.11) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent)}
.public-boot-particles{position:absolute;inset:0;opacity:.28;background-image:radial-gradient(circle,rgba(244,213,143,.55) 0 1px,transparent 1.5px);background-size:100px 100px;animation:imbDrift 20s linear infinite}
.public-boot-content{position:relative;width:min(650px,calc(100vw - 38px));text-align:center;padding:18px}
.public-boot-logo{width:min(430px,78vw);height:auto;filter:drop-shadow(0 0 34px rgba(217,173,87,.18));opacity:0;transform:translateY(16px) scale(.97);animation:imbLogoIn .75s .08s forwards}
.public-boot-kicker{display:block;margin-top:18px;color:#d5d8de;font-size:10px;letter-spacing:.32em;opacity:0;animation:imbRise .5s .58s forwards}
.public-boot-title{display:block;margin:8px 0 0;color:var(--imb-gold2);font-family:Georgia,serif;font-size:clamp(25px,4vw,40px);font-weight:500;letter-spacing:.08em;opacity:0;animation:imbRise .55s .72s forwards}
.public-boot-status{min-height:18px;margin:23px 0 0;color:#9fa6b2;font-size:12px;letter-spacing:.06em}
.public-boot-modules{width:min(490px,100%);margin:18px auto 0;display:grid;gap:7px;text-align:left}
.public-boot-modules>div{display:flex;align-items:center;gap:10px;padding:0 9px;color:#767e8a;font-size:11px;opacity:.25;transform:translateY(6px);transition:.32s ease}
.public-boot-modules>div.done{opacity:1;transform:none;color:#d8dce3}
.public-boot-modules i{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(217,173,87,.43);background:rgba(217,173,87,.07);color:var(--imb-gold2);font-size:9px;font-style:normal}
.public-boot-progress{width:min(490px,100%);height:4px;margin:22px auto 0;border-radius:99px;background:#1b212a;overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.65)}
.public-boot-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7d571d,#d9ad57,#f6dc9d);box-shadow:0 0 18px rgba(217,173,87,.4);transition:width .42s cubic-bezier(.2,.75,.2,1)}
.public-boot-meta{width:min(490px,100%);margin:8px auto 0;display:flex;justify-content:space-between;color:#69717c;font-size:9px;letter-spacing:.1em}.public-boot-meta strong{color:#caa65c;font-weight:600}
.public-boot-final{position:absolute;left:0;right:0;top:53%;transform:translateY(-50%) scale(.96);opacity:0;pointer-events:none;transition:.45s ease}.public-boot-final.show{opacity:1;transform:translateY(-50%) scale(1)}
.public-boot-final span,.public-boot-final strong,.public-boot-final small{display:block}.public-boot-final span{color:#9ba2ad;font-size:11px;letter-spacing:.2em}.public-boot-final strong{font-family:Georgia,serif;color:#f1cf82;font-size:clamp(32px,6vw,52px);font-weight:500;margin:10px 0}.public-boot-final small{color:#7d8590;font-size:11px}
.public-boot-content.final-stage>.public-boot-logo,.public-boot-content.final-stage>.public-boot-kicker,.public-boot-content.final-stage>.public-boot-title,.public-boot-content.final-stage>.public-boot-status,.public-boot-content.final-stage>.public-boot-modules,.public-boot-content.final-stage>.public-boot-progress,.public-boot-content.final-stage>.public-boot-meta{opacity:0;transition:opacity .3s}
@keyframes imbLogoIn{to{opacity:1;transform:none}}@keyframes imbRise{to{opacity:1;transform:none}}@keyframes imbDrift{to{background-position:100px 100px}}
@media(max-width:560px){.public-boot-content{width:calc(100vw - 22px);padding:10px}.public-boot-modules{padding:0 8px}.public-boot-title{letter-spacing:.04em}.public-boot-logo{width:min(350px,88vw)}}
@media(prefers-reduced-motion:reduce){.public-boot-particles,.public-boot-logo,.public-boot-kicker,.public-boot-title{animation:none;opacity:1;transform:none}}
