/* にゃあくる α版ユーザーID選択画面（既存style.cssへの変更は不要） */
body.nyarclhu-alpha-locked { overflow: hidden !important; }
body.nyarclhu-alpha-locked > .app-header,
body.nyarclhu-alpha-locked > main,
body.nyarclhu-alpha-locked > dialog { visibility: hidden !important; }
.nyarclhu-alpha-gate[hidden], .nyarclhu-alpha-retry[hidden], .nyarclhu-alpha-session[hidden] { display: none !important; }
.nyarclhu-alpha-gate {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: var(--bg, #f7f8fa);
  color: var(--text, #25282d);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 22px 16px;
}
.nyarclhu-alpha-card {
  width: min(100%, 420px);
  padding: 32px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 18px;
  background: var(--panel, #fff);
  box-shadow: 0 10px 38px #00000010;
}
.nyarclhu-alpha-eyebrow {
  margin: 0 0 12px;
  color: var(--accent, #4295ef);
  font-size: .85rem;
  font-weight: 700;
}
.nyarclhu-alpha-card h1 { margin: 0 0 8px; font-size: 1.55rem; }
.nyarclhu-alpha-description { margin: 0 0 24px; font-size: .87rem; color: var(--muted, #828994); }
.nyarclhu-alpha-card label { margin: 0 0 8px; display: block; font-size: .88rem; }
.nyarclhu-alpha-card input { width: 100%; font-size: 1rem; }
.nyarclhu-alpha-message { min-height: 1.4em; margin: 8px 0 14px; font-size: .78rem; color: var(--muted, #828994); }
.nyarclhu-alpha-message.is-error { color: var(--danger, #c94b4b); }
.nyarclhu-alpha-card button[type="submit"] {
  width: 100%;
  border-color: var(--accent, #4295ef);
  background: var(--accent, #4295ef);
  color: #fff;
  padding: 10px 14px;
  border-radius: 9px;
  font-weight: 700;
}
.nyarclhu-alpha-card button[type="submit"]:disabled { cursor: default; opacity: .55; }
.nyarclhu-alpha-retry { width: 100%; margin-top: 8px; }
.nyarclhu-alpha-warning { margin: 22px 0 0; font-size: .73rem; line-height: 1.8; color: var(--muted, #828994); }
.nyarclhu-alpha-session {
  margin-left: auto;
  flex: 0 1 auto;
  white-space: nowrap;
  font-size: .76rem;
  padding: 5px 9px;
  border-radius: 999px;
}
@media (max-width: 650px) {
  .nyarclhu-alpha-card { padding: 25px 20px; }
  .nyarclhu-alpha-session { position: fixed; bottom: 12px; right: 12px; z-index: 50; margin-left: 0; box-shadow: 0 3px 15px #0002; }
}

/* ver1.83: the former user-switch control is now the header logout action. */
.nyarclhu-alpha-session{margin-left:auto!important;flex:0 0 auto!important;padding:6px 12px!important;border-radius:999px!important}
@media (max-width:650px){.nyarclhu-alpha-session{position:static!important;bottom:auto!important;right:auto!important;z-index:auto!important;margin-left:auto!important;box-shadow:none!important}}


/* Step32-3: 同期状況を独立表示。元のキャラクターUIには介入しない。 */
#nyarclhu-cloud-notice:not([hidden]){
  position:fixed;bottom:16px;right:18px;z-index:9700;
  padding:11px 16px;border-radius:11px;max-width:min(470px,calc(100vw - 36px));
  background:var(--panel,#fff);color:var(--text,#222);
  border:1px solid rgba(90,90,90,.35);box-shadow:0 3px 18px #0002;
  font-size:13px;line-height:1.55;
}
#nyarclhu-cloud-overlay:not([hidden]){
  position:fixed;inset:0;z-index:9600;background:rgba(0,0,0,.62);
  display:flex;align-items:center;justify-content:center;padding:18px;
}
.nyarclhu-cloud-panel{
  width:min(480px,100%);max-height:90vh;overflow:auto;background:var(--panel,#fff);
  color:var(--text,#222);border-radius:16px;padding:26px;box-shadow:0 10px 35px #0004;
}
.nyarclhu-cloud-panel h2{font-size:18px;margin:0 0 13px;}
.nyarclhu-cloud-panel p{font-size:14px;line-height:1.65;white-space:pre-wrap;}
.nyarclhu-cloud-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.nyarclhu-cloud-actions button{border-radius:9px;border:1px solid #999;padding:9px 12px;cursor:pointer;background:transparent;color:inherit;}


/* ver1.96: user-facing processing state; backend provider is intentionally hidden. */
.nyarclhu-cloud-loading{display:flex;align-items:center;gap:9px;margin:2px 0 10px;font-size:13px;color:var(--muted,#737b86)}
.nyarclhu-cloud-loading[hidden]{display:none!important}
.nyarclhu-cloud-loading>span:first-child{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nyaakuru-cloud-spin .8s linear infinite;flex:0 0 auto}
@keyframes nyaakuru-cloud-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nyarclhu-cloud-loading>span:first-child{animation-duration:1.8s}}
