[hidden] { display: none !important; }
[data-cloud-signin], [data-cloud-retry] { margin-top: 16px; width: 100%; text-decoration: none; }
.detail a { color: inherit; }
.setup-row { margin: 18px 0 0; }

.setup-steps { list-style: none; margin: 28px 0 6px; padding: 0; display: grid; gap: 10px; text-align: left; }
.setup-steps li { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; color: #6f7681; font-size: 15px; transition: color .2s, border-color .2s, background .2s; }
.setup-steps li::before { content: ''; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .18); box-sizing: border-box; }
.setup-steps li[data-state="done"] { color: #d6dae0; }
.setup-steps li[data-state="done"]::before { border: 0; background: #4ca9b7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.5 2.5L13 6.5' fill='none' stroke='%23020405' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.setup-steps li[data-state="active"] { color: #f6f7f9; border-color: rgba(76, 169, 183, .45); background: rgba(76, 169, 183, .08); }
.setup-steps li[data-state="active"]::before { border-color: rgba(76, 169, 183, .3); border-top-color: #4ca9b7; animation: setup-spin .9s linear infinite; }
.setup-steps li[data-state="stalled"] { color: #f6f7f9; border-color: rgba(232, 168, 92, .45); background: rgba(232, 168, 92, .07); }
.setup-steps li[data-state="stalled"]::before { border-color: #e8a85c; background: radial-gradient(circle, #e8a85c 0 3px, transparent 3.5px); }
.elapsed { margin: 4px 0 0; font-size: 12px; color: #6f7681; font-variant-numeric: tabular-nums; }
.support { margin-top: 14px; }
@keyframes setup-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .setup-steps li[data-state="active"]::before { animation: none; border-color: #4ca9b7; } }
.button-secondary { background: transparent; color: #f6f7f9; border: 1px solid rgba(255, 255, 255, .18); }
.button-secondary:hover { background: rgba(255, 255, 255, .06); }

/* /cloud/join/: the inviting project's icon, one line, one button (Jason, 2026-10-30). */
.join-brand { gap: 10px; margin-bottom: 30px; }
.join-brand img { width: 30px; height: 30px; }
.join-brand .wordmark { font-size: 14px; }
.join-icon { width: 96px; height: 96px; margin: 0 auto 22px; border-radius: 24px; border: 1px solid rgba(255, 255, 255, .13); background: rgba(255, 255, 255, .04); box-shadow: 0 18px 44px rgba(0, 0, 0, .5); display: grid; place-items: center; overflow: hidden; }
.join-icon img { width: 100%; height: 100%; object-fit: cover; }
.join-icon [data-join-emoji] { font-size: 54px; line-height: 1; }
.join-title { font-size: clamp(27px, 7vw, 36px); line-height: 1.12; letter-spacing: -.04em; margin: 0 0 26px; overflow-wrap: anywhere; }
[data-join-accept], [data-cloud-open] { width: 100%; text-decoration: none; }
.join-shell .status { margin-top: 14px; }
.join-shell .status:empty { min-height: 0; margin: 0; }
.join-signin { display: block; margin-top: 14px; color: #a7adb8; font-size: 14px; text-decoration: none; }
.join-signin:hover { color: #f6f7f9; text-decoration: underline; }
@media (max-width: 620px) {
  .join-icon { width: 84px; height: 84px; border-radius: 21px; }
  .join-icon [data-join-emoji] { font-size: 46px; }
  .callback-shell.join-shell .brand { margin-bottom: 26px; }
}
