/* Sign-up, sign-in and the account dashboard. Builds on the tokens in style.css. */
.ac{position:relative;padding:56px 0 96px;min-height:calc(100vh - 62px)}
.ac[data-view=boot]>section{display:none}
.ac-glow{position:absolute;inset:0 0 auto;height:620px;pointer-events:none;z-index:0;
  background:radial-gradient(700px 360px at 18% 0,rgba(54,226,196,.13),transparent 70%),radial-gradient(620px 320px at 88% 10%,rgba(110,168,255,.10),transparent 70%)}
.ac-glow:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:44px 44px;opacity:.35;-webkit-mask-image:radial-gradient(600px 380px at 30% 0,#000,transparent 75%);mask-image:radial-gradient(600px 380px at 30% 0,#000,transparent 75%)}
.ac>section{position:relative;z-index:1}
.ac [hidden]{display:none!important}
.ac h1{font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.03em;margin:10px 0 10px}
.ac h2{font-size:17px;margin:0;letter-spacing:-.01em}
.ac-card{background:linear-gradient(180deg,rgba(13,26,34,.92),rgba(10,20,27,.92));border:1px solid var(--line);border-radius:16px;padding:24px}
.ac-eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.ac-eyebrow .dot,.ac-ring{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(54,226,196,.15),0 0 14px var(--accent)}
.ac-sub{color:var(--muted);margin:0 0 22px;font-size:15.5px}
.ac-fine{color:var(--dim);font-size:13.5px;margin:16px 0 0}
.ac-klimit{margin:0 0 14px}
.ac-fine a{color:var(--muted)}
.ac-wide{width:100%;justify-content:center;padding:13px 16px}
.ac .btn span{transition:transform .15s}
.ac a.btn:hover span{transform:translateX(3px)}
.ac-sm{padding:7px 12px;font-size:13.5px;border-radius:8px}
.ac-link{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(54,226,196,.35);text-underline-offset:3px}

/* auth */
.ac-auth{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:56px;align-items:center;max-width:1080px}
.ac-form{padding:34px 32px;box-shadow:0 30px 80px -40px rgba(0,0,0,.8),0 0 0 1px rgba(54,226,196,.06) inset}
.ac-label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin:0 0 7px}
.ac input[type=email],.ac input[type=text]{max-width:none;background:rgba(4,8,11,.55)}
.ac-ts{min-height:65px;margin:16px 0 4px}
.ac-ts:empty{min-height:0;margin:10px 0 0}
.ac-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin:12px 0 18px;cursor:pointer}
.ac-check input{flex:0 0 auto;margin-top:3px}
.ac-err{background:rgba(255,107,129,.08);border:1px solid rgba(255,107,129,.35);color:#ffc2cc;border-radius:10px;padding:9px 13px;font-size:14px;margin:0 0 14px}
.ac-switch{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted);text-align:center}
.ac-spin{display:none;width:15px;height:15px;border-radius:50%;border:2px solid rgba(3,32,27,.3);border-top-color:#03201b;animation:acspin .7s linear infinite}
.ghost .ac-spin{border-color:var(--line2);border-top-color:var(--ink)}
.btn.busy .ac-spin{display:inline-block}
.btn.busy{opacity:.8}
@keyframes acspin{to{transform:rotate(360deg)}}

.ac-sent{text-align:center;padding:8px 0}
.ac-sent .ac-sub{margin-bottom:18px}
.ac-sent b{color:var(--ink);word-break:break-all}
.ac-mail{width:76px;height:76px;margin:4px auto 8px;border-radius:22px;display:grid;place-items:center;border:1px solid rgba(54,226,196,.35);
  background:radial-gradient(circle at 50% 30%,rgba(54,226,196,.22),rgba(54,226,196,.03));animation:acfloat 3.2s ease-in-out infinite}
.ac-mail svg{width:38px;height:38px;stroke:var(--accent)}
@keyframes acfloat{50%{transform:translateY(-5px)}}
.ac-next{list-style:none;counter-reset:n;padding:0;margin:0 auto;max-width:300px;text-align:left}
.ac-next li{counter-increment:n;position:relative;padding:8px 0 8px 36px;color:var(--ink2);font-size:14.5px}
.ac-next li:before{content:counter(n);position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--mono);
  color:var(--accent);border:1px solid rgba(54,226,196,.4)}
.ac-ring{display:block;width:44px;height:44px;margin:12px auto 6px;background:none;box-shadow:none;border:3px solid rgba(54,226,196,.2);
  border-top-color:var(--accent);animation:acspin .8s linear infinite}

.ac-pitch{min-width:0}
.ac-term{border:1px solid var(--line2);border-radius:14px;background:var(--code);overflow:hidden;box-shadow:0 40px 100px -50px rgba(54,226,196,.35)}
.ac-term-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:rgba(140,205,215,.04)}
.ac-term-bar i{width:10px;height:10px;border-radius:50%;background:rgba(140,205,215,.18)}
.ac-term-bar span{margin-left:8px;font:12px var(--mono);color:var(--dim)}
.ac-term-body{margin:0;padding:18px 18px 20px;font:13px/1.75 var(--mono);color:var(--ink2);white-space:pre;overflow-x:auto;background:none;border:0}
.ac-term-body .s{color:#9fe8b8}.ac-term-body .dim{color:var(--dim)}.ac-term-body .ok{color:var(--accent);font-weight:700}
.ac-points{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.ac-points li{position:relative;padding-left:30px;color:var(--muted);font-size:15px}
.ac-points li:before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:6px;border:1px solid rgba(54,226,196,.45);
  background:rgba(54,226,196,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8.5 2.5 2.5L12 5.5' fill='none' stroke='%2336e2c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.ac-points b{color:var(--ink);font-weight:600}

/* dashboard */
.ac-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.ac-head h1{font-size:clamp(24px,3vw,32px);word-break:break-all;margin:10px 0 8px}
.ac-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--dim);font-size:14px}
.ac-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font:600 12px/1.6 var(--mono);letter-spacing:.04em;
  color:var(--accent);background:rgba(54,226,196,.1);border:1px solid rgba(54,226,196,.35)}
.ac-chip.warn{color:var(--amber);background:rgba(255,184,77,.1);border-color:rgba(255,184,77,.4)}

.ac-onboard{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px;padding:18px 22px;
  border-color:rgba(54,226,196,.35);background:radial-gradient(500px 160px at 0 0,rgba(54,226,196,.12),transparent 70%),var(--panel)}
.ac-onboard b{display:block;color:var(--ink);font-size:16px}
.ac-onboard span{color:var(--muted);font-size:14px}
.ac-onboard ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0}
.ac-onboard li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid var(--line2);font-size:13.5px;color:var(--muted)}
.ac-onboard li:before{content:"";width:16px;height:16px;border-radius:50%;border:1.5px solid var(--dim)}
.ac-onboard li.now{color:var(--ink);border-color:rgba(54,226,196,.5)}
.ac-onboard li.now:before{border-color:var(--accent);box-shadow:0 0 0 3px rgba(54,226,196,.15)}
.ac-onboard li.done{color:var(--ink2)}
.ac-onboard li.done:before{border:0;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8.5 2.5 2.5L12 5.5' fill='none' stroke='%2303201b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

.ac-stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:16px}
.ac-stat{padding:20px 22px}
.ac-k{font:600 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.ac-v{font-size:34px;font-weight:700;color:var(--ink);letter-spacing:-.03em;margin:12px 0 6px;font-variant-numeric:tabular-nums;line-height:1.1}
.ac-big .ac-v{font-size:44px}
.ac-v small{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}
.ac-s{color:var(--muted);font-size:14px}
.ac-meter{display:flex;height:8px;border-radius:99px;background:rgba(140,205,215,.08);overflow:hidden;margin:14px 0 12px}
.ac-meter i{display:block;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.ac-meter .a,.ac-legend i.a{background:linear-gradient(90deg,#1fb89e,var(--accent))}
.ac-meter .t,.ac-legend i.t{background:var(--accent2)}
.ac-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.ac-legend span{display:inline-flex;align-items:center;gap:7px}
.ac-legend i{width:9px;height:9px;border-radius:3px}
.ac-legend b{color:var(--ink2);font-weight:600;font-variant-numeric:tabular-nums}
.ac-legend .ac-r{margin-left:auto;color:var(--dim)}

.ac-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.ac-sec{margin-bottom:16px;min-width:0}
.ac-grid .ac-sec{margin-bottom:0}
.ac-sh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.ac-count{font:12.5px var(--mono);color:var(--dim)}
.ac-empty{border:1px dashed var(--line2);border-radius:12px;padding:22px;text-align:center;color:var(--dim);font-size:14px}

.ac-kf{display:flex;gap:10px;margin-bottom:14px}
.ac-kf input{flex:1;min-width:0;padding:10px 13px}
.ac-kf .btn{flex:0 0 auto;justify-content:center}
.ac-keys{display:grid;gap:8px}
.ac-key{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(4,8,11,.35)}
.ac-kn{min-width:0}
.ac-kn b{display:block;font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-kn code{font:12.5px var(--mono);color:var(--muted)}
.ac-kd{display:grid;text-align:right;font-size:12.5px;color:var(--dim);white-space:nowrap}
.ac-rev.arm{border-color:var(--red);color:#ffc2cc}
.ac-newkey{border:1px solid rgba(54,226,196,.45);border-radius:12px;padding:14px;margin-bottom:14px;background:rgba(54,226,196,.06);animation:acin .35s ease-out}
.ac-nk-h{display:flex;flex-direction:column;margin-bottom:10px}
.ac-nk-h b{font-size:14.5px}.ac-nk-h span{font-size:13px;color:var(--muted)}
.ac-keyline{display:flex;gap:10px;align-items:center}
.ac-keyline code{flex:1;min-width:0;font:13px var(--mono);color:#bfeee5;background:var(--code);border:1px solid var(--line2);border-radius:9px;padding:10px 12px;word-break:break-all;user-select:all}
@keyframes acin{from{opacity:0;transform:translateY(-6px)}}

.ac-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:rgba(4,8,11,.4)}
.ac-tabs button{background:none;border:0;color:var(--muted);font:600 12.5px var(--mono);padding:5px 10px;border-radius:7px;cursor:pointer}
.ac-tabs button.on{background:rgba(54,226,196,.12);color:var(--accent)}
.ac-code{position:relative}
.ac-code pre{margin:0;padding:16px 16px;white-space:pre;font:12.5px/1.7 var(--mono);background:var(--code);border:1px solid var(--line);border-radius:12px;overflow-x:auto;color:var(--ink2);min-height:130px}
.ac-copy{position:absolute;top:8px;right:8px;background:rgba(10,20,27,.9);border:1px solid var(--line2);color:var(--muted);font:600 12px var(--mono);padding:4px 9px;border-radius:7px;cursor:pointer}
.ac-copy:hover,.ac-copy.ok{color:var(--accent);border-color:rgba(54,226,196,.5)}
.btn.ok{background:#1fb89e;border-color:#1fb89e}

.ac-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px}
.ac-totals div{background:rgba(10,20,27,.95);padding:12px 16px}
.ac-totals span{display:block;font:600 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.ac-totals b{font-size:20px;font-variant-numeric:tabular-nums}
.ac-chart{position:relative}
.ac-read{font-size:13.5px;color:var(--muted);margin-bottom:8px;min-height:21px}
.ac-read b{color:var(--ink)}
.ac-chart svg{display:block;width:100%;height:170px}
.ac-chart line{stroke:var(--line);stroke-dasharray:3 4}
.ac-chart .hit{fill:transparent;cursor:crosshair}
.ac-chart .bar{fill:rgba(54,226,196,.45);transition:fill .12s;pointer-events:none}
.ac-chart .err{fill:var(--amber);pointer-events:none}
.ac-chart .bar.on{fill:var(--accent)}
.ac-axis{display:flex;justify-content:space-between;font:11.5px var(--mono);color:var(--dim);margin-top:-12px}
.ac-det{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.ac-det summary{cursor:pointer;color:var(--muted);font-size:14px}
.ac-det summary:hover{color:var(--ink)}
.ac-tw{overflow-x:auto;margin-top:12px}
.ac-tw table{width:100%;font-size:13.5px}

.ac-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ac-plan{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:18px;background:rgba(4,8,11,.35)}
.ac-plan.cur{border-color:rgba(54,226,196,.5);background:radial-gradient(260px 120px at 0 0,rgba(54,226,196,.1),transparent 70%),rgba(4,8,11,.35)}
.ac-ph{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ac-ph b{font-size:15.5px}
.ac-pp{font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin:8px 0 2px}
.ac-pp small{font-size:13px;color:var(--muted);font-weight:500}
.ac-plan ul{list-style:none;padding:0;margin:8px 0 16px;font-size:13.5px;color:var(--muted);display:grid;gap:4px}
.ac-plan .btn{margin-top:auto;justify-content:center}
.ac-foot{color:var(--dim);font-size:14px;text-align:center;margin:30px 0 0}

.ac-toast{position:fixed;left:50%;bottom:28px;z-index:50;transform:translate(-50%,16px);opacity:0;transition:opacity .25s,transform .25s;
  max-width:min(520px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;font-size:14.5px;color:var(--ink);
  background:rgba(13,26,34,.96);border:1px solid rgba(54,226,196,.45);box-shadow:0 20px 60px -20px rgba(0,0,0,.8);backdrop-filter:blur(10px)}
.ac-toast.on{opacity:1;transform:translate(-50%,0)}
.ac-toast.bad{border-color:rgba(255,107,129,.5);color:#ffd6dd}

@media(max-width:1000px){
  .ac-auth{grid-template-columns:1fr;gap:36px;max-width:560px}
  .ac-stats{grid-template-columns:1fr 1fr}.ac-big{grid-column:1/-1}
  .ac-grid{grid-template-columns:1fr}
  .ac-plans{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ac{padding:32px 0 72px}
  .ac-form{padding:26px 20px}
  .ac-card{padding:20px 18px}
  .ac-stats{grid-template-columns:1fr}
  .ac-big .ac-v{font-size:38px}
  .ac-totals{grid-template-columns:1fr 1fr}
  .ac-plans{grid-template-columns:1fr}
  .ac-key{grid-template-columns:minmax(0,1fr) auto}.ac-kd{display:none}
  .ac-kf{flex-direction:column}
  .ac-code pre{padding-top:42px}
  .ac-term-body{font-size:11.5px}
  .ac-legend .ac-r{margin-left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){.ac *{animation:none!important;transition:none!important}}
/* OAuth consent (/oauth/authorize/) and connected apps */
.oa .oa-wrap{grid-template-columns:minmax(0,520px);justify-content:center}
.oa h1{font-size:28px;line-height:1.2}
.oa-dest{margin:22px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(4,8,11,.35);color:var(--muted);font-size:14.5px}
.oa-dest b{color:var(--ink);word-break:break-all}
.oa-btns{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:22px}
.oa-btns .btn{justify-content:center;padding:13px 16px}
.ac-app .ac-kn code{font-size:12.5px}
.ac-apps-note{margin:0 0 14px}
