/* v8 auth presentation is selected by the native marker only. */
.chessterApp.appAuth { color-scheme:light; --bg:#fff8f0; --text:#3c3a37; --text-dim:#5e5b57; --text-bright:#22211f; --accent:#f97b16; --accent-fg:#fff; --accent-edge:#cb5d07; }
.chessterApp.appAuth body { background:#fff8f0!important; font:400 16px/1.4 'Nunito',sans-serif; color:#3c3a37; }
.chessterApp.appAuth body main { display:block; width:100%; max-width:480px; min-height:100svh; margin:0 auto; padding:max(50px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-left),env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)); background:none; }
.appAuth [hidden] { display:none!important; }
.appAuth[data-auth-view="signin"] .appHostBar,.appAuth[data-auth-view="signup"] .appHostBar { display:none!important; }
.appAuth:has(.authExtraPanel:not([hidden])) .appHostBar,.appAuth:has(.authExtraPanel:not([hidden])) #siteHeader,.appAuth:has(.authExtraPanel:not([hidden])) #siteFooter { display:none!important; }
.appAuth[data-auth-view="reset"] #signed-out,.appAuth[data-auth-view="reset-sent"] #signed-out,.appAuth[data-auth-view="check-email"] #signed-out,.appAuth[data-auth-view="recovery"] #signed-out,.appAuth[data-auth-view="recovery"] #signed-in { display:none!important; }
.chessterApp.appAuth #signed-out { display:flex; flex-direction:column; gap:14px; min-height:calc(100svh - 78px); padding:0; }
.chessterApp.appAuth .authHero { display:flex; align-items:flex-start; gap:12px; text-align:left; margin:0; padding:0; }
.authV8Copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:6px; }
.chessterApp.appAuth .authHero h1,.appAuth .authExtraPanel h1 { font:800 2.125rem/1.08 'Baloo 2','Nunito',sans-serif; letter-spacing:-.01em; margin:0; color:#22211f; }
.chessterApp.appAuth .authHero h1 span,.appAuth .authExtraPanel h1 span { color:#f97b16; }
.chessterApp.appAuth .authHero p,.appAuth .authExtraPanel p { margin:0; font-size:1.1875rem; line-height:1.4; font-weight:600; color:#4a4744; }
.chessterApp.appAuth .appBack,.appAuth .authV8Back { display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; margin:0 0 2px -10px; padding:0; background:none; border:0; box-shadow:none; color:#3c3a37; }
.appAuth .appBack::before { display:none; }
.appAuth .appBack svg,.appAuth .authV8Back svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.authMascot { display:flex; align-items:flex-end; justify-content:center; flex:none; width:118px; height:128px; margin-top:8px; border:2px solid #2b1106; border-radius:24px; background:#ffebd2; box-shadow:0 4px 0 #2b1106; overflow:hidden; }
.authMascot img { display:block; height:112px; width:auto; max-width:100%; object-fit:contain; }
.chessterApp.appAuth form.authCard { display:flex; flex-direction:column; gap:14px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.chessterApp.appAuth .field { margin:0; min-width:0; }
.chessterApp.appAuth .field > span { display:flex; align-items:baseline; justify-content:space-between; gap:8px; color:#22211f; font-size:1.0625rem; font-weight:800; margin-bottom:6px; }
.chessterApp.appAuth .field input { min-height:56px; padding:12px 16px; border:2px solid #ead9c3; border-radius:16px; background:#fff; color:#22211f; font:600 1.125rem/1.3 'Nunito',sans-serif; }
.appAuth .field input:focus { outline:none; border-color:#f97b16; box-shadow:0 0 0 3px #fff0e0; }
.appAuth .field input::placeholder { color:#a49b91; }
.appAuth .field small { font-size:.9375rem; font-weight:700; color:#5e5b57; }
.chessterApp.appAuth #reset { min-height:32px; padding:0; font-size:.9375rem; font-weight:800; color:#a94b03; text-transform:none; letter-spacing:0; border:0; box-shadow:none; background:none; }
.chessterApp.appAuth .primary { display:flex; align-items:center; justify-content:center; width:100%; min-height:56px; padding:12px; border:0; border-radius:16px; background:#f97b16; box-shadow:0 4px 0 #cb5d07; color:#fff; font:800 1.0625rem/1.2 'Nunito',sans-serif; text-transform:uppercase; letter-spacing:.045em; text-decoration:none; }
.appAuth .authApple { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; min-height:54px; padding:10px; border:0; border-radius:16px; box-shadow:none; background:#000; color:#fff; font:600 1.125rem/1.2 -apple-system,BlinkMacSystemFont,sans-serif; text-transform:none; letter-spacing:0; }
.appAuth .authApple svg { width:20px; height:20px; fill:currentColor; }
.appAuth .authApple small { font-size:.625rem; font-weight:800; }
.authDivider { display:flex; align-items:center; gap:12px; color:#8a7b6c; font-weight:700; }
.authDivider::before,.authDivider::after { content:''; height:1px; flex:1; background:#ead9c3; }
.authV8Note { padding:14px 16px; background:#fff0e0; border:2px solid #f5c08a; border-radius:22px; color:#5a3410; font-size:.9375rem; line-height:1.35; font-weight:700; }
.authV8Note > strong { color:#22211f; font:800 1.1875rem/1.2 'Baloo 2',sans-serif; }
.authSaved > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; text-align:center; }
.authSaved > div > span { font-size:1.5rem; color:#a94b03; }
.authSaved small { display:block; margin-top:4px; font-size:.9375rem; line-height:1.2; font-weight:800; color:#5a3410; }
.chessterApp.appAuth .authSwitch { margin:auto 0 0; padding:8px 0 0; font-size:1.0625rem; font-weight:600; color:#4a4744; }
.chessterApp.appAuth .authSwitch .link,.appAuth .authConfirmed { display:inline-flex; align-items:center; min-height:44px; color:#a94b03; font-size:1.0625rem; font-weight:800; text-decoration:none; }
.appAuth .authExtraPanel { display:flex; flex-direction:column; gap:18px; min-height:calc(100svh - 78px); }
.appAuth .authExtraPanel p.feedback,.appAuth .feedback { font-size:.9375rem; line-height:1.4; padding:12px 14px; border-radius:14px; background:#e0f7f4; border:1px solid #a7e3da; }
.appAuth .feedback[data-error="true"] { background:#fff1f1; color:#a42424; border-color:#ffc2c2; }
.authPanelHead { display:flex; align-items:flex-end; gap:12px; }
.authPanelHead > div { flex:1; min-width:0; }
.authPanelHead p { margin-top:8px!important; }
.authPanelHead .authMascot { border:0; box-shadow:none; background:none; }
.authResetForm { display:flex; flex-direction:column; gap:18px; }
.authHow { background:#fff; border-color:#f3e3cc; box-shadow:0 4px 0 #f3e3cc; }
.authHow ol { margin:12px 0 0; padding-left:26px; }
.authHow li { padding:7px 0; font-size:1rem; }
.authMailScene { position:relative; display:flex; align-items:flex-end; height:262px; border-radius:28px; background:#ffebd2; overflow:hidden; }
.authMailScene img { height:236px; width:auto; margin-left:18px; }
.authMailScene span { position:absolute; right:16px; top:28px; color:#a94b03; font:700 2rem/1 'Caveat',cursive; transform:rotate(6deg); }
.appAuth .authExtraPanel .authEyebrow { color:#a94b03; font-size:.8125rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.authUsername { padding:10px 14px; font-weight:800; border-radius:16px; font-size:.9375rem; }
.authUsername[data-state="found"] { color:#0a6b60; background:#e0f7f4; border:1px solid #a7e3da; }
.authUsername[data-state="error"] { color:#a42424; }
.appAuth #change-password { display:flex; flex-direction:column; gap:14px; }
.appAuth #appConfirmEmail { overflow-wrap:anywhere; }
@media (max-width:359px) { .authMascot { width:90px; height:108px; } .authMascot img { height:98px; } .chessterApp.appAuth .authHero h1,.appAuth .authExtraPanel h1 { font-size:1.875rem; } }
.authSaved svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.appAuth .authExtraPanel p.feedback[data-error="true"] { background:#fff1f1; color:#a42424; border-color:#ffc2c2; }
.appAuth .authConfirmed { justify-content:center; width:100%; text-align:center; }
.appAuth .authExtraPanel h1:focus { outline:none; }
