/* The official painted title background remains untouched. */
#title.entry-gate{overflow-y:auto;justify-content:flex-end;padding-bottom:max(18px,env(safe-area-inset-bottom))}
#title.entry-gate>#createBtn,#title.entry-gate>#partyBtn,#title.entry-gate>.inv{display:none!important}
#entryCard{box-sizing:border-box;flex-shrink:0;max-height:calc(100dvh - 24px);overflow-y:auto;width:min(410px,92vw);padding:22px;border:1px solid #f6b8dc55;border-radius:22px;background:linear-gradient(145deg,#241126ed,#090c18f5);box-shadow:0 20px 80px #0009,inset 0 1px #ffffff20;text-align:left;backdrop-filter:blur(18px);animation:entryRise .45s ease-out}
#entryCard .entry-kicker{color:#ffc686;font:800 10px system-ui;letter-spacing:.3em}
#entryCard h2{margin:5px 0;font:900 34px system-ui;letter-spacing:.04em;color:white}
#entryCard p{font:13px/1.5 system-ui;color:#d5c6df;margin:0 0 14px}
#entryCard label{display:block;font:700 10px system-ui;letter-spacing:.15em;margin:10px 0 5px;color:#dfcce7}
#title #entryCard input{box-sizing:border-box;width:100%;margin:0;padding:11px 13px;min-height:42px;border-radius:9px;font:600 15px system-ui;letter-spacing:.04em;background:#0c0919;color:white;border:1px solid #79617e}
#entryCard input[hidden]{display:none!important}#entryConfirm{margin-top:8px!important}
#entryCard .entry-tabs{display:flex;gap:6px}
#title #entryCard button{position:relative;transform:none;min-height:44px;border-radius:10px;font:800 12px system-ui;letter-spacing:.08em;cursor:pointer}
#entryCard .entry-tabs button{flex:1;padding:9px;color:#e7daef;background:#ffffff08;border:1px solid #ffffff20}
#entryCard .entry-tabs [aria-pressed=true]{color:#ffd398;background:#ffad3920;border-color:#ffbc66}
#title #entryCard #playBtn{width:100%;min-width:0;margin:8px 0;padding:14px;background:linear-gradient(110deg,#ff377f,#ff9a46);color:white;font-size:14px;animation:none}
#title #entryCard #playBtn::before,#title #entryCard #playBtn::after{display:none}
#entryGuest{width:100%;background:#ffffff09;color:#ebdef5;border:1px solid #ffffff35}
#entryCard small{display:block;margin-top:10px;font:11px/1.5 system-ui;color:#bfaecb}
#entryCard #authMsg{font:12px/1.4 system-ui;color:#ffd192;max-width:100%;margin:5px 0}
#entryCard button:focus-visible,#partyLobby button:focus-visible,#partyLobby select:focus-visible{outline:3px solid #a7ffed;outline-offset:3px}
#partyLobby{box-sizing:border-box;gap:12px}#partyLobby header{padding:14px 18px;border:1px solid #ffffff20;border-radius:18px;background:linear-gradient(120deg,#150e24e8,#18142899);box-shadow:0 8px 40px #0004}
#partyLobby footer{padding:18px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(120deg,#100c1be8,#23172aeb);box-shadow:0 -8px 50px #0003}
#partyLobby.on header,#partyLobby.on footer{animation:entryRise .4s ease-out}
#partyLobby button{transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}
#partyLobby button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #0006;border-color:#ffd799}
#partyLobby button:active:not(:disabled){transform:scale(.97)}
#partyLobby .modes button{min-height:44px;padding:10px 15px;border-color:#ffffff25;background:#ffffff08}
#partyLobby .modes button.sel{background:linear-gradient(120deg,#ffc36e,#ff8d69);color:#24131d;border-color:#ffe3bb;box-shadow:0 0 25px #ffb02025}
#partyLobby #plStart{margin-left:auto;min-width:220px;box-shadow:0 6px 30px #ff8a3433}
#partyLobby .status{font:13px/1.5 system-ui}#partyLobby .code{color:#ffd699}
@keyframes entryRise{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:1000px){#title.entry-gate{align-items:flex-end;padding-right:5vw}#partyLobby{padding:24px}#partyLobby footer{width:min(1050px,100%);align-self:center}#partyLobby h2{font-size:24px}}
@media(max-height:620px){#entryCard{padding:12px 18px}#entryCard h2{font-size:23px}#entryCard p,#entryCard small,.entry-kicker{display:none}#partyLobby{gap:5px}#partyLobby header,#partyLobby footer{padding:8px}#partyLobby #plStart{min-width:0}#partyLobby header h2 small{display:none}}
@media(prefers-reduced-motion:reduce){#entryCard,#partyLobby *,#partyLobby.on header,#partyLobby.on footer{animation:none!important;transition:none!important}}
body.reduce-ui #entryCard,body.reduce-ui #partyLobby *{animation:none!important;transition:none!important}

/* Progressive entry: credentials appear only after choosing an account action. */
#entryFields[hidden]{display:none!important}#entryCard .entry-tabs{flex-direction:column}
#entryCard:not(.entry-edit) #entrySignin{background:linear-gradient(110deg,#ff377f,#ff9a46);color:white;font-size:16px}
#entryCard #entrySignup{border:0;background:none;font-weight:600;letter-spacing:0;color:#e8cfdf}
#entryCard.entry-edit .entry-tabs{flex-direction:row}#entryBack{background:none;border:0;color:#d9cadd;width:100%}
#entryCard:not(.entry-edit) p{display:none}#entryCard #entryGuest{margin-top:8px}#entryCard{border-radius:16px}

#entryCard label[hidden]{display:none!important}
#entryCard #entryGuestNote{display:block}

/* First-paint entry shell: one city pass, with a consistent control family. */
body.art-lockup #title.entry-gate{padding:16px 16px max(28px,env(safe-area-inset-bottom));gap:8px;justify-content:flex-end}
#title.entry-gate #entryCard{position:relative;width:min(430px,100%);padding:22px 24px 16px;border:1px solid #bda0bd66;border-top:2px solid #43d7c3;border-radius:22px 22px 12px 12px;background:radial-gradient(ellipse at 100% 0,#793b542e,transparent 65%),linear-gradient(145deg,#1e1324f5,#0c101bf8);box-shadow:0 16px 55px #0009,inset 0 1px #ffffff12;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
#entryCard .entry-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:6px 0 10px}
#entryCard .entry-heading h2{font:900 clamp(30px,7vw,42px)/1 system-ui;letter-spacing:-.045em;margin:0}
#entryCard h2 span{color:#43d7c3}
#entryCard .entry-area{font:700 9px/1.6 system-ui;letter-spacing:.16em;text-align:right;color:#cbb5c8;border-left:1px solid #ffffff25;padding-left:14px}
#entryCard:not(.entry-edit) p{display:block;margin:0 0 16px;color:#c5b4cb;font-size:12px}
#title #entryCard button{appearance:none;-webkit-appearance:none;min-height:44px;padding:11px 14px;line-height:1.3;transition:filter .15s,border-color .15s;white-space:normal;overflow-wrap:anywhere}
#title #entryCard button:hover:not(:disabled){filter:brightness(1.14)}
#title #entryCard button:disabled{opacity:.5;cursor:wait}
#title #entryCard #entrySignin{border:1px solid #ffb38670;box-shadow:inset 0 1px #ffffff30,0 5px 20px #ff37651c}
#title #entryCard #entrySwitch,#title #entryCard #entryBack,#title #entryCard #entryReveal{background:transparent;color:#a8e8df;border:0;box-shadow:none;font-size:10px}
#title #entryCard #entrySwitch{width:100%;margin-top:4px}
#title #entryCard #entryReveal{display:block;margin-left:auto;min-height:44px;padding:8px 0}
#title #entryCard [hidden]{display:none!important}
#title #entryCard input{font-size:16px;min-height:48px;user-select:text}
#title #entryCard input:focus{outline:2px solid #43d7c3;outline-offset:2px}
#entryCard #entryGuestNote{font-size:11px;line-height:1.5;color:#b8aabd}
#title #installGameLink{display:block;min-height:44px;box-sizing:border-box;margin-top:10px;padding:13px 12px;border:1px solid #43d7c377;border-radius:10px;background:#0c383766;color:#b4fff3;font:800 11px/1.5 system-ui;letter-spacing:.13em;text-align:center;text-decoration:none}
#title #installGameLink:hover{background:#155b55aa}
#title #installGameLink:focus-visible{outline:3px solid #ffd24a;outline-offset:3px}
#entryCard .entry-utilities{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;border-top:1px solid #ffffff16;margin-top:12px;padding-top:6px}
#title #entryCard #accountEntry{background:none;border:0;color:#c5b4cb;min-height:44px;margin:0;padding:8px 0;font-size:9px;letter-spacing:.09em}
#entryCard #performancePicker{width:auto;font-size:9px;flex:1}
#entryCard #performancePicker summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:9px}
@media(min-width:1000px){body.art-lockup #title.entry-gate{align-items:flex-end;padding-right:5vw;padding-bottom:5vh}}
@media(max-height:620px){#title.entry-gate #entryCard{padding:14px 18px;max-height:calc(100dvh - 24px)}#entryCard:not(.entry-edit) p,#entryCard .entry-area{display:none}body.art-lockup #title.entry-gate{padding:12px}}

#title #entryCard #entryUpdates,#title #entryCard #entrySmsUpdates{width:18px;min-height:18px;margin-right:8px;vertical-align:middle}#entryUpdatesLabel,#entrySmsLabel{line-height:1.6;letter-spacing:0!important}
