.turnstile-box{justify-content:center;max-width:100%;min-height:0;display:flex;overflow:hidden}.turnstile-box:empty{display:none}.auth-divider{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;margin:16px 0 12px;font-size:11.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google{text-align:left}.auth-google-btn{cursor:pointer;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.auth-google-btn:hover{border-color:var(--accent)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-alt{text-align:center;color:var(--text-muted);margin:16px 0 0;font-size:12.5px}.auth-alt a{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.auth-sent-email{overflow-wrap:anywhere;font-weight:700}.legal-links,.auth-legal{text-align:center;color:var(--text-muted);margin:16px 0 0;font-size:12px;line-height:1.6}.legal-links a,.auth-legal a{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.auth-shell,.legal-screen{--bg:#f2f5f5;--surface:#fff;--surface-2:#e9f3f0;--border:#c7d4d2;--text:#0a2a22;--text-muted:#3f5a53;--text-faint:#5a736d;--accent:#096e5a;--accent-soft:#e9f3f0;--accent-text:#096e5a;--negative:#b3261e;--negative-soft:#fdecea;--positive:#1b6b45;--positive-soft:#e3f4ea;--auth-input-bg:#f8fbfa;--auth-ring:#096e5a38;--auth-shadow:0 2px 6px #001e181f, 0 32px 70px -16px #0014108c;--auth-gold-hover:#f4c62a;--auth-backdrop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='none'%3E%3Cpath d='M0 130H300L340 130L370 62L410 188L450 30L490 130H760L790 130L815 92L845 160L870 130H1200' fill='none' stroke='rgb(254,212,72)' stroke-opacity='.17' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E"), radial-gradient(60% 70% at 8% 0%, #fed44829, transparent 62%), radial-gradient(70% 80% at 100% 100%, #096e5abf, transparent 66%), linear-gradient(155deg, #0a3529 0%, #003d31 58%, #05261e 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auth-shell,:root:not([data-theme=light]) .legal-screen{--bg:#06231c;--surface:#0c3028;--surface-2:#12403a;--border:#2a574b;--text:#eef6f3;--text-muted:#b8d0c9;--text-faint:#93b3aa;--accent:#5fe0b9;--accent-soft:#12403a;--accent-text:#7ae8c8;--negative:#ff9d94;--negative-soft:#ff786e24;--positive:#7be3a5;--positive-soft:#7be3a524;--auth-input-bg:#082a22;--auth-ring:#5fe0b94d;--auth-shadow:0 2px 6px #0006, 0 32px 70px -16px #000000bf}}:root[data-theme=dark] .auth-shell,:root[data-theme=dark] .legal-screen{--bg:#06231c;--surface:#0c3028;--surface-2:#12403a;--border:#2a574b;--text:#eef6f3;--text-muted:#b8d0c9;--text-faint:#93b3aa;--accent:#5fe0b9;--accent-soft:#12403a;--accent-text:#7ae8c8;--negative:#ff9d94;--negative-soft:#ff786e24;--positive:#7be3a5;--positive-soft:#7be3a524;--auth-input-bg:#082a22;--auth-ring:#5fe0b94d;--auth-shadow:0 2px 6px #0006, 0 32px 70px -16px #000000bf}.login-screen.auth-shell{isolation:isolate;min-height:100dvh;color:var(--text);background:#0a3529;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;display:flex;position:relative;overflow-x:clip}.login-screen.auth-shell:before,.legal-screen:before{content:"";z-index:-1;pointer-events:none;background-color:#0a3529;background-image:var(--auth-backdrop);background-position:0 100%,0 0,0 0,0 0;background-repeat:no-repeat;background-size:135% 26%,auto,auto,auto;position:fixed;inset:0}.auth-brand{z-index:1;color:#fff;text-align:center;padding:26px 24px 0;position:absolute;top:0;left:0;right:0}.auth-brand-logo{width:112px;height:auto;display:inline-block}.auth-brand-copy{display:none}.auth-main{z-index:1;flex:1;min-width:0;padding:84px 16px;display:flex;position:relative}.login-screen.auth-shell .login-card{text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;max-width:440px;box-shadow:var(--auth-shadow);border-radius:22px;margin:auto;padding:38px 32px 30px;animation:.5s cubic-bezier(.2,.7,.2,1) both auth-in;position:relative}.login-screen.auth-shell .login-card.setup-card{max-width:480px;padding:38px 32px 28px}.login-screen.auth-shell .login-card:before{content:"";background:var(--gold);border-radius:0 0 8px 8px;width:64px;height:5px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}@keyframes auth-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth-main .login-mark{display:none}.auth-main .login-title{letter-spacing:-.01em;color:var(--text);text-align:center;margin:4px 0 10px;font-size:27px;line-height:1.2}.auth-main .login-sub{color:var(--text-muted);text-align:center;max-width:36ch;margin:0 auto 26px;font-size:14.5px;line-height:1.6}.auth-main .setup-status .login-sub{margin-bottom:22px}.auth-main .login-form,.auth-main .setup-form{text-align:left;gap:4px}.auth-main .form-group{margin-bottom:14px}.auth-main .form-label{color:var(--text);margin-bottom:7px;font-size:13px;font-weight:600}.auth-main .form-input{border:1.5px solid var(--border);background:var(--auth-input-bg);color:var(--text);border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.auth-main .form-input:hover:not(:disabled){border-color:var(--text-faint)}.auth-main .form-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--auth-ring);outline:2px solid #0000}.auth-main .form-input[aria-invalid=true]{border-color:var(--negative)}.auth-main .form-input:disabled{background:var(--surface-2);color:var(--text-muted)}.auth-main .password-wrap .form-input{padding-right:48px}.auth-main .auth-forgot{text-align:right;margin:8px 0 0;font-size:13px}.auth-main .auth-forgot a{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.auth-main .login-error.success{color:var(--positive);background:var(--positive-soft)}.auth-main .reset-account{text-align:center;color:var(--text);background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;margin:0 0 18px;padding:10px 12px;font-size:13.5px;line-height:1.5}.auth-main .reset-account strong{font-weight:700}.auth-main .reset-account-note{color:var(--text-muted);margin-top:3px;font-size:12.5px;display:block}.auth-main .auth-resent{margin-top:6px;font-weight:500;display:block}.auth-main .auth-link-btn{font:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-weight:700;text-decoration:underline;display:inline-block}.auth-main .auth-link-btn:disabled{opacity:.6;cursor:not-allowed}.auth-main .auth-link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.auth-main .setup-terms input[type=checkbox]{width:18px;height:18px}.auth-main .login-error{border-radius:10px;margin-bottom:4px;padding:10px 12px;font-size:13px;line-height:1.45}.auth-main .action-btn.primary{background:var(--gold);border:1px solid var(--gold);color:#0a2a22;border-radius:14px;justify-content:center;align-items:center;width:100%;margin-top:6px;padding:14px 18px;font-size:15.5px;font-weight:700;transition:background .15s,transform .1s,box-shadow .15s;display:flex;box-shadow:0 10px 22px -12px #a078008c}.auth-main .action-btn.primary:hover:not(:disabled){background:var(--auth-gold-hover);border-color:var(--auth-gold-hover);filter:none}.auth-main .action-btn.primary:active:not(:disabled){transform:translateY(1px)}.auth-main .action-btn.primary:focus-visible,.auth-google-btn:focus-visible{box-shadow:0 0 0 3px var(--surface), 0 0 0 6px var(--accent);outline:3px solid #0000}.auth-main .setup-actions{margin-top:6px}.auth-main .auth-google-btn{border:1.5px solid var(--border);background:var(--auth-input-bg);border-radius:14px;padding:12px 14px;font-size:14.5px}.auth-main a:focus-visible,.auth-main .setup-signout button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.auth-main .auth-alt,.auth-main .legal-links,.auth-main .auth-legal{text-align:center;font-size:13px}.auth-main .setup-signout{margin-top:12px}.auth-main .setup-signout button{color:var(--text-muted);font-size:13px}.auth-main .setup-signout button:hover{color:var(--text)}@media (min-width:900px){.login-screen.auth-shell{grid-template-columns:minmax(340px,.85fr) minmax(0,1fr);display:grid}.auth-brand{text-align:left;flex-direction:column;justify-content:center;align-self:stretch;gap:clamp(32px,6vh,60px);height:auto;padding:48px clamp(40px,5vw,88px);display:flex;position:relative}.auth-brand-logo{width:clamp(168px,14vw,230px)}.auth-brand-copy{max-width:470px;display:block}.auth-brand-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;text-wrap:balance;margin:0 0 14px;font-size:clamp(30px,3.1vw,46px);font-weight:700;line-height:1.1}.auth-brand-tagline{font-family:var(--font-display);letter-spacing:.01em;color:var(--gold);margin:0 0 30px;font-size:clamp(16px,1.45vw,20px);font-weight:600}.auth-brand-points{gap:15px;margin:0;padding:0;list-style:none;display:grid}.auth-brand-points li{text-wrap:pretty;color:#e4efec;padding-left:30px;font-size:16px;line-height:1.5;position:relative}.auth-brand-points li:before{content:"";background:var(--gold);border-radius:50%;width:14px;height:14px;position:absolute;top:calc(.75em - 7px);left:0;box-shadow:0 0 0 5px #fed4482e}.auth-main{padding:48px clamp(24px,4.5vw,72px)}}@media (min-width:900px) and (max-height:760px){.auth-brand{gap:28px}.auth-brand-title{margin-bottom:10px;font-size:clamp(26px,2.8vw,38px)}.auth-brand-tagline{margin-bottom:20px}.auth-brand-points{gap:10px}.auth-brand-points li{font-size:14px}}@media (min-width:900px) and (max-width:1100px){.login-screen.auth-shell{grid-template-columns:minmax(380px,.85fr) minmax(0,1fr)}.auth-brand{padding-left:36px;padding-right:36px}.auth-brand-title{font-size:28px}.auth-brand-points li{font-size:14.5px}.auth-main{padding-left:20px;padding-right:20px}}@media (max-width:380px){.login-screen.auth-shell .login-card,.login-screen.auth-shell .login-card.setup-card{border-radius:18px;padding:30px 20px 22px}.auth-main{padding-left:12px;padding-right:12px}.auth-main .login-title{font-size:24px}}@media (max-width:899px){.auth-main .form-input{font-size:16px}}@media (prefers-reduced-motion:reduce){.login-screen.auth-shell .login-card{animation:none}.auth-main .form-input,.auth-main .action-btn.primary{transition:none}}.turnstile-failed{color:var(--text-muted);text-align:left;margin:0 0 8px;font-size:12px;line-height:1.5}
