@charset "UTF-8";
:root{color-scheme:dark;--bg:#03100f;--muted:#a3b2b0;--white:#f2f6f5;--cyan:#1ccaff;--teal:#13c8b2;--input:#191e21;--line:#2a3537;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;padding:10px;background:#dfe5e2;color:var(--white)}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #75e7ff;outline-offset:5px}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}.icon-library{position:absolute;width:0;height:0;overflow:hidden}svg{display:block}button svg,.field-icon,.dialog-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.app-frame{position:relative;isolation:isolate;min-height:calc(100svh - 20px);overflow:hidden;border-radius:36px;background:#031110;border:1px solid #0a2421;display:flex;flex-direction:column;box-shadow:0 12px 40px #001a1917}
.atmosphere{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 51% 1%,#526d6560 0%,transparent 31%),radial-gradient(ellipse at 50% 56%,#00606c49 0%,#00433d40 30%,transparent 62%),radial-gradient(ellipse at 94% 87%,#075a4f56,transparent 38%),linear-gradient(123deg,#020b0b,#031b1b 58%,#031411)}
.diagonal-texture{position:absolute;inset:0;z-index:-2;opacity:.24;background:repeating-linear-gradient(45deg,transparent 0 57px,#45746c1a 58px 60px,transparent 62px 104px);mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 75%,#0005)}
.ambient-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(75px);pointer-events:none;opacity:.18}.orb-one{width:340px;height:390px;left:calc(50% - 340px);top:35%;background:#008e94}.orb-two{width:360px;height:240px;right:12%;bottom:15%;background:#037f5d;opacity:.11}
.site-header{padding:38px 48px 0;position:relative;z-index:2}.wordmark{display:inline-flex;align-items:center;gap:6px;font-size:27px;font-weight:710;letter-spacing:-1.25px;line-height:1.2}.wordmark span{color:#52d6c7;font-weight:480}.wordmark i{width:5px;height:5px;margin:14px 0 0 3px;background:#2ec8cd;border-radius:50%;box-shadow:0 0 12px #30bdcc88}
.login-stage{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:58px 24px 28px}.intro{text-align:center;position:relative;z-index:1;margin-bottom:38px}.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px;font-size:9px;letter-spacing:2.5px;color:#88aaa7;font-weight:600}.eyebrow span{width:5px;height:5px;border-radius:50%;background:#31d7bd;box-shadow:0 0 10px #31d7bd80}h1{font-weight:660;font-size:clamp(33px,3.6vw,53px);line-height:1.18;letter-spacing:-1.6px;margin:0;color:#b5e5d9;text-shadow:0 2px 18px #0b50464a}h1 span{background:linear-gradient(95deg,#36c3e5,#5ad5ca 54%,#5ac4a9);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-scene{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:1440px}.circuit-grid{position:absolute;top:50%;left:50%;width:1440px;height:580px;transform:translate(-50%,-50%);pointer-events:none}.circuit-rails{opacity:.65}.beam{stroke-dasharray:80 720;animation:run-beam 6.4s linear infinite}.beam-b{animation-delay:-3.2s;animation-direction:reverse}.beam-c{animation-delay:-1.6s;animation-direction:reverse}.beam-d{animation-delay:-4.8s}.neon-halos{opacity:.75}@keyframes run-beam{from{stroke-dashoffset:800}to{stroke-dashoffset:0}}
.login-card{position:relative;width:390px;flex-shrink:0;border-radius:25px;padding:1px;overflow:hidden;box-shadow:0 12px 54px #0004,0 0 65px #005f5b18;background:#20453f}
.login-card:before{content:"";position:absolute;inset:-65%;background:conic-gradient(from 0deg,transparent 0deg,transparent 245deg,#073e2e 275deg,#07876f 300deg,#00bce8 320deg,#74e8f5 327deg,transparent 337deg);animation:card-orbit 9s linear infinite;will-change:transform}
@keyframes card-orbit{to{transform:rotate(360deg)}}
.card-content{position:relative;background:linear-gradient(150deg,#0b1010,#090c0d 75%);padding:31px 33px 29px;border-radius:24px}.card-heading{text-align:center;margin-bottom:28px}.card-heading h2{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}.card-heading p{margin:0;color:#bac4c3;font-size:12px;line-height:1.5;letter-spacing:.05px}
.field-group label{display:block;color:#adb9b7;font-size:12px;margin:0 0 8px 2px}.field-group+.field-group{margin-top:19px}.input-wrap{height:49px;position:relative;display:flex;align-items:center;border:1px solid #2a3032;border-radius:11px;background:linear-gradient(105deg,#1a2021,#1b1f24);box-shadow:0 2px 8px #0002;transition:border-color .2s,box-shadow .2s}.input-wrap:focus-within{border-color:#1bb3bf;box-shadow:0 0 0 3px #1bb3bf13}.field-icon{margin-left:14px;margin-right:11px;flex-shrink:0;color:#b3c1bf;width:18px;height:18px}input{background:none;border:0;color:#f0f6f4;font-size:11.5px;width:100%;min-width:0;outline:0;height:100%;padding:0 10px 0 0}input::placeholder{color:#7e8a8c;opacity:1}input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #1c2526 inset;-webkit-text-fill-color:#f0f6f4;border-radius:10px}#password{padding-right:44px}.icon-button{border:0;background:none;padding:0;color:#a9b9b6;display:grid;place-items:center}.password-toggle{position:absolute;right:5px;width:38px;height:40px;border-radius:7px}.password-toggle:hover{color:#70e0d3;background:#ffffff06}.field-error{font-size:11px;line-height:1.5;margin:7px 2px 0;color:#ffb8a9}.input-wrap:has(input[aria-invalid="true"]){border-color:#cd7c6f}.recovery-row{display:flex;justify-content:flex-end;margin-top:10px;margin-bottom:25px}.text-button{border:0;background:none;padding:2px 0 2px 10px;color:#c4d3d0;font-size:10px;letter-spacing:.25px;line-height:1.5}.text-button:hover{color:#68e7d9}
.login-button{width:100%;height:44px;display:flex;justify-content:center;align-items:center;gap:10px;background:linear-gradient(100deg,#0caaab,#0bafaa 52%,#078f9d);border:1px solid #38cdc15c;border-radius:10px;color:white;font-size:13px;font-weight:600;box-shadow:inset 0 1px #65efdb2a,0 4px 18px #003e3a20;transition:box-shadow .2s,filter .2s,transform .2s}.login-button>svg{width:16px;height:16px;position:absolute;margin-left:254px;opacity:.8}.login-button:hover{filter:brightness(1.13);box-shadow:0 0 24px #08b7ad2b}.login-button:active{transform:translateY(1px)}.divider{display:flex;align-items:center;gap:11px;margin:14px 0}.divider span{height:1px;flex:1;background:#273130}.divider p{font-size:9px;color:#7c8d89;margin:0}.google-button{width:100%;height:44px;border:1px solid #33423e;border-radius:10px;background:#131b1a;color:#e2eae7;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:450;transition:background .2s,border-color .2s}.google-logo{width:17px;height:17px;flex-shrink:0;stroke:none}.google-button:hover{background:#1b2925;border-color:#4b7166}.stage-note{margin:21px 0 0;font-size:9px;color:#76948e;letter-spacing:1px;line-height:1.5}
.site-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:19px 48px 29px;font-size:9px;line-height:1.5;color:#7e9992;letter-spacing:.2px}.site-footer p{display:flex;align-items:center;gap:4px;margin:0}.site-footer strong{color:#c2d4cc;font-weight:500}.signature-dot{width:4px;height:4px;border-radius:50%;margin-left:6px;background:#1db59f;box-shadow:0 0 8px #1db59f80}
dialog{position:fixed;width:min(390px,calc(100vw - 36px));padding:35px 28px 28px;border:1px solid #315e53;border-radius:22px;background:#0a1714;color:var(--white);box-shadow:0 20px 90px #0009}dialog::backdrop{background:#0009;backdrop-filter:blur(7px)}dialog h2{font-size:21px;line-height:1.35;letter-spacing:-.5px;margin:19px 0 12px}dialog p{font-size:13px;line-height:1.8;color:#acbeb6;margin:0 0 24px}.dialog-close{position:absolute;right:16px;top:16px;width:30px;height:30px;border-radius:8px}.dialog-close:hover{background:#ffffff09}.dialog-symbol{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:#0b3026;color:#50dac0;border:1px solid #1a4c3d}.dialog-done{height:43px}
@media(min-width:1700px){.login-stage{padding-top:78px;padding-bottom:44px}.intro{margin-bottom:45px}.card-content{padding-top:36px;padding-bottom:33px}.login-card{width:405px}.card-heading{margin-bottom:32px}.circuit-grid{width:1500px}.login-button>svg{margin-left:265px}}
@media(max-width:700px){body{padding:7px}.app-frame{min-height:calc(100svh - 14px);border-radius:25px}.site-header{padding:26px 25px 0}.wordmark{font-size:24px}.login-stage{padding:48px 21px 27px}.intro{margin-bottom:30px}.eyebrow{font-size:7px;letter-spacing:1.4px;gap:7px;margin-bottom:16px}h1{font-size:clamp(28px,7.5vw,40px);letter-spacing:-1.05px;line-height:1.2}.login-card{width:min(100%,370px);border-radius:23px}.card-content{padding:28px 25px 26px;border-radius:22px}.card-heading h2{font-size:22px}.card-heading p{font-size:11.5px}.circuit-grid{width:1250px;opacity:.6}input{font-size:12px}.login-button>svg{position:static;margin-left:5px}.site-footer{padding:19px 25px 24px;font-size:8px;gap:12px}.stage-note{font-size:8px;letter-spacing:.65px}.ambient-orb{filter:blur(65px)}.orb-one{left:-60px;width:270px}.recovery-row{margin-bottom:23px}}
@media(max-width:360px){.login-stage{padding-left:13px;padding-right:13px}.card-content{padding-left:20px;padding-right:20px}.eyebrow{letter-spacing:.8px;font-size:6.6px}.site-footer{padding-left:18px;padding-right:18px;font-size:7px}input{font-size:10.5px}}
@media(max-height:760px) and (min-width:701px){.site-header{padding-top:23px}.wordmark{font-size:25px}.login-stage{padding-top:20px;padding-bottom:15px}.intro{margin-bottom:23px}.eyebrow{margin-bottom:11px;font-size:8px}h1{font-size:34px}.card-content{padding:22px 31px}.card-heading{margin-bottom:21px}.card-heading h2{font-size:21px;margin-bottom:6px}.card-heading p{font-size:11px}.input-wrap{height:43px}.field-group+.field-group{margin-top:15px}.field-group label{font-size:11px;margin-bottom:7px}.recovery-row{margin-top:7px;margin-bottom:18px}.login-button,.google-button{height:40px}.divider{margin:11px 0}.stage-note{margin-top:14px;font-size:8px}.site-footer{padding-top:10px;padding-bottom:19px}.circuit-grid{height:510px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.beam{stroke-dashoffset:220}.beam-b,.beam-d{stroke-dashoffset:500}.login-card:before{transform:rotate(35deg)}}

.script-note{font-size:11px;line-height:1.6;color:#ffccb3;text-align:center;margin:15px 0 0}

/* Fit the login composition to the usable height below a laptop browser toolbar. */
@media (min-width:701px) and (max-height:820px){
  .login-page .site-header{padding-top:20px}
  .login-page .login-stage{padding-top:14px;padding-bottom:12px}
  .login-page .intro{margin-bottom:22px}
  .login-page h1{font-size:34px}
  .login-page .eyebrow{font-size:7px;margin-bottom:10px;letter-spacing:2px}
  .login-page .login-card{width:365px}
  .login-page .card-content{padding:21px 27px}
  .login-page .card-heading{margin-bottom:20px}
  .login-page .card-heading h2{font-size:21px;margin-bottom:6px}
  .login-page .card-heading p{font-size:11px}
  .login-page .input-wrap{height:42px}
  .login-page .field-group+.field-group{margin-top:14px}
  .login-page .field-group label{font-size:11px;margin-bottom:7px}
  .login-page .recovery-row{margin-top:7px;margin-bottom:17px}
  .login-page .login-button,.login-page .google-button{height:39px}
  .login-page .divider{margin:10px 0}
  .login-page .stage-note{margin-top:13px;font-size:8px}
  .login-page .site-footer{padding-top:10px;padding-bottom:18px}
  .login-page .login-button>svg{margin-left:238px}
}
@media (min-width:701px) and (max-height:680px){
  body.login-page{padding:6px}
  .login-page .app-frame{min-height:calc(100svh - 12px);border-radius:27px}
  .login-page .site-header{padding:15px 37px 0}
  .login-page .wordmark{font-size:23px}
  .login-page .login-stage{padding:9px 24px 8px}
  .login-page .intro{margin-bottom:17px}
  .login-page h1{font-size:28px;line-height:1.15;letter-spacing:-.8px}
  .login-page h1 br{display:none}
  .login-page h1 span:before{content:" "}
  .login-page .eyebrow{font-size:6.5px;margin-bottom:8px}
  .login-page .login-card{width:350px;border-radius:22px}
  .login-page .card-content{padding:17px 25px;border-radius:21px}
  .login-page .card-heading{margin-bottom:17px}
  .login-page .card-heading h2{font-size:20px}
  .login-page .input-wrap{height:38px}
  .login-page .field-group+.field-group{margin-top:11px}
  .login-page .recovery-row{margin-top:5px;margin-bottom:13px}
  .login-page .login-button,.login-page .google-button{height:36px}
  .login-page .divider{margin:9px 0}
  .login-page .stage-note{margin-top:9px;font-size:7px}
  .login-page .site-footer{padding:7px 37px 14px;font-size:8px}
  .login-page .circuit-grid{height:440px}
  .login-page .login-button>svg{margin-left:226px}
}
@media (min-width:701px) and (max-height:540px){
  .login-page .site-header{padding-top:10px}
  .login-page .wordmark{font-size:21px}
  .login-page .eyebrow,.login-page .stage-note{display:none}
  .login-page h1{font-size:25px}
  .login-page .intro{margin-bottom:12px}
  .login-page .card-content{padding-top:13px;padding-bottom:13px}
  .login-page .card-heading{margin-bottom:12px}
  .login-page .site-footer{padding-bottom:10px}
}
