:root{--ink:#18323c;--forest:#18323c;--orange:#ea6b55;--earth-action:#c84b38;--mint:#f6b7aa;--paper:#f3f6f8;--muted:#5f6e76;--line:#d5e0e5;--white:#ffffff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-nav{height:86px;padding:18px clamp(22px,5vw,70px);display:flex;align-items:center;justify-content:space-between}.auth-logo{width:116px}.auth-logo img{display:block;width:100%}.auth-nav>a:last-child{padding:10px 14px;border-radius:12px;color:var(--forest);text-decoration:none;font-size: 16px;font-weight:850}.auth-shell{width:min(1120px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr minmax(390px,470px);gap:clamp(50px,9vw,130px);align-items:center;padding:35px 0 70px}.auth-shell.compact{max-width:1000px}.auth-story{padding:20px}.kicker,.step-label{color:var(--orange);font-size: 16px;font-weight:950;letter-spacing:.14em}.auth-story h1{margin:16px 0 18px;font-size:calc(clamp(45px,6vw,75px) - 2.6667px);line-height:.95;letter-spacing:-.065em}.auth-story>p{max-width:480px;color:var(--muted);font-size: 16px;line-height:1.7}.story-points{margin-top:31px;display:grid;gap:11px;color:var(--forest);font-size: 16px;font-weight:800}.auth-card{position:relative;padding:38px;border:1px solid var(--line);border-radius:28px;background:var(--white);box-shadow:0 24px 70px rgba(24,50,60,.1)}.auth-card h2{margin:9px 0 7px;font-size:calc(30px - 2.6667px);letter-spacing:-.045em}.auth-card>p{margin:0 0 24px;color:var(--muted);font-size: 16px;line-height:1.55}.mascot{width:58px;height:58px}.mascot img{width:100%}form{display:grid;gap:15px}label{display:grid;grid-template-columns:1fr auto;gap:7px;color:var(--ink);font-size: 16px;font-weight:850}label input{grid-column:1/-1;width:100%;height:49px;padding:0 14px;border:1.5px solid var(--line);border-radius:13px;color:var(--ink);background:#fff;font:inherit;font-size: 16px;outline:0}label input:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(234,107,85,.1)}label a,.auth-switch a,.back-link{color:var(--forest);font-weight:900;text-decoration:none}label small{grid-column:1/-1;color:var(--muted);font-size: 16px;font-weight:500}.check{display:flex;align-items:center;color:var(--muted);font-weight:600}.check input{width:18px;height:18px;flex:0 0 auto}.auth-primary,.auth-secondary,.auth-provider{min-height:49px;border:0;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size: 16px;font-weight:950;text-decoration:none;cursor:pointer}.auth-primary{color:#fff;background:var(--earth-action)}.auth-primary:hover{color:#fff;background:var(--forest)}.auth-primary.link{margin-top:20px}.auth-secondary{margin-top:10px;border:1.5px solid var(--line);color:var(--ink);background:#fff}.auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:var(--muted);font-size: 16px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px}.auth-provider{gap:9px;border:1.5px solid var(--line);color:var(--ink);background:#fff}.auth-provider:hover{border-color:var(--orange)}.auth-provider b{font-size:16px}.auth-switch{margin:22px 0 0!important;text-align:center}.auth-alert,.biometric-status{margin-bottom:14px;padding:12px 13px;border-radius:11px;color:#853f35;background:#fff0ec;font-size: 16px;line-height:1.5}.biometric-status{margin:12px 0 0;color:var(--forest);background:#e7f0f4}.auth-footer{padding:20px clamp(22px,5vw,70px);display:flex;justify-content:space-between;color:#8c9691;font-size: 16px}.success-mark,.google-mark{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:var(--forest);background:var(--mint);font-size:26px;font-weight:950}.google-mark{border:1px solid var(--line);color:#4285f4;background:#fff}.provider-note{margin-top:-3px!important;color:var(--orange)!important;font-weight:900}.sso-preview{margin:18px 0;padding:16px;border-radius:15px;background:#edf2f4;display:grid;gap:7px}.sso-preview strong,.sso-preview span{display:block}.sso-preview strong{font-size: 16px}.sso-preview span{color:var(--muted);font-size: 16px}.back-link{display:inline-block;margin-bottom:20px;font-size: 16px}@media(max-width:800px){.auth-nav{height:72px}.auth-shell,.auth-shell.compact{grid-template-columns:1fr;width:min(540px,calc(100% - 28px));gap:10px;padding:10px 0 45px}.auth-story{padding:10px 8px 22px}.auth-story h1{font-size:calc(43px - 2.6667px)}.story-points{display:none}.auth-card{padding:27px}.auth-footer{display:grid;gap:6px;text-align:center}.auth-methods{grid-template-columns:1fr}}
.auth-footer{align-items:end;gap:28px;color:#6f7b7f;font-size:16px}.auth-publisher{display:grid;gap:3px;margin:0;font-style:normal;line-height:1.45}.auth-publisher>span:first-child{color:var(--earth-action);font-weight:900}.auth-publisher strong{color:var(--ink)}.auth-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}@media(max-width:800px){.auth-footer{gap:18px;text-align:left}.auth-footer nav{justify-content:flex-start}}

/* Authentication links stay visually clean while focus and active states remain explicit. */
.auth-page a { text-decoration: none !important; }

label select{grid-column:1/-1;width:100%;height:49px;padding:0 14px;border:1.5px solid var(--line);border-radius:13px;color:var(--ink);background:#fff;font:inherit;font-size:16px;outline:0}label select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(234,107,85,.1)}
.auth-sim-status{margin:0;padding:14px 15px;border-radius:14px;color:#4b5f68;background:#edf2f4;font-size:16px;line-height:1.55;font-weight:650}.auth-sim-status.is-confirmed{color:#174c3b;background:#e4f2eb}.auth-sim-status.is-local_required{color:#61483f;background:#fff2ec}

/* Calm, scannable authentication footer: brand, legal routes and launch coverage. */
.auth-footer{margin-top:34px;padding:34px clamp(28px,5vw,72px);display:grid;grid-template-columns:minmax(330px,1.35fr) minmax(180px,.55fr) minmax(260px,.8fr);align-items:start;gap:clamp(28px,5vw,72px);color:rgba(255,255,255,.68);background:#090c0d}
.auth-footer-brand{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:24px}.auth-footer-lockup{width:132px;color:#fff}.auth-footer-lockup img{width:100%;height:auto;filter:brightness(0) invert(1)}
.auth-publisher{gap:2px;color:rgba(255,255,255,.62)}.auth-publisher>span:first-child{color:var(--orange)}.auth-publisher strong{color:#fff}
.auth-footer-links,.auth-footer-coverage{display:grid;align-content:start;gap:13px}.auth-footer-links>strong,.auth-footer-coverage>strong{color:#f6b7aa;font-size:16px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.auth-footer nav{display:grid;justify-content:start;gap:10px}.auth-footer a{color:rgba(255,255,255,.75);font-weight:750}.auth-footer a:hover{color:#fff}.auth-footer-coverage span{max-width:280px;line-height:1.55}
.auth-scroll-top{position:fixed;z-index:169;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));width:48px;height:48px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--earth-action);box-shadow:0 14px 36px rgba(9,12,13,.24);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .18s ease,transform .18s ease,background .18s ease}.auth-scroll-top.is-visible{opacity:1;pointer-events:auto;transform:none}.auth-scroll-top:hover{background:var(--forest)}.auth-scroll-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.auth-page .auth-nav .public-usability-fab{position:static;min-height:44px;padding-inline:11px;border-radius:13px;color:var(--ink);background:var(--white);box-shadow:0 7px 20px rgba(16,45,58,.1);transform:none}
.auth-page .auth-nav .public-usability-fab img{filter:none}.auth-page.is-footer-visible .auth-scroll-top{opacity:0;pointer-events:none;transform:translateY(12px)}
@media(max-width:960px){.auth-footer{grid-template-columns:1fr 1fr}.auth-footer-brand{grid-column:1/-1}}
@media(max-width:620px){.auth-footer{padding:30px 24px calc(34px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:28px}.auth-footer-brand{grid-column:1;grid-template-columns:104px 1fr;gap:18px}.auth-footer-lockup{width:104px}.auth-footer-links,.auth-footer-coverage{padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.auth-scroll-top{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}

/* First-party modern authentication. All icons, scripts and fonts are local. */
.auth-provider-stack{display:grid;gap:10px}.auth-provider-wide{width:100%}.auth-provider img{width:21px;height:21px;object-fit:contain}.auth-provider.auth-passkey-provider img{width:20px;height:20px}.auth-modern-divider{margin:16px 0}.auth-modern-divider span{white-space:nowrap}.biometric-status:empty{display:none}.google-country-card{display:grid;gap:18px}.google-identity{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:13px;border-radius:16px;background:#edf2f4}.google-identity-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--forest);font-weight:950}.google-identity strong,.google-identity span{display:block}.google-identity span{margin-top:2px;color:var(--muted);overflow-wrap:break-word}.passkey-card{display:grid;gap:18px}.passkey-shield{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#e7f0f4}.passkey-shield img{width:27px;height:27px}.passkey-list{display:grid;gap:9px}.passkey-list article{padding:14px;border-radius:14px;background:#edf2f4;display:flex;justify-content:space-between;gap:16px}.passkey-list article span{color:var(--muted)}
@media(max-width:620px){.passkey-list article{display:grid;gap:4px}}

/* Login hierarchy: one primary route, then two real alternatives. */
main.auth-shell[tabindex="-1"]:focus{outline:0}.auth-modern-methods{display:grid;grid-template-columns:1fr;gap:10px}.auth-modern-methods .auth-provider{width:100%;min-width:0;padding:11px 16px;text-align:center;line-height:1.25}.auth-modern-methods .biometric-status{margin:2px 0 0}.auth-email-primary{padding:18px;border-radius:18px;background:color-mix(in srgb,var(--paper) 70%,var(--white))}.auth-password-fallback{margin-top:2px}.auth-password-fallback summary{min-height:49px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;cursor:pointer;font-weight:850}.auth-password-fallback summary::before{content:'›';margin-right:9px;transition:transform .16s ease}.auth-password-fallback[open] summary::before{transform:rotate(90deg)}.auth-password-fallback form{margin-top:14px;padding:16px;border-radius:16px;background:var(--paper)}
@media(max-width:359px){.auth-card{padding:20px}.auth-modern-methods .auth-provider{font-size:16px}.auth-email-primary{padding:14px}}
@media(min-width:360px) and (max-width:479px){.auth-card{padding:24px}.auth-email-primary{padding:15px}}
@media(min-width:480px) and (max-width:719px){.auth-card{padding:30px}.auth-shell{max-width:600px}}
@media(min-width:720px) and (max-width:899px){.auth-shell{grid-template-columns:1fr;max-width:660px}.auth-story{padding-bottom:6px}.story-points{grid-template-columns:repeat(3,1fr);font-size:16px}}
@media(min-width:900px) and (max-width:1199px){.auth-shell{width:min(1040px,calc(100% - 48px));grid-template-columns:minmax(0,1fr) minmax(390px,450px);gap:54px}}
@media(min-width:1200px) and (max-width:1439px){.auth-shell{width:min(1160px,calc(100% - 64px));gap:78px}.auth-card{padding:40px}}
@media(min-width:1440px){.auth-shell{width:min(1240px,calc(100% - 80px));grid-template-columns:minmax(0,1fr) 480px;gap:96px}.auth-card{padding:42px}.auth-story h1{max-width:720px}}

.auth-submit-with-help{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px;align-items:center}.auth-context-help{width:44px;height:44px;padding:0;border:0;border-radius:50%;display:inline-grid;place-items:center;color:#fff;background:#050505;font:900 21px/1 system-ui,sans-serif;cursor:pointer}.auth-context-help:hover,.auth-context-help:focus-visible{background:#18323c;outline:3px solid rgba(24,50,60,.24);outline-offset:3px}.auth-private-email .auth-context-help{vertical-align:middle;margin-left:6px}.auth-help-dialog{width:min(480px,calc(100vw - 32px));padding:0;border:0;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.28)}.auth-help-dialog::backdrop{background:rgba(10,24,30,.56);backdrop-filter:blur(3px)}.auth-help-dialog-body{position:relative;padding:30px}.auth-help-dialog-body h2{margin:0 34px 10px 0;color:var(--ink);font-size:calc(26px - 2.6667px)}.auth-help-dialog-body p{margin:0 0 22px;color:var(--muted);line-height:1.6}.auth-help-dialog-body .auth-primary{width:100%}.auth-help-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;color:#fff;background:#050505;font-size:24px;line-height:1;cursor:pointer}.auth-help-close:focus-visible{outline:3px solid rgba(24,50,60,.28);outline-offset:3px}
/* Guided subscription checkout. */
.auth-operator-cancel{margin:0;text-align:center}.auth-link-button{appearance:none;border:0;background:transparent;color:var(--forest);cursor:pointer;font:inherit;font-weight:900;padding:.65rem .8rem}.auth-link-button:hover,.auth-link-button:focus-visible{color:var(--earth-action)}
/* Guided subscription checkout. */
.checkout-price-summary{margin:18px 0;padding:20px;border-radius:18px;background:#edf3f5;display:grid;gap:6px}.checkout-price-summary span{font-weight:850}.checkout-price-summary strong{font-size:clamp(34px,6vw,52px);letter-spacing:-.05em}.checkout-price-summary small{color:var(--muted);font-size:16px;line-height:1.5}.checkout-reassurance{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:9px;color:var(--muted)}.checkout-reassurance li{position:relative;padding-left:25px;line-height:1.45}.checkout-reassurance li:before{content:'✓';position:absolute;left:0;color:#267052;font-weight:950}
.auth-submit-with-help{grid-template-columns:minmax(0,1fr) 36px}.auth-context-help{width:33px;height:33px;font-size:35px}
.auth-login-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 16px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.auth-login-tab{min-height:42px;padding:8px 7px;border:0;border-radius:11px;color:var(--muted);background:transparent;font:800 15px/1.15 inherit;cursor:pointer}.auth-login-tab.is-active{color:var(--ink);background:#fff;box-shadow:0 3px 12px rgba(24,50,60,.1)}.auth-login-tab:focus-visible{outline:3px solid rgba(234,107,85,.35);outline-offset:2px}.auth-login-panel[hidden]{display:none}.auth-panel-lead{margin:0 0 12px!important;color:var(--muted);font-size:16px;line-height:1.45}.auth-password-form{padding:16px;border-radius:16px;background:var(--paper)}
@media(max-width:430px){.auth-login-tab{font-size:16px;padding-inline:4px}.auth-login-tabs{gap:3px}}
.auth-login-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.auth-login-tab{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 4px;line-height:.95;white-space:normal}.auth-login-tab img{width:18px;height:18px}.auth-tab-google{font:950 18px/1 Arial,sans-serif;color:#4285f4}.auth-tab-password{font:950 12px/1 Arial,sans-serif;letter-spacing:1px}
.auth-login-tab.is-active img{filter:brightness(0) invert(1)}.auth-login-tab.is-active .auth-tab-google,.auth-login-tab.is-active .auth-tab-password{color:#fff}
.auth-context-help{background:#eef3f4!important;color:#18323c!important;border:1px solid rgba(24,50,60,.28)!important;box-shadow:none!important}.auth-context-help{width:27px!important;height:27px!important;font-size:32px!important;line-height:.72!important}
@media(min-width:900px){.auth-shell{width:min(1320px,calc(100% - 64px));grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:clamp(34px,5vw,72px)}.auth-card{padding:44px 48px}.auth-story{padding:24px 10px 24px 0}}
@media(min-width:720px) and (max-width:899px){.auth-shell{width:min(720px,calc(100% - 40px));grid-template-columns:1fr;gap:28px;padding:24px 0 54px}.auth-story{text-align:center;padding:18px 16px 4px}.auth-story h1{max-width:620px;margin-inline:auto}.auth-story>p{margin-inline:auto;max-width:620px}.story-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.story-points span{display:flex;justify-content:center;text-align:center}.auth-card{width:100%;padding:32px;border-radius:24px}}
.auth-login-tabs{position:relative;gap:4px;margin:2px 0 22px;padding:4px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--forest));border-radius:16px;background:color-mix(in srgb,var(--paper) 72%,var(--white));box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.auth-login-tab{position:relative;min-height:40px;border-radius:12px;color:var(--muted);font-weight:850;font-size:16px;line-height:.86;transition:color .16s ease,background .16s ease,box-shadow .16s ease;white-space:nowrap}.auth-login-tab.is-active{color:#fff;background:var(--earth-action);box-shadow:0 7px 18px rgba(200,75,56,.22)}.auth-login-tab:not(.is-active):hover{color:var(--ink);background:rgba(255,255,255,.72)}.auth-login-panel{animation:auth-panel-in .16s ease-out}@keyframes auth-panel-in{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:899px){.auth-shell{width:min(720px,calc(100% - 32px))}}
@media(max-width:520px){.auth-login-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.auth-login-tab{min-height:44px;white-space:normal;font-size:16px;line-height:.86}}
/* Final balance: roomier card and a simple, high-contrast help control. */
.auth-context-help{position:relative;border-radius:50%!important;background:#000!important;color:#fff!important;border:0!important;font:900 48px/.72 Arial,sans-serif!important}
.auth-context-help::after{display:none}
.auth-card h2{font-size:calc(26px - 2.6667px)}
.auth-card>p{font-size:16px}
@media(min-width:900px){.auth-card{padding:52px 60px}.auth-login-tab{font-size:16px}}
/* Reserve one stable content window so switching methods never repositions the card. */
.auth-login-panel{min-height:350px;display:flex;flex-direction:column;justify-content:flex-start}
.auth-login-panel[hidden]{display:none}
.auth-login-panel>form,.auth-login-panel>.auth-modern-methods{width:100%}
