@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/_gate/assets/instrument-sans.woff2") format("woff2")}
:root{color-scheme:light;--ink:#171717;--muted:#6b6b68;--line:#dededb;--soft:#f6f6f3;--font:"Instrument Sans","Helvetica Neue",sans-serif;font-family:var(--font);color:var(--ink);background:#fff;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px}body{margin:0;min-width:320px;background:#fff}body,button,input{font-family:var(--font)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button:focus:not(:focus-visible){outline:none}svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}h1,h2,p{margin:0}h1,h2{text-wrap:balance}p{text-wrap:pretty}.page-shell{width:min(1440px,100%);margin:auto;padding:0 72px}.skip-link{position:fixed;top:12px;left:12px;z-index:50;transform:translateY(-150%);padding:12px 18px;background:#171717;color:#fff;border-radius:8px;text-decoration:none}.skip-link:focus{transform:none}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:590;letter-spacing:-.045em;line-height:1.05;text-decoration:none}.brand img{border-radius:9px;display:block}.brand-product{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.website-link{display:inline-flex;align-items:center;gap:13px;min-height:44px;font-size:13px;text-decoration:none;transition:opacity 180ms}.website-link svg{width:16px;height:16px;transition:transform 180ms}.website-link:hover{opacity:.6}.website-link:hover svg{transform:translate(2px,-2px)}.workspace-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(54px,8vw,124px);align-items:start;padding:80px 0 82px}.intro{padding-top:10px;animation:arrive 350ms both}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:27px;font-size:11px;font-weight:560;letter-spacing:.09em;text-transform:uppercase}.eyebrow span{width:5px;height:5px;background:var(--ink);border-radius:50%}h1{font-size:clamp(64px,6.3vw,88px);font-weight:500;line-height:.99;letter-spacing:-.067em}h1>span{color:#94948e}.intro-copy{max-width:365px;margin-top:27px;color:#676763;font-size:16px;line-height:1.65;letter-spacing:-.018em}.calendar-study{max-width:440px;margin-top:48px;border-top:1px solid var(--line);padding-top:15px}.study-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);letter-spacing:-.01em}.study-arrow{font-size:20px;line-height:1;color:var(--ink)}.study-days{display:grid;grid-template-columns:repeat(5,1fr);margin-top:23px;padding-bottom:10px;color:#9b9b96;font-size:8px;letter-spacing:.08em}.study-grid{height:93px;position:relative;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e9e9e5;border-bottom:1px solid #e9e9e5}.study-grid>i{border-left:1px solid #e9e9e5}.study-grid>i:first-child{border-left:0}.study-post{position:absolute;top:12px;border-radius:7px;padding:11px 12px 10px;width:44%;background:#f1f1ed;line-height:1.1}.study-post>b{display:block;font-size:10px;font-weight:550;letter-spacing:-.02em}.study-post>em{display:block;margin-top:5px;color:#8a8a85;font-size:8px;font-style:normal}.study-post>span{display:block;float:right;width:6px;height:6px;border-radius:50%;background:#9f9f94;margin-top:2px}.post-one{left:4%;animation:arrive 350ms 80ms both}.post-two{left:52%;top:31px;background:#e7e7e0;animation:arrive 350ms 150ms both}.access-panel{min-width:0;min-height:500px;position:relative;margin-top:0;padding:32px 32px 25px;border:1px solid #ecece8;border-radius:22px;background:var(--soft);animation:arrive 350ms 70ms both}.panel-kicker{display:flex;align-items:center;gap:8px;padding-bottom:24px;border-bottom:1px solid #e0e0da;color:#62625d;font-size:11px;letter-spacing:.01em}.panel-kicker svg{width:17px;height:17px}.state-view{min-height:320px;padding-top:30px;animation:fade 220ms both}.loading-view h2,.message-view h2{font-size:27px;font-weight:500;line-height:1.14;letter-spacing:-.045em;max-width:300px}.loading-view>p,.message-view>p{margin-top:14px;max-width:310px;color:#6b6b65;font-size:14px;line-height:1.6;letter-spacing:-.01em}.loading-shapes{display:grid;gap:14px;margin-top:34px}.loading-shapes>span{height:44px;border:1px solid #e0e0da;border-radius:8px;background:#fafaf8}.loading-shapes>span:first-child{height:9px;width:26%;background:#e7e7e0;border:0}.loading-shapes>span:last-child{height:41px;background:#e3e3db;border:0}.loading-label{display:flex;align-items:center;gap:7px;margin-top:20px;color:#6b6b65;font-size:11px}.loading-label i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:breathe 1.4s infinite}.access-note{padding-top:22px;border-top:1px solid #e0e0da;color:#6b6b65;font-size:10px;line-height:1.55;letter-spacing:.005em}.message-icon{display:grid;width:36px;height:36px;place-items:center;margin-bottom:22px;border-radius:50%;border:1px solid #d4d4ca;color:#727268;font-size:16px}.message-view[data-kind="success"] .message-icon{color:#2b5b46;background:#edf2ed;border-color:#d6e1d6}.message-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:28px}.action-button{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:43px;padding:0 17px;border:1px solid #171717;border-radius:8px;background:#171717;color:#fff;font-size:12px;font-weight:550;transition:background 180ms,transform 180ms,opacity 180ms}.action-button svg{height:16px;width:16px}.action-button:hover{background:#353535}.action-button:active{transform:translateY(1px)}.action-button:disabled{opacity:.55}.text-button{padding:3px 0;border:0;background:none;color:#61615b;font-size:12px;text-decoration:underline;text-underline-offset:4px;transition:opacity 160ms}.text-button:hover{opacity:.6}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:25px 0 31px;color:#6b6b65;font-size:10px;line-height:1.5}.site-footer>p{color:#4d4d48}.site-footer>p>span{display:inline-block;margin-left:20px;color:#6b6b65}.site-footer nav{display:flex;gap:22px}.site-footer a{text-decoration:none;transition:color 160ms}.site-footer a:hover{color:#171717}.noscript-message{padding:20px 0}.noscript-message h2{font-size:20px;font-weight:500}.noscript-message p{margin-top:12px;font-size:13px;line-height:1.6;color:var(--muted)}
/* Keep Clerk's complete authentication flow and required provider branding visible. */
.cl-rootBox,.cl-cardBox{width:100%;max-width:none}.cl-cardBox{box-shadow:none!important}.cl-card{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;padding:0!important}.cl-footer{background:transparent!important;border-radius:0!important}.cl-headerTitle{font-weight:500!important;letter-spacing:-.04em!important}.cl-formFieldInput{box-shadow:none!important}.cl-socialButtonsBlockButton{background:#fff!important}.cl-footerAction{background:transparent!important}.cl-main{gap:22px!important}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes breathe{0%,100%{opacity:.35}50%{opacity:1}}
@media(min-width:1440px){.workspace-layout{gap:145px}.access-panel{max-width:475px}.intro-copy{max-width:375px}}
@media(max-width:1050px){.page-shell{padding:0 42px}.workspace-layout{gap:55px;padding-top:65px}.access-panel{padding:27px 26px 23px}h1{font-size:70px}.calendar-study{margin-top:38px}.site-footer>p>span{display:block;margin:4px 0 0}}
@media(max-width:760px){.page-shell{padding:0 28px}.site-header{height:88px}.brand{font-size:16px}.brand img{width:35px;height:35px}.website-link{font-size:11px;gap:8px}.workspace-layout{grid-template-columns:1fr;gap:38px;padding:46px 0 50px}.intro{padding-top:0}.eyebrow{margin-bottom:20px;font-size:10px}h1{font-size:clamp(54px,10vw,72px);line-height:1.01}h1 br:nth-of-type(2){display:none}.intro-copy{max-width:400px;font-size:15px;margin-top:21px}.calendar-study{display:none}.access-panel{width:100%;max-width:480px;min-height:480px;margin:auto;padding:28px}.site-footer{padding:23px 0;font-size:10px}.site-footer>p>span{max-width:180px}.state-view{min-height:310px}}
@media(max-width:380px){.page-shell{padding:0 20px}.brand{gap:10px;font-size:15px}.brand img{width:32px;height:32px}.website-link{gap:6px;font-size:10px}.website-link svg{width:13px;height:13px}.access-panel{padding:24px 20px;border-radius:17px}h1{font-size:53px}.site-footer{align-items:flex-start}.site-footer nav{gap:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

body:has(.noscript-message) #loading-view{display:none}

.recovery-layout{display:grid;min-height:calc(100vh - 205px);place-items:center;padding:64px 0}.recovery-card{width:min(570px,100%);text-align:center;animation:arrive 300ms both}.recovery-card>img{width:48px;height:48px;display:block;margin:0 auto 30px;border-radius:11px}.recovery-card h1{font-size:clamp(34px,5vw,48px);line-height:1.08;letter-spacing:-.05em}.recovery-card>p{max-width:400px;margin:21px auto 0;color:#6b6b65;font-size:16px;line-height:1.6}.recovery-actions{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:31px}.recovery-status{min-height:20px;font-size:12px!important;margin-top:22px!important}.recovery-actions>a{font-size:12px;text-underline-offset:5px;color:#62625d}@media(max-width:760px){.recovery-layout{min-height:calc(100vh - 220px);padding:50px 0}.recovery-card>p{font-size:15px}}

/* Centered sign-in gate: one quiet box, nothing about what sits behind it. */
.gate-body{min-height:100vh;min-height:100dvh;background:#fff}.gate-stage{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:40px 16px}
.gate-body .access-panel{width:min(440px,100%);min-height:0;padding:30px 30px 26px;border:1px solid #ebebe7;border-radius:22px;background:var(--soft);box-shadow:0 1px 2px rgba(23,23,23,.03),0 24px 60px -32px rgba(23,23,23,.18);animation:gate-rise 420ms cubic-bezier(.2,.8,.2,1) both}
.gate-mark{display:flex;align-items:center;justify-content:center;gap:11px;padding-bottom:24px;border-bottom:1px solid #e3e3dd;animation:fade 360ms 120ms both}.gate-mark img{display:block;border-radius:9px}.gate-mark span{font-size:15px;font-weight:560;letter-spacing:.14em;text-transform:uppercase}
.gate-body .state-view{min-height:260px;padding-top:26px}.gate-body .loading-view{display:flex;flex-direction:column;justify-content:center}.gate-body .loading-shapes{margin-top:0}.gate-body .loading-shapes>span{position:relative;overflow:hidden}.gate-body .loading-shapes>span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:translateX(-100%);animation:shimmer 1.4s infinite}.gate-body .loading-label{justify-content:center}
.gate-body .message-view{text-align:center}.gate-body .message-view .message-icon{margin:4px auto 20px}.gate-body .message-view h2,.gate-body .message-view>p{margin-left:auto;margin-right:auto}.gate-body .message-actions{align-items:center}
.gate-body .cl-header{animation:fade 300ms both}.gate-body .cl-headerSubtitle{display:none}
@keyframes gate-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes shimmer{to{transform:translateX(100%)}}
@media(max-width:480px){.gate-body .access-panel{padding:24px 20px 22px;border-radius:18px}.gate-stage{padding:24px 16px}}
