/* Figma social flow: human invitation and three-step seating wizard. */
.seating-wizard .unavailable { opacity:.55; }

.window.invite-guide-window:modal { width:640px; min-height:0; }
.invite-guide { padding:14px 20px 20px; }
.invite-guide h2 { display:flex; align-items:center; gap:12px; font-size:18px; line-height:26px; margin-bottom:24px; }
.invite-guide h2 > .provider { font-size:0; width:32px; gap:0; }
.invite-guide h2 > .provider img { width:22px; height:22px; }
.invite-setup { border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:16px; }
.invite-setup summary { display:flex; gap:12px; align-items:center; list-style:none; cursor:pointer; min-height:24px; }
.invite-setup summary::-webkit-details-marker { display:none; }
.invite-setup summary strong { font-size:15px; line-height:24px; font-weight:700; }
.invite-setup summary small { color:var(--muted); font-size:12px; font-weight:400; }
.guide-number { display:inline-grid; place-items:center; flex:0 0 24px; height:24px; background:var(--accent); color:white; font-family:'Space Mono',monospace; font-size:13px; line-height:24px; }
.invite-setup.returning:not([open]) .guide-number { background:var(--success); }
.invite-setup.returning:not([open]) summary strong { color:var(--muted); }
.guide-toggle { margin-left:auto; font-size:12px; color:var(--accent); }
.invite-setup[open] .when-closed, .invite-setup:not([open]) .when-open { display:none; }
.guide-step-body { margin-left:36px; }
.guide-step-body > .caption { margin:8px 0; line-height:21px; }
.guide-copy { display:flex; align-items:flex-start; gap:12px; border:1.5px solid var(--ink); box-shadow:var(--inset); padding:8px 8px 8px 12px; background:var(--paper); min-height:43px; }
.guide-copy pre, .guide-copy > p { flex:1; margin:0; min-width:0; white-space:pre-wrap; overflow-wrap:anywhere; font:13px/21px 'Noto Sans SC',sans-serif; }
.guide-copy button { flex-shrink:0; }
.guide-copy .icon { filter:brightness(0) invert(1); }
.setup-copy { margin-top:8px; min-height:80px; }
.guide-docs { display:inline-block; margin-top:10px; font-size:12px; text-decoration:none; }
.command-row { display:flex; align-items:center; gap:16px; margin-top:8px; font-size:12px; color:var(--muted); }
.command-row > span { flex-shrink:0; }
.command-row .guide-copy { flex:1; }
.command-row pre { font:12px/20px 'Space Mono',monospace; color:var(--ink); }
.invite-meeting h3 { display:flex; align-items:center; gap:12px; font-size:15px; line-height:24px; margin-bottom:6px; }
.guide-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:24px; }
.guide-footer > small { color:var(--muted); font-size:11px; }
.guide-footer > div { display:flex; gap:8px; }
.seat-identity { display:flex; align-items:center; gap:8px; }
.seat-edit { border:0; box-shadow:none; background:none; padding:0; min-height:20px; }
.seat-description { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); min-height:26px; }
.seat-description .provider { font-size:12px; flex-shrink:0; gap:6px; }
.seat-description .provider img { width:18px; height:18px; }
.seat-description > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.seat-edit-form { display:grid; gap:5px; }
.seat-edit-form label { display:flex; gap:6px; font-size:11px; align-items:center; }
.seat-edit-form input { min-height:26px; height:26px; font-size:12px; padding:3px 6px; }
.seat-edit-form > div { display:flex; gap:6px; justify-content:flex-end; }
.seat-edit-form button { min-height:24px; font-size:11px; padding:1px 6px; }
.social-room .seat-actions .primary .icon { filter:brightness(0) invert(1); }

.window.human-invite-window:modal { width:560px; }
.human-invite-window .dialog-body { padding:16px 20px 28px; }
.visit-form h2 { font-size:18px; line-height:24px; }
.visit-form > p.muted { font-size:12px; margin:4px 0 20px; }
.visit-form .field { gap:6px; margin-bottom:16px; }
.visit-form .field input { height:36px; padding:6px 12px; font-size:13px; }
.human-invite-preview { background:var(--paper); border:1px solid var(--line); padding:10px 15px 0; height:152px; position:relative; overflow:hidden; }
.human-invite-preview:after { content:''; position:absolute; left:0; right:0; bottom:0; height:26px; background:#e4dccb; }
.human-invite-preview strong { font-size:15px; }
.human-invite-preview > p { margin-top:2px; font-size:12px; color:var(--muted); }
.preview-seating { display:flex; align-items:end; gap:48px; height:88px; padding-left:14px; position:relative; z-index:1; }
.preview-seating > small { align-self:center; margin-left:-34px; color:var(--accent); font-size:12px; }
.human-link-row { display:flex; align-items:start; gap:12px; }
.human-link-row input { font-family:'Space Mono',monospace; flex:1; min-width:0; }
.human-link-row button { flex-shrink:0; }
.human-invite-window .dialog-actions { margin-top:28px; }
.invite-management { margin-top:16px; font-size:12px; color:var(--muted); }
.invite-management button { margin-top:8px; }
.invite-pair { text-align:center; flex-shrink:0; }
.invite-pair-art { display:flex; align-items:end; gap:10px; height:80px; }
.invite-person,.invite-ai { display:flex; flex-direction:column; align-items:center; justify-content:end; width:36px; }
.invite-person .person-avatar { width:24px; height:24px; font-size:13px; border:1.5px solid currentColor; }
.invite-shoulders { display:block; }
.invite-chair { display:block; }
.invite-ai .mascot { width:30px; height:24px; }
.invite-ai .mascot img { transform:scale(.75); transform-origin:top left; }
.invite-pair > small { color:var(--ink); display:block; margin-top:10px; font-size:12px; }
.invite-pair.vacant .person-avatar { border-style:dashed; background:transparent; }
.invite-pair.vacant .invite-shoulders { opacity:.35; }
.vacant-ai { display:block; width:30px; height:24px; }
.invitation-window { width:600px; max-width:calc(100% - 24px); min-height:640px; margin:120px auto 40px; }
.invitation-hero { height:260px; padding:24px 28px 0; position:relative; background:var(--paper); }
.invitation-hero:before { content:''; position:absolute; height:50px; bottom:0; left:0; right:0; background:#e4dccb; }
.invitation-hero h2 { font-size:24px; line-height:34px; }
.invitation-hero > p { font-size:13px; color:var(--muted); margin-top:8px; }
.invitation-seating { position:relative; display:flex; justify-content:center; align-items:end; gap:60px; margin-top:28px; }
.invitation-hero .invite-pair-art { height:90px; }
.invitation-hero .invite-pair img { margin:0; width:auto; }
.your-seat { position:relative; }
.your-seat > strong { position:absolute; top:0; left:-6px; width:108px; font-size:12px; background:var(--accent); color:white; line-height:26px; font-weight:500; }
.invitation-body { padding:24px 28px 18px; }
.invitation-window blockquote { font-size:14px; min-height:44px; display:flex; align-items:center; margin:0 0 26px; }
.invitation-body .field { margin-bottom:20px; gap:6px; }
.invitation-body .field input { height:52px; }
.invitation-body > [data-empty] { margin-top:32px; font-size:13px; }
.invitation-footnote { text-align:center; color:var(--muted); font-size:12px; margin-top:24px; }
.invitation-body .invitation-login { position:absolute; top:100%; left:0; margin-top:10px; font-size:11px; }
.invitation-window { position:relative; }
.invitation-body .field { font-size:15px; font-weight:700; line-height:22px; }
.invitation-body .field input { font-size:17px; font-weight:400; }
.invitation-hero .invite-person,.invitation-hero .invite-ai { width:45px; }
.invitation-hero .invite-pair-art { gap:7px; height:98px; }
.invitation-hero .invite-person .person-avatar { width:30px; height:30px; font-size:14px; border-width:2px; }
.invitation-hero .invite-ai .mascot { width:40px; height:32px; }
.invitation-hero .invite-ai .mascot img { transform:none; }
.invitation-hero .vacant-ai { width:40px; height:32px; }
.invitation-hero .your-seat .person-avatar { width:32px; height:32px; }

/* The three seating steps share the same 840 × 780 desktop frame. */
.window.seating-wizard:modal { width:840px; min-height:780px; max-height:calc(100dvh - 110px); top:70px; bottom:auto; margin:0 auto; }
.seating-wizard::backdrop { background:transparent; }
.wizard-form { padding:12px 12px 8px 8px; }
.wizard-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px; min-height:640px; }
.wizard-sidebar { position:relative; border:1.5px solid var(--ink); background:linear-gradient(#4a4580,#8a84bc); min-height:640px; color:white; }
.wizard-sidebar ol { padding:22px 16px; margin:0; display:flex; flex-direction:column; gap:16px; list-style:none; font-size:13px; }
.wizard-sidebar li { display:flex; gap:12px; align-items:center; opacity:.8; line-height:24px; }
.wizard-sidebar li.current { opacity:1; font-weight:700; }
.wizard-sidebar li > span { border:1.5px solid white; width:24px; height:24px; text-align:center; font:12px/21px 'Space Mono',monospace; }
.wizard-sidebar li.current > span { background:white; color:var(--accent); }
.wizard-floor { height:80px; background:#e4dccb; position:absolute; bottom:0; left:-1px; right:-1px; }
.wizard-illustration { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; }
.wizard-step { border:0; padding:0; margin:0; min-width:0; }
.wizard-content { display:flex; flex-direction:column; min-width:0; min-height:640px; }
.wizard-content h2 { font-size:20px; line-height:28px; }
.wizard-caption { color:var(--muted); font-size:13px; line-height:20px; margin:4px 0 14px; }
.companion-list { display:grid; gap:14px; }
.companion-list h3 { font-size:13px; font-weight:500; line-height:20px; }
.saved-companions { border:1.5px solid var(--line); max-height:112px; overflow:auto; margin-top:-12px; }
.wizard-no-profiles { padding:14px; color:var(--muted); font-size:12px; }
.wizard-companion { background:white; min-height:56px; padding:8px 12px; display:flex; gap:12px; align-items:center; border-bottom:1px solid #e8e6ef; }
.wizard-companion:last-child { border-bottom:0; }
.wizard-companion:has(input:checked) { background:#f4f2ff; }
.wizard-companion input,.wizard-empty input,.wizard-choice input { width:16px; height:16px; margin:0; box-shadow:none; accent-color:var(--accent); flex:0 0 16px; }
.wizard-companion strong { font-size:15px; line-height:21px; }
.wizard-companion .mascot { width:28px; height:22.4px; }
.wizard-companion .mascot > img { transform:scale(.7); }
.wizard-companion small { display:block; font-size:12px; line-height:18px; color:var(--muted); font-weight:400; }
.wizard-companion .companion-history { margin-left:auto; font-size:11px; text-align:right; }
.wizard-new-profile { border:1.5px solid var(--line); background:white; padding:12px; min-height:244px; }
.wizard-new-profile:has(.wizard-choice input:checked) { border-color:var(--accent); box-shadow:inset 0 0 0 .5px var(--accent); }
.wizard-choice { display:flex; align-items:center; gap:12px; font-size:15px; line-height:22px; }
.wizard-profile-fields { margin-top:14px; display:grid; gap:12px; }
.wizard-profile-row { display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:8px; font-size:12px; }
.wizard-providers { display:flex; flex-wrap:wrap; gap:4px; }
.wizard-providers button { min-height:28px; padding:3px 6px; background:white; font-weight:400; }
.wizard-providers button[aria-pressed=true] { background:var(--accent); color:white; }
.wizard-providers .provider { font-size:12px; gap:5px; }
.wizard-providers .provider img { width:14px; height:14px; background:white; }
.wizard-profile-row input { height:36px; font-size:13px; padding:6px 10px; }
.wizard-profile-row textarea { min-height:64px; height:64px; font-size:13px; line-height:20px; padding:8px 10px; }
.wizard-profile-fields > p { margin-top:-6px; margin-left:56px; color:var(--muted); font-size:12px; line-height:18px; }
.wizard-empty { min-height:56px; padding:8px 12px; border:1px solid var(--line); display:flex; align-items:center; gap:12px; background:white; }
.wizard-empty strong { font-size:14px; line-height:20px; }
.wizard-empty small { display:block; font-size:12px; color:var(--muted); font-weight:400; line-height:18px; }
.wizard-actions { border-top:2px solid var(--line); display:flex; justify-content:end; gap:8px; padding:14px 10px 0; margin-top:14px; }
.wizard-actions button { min-width:64px; }
.wizard-provider-row { display:flex; align-items:center; gap:12px; font-size:13px; }
.wizard-provider-row > strong { font-weight:500; flex-shrink:0; }
.wizard-connect-step { margin-top:20px; }
.wizard-connect-step h3 { display:flex; align-items:center; gap:10px; font-size:14px; line-height:24px; }
.wizard-connect-step h3 small { color:var(--muted); font-size:12px; font-weight:400; }
.wizard-connect-step .step-number { width:22px; height:22px; flex-shrink:0; background:var(--accent); color:white; text-align:center; font:12px/22px 'Space Mono',monospace; }
.wizard-connect-step > p { margin:6px 0 8px 32px; color:var(--muted); font-size:12px; line-height:18px; }
.wizard-copy { display:flex; gap:8px; align-items:start; border:1.5px solid var(--ink); box-shadow:var(--inset); padding:8px; margin:8px 0 0 32px; background:var(--paper); }
.wizard-copy textarea { border:0; box-shadow:none; background:transparent; resize:vertical; font-size:12px; line-height:20px; padding:0 4px; height:100px; min-height:60px; }
.wizard-copy [aria-label="AI 邀请内容"] { height:72px; }
.wizard-connect-step + .wizard-connect-step { border-top:1px solid var(--line); padding-top:16px; }
.wizard-copy button { flex-shrink:0; }
.wizard-copy .icon { filter:brightness(0) invert(1); }
.wizard-connection-state { display:flex; align-items:center; gap:14px; min-height:58px; border:1.5px solid var(--ink); background:var(--paper); padding:10px 12px; margin-top:24px; }
.step-2 .wizard-connection-state { margin-top:auto; margin-bottom:60px; }
.wizard-connection-state strong { display:block; font-size:14px; line-height:21px; font-weight:500; }
.wizard-connection-state small { display:block; font-size:12px; line-height:18px; color:var(--muted); }
.wizard-connection-state.connected strong { color:var(--success); }
.wizard-connection-state .mascot { width:32px; height:25.6px; }
.wizard-connection-state .mascot > img { transform:scale(.8); }
.wizard-connection-state:not(.connected) .mascot { opacity:.35; }
.instructions-label { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; margin:0 0 6px; }
.instructions-label small { font-size:12px; color:var(--muted); }
.wizard-instructions { display:grid; }
.wizard-instructions label { display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:12px; min-height:46px; font-size:13px; color:var(--muted); }
.wizard-instructions label > div { display:flex; align-items:center; gap:8px; }
.wizard-instructions input { height:32px; padding:4px 0; font-size:15px; border:0; border-bottom:1px solid var(--line); box-shadow:none; background:transparent; color:var(--ink); }
.wizard-instructions .icon { width:14px; height:14px; flex-shrink:0; opacity:.45; }
.wizard-review { border:1px solid var(--line); margin:44px 0 0; padding:16px; min-height:126px; }
.wizard-review legend { padding:0 6px; font-size:13px; }
.wizard-review .check-line { font-size:15px; font-weight:700; gap:12px; }
.wizard-review [type=checkbox] { width:20px; height:20px; }
.wizard-review p { color:var(--muted); font-size:13px; line-height:21px; padding-left:32px; margin-top:6px; }
.vacant-shoulders { width:24px; height:12px; }
.invitation-hero .vacant-shoulders { height:18px; }
.invitation-feedback { min-height:18px; line-height:18px; margin-top:6px; }

.window.add-connection-window:modal { width:720px; min-height:600px; }
.add-connection-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:20px; padding:16px; }
.add-connection-layout > aside > p { font-size:13px; margin-bottom:8px; }
.add-provider-list { border:1.5px solid var(--ink); background:white; padding:6px 4px; min-height:440px; }
.add-provider-list button { width:100%; border:0; box-shadow:none; background:white; justify-content:start; padding:8px; height:52px; }
.add-provider-list button[aria-pressed=true] { background:var(--accent); color:white; }
.add-provider-list .provider { gap:12px; font-size:14px; }
.add-provider-list .provider img { width:32px; height:32px; }
.add-connection-content h2 { font-size:18px; line-height:26px; display:flex; align-items:center; gap:8px; }
.add-connection-content > p { margin-top:4px; }
.add-connection-content section { margin-top:24px; }
.add-connection-content h3 { font-size:14px; display:flex; align-items:center; gap:12px; margin-bottom:12px; line-height:24px; }
.add-connection-content .guide-copy,.add-connection-content .connection-state,.paste-illustration { margin-left:36px; }
.add-connection-content .guide-copy { align-items:center; }
.add-connection-content .guide-copy p { font-size:12px; line-height:19px; }
.paste-illustration { padding:12px; border:1px solid var(--line); }
.paste-illustration > div { display:flex; align-items:center; gap:8px; background:white; border:1px solid var(--line); min-height:58px; padding:12px; color:var(--muted); font-size:11px; }
.paste-illustration > div > span:not(.icon) { flex:1; }
.add-connection-content .connection-state { min-height:52px; padding:8px 12px; background:white; border:1.5px solid var(--ink); }
.add-connection-content .connection-state small { font-size:11px; line-height:16px; }
.add-setup-help { margin:12px 0 0 36px; font-size:12px; color:var(--accent); }
.add-setup-help summary { text-decoration:underline; cursor:pointer; }
.add-setup-help p { margin:8px 0; }
.add-connection-footer { border-top:2px solid var(--line); margin:0 16px; padding:14px 10px 20px; display:flex; justify-content:end; }
.add-connection-window .form-error { margin:0 18px; }

@media(min-width:1151px) {
  .social-room:not(.sidebar-hidden) { grid-template-columns:minmax(0,1fr) 476px; }
  body:has(.add-connection-window[open]) .seating-wizard:modal { margin-left:max(12px,calc(50vw - 600px)); }
  .window.add-connection-window:modal { top:140px; bottom:auto; margin-top:0; }
}
@media(max-width:760px) {
  .window.seating-wizard:modal { top:12px; min-height:0; max-height:calc(100dvh - 64px); }
  .wizard-layout { grid-template-columns:1fr; min-height:0; }
  .wizard-sidebar { min-height:0; }
  .wizard-sidebar ol { flex-direction:row; justify-content:space-between; gap:6px; padding:10px; font-size:11px; }
  .wizard-sidebar li { gap:4px; }
  .wizard-sidebar li > span { width:20px; height:20px; line-height:17px; }
  .wizard-illustration,.wizard-floor { display:none; }
  .wizard-content { min-height:0; }
  .wizard-content h2 { font-size:18px; }
  .wizard-instructions label { grid-template-columns:44px minmax(0,1fr); gap:8px; }
  .instructions-label { flex-wrap:wrap; }
  .wizard-review { margin-top:24px; }
  .wizard-actions { padding:12px 0 0; }
  .wizard-profile-row { grid-template-columns:48px minmax(0,1fr); }
  .wizard-profile-fields > p { margin-left:56px; }
  .wizard-provider-row { align-items:start; }
  .wizard-connect-step h3 { font-size:13px; gap:6px; flex-wrap:wrap; }
  .wizard-connect-step > p,.wizard-copy { margin-left:0; }
  .wizard-copy { gap:4px; padding:6px; }
  .step-2 .wizard-connection-state { margin-top:24px; margin-bottom:0; }
  .invite-guide { padding:14px 14px 18px; }
  .invite-guide h2 { margin-bottom:18px; font-size:17px; }
  .invite-setup summary { gap:8px; flex-wrap:wrap; }
  .invite-setup summary strong,.invite-meeting h3 { font-size:13px; }
  .invite-setup summary small { margin-left:32px; }
  .guide-step-body { margin-left:0; margin-top:8px; }
  .guide-copy { gap:8px; padding:8px; }
  .guide-copy pre,.guide-copy > p { font-size:12px; }
  .command-row { display:block; }
  .command-row > span { display:block; margin-bottom:6px; }
  .guide-footer { align-items:stretch; flex-direction:column; }
  .guide-footer > div { justify-content:end; }
  .invitation-window { margin:24px auto; }
  .invitation-hero { height:250px; padding:20px 12px 0; }
  .invitation-hero h2 { font-size:19px; line-height:28px; }
  .invitation-seating { gap:50px; }
  .invitation-body { padding:20px 18px; }
  .invitation-footnote { line-height:20px; }
  .preview-seating { gap:30px; padding-left:0; }
  .preview-seating > small { margin-left:-16px; }
  .human-invite-window .dialog-body { padding:16px; }
  .add-connection-layout { grid-template-columns:1fr; gap:16px; padding:12px; }
  .add-provider-list { display:flex; min-height:0; flex-wrap:wrap; }
  .add-provider-list button { width:auto; flex:1 0 auto; height:40px; }
  .add-provider-list .provider { font-size:12px; gap:6px; }
  .add-provider-list .provider img { width:20px; height:20px; }
  .add-connection-content .guide-copy,.add-connection-content .connection-state,.paste-illustration { margin-left:0; }
  .add-connection-content h3 { font-size:13px; }
  .add-setup-help { margin-left:0; }
  .social-room .seat-actions { gap:4px; flex-wrap:wrap; }
}
.titlebar > .titlebar-mascot { width:20px; height:16px; }
.titlebar > .titlebar-mascot > img { transform:scale(.5); transform-origin:top left; }
.invite-pair.vacant .invite-shoulders { opacity:1; }
.wizard-speech { position:absolute; top:-50px; right:-12px; }
.wizard-speech .typing-dots { position:absolute; left:18px; top:12px; display:flex; gap:4px; }
.wizard-speech .typing-dots i { width:4px; height:4px; background:var(--ink); }
.room-private-settings { margin-top:14px; font-size:12px; }
.room-private-settings > summary { cursor:pointer; margin-bottom:10px; }
/* Compact controls for the social invitation dialogs. */
.human-invite-window .dialog-actions button,.guide-footer button,.add-connection-footer button { min-width:64px; }
.invite-guide h2 { line-height:22px; }
.guide-copy { padding-top:4px; padding-bottom:4px; }
.guide-copy > p { padding-top:5px; }
.setup-copy { padding-top:8px; padding-bottom:8px; }
.guide-step-body > .caption { margin-top:6px; }
.guide-docs { display:block; line-height:14px; }
.command-row .guide-copy { padding-top:8px; padding-bottom:8px; }
.guide-footer { margin-top:20px; }
.invite-setup summary:after { content:none; }
.guide-toggle .when-closed::after,.guide-toggle .when-open::after { content:none; }
.human-invite-window .dialog-body { padding-bottom:20px; }
.visit-form > p.muted { margin-bottom:16px; }
.visit-form .field { line-height:20px; margin-bottom:14px; }
.visit-form .field > span { line-height:16px; }
.human-invite-window .dialog-actions { margin-top:24px; }
.window.invite-guide-window:modal,.window.add-connection-window:modal,.window.human-invite-window:modal { position:fixed; }
.add-connection-footer { padding-bottom:16px; }

/* The visit room has a private review window, separate from the den's AI roster. */
.social-room .private-visibility { display:flex; align-items:center; gap:5px; color:white; font-size:11px; white-space:nowrap; margin-left:auto; }
.social-room .private-visibility .icon { width:14px; height:14px; filter:brightness(0) invert(1); }
.social-room .private-visibility .icon img { width:14px; height:14px; }
.social-room #private-root { display:flex; flex:1; flex-direction:column; gap:12px; min-height:0; padding:8px; }
.social-room .private-mode { flex-shrink:0; min-height:64px; gap:10px; padding:10px; }
.social-room .private-mode > div:first-child { flex:1; min-width:0; }
.social-room .private-mode strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.social-room .private-mode small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.social-room .private-mode-buttons { display:flex; }
.social-room .private-mode-buttons button { min-width:82px; }
.social-room #private-instructions { flex-shrink:0; margin:0; padding:0; border:1.5px solid var(--ink); background:#fff4d6; }
.social-room #private-instructions summary { display:flex; align-items:center; gap:12px; padding:10px; min-height:42px; list-style:none; }
.social-room #private-instructions summary::-webkit-details-marker { display:none; }
.social-room #instruction-count { flex-shrink:0; font-size:13px; }
.social-room #instruction-preview { color:var(--muted); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; flex:1; }
.social-room .instruction-toggle { font-size:12px; color:var(--accent); }
.social-room #instruction-form { padding:0 10px 10px; max-height:360px; overflow:auto; }
.social-room .private-queue-title { display:flex; align-items:center; gap:8px; font-size:16px; margin:0; padding-top:2px; }
.social-room #private-draft-count { padding:1px 6px; background:var(--accent); color:white; font:12px/18px 'Space Mono',monospace; }
.social-room .private-stream { flex:1; min-height:120px; overflow:auto; background:white; border:1.5px solid var(--ink); box-shadow:var(--inset); padding:12px; }
.social-room .private-empty { font-size:12px; color:var(--muted); padding:12px 0; }
.social-room .private-history { border:0; padding:0; max-height:none; overflow:visible; }
.social-room .draft-message > header { display:flex; align-items:center; gap:8px; margin-bottom:12px; font-size:12px; color:var(--accent); }
.social-room .draft-message time { font:11px 'Space Mono',monospace; color:var(--muted); }
.social-room .draft-card.pending { padding:0 12px 12px; background:white; }
.social-room .draft-label { display:flex; align-items:center; gap:6px; background:#f1e3a6; margin:0 -12px 12px; padding:5px 10px; font-size:12px; font-weight:400; color:var(--ink); }
.social-room .draft-content { font-size:14px; line-height:22px; }
.social-room .draft-receipt { display:flex; gap:12px; padding:5px 8px; margin-top:6px; border:1px solid var(--line); background:var(--paper); font-size:12px; color:var(--muted); }
.social-room .draft-receipt time { font:11px/18px 'Space Mono',monospace; }
.social-room .draft-receipt > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.social-room #private-seat-action:empty { display:none; }
.social-room #private-composer { flex-shrink:0; flex-wrap:nowrap; align-items:center; gap:8px; border:1.5px solid var(--ink); background:white; box-shadow:var(--inset); padding:6px; margin:0; }
.social-room #private-composer textarea { min-width:0; height:32px; min-height:32px; border:0; box-shadow:none; background:transparent; resize:none; padding:6px 4px; font-size:12px; }
.social-room #private-chat-notice { flex-basis:auto; font-size:11px; line-height:16px; margin-top:-8px; }
.social-room .public-audience { display:flex; align-items:center; justify-content:center; gap:6px; min-height:32px; font-size:12px; color:var(--muted); }
.social-room button.paired-ai { border:0; box-shadow:none; background:transparent; min-height:0; padding:0; gap:0; color:inherit; }
.social-room button.paired-ai:focus-visible { outline:2px dashed var(--accent); outline-offset:3px; }
.visit-people .person-avatar { width:32px; height:32px; font-size:14px; border-color:currentColor; }
.social-room .human-seat .person-avatar { border-color:currentColor; }
.social-room .private-icon { width:16px; height:16px; flex-shrink:0; }
.social-room #private-task-state:empty { display:none; }
.social-room #private-instructions[open] .instruction-chevron { transform:rotate(180deg); }
.social-connection-window .connection-provider { background:var(--accent); color:white; }
@media(max-width:640px) {
  .social-room .private-mode-buttons button { min-width:64px; }
  .social-room #private-root { min-height:540px; }
}
/* Follow-up: reveal only the selected new profile and keep copy actions outside fields. */
.wizard-new-profile { min-height:0; }
.wizard-new-profile:has(.wizard-choice input:checked) { min-height:244px; }
.wizard-copy { display:grid; grid-template-columns:minmax(0,1fr); border:0; box-shadow:none; padding:0; background:transparent; gap:8px; }
.wizard-copy textarea { border:1.5px solid var(--ink); box-shadow:var(--inset); background:white; padding:8px 10px; height:104px; }
.wizard-copy [aria-label="AI 邀请内容"] { height:80px; }
.wizard-copy button { justify-self:end; }
.wizard-connect-step { margin-top:16px; }
.wizard-connect-step + .wizard-connect-step { padding-top:12px; }
.step-2 .wizard-connection-state { margin-top:20px; margin-bottom:0; }
.wizard-connection-state { border:1px solid var(--line); border-left:3px solid var(--accent); background:white; padding:12px 14px; gap:14px; }
.wizard-connection-state.connected { border-left-color:var(--success); background:#f4f8f3; }
.wizard-connection-state .arrival-copy { flex:1; min-width:0; }
.wizard-connection-state:not(.connected) .mascot { opacity:.7; }
.arrival-indicator { display:flex; align-items:center; gap:4px; color:var(--success); font-size:20px; }
.arrival-indicator i { width:4px; height:4px; background:var(--accent); animation:reply-dot 1.2s ease-in-out infinite; }
.arrival-indicator i:nth-child(2) { animation-delay:.16s; }
.arrival-indicator i:nth-child(3) { animation-delay:.32s; }
.social-room #instruction-form { background:var(--panel); padding:12px; gap:12px; }
.social-room .instruction-line { display:grid; grid-template-columns:52px minmax(0,1fr); align-items:start; gap:10px; color:var(--muted); }
.social-room .instruction-line > span:first-child { padding-top:6px; }
.social-room .instruction-value { display:flex; align-items:center; border-bottom:1px solid var(--line); }
.social-room .instruction-value textarea,.social-room .instruction-value input { border:0; box-shadow:none; background:transparent; color:var(--ink); padding:5px 0; min-height:32px; height:32px; font-size:13px; }
.social-room .instruction-value .icon { opacity:.45; flex-shrink:0; width:14px; height:14px; }
.social-room #instruction-form > button { justify-self:end; }
.pair-bubble { visibility:hidden; }
.pair-bubble.ready { visibility:visible; }
.pair-bubble.ready .typing-dots i { animation:reply-dot 1.2s ease-in-out infinite; }
.pair-bubble.ready .typing-dots i:nth-child(2) { animation-delay:.16s; }
.pair-bubble.ready .typing-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes reply-dot { 0%,65%,100% { transform:translateY(0); opacity:.45; } 30% { transform:translateY(-3px); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .pair-bubble.ready .typing-dots i,.arrival-indicator i { animation:none; } }
.human-link-row .primary .icon { filter:brightness(0) invert(1); }

.composer {position:relative;min-width:0;}
.composer select {width:100%;min-width:0;text-overflow:ellipsis;}
.mention-menu {position:absolute;bottom:calc(100% + 6px);left:0;width:min(360px,100%);max-height:240px;overflow:auto;background:white;border:1.5px solid var(--ink);box-shadow:3px 3px 0 #aaa5bc;z-index:10;}
.mention-heading,.mention-empty {padding:10px 12px;font-size:12px;color:var(--muted);}
.mention-menu button {display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;border:0;box-shadow:none;background:white;padding:8px 12px;}
.mention-menu button[aria-selected=true] {background:var(--accent);color:white;}
.mention-menu small {color:inherit;opacity:.8;}

.social-room #instruction-form .instruction-value textarea {
  box-sizing:border-box; height:auto; min-height:30px; max-height:70px;
  line-height:20px; resize:none; overflow-y:hidden; flex:1; min-width:0;
}
.pending-ai-outline {
  display:block; width:40px; height:32px; opacity:.65;
}

/* Size onboarding to the browser viewport, including laptop browser chrome. */
.window:is(.seating-wizard,.connection-window,.add-connection-window,.invite-guide-window,.human-invite-window):modal {
  top:12px; bottom:auto; margin:0 auto;
  min-height:0; max-height:calc(100dvh - 24px);
  max-width:calc(100vw - 24px); overflow-y:auto;
}
.window.seating-wizard:modal {
  display:flex; flex-direction:column; overflow:hidden;
}
.seating-wizard > .titlebar { flex-shrink:0; }
.seating-wizard .wizard-form {
  display:flex; flex-direction:column; min-height:0; overflow:hidden;
}
.seating-wizard .wizard-layout {
  min-height:0; overflow-y:auto; min-width:0;
  scrollbar-gutter:stable; overscroll-behavior-y:contain;
}
.seating-wizard .wizard-sidebar,.seating-wizard .wizard-content { min-height:0; }
.seating-wizard .wizard-sidebar { overflow:hidden; }
.seating-wizard .wizard-actions {
  flex-shrink:0; margin-top:10px; padding-top:10px; flex-wrap:wrap;
  background:var(--panel);
}
.seating-wizard .form-error { flex-shrink:0; }
.window.connection-window .connection-steps > .dialog-actions,
.guide-footer,.add-connection-footer {
  position:sticky; bottom:0; z-index:1; background:var(--panel);
  padding-bottom:8px;
}
@media(max-height:800px) {
  .seating-wizard .wizard-review { margin-top:16px; min-height:0; padding:10px; }
  .seating-wizard .wizard-new-profile { min-height:0; }
  .seating-wizard .wizard-profile-fields { gap:8px; margin-top:10px; }
  .seating-wizard .wizard-connection-state { margin-top:14px; margin-bottom:0; }
  .seating-wizard .wizard-floor { height:44px; }
  .seating-wizard .wizard-illustration { bottom:44px; }
  .invitation-window { margin-top:16px; min-height:0; }
  .connection-window .connection-sidebar,.add-provider-list { min-height:0; }
}
@media(max-height:520px) {
  .seating-wizard .wizard-illustration,.seating-wizard .wizard-floor { display:none; }
}
