/* HS_HOME_VISUAL_POLISH_1: existing layout and content, appearance only. */
#tab-home.hs-home {
  --home-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;
  --home-ink:#111827;
  --home-muted:#536174;
  --home-purple:#6d38d3;
  --home-cyan:#22d3ee;
  --home-cyan-ink:#087e99;
  --home-teal:#0f766e;
  --home-sand:#f5f1e8;
  --home-canvas:#f8fafb;
  --home-line:#e5eaf0;
  --home-shadow:0 2px 4px rgba(17,24,39,.025),0 8px 20px -12px rgba(17,24,39,.12);
  --home-radius:22px;
  --home-press:150ms cubic-bezier(.2,.8,.2,1);
  padding:16px 16px 24px;
  background:var(--home-canvas);
  color:var(--home-ink);
  font-family:var(--home-font);
  font-size:14px;
  line-height:1.5;
}
.hs-home *, .hs-home *::before, .hs-home *::after { box-sizing:border-box; }
.hs-home h2, .hs-home h3, .hs-home h4 { font-family:var(--home-font); }
.hs-home .hidden, .hs-home [hidden] { display:none!important; }
.hs-home button { font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.hs-home button:focus-visible, .hs-home summary:focus-visible, .hs-home [tabindex]:focus-visible {
  outline:3px solid #7044c4;
  outline-offset:3px;
}
.hs-home button:disabled { cursor:default; opacity:.65; }
.hs-home .hs-home-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:140px;
  padding:20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--home-radius);
  background:radial-gradient(160px 120px at 100% 0%,rgba(34,211,238,.17),transparent 75%),linear-gradient(115deg,#52319d,#7147bc);
  color:#fff;
  box-shadow:0 9px 23px -17px rgba(80,41,139,.6);
}
.hs-home .hs-home-hero-copy { position:relative; z-index:1; flex:1; min-width:0; }
.hs-home .hs-home-eyebrow { display:block; font-size:10.5px; font-weight:600; line-height:1.4; letter-spacing:.08em; color:var(--home-muted); }
.hs-home .hs-home-hero .hs-home-eyebrow { color:#eee8fa; font-size:11px; letter-spacing:.04em; }
.hs-home .hs-home-hero h2 { margin:8px 0 7px; font-size:28px; font-weight:700; line-height:1.17; letter-spacing:-.65px; overflow-wrap:anywhere; }
.hs-home .hs-home-hero p { margin:0; max-width:240px; color:#f5f1fd; font-size:13px; line-height:1.55; }
.hs-home .hs-home-hero-symbol { flex:0 0 48px; display:grid; place-items:center; width:48px; height:48px; border:1px solid #ffffff47; border-radius:50%; background:#ffffff12; color:#fff; }
.hs-home .hs-home-hero-symbol svg { width:28px; height:28px; }
.hs-home .hs-home-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0 27px; }
.hs-home .hs-home-shortcut {
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(40px,auto) 1fr;
  justify-items:center;
  align-content:start;
  gap:7px;
  padding:14px 7px 12px;
  border:1px solid var(--home-line);
  border-radius:var(--home-radius);
  background:#fff;
  color:var(--home-ink);
  text-align:center;
  box-shadow:var(--home-shadow);
}
.hs-home .hs-home-shortcut-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:#f1ebfb; color:var(--home-purple); }
.hs-home .hs-home-shortcut-icon svg { width:21px; height:21px; }
.hs-home .hs-home-shortcut strong { align-self:center; font-size:13px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.hs-home .hs-home-shortcut small { font-size:11px; line-height:1.45; color:var(--home-muted); overflow-wrap:anywhere; }
.hs-home .hs-home-section { margin:0 0 22px; }
.hs-home .hs-home-section-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hs-home .hs-home-section-head>div { min-width:0; }
.hs-home .hs-home-section h3 { margin:4px 0 0; font-size:22px; font-weight:700; line-height:1.25; letter-spacing:-.45px; overflow-wrap:anywhere; }
.hs-home .hs-home-text-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; flex:0 0 auto; min-height:44px; min-width:44px; padding:8px 2px; border:0; border-radius:8px; background:transparent; color:var(--home-purple); font-size:12px; font-weight:600; text-align:center; }
.hs-home .hs-home-section-hint { margin:8px 0 14px; color:var(--home-muted); font-size:13px; line-height:1.5; }
.hs-home .hs-home-feed {
  display:flex;
  align-items:stretch;
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding-inline:16px;
  margin:0 -16px;
  padding:4px 16px 14px;
  scrollbar-width:thin;
  scrollbar-color:#ced7df transparent;
  -webkit-overflow-scrolling:touch;
}
.hs-home .hs-home-event { flex:0 0 84%; min-width:0; display:flex; flex-direction:column; padding:0; border:1px solid var(--home-line); border-radius:20px; background:#fff; color:var(--home-ink); box-shadow:var(--home-shadow); text-align:left; scroll-snap-align:start; }
.hs-home .hs-home-event-art { position:relative; display:grid; place-items:center; flex:none; min-height:96px; padding:12px 15px 35px; overflow:hidden; border-radius:19px 19px 0 0; background:#edf2f5; color:var(--home-cyan-ink); }
.hs-home .hs-home-event-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hs-home .hs-home-event-icon { display:grid; place-items:center; }
.hs-home .hs-home-event-icon svg { width:43px; height:43px; stroke:currentColor; stroke-width:1.5; }
.hs-home .hs-home-event-category { position:absolute; bottom:10px; left:12px; max-width:calc(100% - 24px); padding:4px 9px; border:1px solid #ffffff9e; border-radius:999px; background:#fffffff2; color:#536174; font-size:11px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.hs-home .hs-home-event-body { min-width:0; flex:1; display:flex; flex-direction:column; padding:13px 15px 14px; }
.hs-home .hs-home-event-time { color:var(--home-purple); font-size:12px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.hs-home .hs-home-event-title { margin:6px 0 7px; font-size:18px; line-height:1.3; font-weight:700; letter-spacing:-.2px; overflow-wrap:anywhere; }
.hs-home .hs-home-event-location { margin:0; color:var(--home-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.hs-home .hs-home-event-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px; margin-top:auto; }
.hs-home .hs-home-event-price { display:inline-flex; align-items:center; min-height:27px; max-width:100%; padding:3px 8px; border-radius:8px; background:var(--home-sand); color:#62523c; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.hs-home .hs-home-event-action { color:var(--home-purple); font-size:12px; font-weight:600; line-height:1.4; }
.hs-home .hs-home-event-reason { display:block; margin:8px 0 12px; color:var(--home-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.hs-home .hs-home-status { margin-top:2px; color:var(--home-muted); font-size:11px; line-height:1.5; }
.hs-home .hs-home-status:empty { display:none; }
.hs-home .hs-home-next-section .hs-home-section-head { margin-bottom:12px; }
.hs-home .hs-home-next-card { display:flex; align-items:center; gap:13px; width:100%; min-height:98px; padding:15px; border:1px solid var(--home-line); border-radius:20px; background:#fff; box-shadow:var(--home-shadow); color:var(--home-ink); text-align:left; }
.hs-home .hs-home-next-date { flex:0 0 48px; display:grid; place-items:center; align-content:center; min-height:58px; padding:6px; border:1px solid #e8def7; border-radius:13px; background:#f5effc; color:#6d43ae; }
.hs-home .hs-home-next-date span { font-size:11px; font-weight:600; line-height:1.5; text-transform:uppercase; }
.hs-home .hs-home-next-date strong { font-size:23px; font-weight:700; line-height:1.1; }
.hs-home .hs-home-next-copy { min-width:0; flex:1; display:grid; gap:4px; overflow-wrap:anywhere; }
.hs-home .hs-home-next-copy small { color:var(--home-purple); font-size:11px; font-weight:600; }
.hs-home .hs-home-next-copy strong { font-size:14px; font-weight:700; line-height:1.3; }
.hs-home .hs-home-next-copy>span { color:var(--home-muted); font-size:12px; line-height:1.5; }
.hs-home .hs-home-next-arrow { flex:0 0 16px; color:#8b79a5; font-size:20px; }
.hs-home .hs-home-empty { flex:1 0 100%; min-width:0; padding:20px 18px; border:1px solid var(--home-line); border-radius:20px; background:#fff; color:var(--home-muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.hs-home .hs-home-empty p { margin:0; }
.hs-home .hs-home-empty .hs-home-text-button { margin-top:5px; }
.hs-home .hs-home-onboarding { border:1px solid var(--home-line); border-radius:20px; background:#f4f5f8; }
.hs-home .hs-home-onboarding summary { display:flex; align-items:center; gap:11px; min-height:78px; padding:14px; border-radius:20px; list-style:none; cursor:pointer; }
.hs-home .hs-home-onboarding summary::-webkit-details-marker { display:none; }
.hs-home .hs-home-checklist-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:11px; background:#ebe1f7; color:var(--home-purple); }
.hs-home .hs-home-checklist-icon svg { width:20px; height:20px; }
.hs-home .hs-home-onboarding summary>span:nth-child(2) { flex:1; min-width:0; }
.hs-home .hs-home-onboarding summary strong { display:block; font-size:14px; line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
.hs-home .hs-home-onboarding summary small { display:block; margin-top:3px; color:var(--home-muted); font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.hs-home .hs-home-checklist-chevron { flex:none; color:var(--home-purple); font-size:21px; line-height:1; }
.hs-home .hs-home-onboarding details[open] .hs-home-checklist-chevron { transform:rotate(180deg); }
.hs-home .hs-home-checklist-body { padding:0 14px 9px; }
.hs-home .hs-home-checklist { display:grid; gap:5px; padding:0; margin:0; list-style:none; }
.hs-home .hs-home-checklist-step { display:flex; align-items:center; gap:10px; min-height:58px; width:100%; padding:9px 0; border:0; border-top:1px solid #e6ddf0; border-radius:3px; background:transparent; color:var(--home-ink); text-align:left; }
.hs-home .hs-home-step-mark { flex:0 0 25px; display:grid; place-items:center; width:25px; height:25px; border:1px solid #c9b9df; border-radius:50%; background:#fff; color:var(--home-purple); font-size:12px; }
.hs-home .hs-home-checklist-step>span:last-child { min-width:0; overflow-wrap:anywhere; }
.hs-home .hs-home-checklist-step strong { display:block; font-size:13px; font-weight:600; line-height:1.4; }
.hs-home .hs-home-checklist-step small { display:block; margin-top:2px; color:var(--home-muted); font-size:12px; line-height:1.5; }
.hs-home .is-complete .hs-home-step-mark, .hs-home .hs-home-checklist-step.is-complete .hs-home-step-mark { color:#527061; border-color:#c8dacf; background:#edf4ef; }
/* Quiet category identities, with the existing card positions and contents. */
.hs-home .hs-home-shortcut[data-go="people"] { background:#f3fcfe; border-color:#d9edf3; }
.hs-home .hs-home-shortcut[data-go="people"] .hs-home-shortcut-icon { color:var(--home-cyan-ink); background:#ddf5fa; }
.hs-home .hs-home-shortcut[data-go="meetups"] { background:#f3faf7; border-color:#dcece4; }
.hs-home .hs-home-shortcut[data-go="meetups"] .hs-home-shortcut-icon { color:var(--home-teal); background:#e1f2e9; }
.hs-home #openWeeklyGuide { background:#fdfcf8; border-color:#eae5da; }
.hs-home #openWeeklyGuide .hs-home-shortcut-icon { color:var(--home-cyan-ink); background:#e9f5f7; }
.hs-home .hs-home-shortcut-icon { border-radius:11px; }
.hs-home .hs-home-hero-symbol { position:relative; z-index:1; }
.hs-home .hs-home-hero::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  right:0;
  bottom:0;
  width:210px;
  height:96px;
  opacity:.085;
  background:no-repeat right bottom / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 110' fill='white'%3E%3Cpath d='M0 110V87h18v23h8V76h16v34h10V89h14v21h17V68h9v42h6V49h4V24h2v25h4v61h17V83h17v27h9V29l4-14h21l4 14v81h12V51h8V39h10v12h7v59h9V43l6-20 8-14 8 18 5 23 3 60Z'/%3E%3Ccircle cx='103' cy='55' r='12'/%3E%3Ccircle cx='103' cy='79' r='17'/%3E%3Cpath d='m159 24 1-3h11l1 3Z' fill='%235d3ba7'/%3E%3C/svg%3E");
}
.hs-home .ui-line-icon, .hs-home .hs-home-event-icon svg {
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hs-home .hs-home-event-body { padding:16px; }
.hs-home .hs-home-empty { font-size:13px; }
.hs-home .hs-home-shortcut, .hs-home .hs-home-event, .hs-home .hs-home-next-card {
  transition:transform var(--home-press),border-color 150ms ease,box-shadow 150ms ease;
}
.hs-home .hs-home-shortcut:active, .hs-home .hs-home-event:active, .hs-home .hs-home-next-card:active { transform:scale(.97); }

/* Shared navigation appearance. Existing positioning, safe areas and keyboard handling remain in charge. */
.bottom-nav {
  background:#fbfcfd;
  border-top-color:#e5eaf0;
  box-shadow:0 -2px 12px rgba(17,24,39,.035);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.bottom-nav .nav-btn {
  --nav-accent:#6d38d3;
  color:#64748b;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:11px;
  font-weight:500;
  line-height:1.25;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  transition:color 150ms ease,transform 150ms ease;
}
.bottom-nav .nav-btn[data-tab="meetups"] { --nav-accent:#0f766e; }
.bottom-nav .nav-btn.active { color:var(--nav-accent); font-weight:600; background:transparent; box-shadow:none; }
.bottom-nav .nav-btn.active::before { content:""; position:absolute; pointer-events:none; top:1px; left:calc(50% - 5px); width:10px; height:3px; border-radius:2px; background:currentColor; }
.bottom-nav .nav-btn.active .nav-icon { transform:none; }
.bottom-nav .nav-btn:active { transform:scale(.97); }
.bottom-nav .nav-btn:focus-visible { outline:2px solid #6d38d3; outline-offset:-2px; border-radius:8px; }
.bottom-nav .nav-icon svg { stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
html.native-android .bottom-nav { border-color:#e5eaf0; background:#fbfcfd; box-shadow:0 5px 18px -10px rgba(17,24,39,.13); }
@media (hover:hover) {
  .hs-home .hs-home-shortcut:hover, .hs-home .hs-home-event:hover, .hs-home .hs-home-next-card:hover { border-color:#cdb9e8; }
  .hs-home .hs-home-text-button:hover { color:#492382; text-decoration:underline; text-underline-offset:3px; }
}
@media (max-width:350px) {
  .hs-home .hs-home-hero { gap:9px; padding:18px 16px; }
  .hs-home .hs-home-hero h2 { font-size:24px; }
  .hs-home .hs-home-hero-symbol { flex-basis:38px; width:38px; height:38px; }
  .hs-home .hs-home-hero-symbol svg { width:24px; height:24px; }
  .hs-home .hs-home-shortcuts { gap:7px; }
  .hs-home .hs-home-shortcut { padding-inline:5px; }
  .hs-home .hs-home-section h3 { font-size:20px; }
  .hs-home .hs-home-text-button { font-size:11px; }
  .hs-home .hs-home-next-card { gap:9px; padding:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .hs-home *, .hs-home *::before, .hs-home *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .hs-home .hs-home-feed { scroll-snap-type:none; }
  .bottom-nav .nav-btn { transition:none; }
  .hs-home .hs-home-shortcut:active, .hs-home .hs-home-event:active, .hs-home .hs-home-next-card:active, .bottom-nav .nav-btn:active { transform:none; }
}
