
*{box-sizing:border-box}html,body{margin:0;background:#050507;color:#fff;font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}
.home{position:relative;width:100%;min-height:100vh;background:#050507}.home-img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;z-index:10;border-radius:12px}.hotspot:focus{outline:3px solid #ffc400}
.install-float{position:fixed;right:22px;bottom:22px;z-index:50;background:#ffc400;color:#111;border:0;border-radius:999px;padding:14px 20px;font-size:16px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.45);cursor:pointer}.install-float small{display:block;font-size:11px;color:#222;margin:0}
.join{left:3.2%;top:58.0%;width:22.5%;height:12.5%}.videos{left:26.7%;top:58.0%;width:22.5%;height:12.5%}.tv{left:50.0%;top:58.0%;width:22.5%;height:12.5%}.performances-card{left:73.0%;top:58.0%;width:23.5%;height:12.5%}.account-top{left:82.4%;top:2.0%;width:15.2%;height:6.4%}.videos-nav{left:35.8%;top:3.0%;width:5.8%;height:4.8%}.top10-nav{left:43.0%;top:3.0%;width:5.8%;height:4.8%}.home-nav{left:29.3%;top:3.0%;width:5.0%;height:4.8%}
.page{min-height:100vh;padding:32px;background:radial-gradient(circle at 70% 20%,rgba(255,0,150,.28),transparent 30%),radial-gradient(circle at 30% 55%,rgba(0,120,255,.25),transparent 28%),#050507}.center{display:flex;align-items:center;justify-content:center}.box,.panel{background:rgba(0,0,0,.84);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.box{width:min(760px,100%);text-align:center}.wide{width:min(1240px,100%)}.logo{width:96px;height:96px;object-fit:contain}h1{color:#ffc400;font-size:42px;margin:12px 0}h2{margin:0 0 16px}h3{margin:12px 0 8px}p{font-size:18px;line-height:1.45;color:#eee}small{display:block;color:#ccc;margin-top:4px}input,select,textarea{width:100%;padding:16px;border:0;border-radius:12px;margin:10px 0;font-size:18px}.btn,button{display:block;width:100%;padding:16px;background:#ffc400;color:#111;border:0;border-radius:12px;margin-top:12px;font-size:18px;font-weight:900;cursor:pointer;text-align:center}.secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}.danger{background:#d71920;color:#fff}.disabled{background:#3b3b3b;color:#aaa;cursor:not-allowed}.back{display:inline-block;margin-top:20px;color:#ffc400;font-weight:900}.account-switch{margin-top:18px;color:#ddd}.account-switch a{color:#ffc400;font-weight:900}#createAccount{display:none;margin-top:22px;border-top:1px solid rgba(255,255,255,.16);padding-top:22px}.notice{padding:14px 18px;border:1px solid rgba(255,196,0,.35);background:rgba(255,196,0,.1);border-radius:14px;margin:18px 0;color:#ffe28a}.success{padding:14px 18px;border:1px solid rgba(103,236,74,.35);background:rgba(103,236,74,.09);border-radius:14px;margin:18px 0;color:#c7ffbc}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:58px;height:58px}.brand strong{font-size:28px}.brand span{color:#ffc400;font-family:cursive;font-size:28px}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.credit-pill{background:rgba(255,196,0,.12);border:1px solid rgba(255,196,0,.35);padding:12px 18px;border-radius:999px;color:#ffc400;font-weight:900}.dashboard{max-width:1240px;margin:0 auto}.hero-card{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-bottom:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px}.stat b{display:block;color:#ffc400;font-size:28px}.stat span{color:#ddd}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px}.card .icon{font-size:38px}.card p{font-size:15px;color:#ddd}.host-tools{border:1px solid rgba(255,196,0,.35);background:linear-gradient(135deg,rgba(255,196,0,.12),rgba(0,0,0,.7))}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.video-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;text-align:left}.video-thumb{height:170px;background:linear-gradient(135deg,#3c096c,#001d52);position:relative}.video-thumb span{position:absolute;right:16px;bottom:14px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4)}.video-body{padding:14px}.video-body b{display:block;font-size:18px}.video-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.smallbtn{font-size:13px;padding:10px}.votes{display:flex;gap:14px;margin-top:8px}.up{color:#67ec4a}.down{color:#ff4052}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.package{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px}.package.featured{border-color:#ffc400;background:rgba(255,196,0,.1)}.progress{height:18px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden;margin:14px 0}.progress span{display:block;height:100%;background:#ffc400;width:64%}
.live-wrap{max-width:1180px;margin:0 auto}.live-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.live-now{background:linear-gradient(180deg,rgba(255,196,0,.12),rgba(0,0,0,.85));border:1px solid rgba(255,196,0,.35);border-radius:24px;padding:26px}.venue-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px;margin-bottom:18px}.venue-card h2,.live-now h2{color:#ffc400}.special-img{height:220px;border-radius:16px;background:linear-gradient(135deg,#3b1300,#ffc400);display:flex;align-items:center;justify-content:center;color:#111;font-size:34px;font-weight:900;text-align:center;padding:20px}.performer-row{display:flex;gap:18px;align-items:center;margin:18px 0}.avatar{width:82px;height:82px;border-radius:16px;object-fit:cover;background:#222;border:2px solid rgba(255,255,255,.2)}.meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.meta div{background:rgba(255,255,255,.07);padding:12px;border-radius:12px}.meta b{color:#ffc400;display:block;font-size:13px;text-transform:uppercase}.queue-list{display:grid;gap:12px}.queue-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;text-align:left}.queue-num{width:36px;height:36px;border-radius:50%;background:#ffc400;color:#111;display:flex;align-items:center;justify-content:center;font-weight:900}.queue-actions{display:flex;gap:8px}.queue-actions button{width:auto;margin:0;padding:8px 10px;font-size:12px}.connected-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(103,236,74,.12);border:1px solid rgba(103,236,74,.35);color:#bcffb2;border-radius:999px;padding:9px 14px;font-weight:900}
@media(max-width:850px){.hero-card,.grid,.stats,.video-grid,.package-grid,.two,.live-grid,.meta{grid-template-columns:1fr}.topbar{flex-direction:column;gap:16px;text-align:center}.header-actions{justify-content:center}.queue-item{grid-template-columns:auto 1fr}.queue-actions{grid-column:1/-1}}

/* Firebase Auth Live Login */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.auth-tab{padding:13px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer}.auth-tab.active{background:#ffc400;color:#111}.google-btn{background:#fff;color:#111;display:flex;align-items:center;justify-content:center;gap:10px}.status-msg{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#eee;text-align:left}.status-msg:empty{display:none}.status-msg.error{border-color:rgba(255,64,82,.45);background:rgba(255,64,82,.11);color:#ffd4d8}.status-msg.good{border-color:rgba(103,236,74,.45);background:rgba(103,236,74,.11);color:#d4ffd0}.status-msg.warn{border-color:rgba(255,196,0,.45);background:rgba(255,196,0,.11);color:#ffe28a}.form-note{font-size:13px;color:#ccc;text-align:left;margin:-4px 0 8px}.user-chip{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;margin:6px 0;color:#eee}.auth-mini-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:10px}.auth-mini-actions .btn,.auth-mini-actions button{width:auto;margin:0;padding:10px 14px;font-size:14px}

.auth-home-badge{position:fixed;top:14px;right:22px;z-index:70;display:none;align-items:center;gap:10px;background:rgba(0,0,0,.84);border:1px solid rgba(255,196,0,.65);color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.auth-home-badge b{color:#ffc400}.auth-home-badge button{width:auto;margin:0;padding:7px 10px;font-size:12px;border-radius:999px}
.home-mobile-actions{display:none}
@media(max-width:760px) and (orientation:portrait){
  .home{min-height:100vh;overflow-x:hidden;padding-bottom:105px}.home-img{width:100%;height:auto;display:block}
  .install-float{left:14px;right:14px;bottom:18px;width:auto;border-radius:26px;padding:14px 18px;font-size:18px}
  .auth-home-badge{top:auto;right:14px;left:14px;bottom:92px;justify-content:center;border-radius:20px;flex-wrap:wrap}
  .home-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:#050507}
  .home-mobile-actions a{display:block;text-align:center;padding:14px 10px;border-radius:14px;font-weight:900;background:#ffc400;color:#111}
  .home-mobile-actions a.secondary-mobile{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18)}
  .hotspot{display:none}.page{padding:18px}.box,.panel{padding:22px;border-radius:18px}h1{font-size:32px}p{font-size:16px}
  .auth-tabs{grid-template-columns:1fr}.btn,button{font-size:16px}.topbar{align-items:stretch}.brand{justify-content:center}
  .header-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.header-actions .credit-pill{grid-column:1/-1;text-align:center}
  .grid,.stats,.video-grid,.package-grid,.two,.live-grid,.meta{grid-template-columns:1fr}
  .queue-item{grid-template-columns:auto 1fr}.queue-actions{grid-column:1/-1}
}
@media(max-width:760px) and (orientation:landscape){.install-float{right:18px;bottom:18px;width:auto;max-width:360px;border-radius:22px}.auth-home-badge{top:auto;bottom:86px;right:18px}}


/* v19: Better homepage portrait fill + compact logged-in badge */
.auth-home-badge .auth-label{display:inline}
.auth-home-badge .auth-user-name{color:#ffc400;font-weight:900}

@media(max-width:760px) and (orientation:portrait){
  .home{
    min-height:100svh;
    padding-bottom:148px;
    display:flex;
    flex-direction:column;
  }

  .home-img{
    width:100%;
    height:calc(100svh - 170px);
    min-height:520px;
    object-fit:cover;
    object-position:top center;
  }

  .auth-home-badge{
    bottom:86px;
    left:16px;
    right:16px;
    padding:10px 12px;
    font-size:16px;
    gap:8px;
  }

  .auth-home-badge .auth-label{
    display:inline;
  }

  .auth-home-badge button{
    padding:7px 10px;
    font-size:12px;
  }

  .install-float{
    bottom:16px;
    left:16px;
    right:16px;
    padding:13px 16px;
    font-size:18px;
  }
}

@media(max-width:900px) and (orientation:landscape){
  .auth-home-badge{
    top:10px;
    right:10px;
    bottom:auto;
    left:auto;
    max-width:330px;
    padding:7px 9px;
    gap:7px;
    font-size:14px;
    border-radius:999px;
  }

  .auth-home-badge .auth-label{
    display:none;
  }

  .auth-home-badge .auth-user-name{
    max-width:185px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .auth-home-badge button{
    padding:6px 9px;
    font-size:11px;
  }

  .install-float{
    left:50%;
    transform:translateX(-50%);
    right:auto;
    bottom:12px;
    width:min(620px,92vw);
    max-width:none;
    border-radius:18px;
    padding:10px 14px;
    font-size:16px;
  }

  .install-float small{
    font-size:10px;
  }
}


/* v20: portrait should show the whole homepage, not crop it */
@media(max-width:760px) and (orientation:portrait){
  .home{
    min-height:100svh;
    padding-bottom:150px;
    display:block;
    overflow-x:hidden;
  }

  .home-img{
    width:100%;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:top center !important;
    display:block;
  }

  .auth-home-badge{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    top:auto;
    margin:18px 16px 10px;
    display:none;
  }

  .install-float{
    position:relative;
    display:block;
    left:auto;
    right:auto;
    bottom:auto;
    width:calc(100% - 32px);
    margin:14px 16px 26px;
    transform:none;
  }

  .home-mobile-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px 16px;
    background:#050507;
  }

  .home-mobile-actions a{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}

/* Keep the landscape auth badge compact */
@media(max-width:900px) and (orientation:landscape){
  .auth-home-badge{
    max-width:285px;
  }
  .auth-home-badge .auth-label{
    display:none;
  }
  .auth-home-badge .auth-user-name{
    max-width:155px;
  }
}

/* Make auth messages easier to notice */
.status-msg{
  scroll-margin-top:40px;
}

/* v21 final responsive homepage */
.home{min-height:100vh;background:#050507}
.home-picture,.home-img{display:block;width:100%;height:auto}
.home-img.portrait-home{display:none}
.footer-clean{display:none;text-align:center;color:#bbb;padding:22px 16px 32px;background:#050507;border-top:1px solid rgba(255,255,255,.12)}
.footer-clean a{color:#fff;margin:0 16px}.footer-clean p{color:#aaa;font-size:14px;margin:18px 0 0}
@media(max-width:760px) and (orientation:portrait){
  .home{min-height:auto!important;padding-bottom:0!important;display:block!important;overflow-x:hidden}
  .home-img.landscape-home{display:none!important}
  .home-img.portrait-home{display:block!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important}
  .hotspot{display:none!important}
  .home-mobile-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px;background:#050507}
  .home-mobile-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 10px;border-radius:14px;font-weight:900;background:#ffc400;color:#111}
  .home-mobile-actions a.secondary-mobile{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.18)}
  .auth-home-badge{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:14px 16px 0!important;max-width:none!important;justify-content:center}
  .install-float{position:relative!important;display:block;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:calc(100% - 32px)!important;margin:14px 16px 20px!important;border-radius:26px!important}
  .footer-clean{display:block}
}
@media(min-width:761px),(orientation:landscape){
  .home-img.landscape-home{display:block!important}
  .home-img.portrait-home{display:none!important}
}
@media(max-width:1100px) and (orientation:landscape){
  .auth-home-badge{top:10px!important;right:12px!important;left:auto!important;bottom:auto!important;max-width:260px!important;padding:7px 9px!important;font-size:13px!important}
  .auth-home-badge .auth-label{display:none!important}
  .auth-home-badge .auth-user-name{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .auth-home-badge button{padding:6px 9px!important;font-size:11px!important}
}

/* v22: Scrollable bottom homepage sections for menu anchors */
.how-nav{left:49.2%;top:3.0%;width:8.4%;height:4.8%}.pricing-nav{left:58.7%;top:3.0%;width:6.5%;height:4.8%}.venues-nav{left:66.3%;top:3.0%;width:6.7%;height:4.8%}
.home-section{max-width:1600px;margin:14px auto 0;padding:18px 24px;background:rgba(0,0,0,.74);border:1px solid rgba(255,255,255,.18);border-radius:14px;scroll-margin-top:22px}
.section-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#ffc400;text-transform:uppercase;letter-spacing:.4px}.section-title h2{margin:0;font-size:20px}.section-title span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #ffc400;border-radius:50%;font-weight:900}.section-title a{margin-left:auto;color:#ffc400;font-size:13px;font-weight:900}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps-grid article,.pricing-grid article{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px}.steps-grid b{color:#ffc400;font-size:24px}.steps-grid h3,.pricing-grid h3{margin:8px 0 6px}.steps-grid p,.pricing-grid p{font-size:15px;margin:0;color:#eee}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pricing-grid article{text-align:center}.pricing-grid small{text-transform:uppercase;letter-spacing:1px;color:#ddd}.pricing-grid strong{display:block;color:#ffc400;font-size:30px;margin:7px 0}.pricing-grid strong span{font-size:15px}.pricing-grid em{display:block;color:#ffc400;font-style:normal;margin-bottom:10px}
.venue-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.venue-grid a{min-height:115px;border-radius:12px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,rgba(255,0,120,.55),rgba(0,70,255,.45)),#111;border:1px solid rgba(255,255,255,.14);overflow:hidden}.venue-grid strong{font-size:17px}.venue-grid small{color:#fff;margin-top:5px}
@media(max-width:760px) and (orientation:portrait){.home-section{margin:10px 10px 0;padding:14px}.section-title h2{font-size:17px}.steps-grid,.pricing-grid{grid-template-columns:1fr}.venue-grid{grid-template-columns:1fr 1fr}.venue-grid a{min-height:90px}.home-mobile-actions{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px) and (orientation:landscape){.steps-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}.venue-grid{grid-template-columns:repeat(3,1fr)}}

/* v23 fixes: landscape links scoped to hero image, no floating install tab */
.home-hero{position:relative;width:100%;background:#050507;overflow:visible}
.home-hero .home-picture{display:block;width:100%}
.home-hero .home-img{display:block;width:100%;height:auto}
.install-float{display:none!important}
.install-bottom{display:block;width:min(1500px,calc(100% - 96px));margin:18px auto 0;background:#ffc400;color:#111;border:0;border-radius:10px;padding:22px 28px;font-size:24px;font-weight:900;box-shadow:none;cursor:pointer;text-align:center}
.install-bottom small{display:block;font-size:16px;color:#222;margin-top:4px}
.footer-clean{display:block;text-align:center;color:#bbb;padding:22px 16px 32px;background:#050507;border-top:1px solid rgba(255,255,255,.12)}
.footer-clean a{color:#fff;margin:0 28px}.footer-clean p{color:#aaa;font-size:17px;margin:18px 0 0}
.account-top{background:transparent;border:0;padding:0;margin:0;width:11.1%;height:4.6%;left:86.2%;top:2.3%;cursor:pointer}
.account-menu{position:absolute;right:2.8%;top:7.2%;z-index:90;width:185px;background:rgba(0,0,0,.96);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px;box-shadow:0 16px 45px rgba(0,0,0,.55)}
.account-menu a,.account-menu button{display:block;width:100%;margin:0;padding:13px 14px;background:transparent;border:0;border-radius:8px;color:#fff;text-align:left;font-size:15px;font-weight:800;cursor:pointer}.account-menu a:hover,.account-menu button:hover{background:rgba(255,196,0,.14);color:#ffc400}
.home-section{scroll-margin-top:18px}

@media(max-width:760px) and (orientation:portrait){
  .home-hero{overflow:hidden}
  .install-bottom{width:calc(100% - 32px);margin:14px 16px 20px;border-radius:14px;padding:14px 16px;font-size:20px}
  .install-bottom small{font-size:14px}
  .footer-clean a{margin:0 15px}.footer-clean p{font-size:14px}
  .account-menu{display:none!important}
}

/* v24: portrait cleanup and working image hotspots */
.home-mobile-actions{display:none!important}
@media(max-width:760px) and (orientation:portrait){
  /* The portrait artwork already contains the install/footer area. Do not duplicate it. */
  .install-bottom,.footer-clean{display:none!important}
  /* Use invisible tap zones directly over the portrait artwork instead of extra buttons. */
  .hotspot{display:block!important;position:absolute!important;z-index:20;background:transparent!important;border:0!important;padding:0!important;margin:0!important}
  .home-nav{left:5%;top:1%;width:45%;height:5%}
  .account-top{left:86%;top:1.4%;width:10%;height:4.2%}
  .join{left:6%;top:23.4%;width:88%;height:6.2%}
  .videos{left:6%;top:30.3%;width:88%;height:6.2%}
  .tv{left:6%;top:37.2%;width:88%;height:6.2%}
  .performances-card{left:6%;top:44.1%;width:88%;height:6.2%}
  .top10-nav{left:4%;top:50.4%;width:92%;height:20.2%}
  .how-nav{left:4%;top:72.3%;width:92%;height:5.6%}
  .pricing-nav{left:4%;top:78.7%;width:92%;height:5.6%}
  .venues-nav{left:4%;top:85.5%;width:92%;height:8.0%}
  .videos-nav{display:none!important}
  .account-menu{display:none!important}
  .home-section:first-of-type{margin-top:16px!important}
}

/* v25: portrait install/footer moved to true bottom; account/menu fixed */
.home .auth-home-badge{display:none!important}
@media(max-width:760px) and (orientation:portrait){
  /* Cropped portrait artwork now ends after Top 10; show real bottom sections, install, and footer below it. */
  .install-bottom,.footer-clean{display:block!important}
  .install-bottom{width:calc(100% - 32px)!important;margin:18px 16px 20px!important;border-radius:14px!important;padding:16px 14px!important;font-size:20px!important}
  .install-bottom small{font-size:14px!important}
  .footer-clean{padding:22px 16px 34px!important}

  /* Re-map portrait image tap zones after removing the old install/footer from the artwork. */
  .home-nav{left:4%!important;top:1%!important;width:48%!important;height:6%!important}
  .account-top{display:block!important;left:88%!important;top:1.2%!important;width:9%!important;height:5.2%!important;z-index:80!important}
  .join{left:5%!important;top:30.5%!important;width:90%!important;height:7.5%!important}
  .videos{left:5%!important;top:39.6%!important;width:90%!important;height:7.5%!important}
  .tv{left:5%!important;top:48.7%!important;width:90%!important;height:7.5%!important}
  .performances-card{left:5%!important;top:57.7%!important;width:90%!important;height:7.5%!important}
  .top10-nav{left:4%!important;top:66.2%!important;width:92%!important;height:30.5%!important}
  .how-nav,.pricing-nav,.venues-nav,.videos-nav{display:none!important}

  /* Hamburger opens this dropdown in portrait instead of sending the user to login. */
  .account-menu{display:block!important;position:absolute!important;right:12px!important;top:62px!important;z-index:100!important;width:min(260px,72vw)!important;background:rgba(0,0,0,.97)!important;border:1px solid rgba(255,196,0,.55)!important;border-radius:14px!important;padding:8px!important;box-shadow:0 18px 45px rgba(0,0,0,.65)!important}
  .account-menu[hidden]{display:none!important}
  .account-menu a,.account-menu button{font-size:15px!important;padding:12px 14px!important;color:#fff!important;background:transparent!important;border-radius:9px!important;text-align:left!important}
}

@media(min-width:761px),(orientation:landscape){
  /* Keep the live Firebase badge from covering the landscape nav; use the artwork account area + dropdown instead. */
  .account-menu{top:7.2%!important;right:2.8%!important}
}


/* v26: portrait username + corrected tap zones + install visibility */
.portrait-user-chip{display:none;position:absolute;z-index:75;color:#ffc400;background:rgba(0,0,0,.72);border:1px solid rgba(255,196,0,.55);border-radius:999px;padding:7px 11px;font-weight:900;font-size:14px;line-height:1;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
@media(max-width:760px) and (orientation:portrait){
  .portrait-user-chip:not([hidden]){display:block!important;right:74px;top:30px}
  .account-top{display:block!important;left:90.4%!important;top:1.6%!important;width:8.8%!important;height:5.8%!important;z-index:90!important}
  .home-nav{left:3.5%!important;top:.8%!important;width:48%!important;height:6.6%!important}
  .join{left:4.2%!important;top:36.6%!important;width:91.8%!important;height:6.8%!important}
  .videos{left:4.2%!important;top:43.9%!important;width:91.8%!important;height:7.0%!important}
  .tv{left:4.2%!important;top:51.6%!important;width:91.8%!important;height:7.0%!important}
  .performances-card{left:4.2%!important;top:59.2%!important;width:91.8%!important;height:7.1%!important}
  .top10-nav{left:4.0%!important;top:67.8%!important;width:92.5%!important;height:31.4%!important}
  .account-menu{top:76px!important;right:20px!important;width:min(290px,72vw)!important}
}
@media(min-width:761px),(orientation:landscape){.portrait-user-chip{display:none!important}}
.install-bottom.is-hidden{display:none!important}

/* v27: one-page landing behavior + restored original landscape first fold */
html{scroll-behavior:smooth}
.top10-section{max-width:1500px;margin:14px auto 0;padding:0!important;background:transparent!important;border:0!important;border-radius:14px;overflow:hidden;scroll-margin-top:14px}
.top10-section img{display:block;width:100%;height:auto;border-radius:14px}

/* Landscape hero crop: only hero + colorful tabs show on the first fold. */
@media(min-width:761px),(orientation:landscape){
  .home-nav{left:30.6%!important;top:2.7%!important;width:4.6%!important;height:9.4%!important}
  .videos-nav{left:37.0%!important;top:2.7%!important;width:5.4%!important;height:9.4%!important}
  .top10-nav{left:44.1%!important;top:2.7%!important;width:5.7%!important;height:9.4%!important}
  .how-nav{left:51.3%!important;top:2.7%!important;width:8.2%!important;height:9.4%!important}
  .pricing-nav{left:61.2%!important;top:2.7%!important;width:6.0%!important;height:9.4%!important}
  .venues-nav{left:68.5%!important;top:2.7%!important;width:6.5%!important;height:9.4%!important}
  .account-top{left:86.0%!important;top:2.2%!important;width:11.2%!important;height:10.0%!important}
  .join{left:4.6%!important;top:78.0%!important;width:21.7%!important;height:19.8%!important}
  .videos{left:27.3%!important;top:78.0%!important;width:22.2%!important;height:19.8%!important}
  .tv{left:50.5%!important;top:78.0%!important;width:21.4%!important;height:19.8%!important}
  .performances-card{left:72.7%!important;top:78.0%!important;width:22.7%!important;height:19.8%!important}
  .account-menu{top:12.8%!important;right:2.7%!important;width:190px!important}
}

/* Portrait hero crop: top ten is now its own section below the hero. */
@media(max-width:760px) and (orientation:portrait){
  .portrait-user-chip{display:block!important;right:76px!important;top:26px!important;max-width:145px!important;font-size:13px!important;z-index:85!important;pointer-events:none!important}
  .portrait-user-chip[hidden]{display:none!important}
  .account-top{left:89.5%!important;top:2.4%!important;width:9.0%!important;height:6.2%!important;z-index:95!important}
  .home-nav{left:3.5%!important;top:1.0%!important;width:48%!important;height:9.5%!important}
  .join{left:4.2%!important;top:54.4%!important;width:91.8%!important;height:10.1%!important}
  .videos{left:4.2%!important;top:65.4%!important;width:91.8%!important;height:10.3%!important}
  .tv{left:4.2%!important;top:76.8%!important;width:91.8%!important;height:10.3%!important}
  .performances-card{left:4.2%!important;top:88.1%!important;width:91.8%!important;height:10.6%!important}
  .top10-nav{display:none!important}
  .home-section:first-of-type{margin-top:10px!important}
  .top10-section{margin:10px 10px 0!important;border-radius:14px!important}
  .top10-section img{border-radius:14px!important}
  .account-menu{top:76px!important;right:20px!important;width:min(290px,72vw)!important}
}


/* v28: portrait matches the landing-page section flow; install/footer links; refined nav hit boxes */
@media(max-width:760px) and (orientation:portrait){
  /* Keep the first mobile fold focused on Hero + action buttons. Top 10 starts after a real scroll. */
  .home-hero{min-height:100svh!important;overflow:visible!important}
  .top10-section{margin-top:18px!important;scroll-margin-top:12px!important}
  /* Keep username visible in portrait header when logged in/demo state is available. */
  .portrait-user-chip{display:block!important;right:78px!important;top:24px!important;max-width:150px!important;font-size:13px!important;z-index:120!important;background:rgba(0,0,0,.78)!important}
  .portrait-user-chip[hidden]{display:none!important}
}

@media(min-width:761px),(orientation:landscape){
  /* Center the invisible tap areas over the visible top nav labels. */
  .home-nav{left:30.8%!important;top:3.8%!important;width:4.7%!important;height:6.7%!important}
  .videos-nav{left:37.2%!important;top:3.8%!important;width:5.2%!important;height:6.7%!important}
  .top10-nav{left:44.2%!important;top:3.8%!important;width:5.7%!important;height:6.7%!important}
  .how-nav{left:51.5%!important;top:3.8%!important;width:8.3%!important;height:6.7%!important}
  .pricing-nav{left:61.4%!important;top:3.8%!important;width:5.8%!important;height:6.7%!important}
  .venues-nav{left:68.6%!important;top:3.8%!important;width:6.7%!important;height:6.7%!important}
}

/* v29: full-page one-page scroll / snap homepage */
html{scroll-behavior:smooth;}
body:has(main.home){overflow-y:auto;scroll-snap-type:y mandatory;}
main.home{background:#050507;}
main.home .home-hero,
main.home .home-section,
main.home .install-page-section{
  min-height:100svh;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
main.home .home-hero{justify-content:flex-start;overflow:hidden;}
main.home .home-hero .home-picture{width:100%;display:block;}
main.home .home-hero .home-img{width:100%;height:100svh;object-fit:cover;object-position:top center;}
main.home .top10-section{padding:clamp(12px,2vw,32px);background:#050507;border:0;border-radius:0;max-width:none;margin:0;}
main.home .top10-section picture{display:flex;align-items:center;justify-content:center;min-height:calc(100svh - 40px);}
main.home .top10-section img{display:block;width:min(1600px,96vw);max-height:92svh;object-fit:contain;border-radius:18px;}
main.home .home-section:not(.top10-section){max-width:none;margin:0;padding:clamp(24px,5vw,80px);border:0;border-radius:0;background:radial-gradient(circle at 75% 12%,rgba(255,196,0,.08),transparent 30%),#050507;}
main.home .home-section:not(.top10-section) > *{width:min(1420px,94vw);margin-left:auto;margin-right:auto;}
main.home .section-title{margin-bottom:clamp(18px,3vw,42px);}
main.home .section-title h2{font-size:clamp(30px,4vw,58px);}
main.home .steps-grid article,
main.home .pricing-grid article{padding:clamp(22px,3vw,44px);border-radius:24px;}
main.home .steps-grid h3,
main.home .pricing-grid h3{font-size:clamp(22px,2vw,32px);}
main.home .steps-grid p,
main.home .pricing-grid p{font-size:clamp(16px,1.35vw,22px);}
main.home .venue-grid a{min-height:clamp(160px,18vh,240px);border-radius:22px;padding:24px;}
main.home .venue-grid strong{font-size:clamp(18px,1.7vw,28px);}
.install-page-section{background:#050507;padding:clamp(24px,5vw,80px);}
.install-page-section .install-bottom{margin:auto auto 28px;width:min(1500px,94vw);}
.install-page-section .footer-clean{width:100%;border-top:1px solid rgba(255,255,255,.14);padding-bottom:10px;}
.footer-clean a:first-child::before{content:'Home';}
.footer-clean a:first-child{font-size:0;}
.footer-clean a:first-child::before{font-size:17px;}
.footer-clean .footer-extra-terms::before{content:none;}
.home-section{scroll-margin-top:0!important;}
.account-menu a[href="#top10"], .account-menu a[href="#how-it-works"], .account-menu a[href="#pricing"]{cursor:pointer;}

@media(max-width:760px) and (orientation:portrait){
  body:has(main.home){scroll-snap-type:y proximity;}
  main.home{padding-bottom:0!important;}
  main.home .home-hero,
  main.home .home-section,
  main.home .install-page-section{min-height:100svh;}
  main.home .home-hero .home-img{height:100svh;object-fit:cover;object-position:top center;}
  main.home .top10-section{padding:16px 10px;}
  main.home .top10-section picture{min-height:calc(100svh - 32px);}
  main.home .top10-section img{width:96vw;max-height:92svh;object-fit:contain;}
  main.home .home-section:not(.top10-section){padding:28px 18px;justify-content:flex-start;overflow-y:auto;}
  main.home .section-title h2{font-size:34px;}
  main.home .steps-grid,.pricing-grid{gap:14px;}
  main.home .steps-grid article,.pricing-grid article{padding:20px;border-radius:20px;}
  main.home .venue-grid{grid-template-columns:1fr;gap:14px;}
  main.home .venue-grid a{min-height:105px;}
  .install-page-section{padding:24px 16px;justify-content:center;}
  .install-page-section .install-bottom{width:100%;margin:auto 0 24px!important;}
  .portrait-user-chip{display:block!important;right:78px!important;top:24px!important;max-width:155px!important;font-size:13px!important;z-index:150!important;opacity:1!important;visibility:visible!important;}
}


/* v54 shared fullscreen resume button */
#resumeFullscreenBtn{position:fixed;right:14px;bottom:14px;z-index:9998;border:1px solid rgba(255,196,0,.75);background:#ffc400;color:#000;border-radius:999px;padding:10px 14px;font-weight:900;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.5);cursor:pointer;}
#resumeFullscreenBtn[hidden]{display:none!important;}
@media (orientation:portrait){#resumeFullscreenBtn{left:50%;right:auto;transform:translateX(-50%);bottom:10px;white-space:nowrap;font-size:13px;padding:9px 12px;}}

/* v68 profile photo upload + avatar display */
.acct-icon,.mini-profile-avatar,.dashboard-profile-avatar{
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);background-size:cover;background-position:center;
  overflow:hidden;flex:0 0 auto;color:#bdb7c9;
}
.acct-icon.has-photo,.mini-profile-avatar.has-photo,.dashboard-profile-avatar.has-photo{color:transparent;text-indent:-999px;}
.gk-account-btn .acct-icon{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,196,0,.24);}
.mini-profile-avatar{width:28px;height:28px;border-radius:50%;margin-right:7px;border:1px solid rgba(255,196,0,.35)}
.dashboard-profile-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dashboard-profile-head h1{margin:0}.dashboard-profile-avatar{width:76px;height:76px;border-radius:22px;border:2px solid rgba(255,196,0,.45);font-size:32px}.profile-pill{display:inline-flex;align-items:center;gap:4px}.settings-box{max-width:760px}.settings-form{display:grid;gap:18px;margin-top:22px}.profile-photo-editor{display:grid;justify-items:center;gap:12px;margin:6px 0 10px}.profile-photo-editor img{width:128px;height:128px;border-radius:28px;object-fit:cover;border:3px solid rgba(255,196,0,.5);background:#111}.photo-upload-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,196,0,.55);background:rgba(255,196,0,.12);color:#ffc400;font-weight:900;padding:12px 18px;cursor:pointer}.photo-upload-btn:hover{background:rgba(255,196,0,.22)}#settingsPhotoFile{position:absolute;left:-9999px}.settings-note,.profile-photo-editor small{color:rgba(255,255,255,.72);font-size:14px;margin:0}.settings-status{min-height:22px;margin:0;text-align:center;font-weight:800}.settings-status.good{color:#67ec4a}.settings-status.warn{color:#ffc400}.settings-status.error{color:#ff6b6b}

/* v69 profile settings fixes */
.settings-box .logo{width:92px!important;height:92px!important;object-fit:contain!important}
.profile-photo-editor{display:grid!important;justify-items:center!important;gap:12px!important;margin:6px 0 10px!important}
.profile-photo-frame{width:132px!important;height:132px!important;border-radius:30px!important;border:3px solid rgba(255,196,0,.55)!important;background:rgba(255,255,255,.07)!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;margin:0 auto!important}
.profile-photo-frame img{width:100%!important;height:100%!important;object-fit:cover!important;display:none!important;border:0!important;border-radius:0!important;background:transparent!important;max-width:132px!important;max-height:132px!important}
.profile-photo-frame img.has-src{display:block!important}
.profile-photo-frame span{font-size:54px!important;line-height:1!important;opacity:.85!important}
.profile-photo-frame img.has-src + span{display:none!important}
.settings-password-box{margin-top:8px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.045);text-align:left}
.settings-password-box h2{color:#ffc400;text-align:center;margin:0 0 6px;font-size:24px}.settings-password-box p{font-size:14px;color:#ddd;text-align:center;margin:0 0 10px}.settings-password-box .secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}
.acct-icon.has-photo,[data-profile-avatar].has-photo{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;color:transparent!important;overflow:hidden!important}
@media(max-width:760px){.settings-box{padding:24px 18px}.settings-password-box{padding:14px}.settings-password-box h2{font-size:21px}}

/* v70 account settings: working profile preview/save + password form */
.settings-divider{width:100%;border:0;border-top:1px solid rgba(255,255,255,.16);margin:4px 0 0}
.settings-subtitle{color:#ffc400;margin:0;text-align:left;font-size:24px}
.field-label{display:block;text-align:left;font-weight:900;color:#ffc400;margin:0 0 -10px 2px;font-size:14px;letter-spacing:.02em}
.settings-form input[readonly]{opacity:.72;cursor:not-allowed;background:rgba(255,255,255,.06)}
.settings-form button.secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}
.settings-form button.secondary:hover{background:rgba(255,255,255,.13)}
.profile-photo-frame span{pointer-events:none}
.profile-pill{white-space:nowrap}
.profile-pill .mini-profile-avatar{margin-right:2px}
@media(max-width:760px){.settings-box{max-width:94vw}.settings-subtitle{font-size:20px}.profile-photo-frame{width:118px!important;height:118px!important}}

/* GKFS v1.0: Gong Credits, tips, and hosting */
.finance-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:22px 0}
.finance-hero>div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:20px;text-align:center}
.finance-hero span,.finance-hero small{display:block;opacity:.82;margin:4px 0}
.finance-hero strong{display:block;font-size:44px;line-height:1.1;margin:6px 0;color:#fff}
.credit-cost{display:inline-block;margin-top:8px;padding:10px 14px;border-radius:999px;background:rgba(255,215,0,.16);border:1px solid rgba(255,215,0,.35);font-weight:800}
.tip-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tip-options button{width:auto;padding:10px 14px;border-radius:999px}
.finance-list{display:grid;gap:10px;margin:12px 0 24px}.finance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.finance-row small{display:block;opacity:.75;margin-top:3px}.finance-row strong{white-space:nowrap}.package ul{margin:14px 0 18px;text-align:left}.package li{margin:8px 0}
