@font-face{font-family:Manrope;src:url('/assets/manrope-variable.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--black:#050505;--ink:#f0f0ee;--muted:#929290;--edge:#383838}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--ink);font-family:Manrope,Arial,sans-serif}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:6px}
.access{min-height:100svh;display:grid;place-items:center;padding:72px 28px;position:relative;isolation:isolate;overflow:hidden}.panel{position:relative;z-index:1;width:min(100%,400px);text-align:center;padding:20px 0 38px}.symbol{display:inline-flex;align-items:center;justify-content:center;width:68px;height:80px;margin-bottom:38px;animation:mark-reveal 1.8s cubic-bezier(.16,1,.3,1) both}.symbol img{width:44px;height:56px;object-fit:contain;filter:brightness(0) invert(1)}
.identity{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 64px;font:400 clamp(17px,2vw,22px)/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.035em;white-space:nowrap}.identity>span:nth-child(2){animation:type-reveal 1.3s ease both}.bracket{font-size:31px;font-weight:200;color:#bdbdbb;animation:bracket-left 1.65s cubic-bezier(.16,1,.3,1) both}.bracket:last-child{animation-name:bracket-right}
.entry{animation:entry-reveal 1.7s ease both}.google-button{position:relative;display:grid;grid-template-columns:20px 1fr 16px;align-items:center;gap:18px;width:100%;min-height:58px;padding:18px 22px;border:1px solid #555;background:#121212;color:#f2f2f2;font-size:14px;font-weight:500;letter-spacing:.005em;text-align:left;transition:border-color .25s,background .25s,box-shadow .25s}.google-mark{width:20px;height:20px;display:block}.button-arrow{font:20px/1 monospace;color:#999;transition:transform .25s,color .25s}.google-button:hover{background:#1b1b1b;border-color:#a9a9a7;box-shadow:0 0 32px #ffffff06}.google-button:hover .button-arrow{transform:translate(2px,-2px);color:#fff}.google-button:before,.google-button:after{content:"";position:absolute;width:7px;height:7px;border-color:#e2e2df;border-style:solid;pointer-events:none}.google-button:before{left:-1px;top:-1px;border-width:1px 0 0 1px}.google-button:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.email-option{margin-top:23px;text-align:left}.email-option summary{list-style:none;width:fit-content;margin:auto;padding:12px 6px;font-size:12px;line-height:1.4;color:var(--muted);transition:color .2s}.email-option summary::-webkit-details-marker{display:none}.email-option summary:hover{color:#eee}.email-option summary:after{content:'+';display:inline-block;font:14px monospace;margin-left:12px;color:#aaa}.email-option[open] summary:after{content:'−'}.email-option[open] summary{margin-bottom:24px}
label{display:block;font-size:12px;color:#bdbdbb;margin:0 0 10px}input{width:100%;background:#0e0e0e;border:1px solid var(--edge);border-radius:0;color:#fff;padding:16px;min-height:54px;margin:0 0 22px;font-size:16px}input::placeholder{color:#626260}button[type=submit]{display:flex;justify-content:space-between;align-items:center;width:100%;background:#e8e8e5;color:#101010;border:1px solid #e8e8e5;min-height:54px;padding:16px 20px;text-align:left;font-size:14px}.text-button{border:0;background:transparent;color:#aaa;min-height:44px;padding:0 0 18px;text-decoration:underline;text-underline-offset:4px;font-size:12px}#login-notice,#google-notice{font-size:13px;line-height:1.6;color:#c3c3c0;margin:20px 0 0;text-align:left}#login-notice:empty,#google-notice:empty{display:none}
.ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#15151566,transparent 58%)}.orbit{position:absolute;left:50%;top:50%;width:940px;height:940px;border:1px solid #ffffff0b;border-radius:50%;transform:translate(-50%,-50%) rotate(-32deg) scaleX(.42);animation:orbit-resolve 4.8s cubic-bezier(.16,1,.3,1) both}.orbit-two{width:1130px;height:1130px;border-color:#ffffff07;transform:translate(-50%,-50%) rotate(32deg) scaleX(.42);animation-name:orbit-resolve-two}.axis{position:absolute;top:50%;height:1px;width:18vw;background:linear-gradient(90deg,transparent,#ffffff18);animation:axis-reveal 2.6s ease both}.axis-left{left:0}.axis-right{right:0;transform:rotate(180deg)}.axis:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border:1px solid #ffffff30}.trace{position:absolute;left:0;right:0;top:-20%;height:16%;background:linear-gradient(180deg,transparent,#ffffff03,transparent);transform:rotate(-16deg);animation:trace-pass 4.8s ease-out both}.grain{position:absolute;inset:0;opacity:.025;background-image:radial-gradient(#fff .5px,transparent .7px);background-size:4px 4px}
.perimeter{position:absolute;inset:32px;pointer-events:none}.perimeter i{position:absolute;width:22px;height:22px;border-style:solid;border-color:#4b4b49;animation:frame-reveal 2.4s ease both}.perimeter i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.perimeter i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.perimeter i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}.perimeter i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}
@keyframes mark-reveal{from{opacity:.15;transform:translateY(8px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes type-reveal{from{opacity:.1;letter-spacing:.09em}to{opacity:1;letter-spacing:-.035em}}@keyframes bracket-left{from{opacity:0;transform:translateX(85px)}to{opacity:1;transform:none}}@keyframes bracket-right{from{opacity:0;transform:translateX(-85px)}to{opacity:1;transform:none}}@keyframes entry-reveal{from{transform:translateY(8px)}to{transform:none}}@keyframes frame-reveal{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes axis-reveal{from{opacity:0;width:8vw}to{opacity:1;width:18vw}}@keyframes orbit-resolve{from{opacity:0;transform:translate(-50%,-50%) rotate(-50deg) scaleX(.25)}to{opacity:1;transform:translate(-50%,-50%) rotate(-32deg) scaleX(.42)}}@keyframes orbit-resolve-two{from{opacity:0;transform:translate(-50%,-50%) rotate(50deg) scaleX(.25)}to{opacity:1;transform:translate(-50%,-50%) rotate(32deg) scaleX(.42)}}@keyframes trace-pass{0%{top:-20%;opacity:0}20%{opacity:1}100%{top:110%;opacity:0}}
@media(max-width:540px){.access{padding:48px 30px}.panel{max-width:360px;padding:12px 0 28px}.symbol{margin-bottom:28px}.identity{font-size:18px;gap:12px;margin-bottom:46px}.bracket{font-size:28px}.perimeter{inset:18px}.perimeter i{width:15px;height:15px}.orbit{width:760px;height:760px}.orbit-two{width:930px;height:930px}.axis{display:none}.google-button{padding:17px 18px;gap:14px}}@media(max-height:580px){.access{padding-block:35px}.symbol{margin-bottom:15px}.identity{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.trace{display:none}}

/* A single light pass follows pointer or keyboard entry. */
.google-button{background-image:linear-gradient(110deg,transparent 35%,#ffffff12 48%,#ffffff20 50%,#ffffff08 54%,transparent 68%);background-repeat:no-repeat;background-size:260% 100%;background-position:150% 0;transition:background-position .75s cubic-bezier(.16,1,.3,1),background-color .25s,border-color .25s,box-shadow .25s,transform .15s}
.google-button:hover,.google-button:focus-visible{background-color:#1b1b1b;background-image:linear-gradient(110deg,transparent 35%,#ffffff12 48%,#ffffff20 50%,#ffffff08 54%,transparent 68%);background-size:260% 100%;background-position:-60% 0;border-color:#aaa;box-shadow:0 0 32px #ffffff08}
.google-button:before,.google-button:after{transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1)}
.google-button:hover:before,.google-button:hover:after,.google-button:focus-visible:before,.google-button:focus-visible:after{width:22px;height:16px}
.google-button:focus-visible .button-arrow{transform:translate(2px,-2px);color:#fff}.google-button:active{transform:translateY(1px);background-color:#252525}
@media(prefers-reduced-motion:reduce){.google-button{background-image:none!important;transform:none!important}}
