:root{--kb-bg:#0c1829;--kb-surface:#ffffff12;--kb-surface-landing:#ffffff12;--kb-surface-border:#3a9e7a38;--kb-surface-border-blue:#5ab8e833;--kb-accent-green:#3a9e7a;--kb-accent-blue:#5ab8e8;--kb-text:#eaf4ff;--kb-text-muted:#9ec0d8;--kb-text-label:#7aa3bf;--kb-text-hero-label:#7ecfb0;--kb-feat-text:#7ecfb0;--kb-field-bg:#0812208c;--kb-field-border:#7aa3bf59;--kb-gradient-btn:linear-gradient(135deg, #1e6b9e, #3a9e7a);--kb-gradient-top:linear-gradient(90deg, #3a9e7a, #1e6b9e);--kb-gradient-hero:linear-gradient(145deg, #1e6b9e59 0%, #3a9e7a1f 55%, #0c182980 100%);--kb-radius-card:20px;--kb-radius-field:10px;--kb-radius-btn:12px;--kb-blur:blur(16px)}html[data-theme=light] .kb-login-page,html[data-theme=light] .kb-sign-in-page,html[data-theme=light] .kb-login-page .kb-login-title,html[data-theme=light] .kb-login-page .kb-sign-in-hero-title,html[data-theme=light] .kb-sign-in-page .kb-sign-in-hero-title,html[data-theme=light] .kb-sign-in-page .kb-sign-in-card-title,html[data-theme=light] .kb-login-page h1,html[data-theme=light] .kb-login-page h2,html[data-theme=light] .kb-sign-in-page h1,html[data-theme=light] .kb-sign-in-page h2{color:var(--kb-text)}html[data-theme=light] .kb-login-page .kb-login-subtitle,html[data-theme=light] .kb-sign-in-page .kb-sign-in-hero-text,html[data-theme=light] .kb-sign-in-page .kb-sign-in-card-label{color:var(--kb-text-muted)}.kb-login-page{background:var(--kb-bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.kb-login-canvas{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.kb-login-card{z-index:10;box-sizing:border-box;background:var(--kb-surface-landing);width:min(404px,100vw - 48px);min-height:492px;-webkit-backdrop-filter:var(--kb-blur);border:.5px solid var(--kb-surface-border);border-radius:var(--kb-radius-card);flex-direction:column;padding:42px 44px 36px;display:flex;position:relative}.kb-login-corner-accent{background:var(--kb-gradient-top);border-radius:0 0 4px 4px;height:3px;position:absolute;top:-1px;left:32px;right:32px}.kb-login-label{letter-spacing:.12em;text-transform:uppercase;color:var(--kb-text-hero-label);align-items:center;gap:8px;margin-bottom:26px;font-size:11px;font-weight:600;display:flex}.kb-login-dot{background:var(--kb-accent-green);border-radius:50%;width:6px;height:6px;animation:2s infinite kb-login-pulse}@keyframes kb-login-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.kb-login-title{color:var(--kb-text);letter-spacing:-.02em;text-align:left;margin:0 0 16px;font-size:26px;font-weight:700;line-height:1.25}.kb-login-title span{color:var(--kb-accent-blue)}@media (max-width:480px){.kb-login-title{font-size:clamp(18px,5.2vw,26px)}}.kb-login-subtitle{color:var(--kb-text-muted);text-align:left;margin:0 0 36px;font-size:14px;line-height:1.65}.kb-login-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:0;display:grid}.kb-login-feat{background:var(--kb-field-bg);border:.5px solid var(--kb-field-border);border-radius:var(--kb-radius-field);box-sizing:border-box;color:var(--kb-feat-text);letter-spacing:.03em;white-space:nowrap;justify-content:flex-start;align-items:center;gap:8px;min-height:40px;padding:10px 12px;font-size:12px;font-weight:500;line-height:1;display:flex}.kb-login-feat svg{color:var(--kb-accent-green);flex-shrink:0;display:block}.kb-login-feat-api-badge{box-sizing:border-box;color:var(--kb-accent-green);letter-spacing:.02em;border:1px solid;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:14px;font-size:7px;font-weight:700;line-height:1;display:inline-flex}.kb-login-actions{flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;min-height:0;display:flex}.kb-login-btn-signin{border-radius:var(--kb-radius-btn);background:var(--kb-gradient-btn);color:#fff;cursor:pointer;box-sizing:border-box;border:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s,transform .1s;display:flex}.kb-login-btn-signin:hover{opacity:.9;transform:translateY(-1px)}.kb-login-btn-signin:active{transform:scale(.99)}.kb-login-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kb-sign-in-page{background:var(--kb-bg);box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex;position:relative;overflow:hidden}.kb-sign-in-layout{z-index:10;grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:stretch;gap:20px;width:min(920px,100%);display:grid;position:relative}.kb-sign-in-hero{border-radius:var(--kb-radius-card);background:var(--kb-gradient-hero);border:.5px solid var(--kb-surface-border-blue);flex-direction:column;justify-content:center;padding:36px 40px;display:flex}.kb-sign-in-hero-logo,.kb-login-card-logo{margin-bottom:28px}.kb-sign-in-hero-logo-mark{width:140px}.kb-sign-in-hero-logo-title,.kb-login-card-logo-title{color:var(--kb-text);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.kb-sign-in-home{color:var(--kb-accent-blue);width:fit-content;margin-bottom:28px;font-size:12px;text-decoration:none}.kb-sign-in-home:hover{text-decoration:underline}.kb-sign-in-hero-label{letter-spacing:.12em;text-transform:uppercase;color:var(--kb-text-hero-label);margin:0 0 14px;font-size:11px;font-weight:600}.kb-sign-in-hero-title{color:var(--kb-text);letter-spacing:-.02em;margin:0 0 14px;font-size:32px;font-weight:700;line-height:1.15}.kb-sign-in-hero-text{color:var(--kb-text-muted);max-width:36ch;margin:0;font-size:14px;line-height:1.65}.kb-sign-in-card{background:var(--kb-surface);-webkit-backdrop-filter:var(--kb-blur);border:.5px solid var(--kb-surface-border);border-radius:var(--kb-radius-card);flex-direction:column;gap:0;padding:32px 36px 28px;display:flex;position:relative}.kb-sign-in-card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--kb-text-label);margin:0 0 6px;font-size:11px;font-weight:600}.kb-sign-in-card-title{color:var(--kb-text);letter-spacing:-.02em;margin:0 0 22px;font-size:22px;font-weight:700}.kb-sign-in-error{color:#fca5a5;background:#ef44441f;border:.5px solid #ef444459;border-radius:10px;margin:0 0 18px;padding:10px 12px;font-size:13px;line-height:1.5}.kb-sign-in-error-code{color:#fca5a5bf}.kb-sign-in-form{flex-direction:column;gap:16px;display:flex}.kb-sign-in-form-secondary{margin-top:12px}.kb-sign-in-field{flex-direction:column;gap:6px;display:flex}.kb-sign-in-field label{color:var(--kb-text-muted);font-size:13px;font-weight:600}.kb-sign-in-field input{background:var(--kb-field-bg);border:.5px solid var(--kb-field-border);border-radius:var(--kb-radius-field);color:var(--kb-text);font:inherit;padding:11px 12px;font-size:14px;transition:border-color .15s}.kb-sign-in-field input::placeholder{color:#7aa3bf8c}.kb-sign-in-field input:focus{border-color:#3a9e7aa6;outline:none;box-shadow:0 0 0 2px #3a9e7a26}.kb-sign-in-btn-primary{border-radius:var(--kb-radius-btn);background:var(--kb-gradient-btn);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;margin-top:4px;padding:13px 16px;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s}.kb-sign-in-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.kb-sign-in-btn-google{border-radius:var(--kb-radius-btn);color:#c2d8ea;width:100%;font:inherit;cursor:pointer;background:#ffffff0d;border:.5px solid #ffffff24;padding:12px 16px;font-size:14px;font-weight:500;transition:background .12s}.kb-sign-in-btn-google:hover:not(:disabled){background:#ffffff1a}.kb-sign-in-footer{color:#7aa3bfbf;margin:14px 0 0;font-size:12px;line-height:1.55}.kb-sign-in-footer a{color:var(--kb-accent-blue);text-decoration:none}.kb-sign-in-footer a:hover{text-decoration:underline}@media (max-width:768px){.kb-sign-in-layout{grid-template-columns:1fr;max-width:420px}.kb-sign-in-hero{text-align:center;align-items:center;padding:24px 28px}.kb-sign-in-hero-text{max-width:none}.kb-sign-in-home{margin-bottom:16px}}@media (max-width:420px){.kb-login-features{grid-template-columns:1fr}}
