/*
 * The Go E1U app address (goapp.e1ulife.com), 26 Oct 2026. Loaded after a section's own stylesheet, only on that address. The website's top bar is gone
 * (the layouts leave it out) and the bottom tabs replace it. The tab bar has its own dark colours so it looks the same over the community's looks and
 * over the Theater, which name their colours differently.
 */
/* the installed app draws under the phone's clock, so the page starts below it (viewport-fit=cover is what makes the inset real) */
body.in-app{--bar-h:0px;padding-top:env(safe-area-inset-top);padding-bottom:calc(66px + env(safe-area-inset-bottom))}
body.in-app>footer{padding-bottom:12px}
/* the chat box opens from its tab, so its round corner button is not needed here */
body.in-app .dock__fab{display:none}

.apptabs{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;background:#0F1115;border-top:1px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom)}
.apptabs__tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 1px 8px;color:#B9BDC4;font:600 10.5px/1.1 'Figtree',sans-serif;text-decoration:none;-webkit-tap-highlight-color:transparent}
.apptabs__tab svg{display:block}
.apptabs__tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apptabs__tab.is-current{color:#FD5E00}
.apptabs__tab:active{background:rgba(255,255,255,.06)}

/* wide screens: the same tabs, a little roomier, and the page keeps its own width */
@media (min-width:900px){.apptabs{justify-content:center}.apptabs__tab{flex:0 0 120px}}

/* the app's own pages */
.apphome{list-style:none;margin:0 auto;padding:0;max-width:560px;display:grid;gap:12px}
.apphome a{display:block;padding:18px 18px 16px;border:1px solid var(--line,var(--hair,rgba(127,127,127,.3)));border-radius:8px;background:var(--surface,transparent);color:inherit;text-decoration:none}
.apphome strong{display:block;font:700 18px/1.2 var(--disp,sans-serif);margin-bottom:4px}
.apphome span{color:var(--tx2,inherit);font-size:15px}
.appchat{text-align:center}
.appme{max-width:560px;margin:0 auto}
.appme h2{font:700 13px var(--disp,sans-serif);text-transform:uppercase;letter-spacing:-.01em;text-align:center;margin:26px 0 10px}
.appme p{text-align:center;margin:8px 0}
.appme__row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.appme .is-on{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.appme__out{margin-top:30px;text-align:center}

/* Chat: the chat box IS the page, so nothing of the page behind it shows */
body.in-app:has(.dock--page) main.page{padding:0;margin:0;min-height:0}
body.in-app:has(.dock--page)>footer{display:none}
body.in-app:has(.dock--page){overflow:hidden}

/* Me: the alerts switch */
.appalerts{text-align:center}
.appalerts__row{display:inline-flex;align-items:center;gap:10px;font-weight:600;margin:4px 0}
.appalerts__row[hidden]{display:none}
.appalerts__row input{width:20px;height:20px}
.appalerts__note{color:var(--tx2,inherit);font-size:14px;line-height:1.45;max-width:30em;margin:6px auto 0}

/*
 * Rooms and groups: the box for a new post is frozen just above the tabs, so writing is always one tap away. It rests as a single short line with the
 * send button beside it; tapping into it opens it up (the toolbar, the picture tray, the choices). Phones and narrow windows only: on a wide screen
 * the box stays where it was, at the top of the page.
 */
@media (max-width:1099px){
  body.in-app .composer--post{position:fixed;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom));z-index:900;margin:0;padding:8px 12px 10px;border:0;border-top:1px solid var(--line,rgba(127,127,127,.3));border-radius:0;background:var(--surface,var(--bg,#fff));box-shadow:0 -8px 22px rgba(0,0,0,.16);max-height:68vh;overflow:auto}
  body.in-app .composer--post .ed__label{display:none}
  body.in-app .composer--post:not(:focus-within) .ed__bar,
  body.in-app .composer--post:not(:focus-within) .poll-add,
  body.in-app .composer--post:not(:focus-within) .ed__count,
  body.in-app .composer--post:not(:focus-within) .composer__row label.inline{display:none}
  body.in-app .composer--post:not(:focus-within) .ed__plain{min-height:0;height:42px;resize:none}
  body.in-app .composer--post:not(:focus-within) .ed__area{min-height:0;max-height:42px;overflow:hidden}
  /* at rest: the writing line and the send button on one row */
  body.in-app .composer--post:not(:focus-within){display:flex;align-items:flex-end;gap:10px}
  body.in-app .composer--post:not(:focus-within) .ed{flex:1;min-width:0}
  body.in-app .composer--post:not(:focus-within) .composer__row{flex:none;margin:0}
  /* so the last post is not hidden behind the frozen box */
  body.in-app:has(.composer--post) .center{padding-bottom:140px}
}

/* Team: the affiliate tools */
.appteam{max-width:560px;margin:0 auto 26px;text-align:center}
.appteam h2{font:700 13px var(--disp,sans-serif);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 10px}
.appteam h3{font:700 12px var(--disp,sans-serif);text-transform:uppercase;letter-spacing:-.01em;margin:16px 0 6px;color:var(--tx2,inherit)}
.appteam p{margin:8px 0}
.appteam__help{color:var(--tx2,inherit);font-size:14px;line-height:1.45}
.appteam__help a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.appteam__pick{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:14px;color:var(--tx2,inherit)}
.appteam__pick select,.appteam__url input{width:min(100%,420px);font:inherit;padding:10px 12px;border:1px solid var(--line,rgba(127,127,127,.4));border-radius:6px;background:var(--surface,transparent);color:var(--tx,inherit)}
.appteam__url input{text-align:center;text-overflow:ellipsis}
.appteam__actions{display:flex;justify-content:center;gap:22px}
.appteam__qr img{display:block;margin:0 auto;border-radius:8px;background:#fff;padding:6px}
.appteam__figures{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}
.appteam__figures div{padding:12px 6px;border:1px solid var(--line,rgba(127,127,127,.3));border-radius:8px;background:var(--surface,transparent)}
.appteam__figures dt{font-size:12px;color:var(--tx2,inherit);margin:0 0 4px}
.appteam__figures dd{margin:0;font:700 18px var(--disp,sans-serif)}
.appteam__people,.appteam__calls{list-style:none;margin:0;padding:0;text-align:left}
.appteam__people li{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid var(--line,rgba(127,127,127,.25))}
.appteam__people em{font-style:normal;color:var(--tx2,inherit);font-size:14px}
.appteam__calls li{display:grid;gap:4px;padding:12px 2px;border-top:1px solid var(--line,rgba(127,127,127,.25))}
.appteam__calls li.is-next strong{color:var(--accent-tx,#E85600)}
.appteam__calls em{font-style:normal;color:var(--tx2,inherit);font-size:14px}
.appteam__live{color:var(--accent-tx,#E85600)!important;font-weight:700}
