/* The member landing page puts destinations first and keeps status in context. */
.site-header.auth-loading .header-buttons { visibility:hidden; }
.home-loading { display:grid; justify-items:center; gap:14px; color:#cdbed3; font-size:14px; font-weight:700; }
.home-loading p { margin:0; }
.home-loading-mark { display:block; width:42px; height:42px; border:3px solid rgba(218,114,238,.25); border-top-color:#df79f2; border-radius:50%; animation:home-spin .85s linear infinite; }
@keyframes home-spin { to { transform:rotate(360deg); } }
main:has(.member-home:not([hidden])) { display:block; min-height:calc(100vh - 76px); padding:34px max(22px,5vw) 70px; }
.member-home { display:block; width:min(1180px,100%); margin:0 auto; }
.home-intro { margin:0 0 25px; }
.home-kicker { margin:0 0 7px; color:#e1a6f2; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-greeting { margin:0; font-size:clamp(24px,3.8vw,39px); font-weight:800; letter-spacing:-.035em; line-height:1.15; }
.home-subline { margin:8px 0 0; color:#c7b9cc; font-size:15px; }
.home-alert { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:14px 17px; margin:0 0 24px; border:1px solid rgba(224,162,245,.3); border-radius:13px; background:#291830; color:#eee1f0; font-size:14px; line-height:1.45; }
.home-alert a { color:#f1b9ff; font-weight:800; white-space:nowrap; }
.home-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 30px; }
.home-tile { position:relative; display:flex; min-width:0; min-height:155px; flex-direction:column; align-items:flex-start; padding:20px 22px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:19px; color:#fff; text-decoration:none; box-shadow:0 12px 28px rgba(0,0,0,.14); transition:transform .15s,border-color .15s,box-shadow .15s; }
.home-tile:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.4); box-shadow:0 18px 34px rgba(0,0,0,.23); }
.home-tile:focus-visible,.home-panel a:focus-visible,.home-utility a:focus-visible { outline:3px solid #f2aaff; outline-offset:3px; }
.tile-discover { background:linear-gradient(135deg,#602475,#311738); }
.tile-messages { background:linear-gradient(135deg,#80315d,#3d1938); }
.tile-connections { background:linear-gradient(135deg,#6b295f,#2b183e); }
.tile-hot { background:linear-gradient(135deg,#873456,#41192e); }
.tile-hotlist { background:linear-gradient(135deg,#5a3779,#2b1c44); }
.tile-forums { background:linear-gradient(135deg,#564071,#261b38); }
.tile-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:auto; border-radius:10px; background:rgba(255,255,255,.13); font-size:24px; line-height:1; }
.tile-label { display:block; margin-top:13px; font-size:21px; font-weight:800; letter-spacing:-.02em; }
.tile-detail { display:block; margin-top:3px; color:#eedfeb; font-size:13px; line-height:1.35; }
.tile-arrow { position:absolute; top:19px; right:20px; color:#f9daf7; font-size:21px; }
.home-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.home-panel { min-width:0; min-height:190px; padding:22px; border:1px solid rgba(255,255,255,.1); border-radius:17px; background:#1c1621; }
.home-panel-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; margin-bottom:15px; }
.home-panel h2 { margin:0; font-size:18px; letter-spacing:-.02em; }
.home-panel-top a { color:#e4a5f6; font-size:13px; font-weight:800; text-decoration:none; }
.home-panel-top a:hover,.home-utility a:hover { text-decoration:underline; }
.home-preview-list { display:grid; gap:10px; }
.home-preview-item { display:block; padding:11px 13px; border:1px solid rgba(255,255,255,.08); border-radius:11px; background:#271e2d; color:#fff; text-decoration:none; }
.home-preview-item strong { display:block; margin-bottom:4px; font-size:14px; }
.home-preview-item span { display:block; color:#c9bbcc; font-size:13px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.home-empty,.home-panel-copy { margin:0; color:#bfb1c4; font-size:14px; line-height:1.5; }
.home-like-count { margin:9px 0 1px; color:#f3b1dd; font-size:52px; font-weight:900; line-height:1; letter-spacing:-.05em; }
.home-hot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.home-hot-grid .home-empty { grid-column:1/-1; }
.home-hot-item { display:block; position:relative; overflow:hidden; border-radius:10px; background:#322238; text-decoration:none; }
.home-hot-item img,.home-hot-item video { display:block; width:100%; aspect-ratio:1.15; object-fit:cover; }
.home-hot-item span { position:absolute; right:5px; bottom:5px; padding:3px 6px; border-radius:6px; background:rgba(9,6,12,.82); color:#fff; font-size:11px; font-weight:800; }
.home-utility { display:flex; flex-wrap:wrap; gap:11px 22px; padding:22px 0 0; }
.home-utility a { color:#cbbad2; font-size:13px; font-weight:700; text-decoration:none; }
.shortcut-count { vertical-align:middle; background:#f6c4e4; }
@media(max-width:800px) { .home-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:610px) {
  main:has(.member-home:not([hidden])) { padding:22px 15px 55px; }
  .home-tiles { gap:9px; margin-bottom:20px; }
  .home-tile { min-height:138px; padding:15px; border-radius:14px; }
  .tile-icon { width:34px; height:34px; font-size:20px; }
  .tile-label { margin-top:11px; font-size:17px; }
  .tile-detail { font-size:12px; }
  .tile-arrow { top:13px; right:14px; font-size:18px; }
  .home-overview { grid-template-columns:1fr; gap:11px; }
  .home-panel { min-height:0; padding:18px; }
  .home-utility { gap:14px 18px; }
}
@media(max-width:360px) { .home-tile { min-height:148px; } .tile-label { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .home-tile { transition:none; } .home-loading-mark { animation:none; } }
