/* Sign-in on energy.pult.watch (templates/energyauth.html, energyauth.go). energy·pult's own look:
   the cabinet's tokens and fonts (pult-energy web/styles.css; the fonts are the cabinet's files on
   this host, /fonts/), none of pult.watch's. Light by default, dark with the system. The CSP allows
   only 'self': no inline styles anywhere on these pages. */
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/unbounded-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/unbounded-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --f-d:'Unbounded','Onest',system-ui,sans-serif;
  --f-b:'Onest',system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;
  --bg:#E9EEF5;--ink:#0D1324;--ink-2:#4A5468;--ink-3:#5C667A;
  --glass:rgba(255,255,255,.82);--edge:rgba(255,255,255,.80);--hi:rgba(255,255,255,.95);
  --shadow:0 22px 48px -20px rgba(28,40,84,.32),0 2px 6px rgba(28,40,84,.08);
  --field:#8A93A6;--line:rgba(13,19,36,.12);
  --charge:#12B378;--charge-ink:#087A50;--on-charge:#FFFFFF;--cta:#087A50;
  --grid:#4A6FE6;--grid-ink:#2F55C8;
  --off:#E23A50;--off-ink:#C2283E;
  --blob-o:.22;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#070B17;--ink:#F3F6FC;--ink-2:#AEB8CC;--ink-3:#8C97AE;
    --glass:rgba(16,22,40,.78);--edge:rgba(255,255,255,.14);--hi:rgba(255,255,255,.30);
    --shadow:0 24px 60px -18px rgba(0,0,0,.70),0 2px 8px rgba(0,0,0,.28);
    --field:#5E6880;--line:rgba(255,255,255,.12);
    --charge:#74F2B8;--charge-ink:#74F2B8;--on-charge:#062A1C;--cta:#74F2B8;
    --grid:#8FA8FF;--grid-ink:#8FA8FF;
    --off:#FF6B7D;--off-ink:#FF6B7D;
    --blob-o:.30;
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.pe-auth{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--f-b);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--grid-ink)}
h1,p{margin:0}
:focus-visible{outline:2px solid var(--grid);outline-offset:2px}
.pe-skip{position:absolute;left:-999px;top:8px;z-index:50;padding:8px 14px;border-radius:999px;background:var(--glass)}
.pe-skip:focus{left:16px}

/* the cabinet's aurora, calm (green) */
.pe-aurora{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.pe-blob{position:absolute;display:block;border-radius:50%;filter:blur(90px);opacity:var(--blob-o)}
.pe-b1{width:480px;height:480px;left:-120px;top:-80px;background:#3FBF85}
.pe-b2{width:440px;height:440px;right:-120px;top:-160px;background:#2E9E6E}
.pe-b3{width:400px;height:400px;left:40%;top:520px;background:#5FCF9A}

.pe-top,.pe-foot,main{position:relative;z-index:1}
.pe-top{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;width:100%;margin:0 auto;padding:20px 16px 0}
.pe-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
/* energy·pult's mark and wordmark (templates "emark", "ewm" in parts.html; Kir 27.10.2026) */
.emark{display:block;flex:none;width:34px;height:34px}
.emark-c{stop-color:var(--charge)}.emark-g{stop-color:var(--grid)}
.emark-ring{fill:none;stroke:url(#emk);stroke-width:5;stroke-linecap:round}
.emark-bar{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}
.emark-dot{fill:var(--charge)}
.ewm{font-family:var(--f-d);font-size:19px;font-weight:600;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.ewm i{font-style:normal;color:var(--charge-ink)}
.pe-lang{font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:999px;border:1px solid var(--line)}
.pe-lang:hover{color:var(--ink)}
main{flex:1}
.pe-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:24px 16px 32px;font-size:13px}
.pe-foot a{color:var(--ink-2);text-decoration:none}
.pe-foot a:hover{color:var(--ink);text-decoration:underline}

/* the sign-in card: the markup of templates/site/{login,code,verify,email}.html */
.authbox{max-width:440px;margin:40px auto 24px;padding:32px 28px;background:var(--glass);-webkit-backdrop-filter:blur(40px) saturate(115%);backdrop-filter:blur(40px) saturate(115%);border:1px solid var(--edge);box-shadow:var(--shadow),inset 0 1px 0 var(--hi);border-radius:28px}
.authbox h1{font-family:var(--f-d);font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}
.authbox p{margin:0 0 12px}
.authbox .muted,.muted{color:var(--ink-2)}
.authbox .note{font-size:13px;color:var(--ink-2);margin:-4px 0 14px}
.authbox .who{font-weight:600;overflow-wrap:anywhere}
.authbox .providers{display:grid;gap:10px;margin:18px 0 4px}
.authbox .or{display:flex;align-items:center;gap:12px;color:var(--ink-3);margin:16px 0;font-size:14px}
.authbox .or::before,.authbox .or::after{content:"";flex:1;border-top:1px solid var(--line)}
.authbox .links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:14px;flex-wrap:wrap}
.authbox .links a,.authbox .links .linkbtn{display:inline-flex;align-items:center;min-height:44px}
.authbox .turnstile{margin:0 0 14px;min-height:65px}
.authbox form.inline{display:inline}
.mt{margin-top:18px}
label{display:block;font-weight:600;font-size:14px;margin:0 0 6px}
input[type=text],input[type=email]{width:100%;padding:12px 14px;border:1px solid var(--field);border-radius:14px;font:inherit;color:var(--ink);background:var(--bg)}
input:focus{outline:2px solid var(--grid);outline-offset:1px}
input.code{font-family:var(--mono);font-size:30px;letter-spacing:12px;text-align:center;padding:12px 8px 12px 20px;font-weight:600}
.field{margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid transparent;background:var(--cta);color:var(--on-charge);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:translateY(1px)}
.btn.wide{width:100%}
.btn.big{min-height:48px;font-size:16px}
.btn.provider{width:100%;background:#fff;color:#111114;border-color:var(--line)}
.btn.provider:hover{background:#f1f3f7;filter:none}
.btn.provider.apple{color:#000}
.btn .picon{width:18px;height:18px;flex:none}
.linkbtn{padding:0;border:0;background:none;color:var(--grid-ink);font:inherit;cursor:pointer}
.linkbtn:hover{text-decoration:underline}
.flash,.error{padding:10px 14px;border-radius:14px;margin:0 0 16px;border:1px solid}
.flash{color:var(--charge-ink);border-color:color-mix(in srgb,var(--charge) 45%,transparent);background:color-mix(in srgb,var(--charge) 12%,transparent)}
.error{color:var(--off-ink);border-color:color-mix(in srgb,var(--off) 45%,transparent);background:color-mix(in srgb,var(--off) 10%,transparent)}
small{font-size:13px}
@media (max-width:520px){
  .authbox{margin:24px 16px 32px;padding:24px 18px;border-radius:24px}
}
