/* Hikos（半个宇宙）· 适配层 KMB · 站内登录页（src/backend/auth.js）。
   只在远端模式、Host 开了站内登录（GET /v1/auth/hikos/config → enabled）时由 boot.js 画出来；本地模式不会出现。
   颜色全部走 src/kmind/tokens.css 的 --k-* 令牌：夜间 / 白昼随 <html data-theme>，和主界面同一套皮肤。 */
#kmb-auth{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;overflow:auto;
  background:var(--k-ubg,#070a14);color:var(--k-ink,#dfe6ff);font:14px/1.6 -apple-system,'PingFang SC','Noto Sans SC','Segoe UI',Roboto,sans-serif;z-index:99999}
#kmb-auth *{box-sizing:border-box}
.kmb-card{width:100%;max-width:400px;background:rgba(var(--k-bg-rgb,16,20,28),.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--k-line,rgba(190,210,240,.15));border-radius:18px;padding:30px 28px 22px;box-shadow:0 24px 64px rgba(var(--k-sh,0,0,0),.35)}
.kmb-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.kmb-brand img{width:42px;height:42px;border-radius:11px;flex:none}
.kmb-brand b{display:block;font-size:17px;letter-spacing:.12em;font-weight:600;line-height:1.2}
.kmb-brand small{display:block;color:var(--k-mute);font-size:12px;letter-spacing:.02em;margin-top:2px}
.kmb-title{font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:.01em}
.kmb-sub{color:var(--k-mute);font-size:13px;margin:0 0 16px;line-height:1.5}
.kmb-sub b{color:var(--k-ink);font-weight:500}
.kmb-tabs{display:flex;gap:4px;background:var(--k-tint);border:1px solid var(--k-line2,transparent);border-radius:10px;padding:4px;margin-bottom:16px}
.kmb-tabs button{flex:1;height:32px;border:0;border-radius:8px;background:transparent;color:var(--k-mute);font:inherit;font-size:13px;cursor:pointer}
.kmb-tabs button.on{background:var(--k-bg);color:var(--k-ink);box-shadow:0 1px 4px rgba(var(--k-sh),.18)}
.kmb-field{display:block;margin-bottom:12px}
.kmb-field>span{display:block;font-size:12px;color:var(--k-mute);margin-bottom:6px}
.kmb-field input{width:100%;height:42px;border-radius:10px;border:1px solid var(--k-line);background:var(--k-tint);color:var(--k-ink);padding:0 12px;font:inherit;outline:none;transition:box-shadow .15s,border-color .15s}
.kmb-field input::placeholder{color:var(--k-dim)}
.kmb-field input:focus{box-shadow:var(--k-focus);border-color:var(--k-acc)}
.kmb-field input[aria-invalid="true"]{border-color:var(--k-danger)}
.kmb-hint{font-size:12px;color:var(--k-dim);margin:-6px 0 12px}
.kmb-row{display:flex;gap:8px;align-items:flex-end}
.kmb-row .kmb-field{flex:1;margin-bottom:12px}
.kmb-btn{height:42px;border-radius:10px;border:1px solid transparent;background:var(--k-acc);color:var(--k-on-acc,#fff);font:inherit;font-weight:600;cursor:pointer;width:100%;margin-top:4px;transition:filter .15s}
.kmb-btn:hover{filter:brightness(1.07)}
.kmb-btn[disabled]{opacity:.55;cursor:default;filter:none}
.kmb-btn.ghost{background:transparent;color:var(--k-ink);border-color:var(--k-line)}
.kmb-btn.ghost:hover{background:var(--k-hover)}
.kmb-btn.small{width:auto;min-width:104px;padding:0 12px;margin:0 0 12px;white-space:nowrap;font-weight:500}
.kmb-links{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;flex-wrap:wrap}
.kmb-links a,.kmb-foot a,.kmb-sub a{color:var(--k-acc);text-decoration:none;cursor:pointer}
.kmb-links a:hover,.kmb-foot a:hover,.kmb-sub a:hover{text-decoration:underline}
.kmb-msg{font-size:13px;min-height:20px;margin:2px 0 8px;line-height:1.5}
.kmb-msg.err{color:var(--k-danger)}
.kmb-msg.ok{color:var(--k-ok)}
.kmb-sep{display:flex;align-items:center;gap:10px;color:var(--k-dim);font-size:12px;margin:18px 0 10px}
.kmb-sep:before,.kmb-sep:after{content:"";flex:1;border-top:1px solid var(--k-line)}
.kmb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:12px;color:var(--k-dim)}
.kmb-foot span a+a:before{content:"·";color:var(--k-dim);margin:0 6px}
.kmb-done{text-align:center;padding:12px 0 4px}
.kmb-done .kmb-ico{width:52px;height:52px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-size:26px;background:rgba(var(--k-ok-rgb,23,138,85),.14);color:var(--k-ok)}
.kmb-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--k-mute);margin:2px 0 12px;cursor:pointer}
.kmb-check input{width:16px;height:16px;accent-color:var(--k-acc)}
@media (max-width:480px){#kmb-auth{padding:14px;align-items:flex-start}.kmb-card{padding:24px 18px 18px;border-radius:14px}}
