@font-face{font-family:Ethnocentric;src:url("/assets/fonts/ethnocentric-6bdaeff7fe.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#050814;--panel:#0b1020;--line:rgba(117,173,255,.25);--text:#eef6ff;--muted:#a5b4cb;--cyan:#35e7ff;--indigo:#637cff;--violet:#8b6cf7}
*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:0 22px 34px;overflow-x:hidden;background:radial-gradient(circle at 12% 16%,rgba(53,231,255,.13),transparent 30%),radial-gradient(circle at 88% 78%,rgba(139,108,247,.17),transparent 34%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.swift-auth-shell{position:relative;width:min(1180px,100%);margin:0 auto}.swift-auth-header{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;min-height:84px}.swift-auth-brand{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none}.swift-auth-brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(53,231,255,.38))}.swift-auth-brand-name,.auth-story-brand{font-family:Ethnocentric,Inter,sans-serif;font-weight:300;letter-spacing:.09em;text-transform:uppercase;background:linear-gradient(100deg,#fff 0%,#fff 15%,var(--cyan) 46%,var(--violet) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.swift-auth-nav{display:flex;align-items:center;gap:1rem}.swift-auth-nav a{color:var(--muted);font-size:.875rem;font-weight:700;text-decoration:none;transition:.2s}.swift-auth-nav a:hover,.swift-auth-nav a:focus-visible{color:var(--cyan)}.swift-auth-back{padding:.62rem .92rem;border:1px solid rgba(53,231,255,.38);border-radius:999px;color:var(--text)!important;background:rgba(53,231,255,.06)}
.auth-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);min-height:calc(100vh - 126px);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(11,16,32,.9),rgba(5,8,20,.82));box-shadow:0 35px 110px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px)}
.auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:640px;padding:clamp(34px,6vw,72px);overflow:hidden}.auth-story:after{content:"";position:absolute;width:440px;height:440px;right:-150px;bottom:-160px;border:1px solid rgba(53,231,255,.22);border-radius:50%;box-shadow:0 0 0 60px rgba(99,124,255,.055),0 0 0 120px rgba(139,108,247,.035)}.auth-kicker{margin:0 0 18px;color:var(--cyan);font-size:.75rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.auth-story-brand{font-size:clamp(2rem,5vw,4.7rem);line-height:1.02}.auth-story h1{max-width:720px;margin:24px 0 16px;font-size:clamp(2rem,4.3vw,4rem);line-height:1.06;letter-spacing:-.035em}.auth-story-copy{max-width:620px;margin:0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.75}.auth-assurance{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}.auth-assurance span{padding:14px;border:1px solid rgba(117,173,255,.16);border-radius:14px;background:rgba(8,14,29,.6);color:#dce9f8;font-size:.8rem;line-height:1.45}.auth-home-actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.auth-home-actions a{padding:.7rem 1rem;border-radius:999px;color:var(--text);font-size:.84rem;font-weight:750;text-decoration:none}.auth-home-primary{border:1px solid rgba(53,231,255,.45);background:rgba(53,231,255,.1)}.auth-home-secondary{border:1px solid rgba(255,255,255,.14)}
.auth-panel-wrap{display:grid;align-items:center;padding:clamp(24px,4vw,50px);border-left:1px solid var(--line);background:linear-gradient(180deg,rgba(10,18,37,.78),rgba(7,11,24,.94))}.auth-panel{width:100%;max-width:430px;margin:auto}.auth-panel-eyebrow{margin:0 0 8px;color:var(--cyan);font-size:.72rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.auth-panel h2{margin:0;font-size:clamp(1.7rem,3vw,2.35rem)}.auth-panel-lede{margin:10px 0 24px;color:var(--muted);line-height:1.6}.auth-status{margin:0 0 14px;padding:11px 13px;border:1px solid rgba(53,231,255,.22);border-radius:12px;background:rgba(53,231,255,.07);color:#dffaff;font-size:.84rem;line-height:1.45}.auth-status[hidden]{display:none}.auth-status-error{border-color:rgba(248,113,113,.42);background:rgba(75,14,25,.4);color:#ffd1d8}.auth-google,.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border:0;border-radius:14px;font:800 .92rem/1 Inter,"Segoe UI",sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}.auth-google{border:1px solid rgba(255,255,255,.18);background:#f7fbff;color:#111827}.google-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#4285f4 0 45%,#34a853 45% 62%,#fbbc05 62% 78%,#ea4335 78%);color:#fff;font-weight:900}.auth-google:hover,.auth-submit:hover{transform:translateY(-2px)}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#73829a;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.1)}.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:7px;color:#cbd7e7;font-size:.8rem;font-weight:750}.auth-form input{width:100%;min-height:50px;border:1px solid rgba(117,173,255,.23);border-radius:13px;background:rgba(3,8,20,.76);padding:0 14px;color:var(--text);font:500 1rem Inter,"Segoe UI",sans-serif;outline:none}.auth-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,231,255,.11)}.auth-submit{margin-top:3px;background:linear-gradient(115deg,#20cde8,#637cff 58%,#8b6cf7);color:#fff;box-shadow:0 14px 32px rgba(71,106,255,.25)}button:disabled,input:disabled{cursor:wait;opacity:.62}.auth-reset{display:block;margin:15px auto 0;border:0;background:none;color:var(--cyan);font:750 .82rem Inter,sans-serif;cursor:pointer}.auth-switch{text-align:center;margin:22px 0 0;color:var(--muted);font-size:.86rem}.auth-switch a{color:var(--cyan);font-weight:800}.auth-trust{display:flex;gap:8px;align-items:flex-start;margin:22px 0 0;color:#8291aa;font-size:.75rem;line-height:1.5}.auth-trust:before{content:"✓";color:var(--cyan);font-weight:900}
@media(max-width:900px){.auth-stage{grid-template-columns:1fr}.auth-story{min-height:auto;padding:36px}.auth-assurance{grid-template-columns:1fr 1fr}.auth-panel-wrap{border-left:0;border-top:1px solid var(--line);padding:36px}.auth-story:after{opacity:.55}.swift-auth-nav a:not(.swift-auth-back){display:none}}
@media(max-width:560px){body{padding:0 14px 22px}.swift-auth-header{min-height:72px}.swift-auth-brand img{width:38px;height:38px}.swift-auth-brand-name{font-size:.94rem}.auth-stage{border-radius:20px}.auth-story,.auth-panel-wrap{padding:26px 20px}.auth-assurance{grid-template-columns:1fr}.auth-story h1{font-size:2rem}.auth-story-brand{font-size:1.65rem}.swift-auth-back{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Compact Google-only authentication layout. */
.auth-stage{width:min(820px,100%);grid-template-columns:minmax(0,1fr) minmax(300px,360px);min-height:auto;border-radius:22px}
.auth-story{min-height:520px;padding:clamp(28px,4vw,48px)}
.auth-story-brand{font-size:clamp(1.7rem,4vw,3.6rem)}
.auth-story h1{max-width:520px;margin:18px 0 12px;font-size:clamp(1.8rem,3.5vw,3rem)}
.auth-story-copy{max-width:500px;font-size:clamp(.9rem,1.2vw,1rem);line-height:1.6}
.auth-assurance{grid-template-columns:1fr;margin-top:28px;gap:8px}
.auth-assurance span{padding:10px 12px;font-size:.75rem}
.auth-panel-wrap{padding:clamp(24px,4vw,38px)}
.auth-panel h2{font-size:clamp(1.55rem,2.6vw,2rem)}
.auth-panel-lede{margin-bottom:20px;font-size:.9rem}
.auth-divider,.auth-form,.auth-reset{display:none}
.auth-google{min-height:48px;font-size:.86rem}
.auth-switch{margin-top:18px;font-size:.8rem}
.auth-trust{margin-top:18px;font-size:.7rem}
@media(max-width:900px){.auth-stage{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px 30px}.auth-panel-wrap{border-top:1px solid var(--line);border-left:0;padding:28px 30px}.auth-panel{max-width:420px}}
@media(max-width:560px){body{padding:0 12px 18px}.swift-auth-header{min-height:64px}.swift-auth-nav a:not(.swift-auth-back){display:none}.swift-auth-back{font-size:.75rem;padding:.5rem .7rem}.auth-stage{border-radius:18px}.auth-story,.auth-panel-wrap{padding:22px 18px}.auth-story h1{font-size:1.85rem}.auth-story-brand{font-size:1.55rem}.auth-assurance{grid-template-columns:1fr 1fr}.auth-assurance span{font-size:.7rem}.auth-panel-wrap{padding-top:24px}}

/* Accessible typography baseline: keep readable controls and supporting copy at 16px. */
body{font-size:1rem}
.swift-auth-nav a,.swift-auth-back,.auth-kicker,.auth-assurance span,.auth-home-actions a,.auth-panel-eyebrow,.auth-status,.auth-divider,.auth-form label,.auth-reset,.auth-switch,.auth-trust,.auth-panel-lede,.auth-story-copy{font-size:1rem}
.swift-auth-nav a,.swift-auth-back,.auth-home-actions a,.auth-reset{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.auth-google,.auth-submit{font-size:1rem}
.auth-form input{font-size:1rem}
@media(max-width:560px){.swift-auth-back,.swift-auth-nav a{font-size:1rem}.auth-story-copy,.auth-assurance span,.auth-panel-lede,.auth-google,.auth-switch,.auth-trust{font-size:1rem}.auth-assurance span{min-height:48px;display:flex;align-items:center}.auth-home-actions a{font-size:1rem}}
