:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;color:#eeebef;background:#101013}
*{box-sizing:border-box}
body{margin:0;background:#101013;min-height:100dvh}
.entry-shell{min-height:100dvh;max-width:620px;margin:auto;padding:calc(env(safe-area-inset-top) + 5px) 21px calc(env(safe-area-inset-bottom) + 20px);display:flex;flex-direction:column}
.entry-bar{display:flex;align-items:center;gap:10px;border-bottom:1px solid #29282d;min-height:68px}
.entry-bar img{width:52px;height:52px;object-fit:cover}
.entry-bar>span{font-size:13px;font-weight:650;letter-spacing:.11em;border-left:1px solid #38363e;padding-left:13px}
.entry-bar small{margin-left:auto;color:#918c96;letter-spacing:.08em;font-size:9px}
.entry-main{margin:auto 0;min-height:470px;padding:15px 0}
.entry-eyebrow{font-weight:650;font-size:10px;letter-spacing:.13em;color:#bb7882;margin-bottom:15px}
h1{font-size:clamp(36px,8vw,53px);font-weight:700;line-height:1.08;letter-spacing:-.05em;margin:0 0 15px}
.entry-intro{color:#a3a0a9;font-size:14px;line-height:1.7;margin:0 0 28px;max-width:340px}
.host{border:1px solid #333139;border-radius:14px;background:#1a1a1f;padding:13px;display:flex;align-items:center;gap:14px;animation:enter .32s ease-out both}
.host>img{width:78px;height:78px;object-fit:cover;border-radius:10px;filter:saturate(.86)}
.host-title{font-size:14px;font-weight:650;color:#efebf0}
.host-title span{font-size:9px;letter-spacing:.07em;color:#ba7984;display:block;margin-top:4px}
.host p{font-size:12px;line-height:1.55;color:#a29faa;margin:8px 0 0}
.status{display:flex;align-items:center;gap:11px;color:#9b98a2;font-size:12px;padding:24px 0 12px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#bf5261;animation:breathe 1.7s ease-in-out infinite}
.status-dot.error{background:#b54654;animation:none}
a{display:flex;text-decoration:none;align-items:center;justify-content:space-between;color:#f1eef2;background:#29272d;border:1px solid #48454d;padding:16px;border-radius:10px;margin-top:7px;font-size:13px;font-weight:600}
a[hidden]{display:none!important}
footer{font-weight:550;font-size:9px;letter-spacing:.1em;color:#77727d}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes breathe{50%{opacity:.4}}
@media(prefers-reduced-motion:reduce){.host,.status-dot{animation:none!important}}

/* The two supported entry methods: Telegram Mini App or F—Lab email. */
.auth-options{margin:24px 0 0;display:grid;gap:9px}
.auth-choice,.auth-choice:link,.auth-choice:visited{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px;margin:0!important;width:100%;text-align:left;text-decoration:none!important;padding:15px 16px!important;border:1px solid #3a373f;border-radius:12px!important;cursor:pointer;font:inherit;color:#f1eef2;box-sizing:border-box;min-height:68px}
.auth-choice>span:first-child{display:grid;gap:5px;min-width:0}
.auth-choice strong{font-weight:650;font-size:14px;line-height:1.3}
.auth-choice small{font-weight:400;font-size:11px;line-height:1.3;color:#b6b2bc}
.auth-choice>span:last-child{flex:0 0 auto;font-weight:500;font-size:18px}
.auth-primary{background:#b53947!important;border-color:#b53947!important;color:#fff!important}
.auth-primary small{color:#f5ccd0!important}
.auth-primary:hover{background:#c34856!important}
.auth-primary:disabled{opacity:.56;cursor:wait}
.auth-secondary{background:#222126!important;border-color:#444049!important}
.auth-secondary:hover{background:#2b292f!important}
.auth-divider{display:flex;align-items:center;gap:15px;color:#817e87;font-size:10px;letter-spacing:.11em;margin:5px 0}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#35333b;flex:1}
.auth-note{font-size:11px!important;line-height:1.6!important;color:#817d86!important;margin:17px 0 0!important;max-width:410px!important}
.auth-status{font-size:12px!important;color:#c9b2b7!important;margin:16px 0!important}
.auth-choice[hidden],.auth-status[hidden]{display:none!important}
@media(max-width:390px){.entry-shell{padding-left:17px!important;padding-right:17px!important}.entry-main{padding-top:6px!important}.host{gap:11px}.host>img{width:64px;height:64px}.host-title{font-size:13px}}
