:root {
  --home-ink: #171625;
  --home-muted: #6f6b7f;
  --home-line: #e9e6ef;
  --home-surface: #ffffff;
  --home-soft: #faf8fc;
  --random: #ff4f7b;
  --strangers: #6c5ce7;
  --rooms: #149d84;
}

.home-v2 { min-height: 100vh; color: var(--home-ink); background: #fff; }
.home-nav { height: 78px; max-width: 1180px; margin: auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; }
.home-nav .brand { cursor: pointer; user-select: none; }
.home-nav-actions { display: flex; gap: 10px; align-items: center; }
.home-nav .btn { min-height: 42px; }
.home-account-link { color: var(--home-muted); font-weight: 700; text-decoration: none; font-size: 14px; padding: 10px 7px; }
.home-account-link:hover { color: var(--home-ink); }

.home-hero { position: relative; overflow: hidden; padding: 48px 24px 42px; text-align: center; background: radial-gradient(circle at 50% -15%, #ffe8ef 0, rgba(255,232,239,0) 44%), linear-gradient(180deg,#fff 0,#fcfafd 100%); border-top: 1px solid #f4f1f6; }
.home-hero::before,.home-hero::after { content:""; position:absolute; border-radius:50%; filter:blur(1px); pointer-events:none; }
.home-hero::before { width:220px;height:220px;left:-110px;top:80px;background:rgba(108,92,231,.07); }
.home-hero::after { width:260px;height:260px;right:-140px;bottom:-100px;background:rgba(20,157,132,.07); }
.home-kicker { display: inline-flex; gap: 8px; align-items: center; border: 1px solid #eedce2; border-radius: 999px; background: #fff; color: #c82e5b; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 8px 13px; box-shadow: 0 6px 24px rgba(28,16,35,.05); }
.home-kicker i { width:7px;height:7px;background:#ff4f7b;border-radius:50%;box-shadow:0 0 0 4px rgba(255,79,123,.12); }
.home-hero h1 { font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(38px,5.3vw,62px); line-height: 1.05; letter-spacing: -.055em; max-width: 810px; margin: 18px auto 15px; }
.home-hero h1 span { color: var(--random); }
.home-lead { max-width: 680px; margin: 0 auto; font-size: 18px; line-height: 1.7; color: var(--home-muted); }
.home-hero-trust { margin-top: 19px; display:flex; justify-content:center; flex-wrap:wrap; gap:17px; color:#555064; font-size:13px; font-weight:700; }
.home-hero-trust span { display:inline-flex;align-items:center;gap:7px; }
.home-hero-trust i { color: var(--rooms); font-style:normal; }

.chat-paths { max-width:1180px;margin:-1px auto 0;padding:27px 24px 62px; }
.path-heading { text-align:center;margin-bottom:28px; }
.path-heading h2 { font:800 clamp(26px,4vw,36px)/1.15 "Plus Jakarta Sans",sans-serif;margin:0 0 10px;letter-spacing:-.035em; }
.path-heading p { margin:0;color:var(--home-muted); }
.chat-path-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.chat-path-card { --accent:var(--random); --wash:#fff4f7; position:relative;display:flex;flex-direction:column;min-height:415px;padding:25px;border:1px solid var(--home-line);border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(28,20,38,.07);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.chat-path-card:hover { transform:translateY(-5px);box-shadow:0 20px 50px rgba(28,20,38,.11);border-color:color-mix(in srgb,var(--accent) 30%,#e9e6ef); }
.chat-path-card.strangers { --accent:var(--strangers);--wash:#f4f1ff; }
.chat-path-card.rooms { --accent:var(--rooms);--wash:#eefaf7; }
.path-card-top { display:flex;align-items:center;justify-content:space-between; }
.path-icon { width:52px;height:52px;display:grid;place-items:center;background:var(--wash);border-radius:16px;color:var(--accent);font-size:24px;font-weight:800; }
.path-badge { border-radius:99px;background:var(--wash);color:var(--accent);padding:7px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.chat-path-card h3 { font:800 24px/1.2 "Plus Jakarta Sans",sans-serif;margin:24px 0 10px;letter-spacing:-.035em; }
.path-description { color:var(--home-muted);line-height:1.55;margin:0 0 20px;min-height:50px; }
.path-steps { list-style:none;padding:0;margin:0 0 17px;display:grid;gap:10px; }
.path-steps li { display:flex;align-items:center;gap:10px;font-size:13px;color:#504b5e;font-weight:600; }
.path-steps b { width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--wash);color:var(--accent);font-size:11px; }
.path-live { display:flex;align-items:center;gap:8px;min-height:20px;margin:0 0 14px;color:#777180;font-size:11px;font-weight:700; }
.path-live i { width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 11%,transparent);animation:presence-pulse 2s ease-in-out infinite; }
@keyframes presence-pulse { 50% { opacity:.55;transform:scale(.88); } }
.path-button { margin-top:auto;border:0;border-radius:13px;background:var(--accent);color:#fff;min-height:48px;font:700 14px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 9px 20px color-mix(in srgb,var(--accent) 22%,transparent);transition:filter .2s,transform .2s; }
.path-button:hover { filter:brightness(.96);transform:translateY(-1px); }
.path-note { text-align:center;color:#8b8696;font-size:11px;margin:11px 0 0; }
.landing-ad-wrap { max-width:970px;margin:-37px auto 30px;padding:0 24px; }
.landing-ad-wrap .ad-slot { min-height:92px;margin:0;background:#fcfbfd; }
.global-ad{width:min(1160px,calc(100% - 42px));margin:10px auto}.global-ad[hidden]{display:none}.global-ad .ad-slot{min-height:58px;margin:0}.global-ad-footer{margin-top:30px;margin-bottom:10px}

.member-strip { background:var(--home-ink);color:#fff;padding:45px 24px; }
.member-strip-inner { max-width:1132px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:30px; }
.member-strip h2 { margin:0 0 9px;font:800 29px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em; }
.member-strip p { color:#c7c3d0;margin:0;line-height:1.6; }
.member-actions { display:flex;justify-content:flex-end;gap:10px; }
.member-actions .btn-primary { background:#fff;color:var(--home-ink); }
.member-actions .btn-ghost { color:#fff;border-color:#5c5867; }
.safety-band { max-width:1132px;margin:auto;padding:64px 24px;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center; }
.safety-emblem { width:210px;height:210px;margin:auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#fff1f5,#f0edff);font-size:70px;box-shadow:inset 0 0 0 18px #fff,0 16px 45px rgba(45,30,60,.08); }
.safety-copy h2 { font:800 32px/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:-.035em;margin:0 0 13px; }
.safety-copy>p { color:var(--home-muted);line-height:1.65;margin:0 0 22px; }
.safety-list { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }
.safety-list div { border:1px solid var(--home-line);border-radius:14px;padding:15px; }
.safety-list strong { display:block;font-size:13px;margin-bottom:4px; }
.safety-list span { color:var(--home-muted);font-size:12px;line-height:1.45;display:block; }
.home-footer { border-top:1px solid var(--home-line);max-width:1132px;margin:auto;padding:25px 0 34px;display:flex;justify-content:space-between;color:#817c8c;font-size:12px; }
.home-footer-links { display:flex;gap:17px; }
.home-footer a { color:inherit;text-decoration:none; }
.home-footer a:hover { color:var(--random); }

.guest-entry-backdrop { z-index:1001; }
.guest-entry-card { width:min(100% - 28px,510px);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:24px;padding:27px;box-shadow:0 28px 90px rgba(20,12,29,.25); }
.guest-entry-card.random { --entry-accent:var(--random); }
.guest-entry-card.strangers { --entry-accent:var(--strangers); }
.guest-entry-card.rooms { --entry-accent:var(--rooms); }
.guest-entry-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px; }
.guest-entry-title { display:flex;gap:13px;align-items:center; }
.guest-entry-title .path-icon { flex:0 0 auto; }
.guest-entry-title h2 { font:800 23px/1.2 "Plus Jakarta Sans",sans-serif;margin:0 0 4px;letter-spacing:-.03em; }
.guest-entry-title p { color:var(--home-muted);font-size:13px;margin:0; }
.guest-entry-card .close { flex:0 0 auto; }
.guest-entry-card .field { margin-bottom:14px; }
.guest-entry-card .field input,.guest-entry-card .field select { width:100%; }
.guest-entry-card .form-row { gap:12px; }
.guest-entry-card .form-row .field { flex:1; }
.entry-info { background:#f8f6fa;border-radius:13px;padding:13px 14px;color:#625d6e;font-size:12px;line-height:1.5;margin:4px 0 15px; }
.guest-consent { display:flex;align-items:flex-start;gap:9px;color:#565161;font-size:12px;line-height:1.45;margin:14px 0; }
.guest-consent input { margin-top:2px;accent-color:var(--entry-accent); }
.guest-entry-card .path-button { width:100%;background:var(--entry-accent); }
.guest-entry-card .form-error { color:#c22650;min-height:18px;margin:8px 0 0; }

.guest-shell { --guest-accent:var(--random); height:100vh;display:grid;grid-template-rows:68px 1fr;background:#f7f5f9;color:var(--home-ink); }
.guest-shell[data-mode="strangers"] { --guest-accent:var(--strangers); }
.guest-shell[data-mode="rooms"] { --guest-accent:var(--rooms); }
.guest-topbar { background:#fff;border-bottom:1px solid var(--home-line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:15px; }
.guest-brand-area,.guest-top-actions { display:flex;align-items:center;gap:13px; }
.guest-mode-chip { background:color-mix(in srgb,var(--guest-accent) 10%,white);color:var(--guest-accent);border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
.guest-profile-mini { text-align:right;font-size:12px;color:var(--home-muted); }
.guest-profile-mini strong { display:block;color:var(--home-ink);font-size:13px; }
.guest-main { min-height:0;display:grid;grid-template-columns:290px 1fr; }
.guest-sidebar { background:#fff;border-right:1px solid var(--home-line);padding:22px;overflow:auto; }
.guest-sidebar h2 { font:800 20px/1.2 "Plus Jakarta Sans",sans-serif;margin:0 0 5px; }
.guest-sidebar>p { color:var(--home-muted);font-size:12px;line-height:1.5;margin:0 0 19px; }
.guest-safety-card { background:#f8f6fa;border-radius:14px;padding:14px;margin-top:18px;font-size:12px;line-height:1.5;color:#615d6b; }
.guest-safety-card strong { color:var(--home-ink);display:block;margin-bottom:5px; }
.guest-ad-zone .ad-slot { min-height:86px;margin-top:14px;font-size:11px; }
.guest-room-list { display:grid;gap:8px; }
.guest-room-item { width:100%;text-align:left;border:1px solid var(--home-line);border-radius:13px;background:#fff;padding:12px;cursor:pointer;transition:.15s; }
.guest-room-item:hover,.guest-room-item.active { border-color:var(--guest-accent);background:color-mix(in srgb,var(--guest-accent) 5%,white); }
.guest-room-item strong { display:block;font-size:13px;margin-bottom:3px; }
.guest-room-item span { color:var(--home-muted);font-size:11px; }
.guest-workspace { min-width:0;min-height:0;display:grid;grid-template-rows:73px auto minmax(0,1fr) auto;background:#fff; }
.guest-chat-head { border-bottom:1px solid var(--home-line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:18px; }
.guest-peer { display:flex;align-items:center;gap:12px; }
.guest-avatar { width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--guest-accent) 12%,white);color:var(--guest-accent);display:grid;place-items:center;font-weight:800;text-transform:uppercase; }
.guest-peer h3 { margin:0 0 3px;font-size:15px; }
.guest-peer p { margin:0;color:var(--home-muted);font-size:11px; }
.guest-head-buttons { display:flex;gap:7px; }
.guest-small-btn { border:1px solid var(--home-line);background:#fff;border-radius:10px;padding:8px 11px;color:#5b5665;font:700 12px "DM Sans",sans-serif;cursor:pointer; }
.guest-small-btn.primary { color:#fff;background:var(--guest-accent);border-color:var(--guest-accent); }
.guest-small-btn.danger:hover { border-color:#e64767;color:#d52b50; }
.guest-messages { padding:24px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#fff,#fcfbfd); }
.guest-message { display:flex;gap:8px;max-width:min(76%,680px);align-self:flex-start; }
.guest-message.mine { align-self:flex-end;flex-direction:row-reverse; }
.guest-message-dot { width:28px;height:28px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:#eeebf2;color:#6d6876;font-size:10px;font-weight:800; }
.guest-message.mine .guest-message-dot { background:color-mix(in srgb,var(--guest-accent) 13%,white);color:var(--guest-accent); }
.guest-message-body { background:#f1eef4;border-radius:5px 16px 16px 16px;padding:10px 13px;line-height:1.45;font-size:14px;overflow-wrap:anywhere; }
.guest-message.mine .guest-message-body { background:var(--guest-accent);color:#fff;border-radius:16px 5px 16px 16px; }
.guest-message-image{display:block;width:min(420px,70vw);max-height:420px;object-fit:contain;border-radius:12px}.guest-message:has(.guest-message-image) .guest-message-body{padding:5px;background:#eeeaf2}.guest-message.mine:has(.guest-message-image) .guest-message-body{background:color-mix(in srgb,var(--guest-accent) 18%,white)}
.guest-chat-ad{position:sticky;top:0;z-index:3;min-height:0;background:#fff;border-bottom:1px solid var(--home-line);padding:5px 12px}.guest-chat-ad:empty{display:none}.guest-chat-ad .ad-slot{min-height:42px;margin:0;padding:6px 10px}
.guest-message-meta { font-size:10px;color:#938d9c;margin:3px 4px 0; }
.guest-message.mine .guest-message-meta { text-align:right; }
.guest-composer { border-top:1px solid var(--home-line);padding:14px 18px;display:flex;gap:9px;background:#fff; }
.guest-composer input { flex:1;min-width:0;border:1px solid var(--home-line);border-radius:13px;padding:0 14px;font:14px "DM Sans",sans-serif;outline:2px solid transparent;outline-offset:2px; }
.guest-composer input:focus { border-color:var(--guest-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--guest-accent) 10%,transparent); }
.guest-composer button { width:48px;height:45px;border:0;border-radius:13px;background:var(--guest-accent);color:#fff;font-size:18px;cursor:pointer; }
.guest-waiting { grid-row:1/-1;display:grid;place-items:center;padding:30px;text-align:center;background:#fff; }
.guest-waiting-inner { max-width:450px; }
.guest-waiting-visual { position:relative;width:110px;height:70px;margin:0 auto 25px; }
.guest-waiting-visual span { position:absolute;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px; }
.guest-waiting-visual span:first-child { left:6px;top:2px;background:color-mix(in srgb,var(--guest-accent) 13%,white);color:var(--guest-accent);animation:guest-pulse 1.5s infinite; }
.guest-waiting-visual span:last-child { right:5px;bottom:1px;background:#f0edf3;color:#817b89;animation:guest-pulse 1.5s .35s infinite; }
@keyframes guest-pulse { 50% { transform:translateY(-5px);box-shadow:0 10px 20px rgba(40,25,52,.12); } }
.guest-waiting h2 { font:800 27px/1.2 "Plus Jakarta Sans",sans-serif;margin:0 0 10px;letter-spacing:-.03em; }
.guest-waiting p { color:var(--home-muted);line-height:1.6;margin:0 0 20px; }
.guest-waiting small { display:block;color:#96909f;margin-top:13px; }
.guest-empty-room { margin:auto;text-align:center;color:var(--home-muted);padding:30px; }
.stranger-directory{min-height:0;overflow:auto;padding:24px;background:#faf9fb;grid-row:1/-1}.stranger-directory>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.stranger-directory h2{margin:4px 0 6px;font:800 25px/1.2 "Plus Jakarta Sans",sans-serif}.stranger-directory header p{max-width:700px;margin:0;color:var(--home-muted);font-size:13px;line-height:1.55}.stranger-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.stranger-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;background:#fff;border:1px solid var(--home-line);border-radius:16px;box-shadow:0 5px 18px rgba(28,20,38,.04)}.stranger-card>img{width:44px;height:44px;object-fit:cover;border-radius:50%}.stranger-card h3{margin:0 0 4px;font-size:14px}.stranger-card h3 b{font-size:8px;color:#6c5ce7;background:#f0edff;border-radius:99px;padding:3px 6px}.stranger-card p{margin:0;color:var(--home-muted);font-size:11px;line-height:1.4}.stranger-card.busy{opacity:.62}
.guest-empty-room strong { display:block;color:var(--home-ink);font-size:18px;margin-bottom:7px; }
.report-reason-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0; }
.report-reason-grid label { border:1px solid var(--home-line);padding:10px;border-radius:10px;font-size:12px;cursor:pointer; }
.report-reason-grid input { accent-color:#e43d62;margin-right:6px; }

.home-v2 :focus-visible,.guest-entry-card :focus-visible,.guest-shell :focus-visible { outline:3px solid color-mix(in srgb,var(--random) 30%,transparent);outline-offset:3px; }
.path-button:disabled,.guest-small-btn:disabled,.guest-composer button:disabled { cursor:wait;opacity:.68;transform:none; }

@media (prefers-reduced-motion:reduce) {
  .chat-path-card,.path-button,.btn,.path-live i,.guest-waiting-visual span { transition:none!important;animation:none!important; }
  html { scroll-behavior:auto; }
}

@media (max-width:900px) {
  .chat-path-grid { grid-template-columns:1fr;max-width:620px;margin:auto; }
  .chat-path-card { min-height:auto; }
  .path-description { min-height:0; }
  .member-strip-inner,.safety-band { grid-template-columns:1fr;text-align:center; }
  .member-actions { justify-content:center; }
  .safety-list { text-align:left; }
  .guest-main { grid-template-columns:230px 1fr; }
}
@media (max-width:680px) {
  .home-nav { height:68px;padding:0 16px; }
  .home-account-link { display:none; }
  .home-nav-actions .btn { padding:10px 13px;font-size:12px; }
  .home-hero { padding:48px 18px 40px; }
  .home-hero h1 { font-size:40px; }
  .home-lead { font-size:16px; }
  .chat-paths { padding:30px 15px 50px; }
  .chat-path-card { padding:21px;border-radius:19px; }
  .member-strip-inner { gap:22px; }
  .member-actions { flex-direction:column; }
  .safety-band { padding:48px 18px;gap:28px; }
  .safety-emblem { width:150px;height:150px;font-size:52px; }
  .safety-list { grid-template-columns:1fr; }
  .home-footer { padding:22px 17px 30px;flex-direction:column;gap:13px;align-items:center; }
  .guest-entry-card { padding:21px; }
  .guest-entry-card .form-row { display:block; }
  .guest-shell { grid-template-rows:60px 1fr; }
  .guest-topbar { padding:0 12px; }
  .guest-topbar .brand span:last-child,.guest-mode-chip,.guest-profile-mini { display:none; }
  .guest-main { grid-template-columns:1fr; }
  .guest-sidebar { display:none; }
  .guest-chat-head { padding:0 13px; }
  .guest-head-buttons .guest-small-btn:not(.primary) { padding:8px; font-size:0; }
  .guest-head-buttons .danger::after { content:"⚑";font-size:15px; }
  .guest-messages { padding:16px 12px; }
  .guest-message { max-width:88%; }
  .guest-composer { padding:10px; }
  .stranger-directory{padding:15px 11px}.stranger-directory>header{align-items:center}.stranger-directory h2{font-size:21px}.stranger-directory header p{display:none}.stranger-grid{grid-template-columns:1fr}.stranger-card{grid-template-columns:auto minmax(0,1fr) auto}.guest-message-image{width:min(290px,72vw);max-height:320px}.guest-chat-head{min-height:73px;height:auto;padding-top:8px;padding-bottom:8px}.guest-head-buttons{flex-wrap:wrap;justify-content:flex-end}
}

@supports(height:100dvh){.guest-shell{height:100dvh}}
@media(max-width:680px){
  .guest-shell{height:100dvh}.guest-main{min-height:0}.guest-workspace{min-height:0}
  .guest-shell[data-mode="rooms"] .guest-main{grid-template-rows:auto minmax(0,1fr)}
  .guest-shell[data-mode="rooms"] .guest-sidebar{display:block;min-height:0;max-height:112px;padding:9px 10px;border-right:0;border-bottom:1px solid var(--home-line);overflow:hidden}
  .guest-shell[data-mode="rooms"] .guest-sidebar>h2,.guest-shell[data-mode="rooms"] .guest-sidebar>p,.guest-shell[data-mode="rooms"] .guest-safety-card,.guest-shell[data-mode="rooms"] .guest-ad-zone{display:none}
  .guest-shell[data-mode="rooms"] .guest-room-list{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 7px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .guest-shell[data-mode="rooms"] .guest-room-item{min-width:160px;scroll-snap-align:start}
  .guest-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.guest-message{max-width:92%}
}
@media(max-width:420px){
  .home-nav .brand>span:last-child{display:none}.home-nav-actions{gap:6px}.home-nav-actions .btn{padding:9px 10px}.home-nav-actions .btn-primary{font-size:0}.home-nav-actions .btn-primary::after{content:"Join";font-size:12px}
  .home-hero{padding-top:38px}.home-hero h1{font-size:35px}.home-kicker{font-size:10px}.guest-top-actions{gap:6px}.guest-small-btn{padding:8px}
}
