html.cloud-checking body{visibility:hidden}
body.cloud-locked #app{display:none}
.cloud-auth{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:var(--bg,#f7f6f1);color:var(--ink,#1f2933)
}
.cloud-auth-card{
  width:min(440px,100%);padding:46px 42px;border:1px solid var(--line,#dedbd2);
  border-radius:24px;background:var(--paper,#fffdf8);box-shadow:0 18px 50px rgba(31,41,51,.08)
}
.cloud-brand{font-size:42px;font-weight:900;letter-spacing:-1.5px}
.cloud-brand small{display:block;margin-top:6px;color:var(--muted,#6b7280);font-size:15px;font-weight:600;letter-spacing:.04em}
.cloud-auth-copy{margin:30px 0 18px;color:var(--muted,#6b7280);line-height:1.65}
.cloud-field{display:block;margin:12px 0}
.cloud-field span{display:block;margin-bottom:6px;color:var(--muted,#6b7280);font-size:13px}
.cloud-field input{
  width:100%;padding:12px 14px;border:1px solid var(--line,#dedbd2);border-radius:12px;background:#fff;color:var(--ink,#1f2933)
}
.cloud-field input:focus{outline:2px solid #222;outline-offset:1px}
.cloud-submit{width:100%;margin-top:12px;padding:12px 18px;border:1px solid #222;border-radius:999px;background:#222;color:#fff;font-weight:800}
.cloud-auth-message{min-height:22px;margin-top:12px;color:#a33;font-size:13px;line-height:1.5}
.cloud-toolbar{
  position:fixed;right:14px;bottom:14px;z-index:80;display:flex;align-items:center;gap:7px;
  padding:7px;border:1px solid var(--line,#dedbd2);border-radius:999px;background:rgba(255,253,248,.94);
  box-shadow:0 8px 28px rgba(31,41,51,.12);backdrop-filter:blur(10px)
}
.cloud-toolbar button{border:1px solid var(--line,#dedbd2);border-radius:999px;background:#fff;padding:7px 11px;font-size:12px;font-weight:750}
.cloud-toolbar button:hover{border-color:#222}
.cloud-toolbar .cloud-publish{background:#222;border-color:#222;color:#fff}
.cloud-toolbar .cloud-user{padding:0 6px;color:var(--muted,#6b7280);font-size:12px;white-space:nowrap}
.cloud-save-state{color:var(--muted,#6b7280);font-size:11px;white-space:nowrap}
body[data-cloud-role="viewer"] [contenteditable="true"]{cursor:default!important}
body[data-cloud-role="viewer"] .animation-asset-tools,
body[data-cloud-role="viewer"] .scene-asset-tools,
body[data-cloud-role="viewer"] .asset-slot-tools,
body[data-cloud-role="viewer"] .asset-slot-add,
body[data-cloud-role="viewer"] .animation-drop-layer,
body[data-cloud-role="viewer"] .free-board-upload,
body[data-cloud-role="viewer"] .free-board-toolbar{display:none!important}
.cloud-members{display:grid;gap:10px;margin-top:18px}
.cloud-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line,#dedbd2);border-radius:14px}
.cloud-member strong,.cloud-member small{display:block}.cloud-member small{margin-top:3px;color:var(--muted,#6b7280)}
.cloud-member select{padding:8px 10px;border:1px solid var(--line,#dedbd2);border-radius:9px;background:#fff}
.cloud-invite{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:18px}
.cloud-invite input,.cloud-invite select{min-width:0;padding:9px 10px;border:1px solid var(--line,#dedbd2);border-radius:9px;background:#fff}
.cloud-invite button{border:0;border-radius:9px;background:#222;color:#fff;padding:9px 13px;font-weight:800}
.cloud-unpublished{display:none!important}
@media(max-width:720px){.cloud-auth-card{padding:34px 24px}.cloud-toolbar{left:10px;right:10px;justify-content:center;overflow-x:auto}.cloud-user{display:none}.cloud-invite{grid-template-columns:1fr}.cloud-member{grid-template-columns:1fr}}
