  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }

  :root{
    --bg: #0b0e14;
    --panel: #101521;
    --panel2: #0f1320;
    --text: #e9eefc;
    --muted: #9aa7c3;
    --border: #1b2440;
    --accent: #e50914;
  }

  body{
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: radial-gradient(1200px 600px at 20% 0%, #121a2f 0%, var(--bg) 60%);
    color: var(--text);
  }

  .container{
    width: min(1100px, 92%);
    margin: 0 auto;
  }

  .topbar{
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(11,14,20,0.85);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
  }

  .topbar-inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
  }

  .brand{
    display: inline-flex;
    gap: 10px;
    align-items: center;
    text-decoration: none;
    color: var(--text);
    font-weight: 700;
    letter-spacing: 0.2px;
  }

  .brand-dot{
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--accent);
    box-shadow: 0 0 18px rgba(229, 9, 20, 0.6);
  }

  .nav{ display: flex; gap: 12px; }

  .nav-link{
    text-decoration: none;
    color: var(--muted);
    padding: 8px 10px;
    border-radius: 10px;
    transition: 0.15s;
    border: 1px solid transparent;
  }

  .nav-link:hover{
    color: var(--text);
    background: rgba(16,21,33,0.8);
    border-color: var(--border);
  }

  .nav-logout-form{
    margin: 0;
  }

  .nav-logout-form .nav-link{
    background: transparent;
    cursor: pointer;
    font: inherit;
  }

  @media (max-width: 768px){
    .topbar-inner{
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
    }

    .topbar-inner > div{
      width: 100%;
      min-width: 0;
      justify-content: space-between;
      flex-wrap: wrap;
    }

    .topbar-inner > div .nav-link{
      min-width: 0;
      max-width: 60%;
      overflow-wrap: anywhere;
      text-align: right;
    }

    .topbar-inner .nav{
      width: 100%;
      flex-wrap: wrap;
      justify-content: flex-start;
    }
  }

  .page{ padding: 26px 0 50px; }

  h1,h2,h3{ margin: 0 0 10px; }
  .muted{ color: var(--muted); }

  .hero{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    margin-bottom: 16px;
    border: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(16,21,33,0.9), rgba(15,19,32,0.6));
    border-radius: 18px;
  }

  .searchbar{
  margin-top: 14px;
  display: flex;
  gap: 10px;
}
.searchbar .input{ height: 44px; }
.searchbar .btn{ height: 44px; }


  .input{
    width: 100%;
    padding: 12px 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(10,14,25,0.6);
    color: var(--text);
    outline: none;
  }

  .input:focus{ border-color: rgba(229,9,20,0.8); }

  .btn{
    border: 1px solid var(--border);
    background: rgba(16,21,33,0.85);
    color: var(--text);
    padding: 10px 12px;
    border-radius: 12px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .btn:hover{ border-color: rgba(229,9,20,0.6); }

  .btn-primary{
    background: var(--accent);
    border-color: rgba(229,9,20,0.4);
    color: white;
  }

  .grid{
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
  }

  @media (max-width: 1000px){ .grid{ grid-template-columns: repeat(4, 1fr); } }
  @media (max-width: 780px){ .grid{ grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 520px){ .grid{ grid-template-columns: repeat(2, 1fr); } }

  .card{
    border: 1px solid var(--border);
    background: rgba(16,21,33,0.6);
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.15s, border-color 0.15s;
    text-decoration: none;
    color: inherit;
  }

  .card:hover{
    transform: translateY(-3px);
    border-color: rgba(229,9,20,0.7);
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
  }

  .catalogue-card{
    cursor:pointer;
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  }

  .catalogue-card-link{
    display:flex;
    flex-direction:column;
    min-height:100%;
    color:inherit;
    text-decoration:none;
  }

.catalogue-card .card-body{
  flex:1;
}

.browse-recommendations{
  margin:26px 0 34px;
  padding:20px 0 4px;
  border-top:1px solid rgba(229,9,20,.36);
}

.browse-recommendations-heading,
.browse-all-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.browse-recommendations-heading h2,
.browse-all-heading h2{
  margin:0;
}

.browse-recommendations-heading p{
  margin:6px 0 0;
}

.catalogue-recommendation-items .catalogue-card{
  border-color:rgba(229,9,20,.3);
}

.browse-all-heading{
  margin:10px 0 16px;
}

  .catalogue-card:hover{
    transform:translateY(-3px) scale(1.01);
  }

.catalogue-card-link:focus-visible{
  outline:3px solid rgba(229,9,20,.65);
  outline-offset:-3px;
}

.catalogue-load-status{
  min-height:1.5rem;
  margin:18px 0 0;
  color:var(--muted);
  text-align:center;
}

.catalogue-load-more,.catalogue-fallback-navigation{
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin:18px auto 0;
}

.catalogue-fallback-navigation{
  width:auto;
}

.catalogue-retry{
  margin-left:8px;
  border:0;
  border-bottom:1px solid currentColor;
  padding:0;
  color:var(--text);
  background:transparent;
  font:inherit;
  cursor:pointer;
}

.catalogue-retry:focus-visible,.catalogue-load-more:focus-visible{
  outline:3px solid rgba(229,9,20,.65);
  outline-offset:3px;
}

.catalogue-sentinel{height:1px;}

.js .catalogue-infinite .catalogue-load-more,
.js .catalogue-infinite .catalogue-fallback-navigation,
.catalogue-infinite.is-enhanced .catalogue-load-more,
.catalogue-infinite.is-enhanced .catalogue-fallback-navigation{
  display:none;
}

.browse-state{
  margin-top:18px;
  padding:16px;
  border-top:1px solid var(--border);
  color:var(--muted);
}

.title-hub-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:330px;
  margin-bottom:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(125deg,rgba(10,14,24,.98),rgba(12,18,31,.86));
}

.title-hub-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.3;
  z-index:-2;
}

.title-hub-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(11,14,20,.96) 0%,rgba(11,14,20,.82) 56%,rgba(11,14,20,.52));
}

.title-hub-content{display:flex;align-items:flex-end;gap:22px;min-height:330px;padding:22px;}
.title-hub-poster{width:clamp(125px,19vw,205px);aspect-ratio:2/3;object-fit:cover;flex:0 0 auto;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#0a0d16;box-shadow:0 15px 35px rgba(0,0,0,.36);}
.title-hub-summary{min-width:0;max-width:760px;}
.title-hub-summary h1{font-size:clamp(1.7rem,4vw,2.65rem);line-height:1.08;overflow-wrap:anywhere;margin:10px 0 6px;}
.title-hub-original,.title-hub-meta{color:var(--muted);}
.title-hub-original{margin:0 0 9px;font-size:.9rem;}
.title-hub-meta,.title-hub-genres{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.title-hub-meta{font-size:.9rem;margin:7px 0;}
.title-hub-meta span+span::before{content:"·";margin-right:8px;color:var(--border);}

.title-overview-section,.title-feedback-section{margin:18px 0;padding:16px 0;border-top:1px solid var(--border);}
.title-overview-section p{max-width:76ch;margin:0;color:var(--muted);line-height:1.65;overflow-wrap:anywhere;}

.title-facts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.title-facts > div{display:grid;gap:2px;min-width:138px;max-width:260px;padding:9px 11px;border-left:2px solid rgba(229,9,20,.58);background:rgba(16,21,33,.42);}
.title-facts span{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;}
.title-facts strong{font-size:.88rem;overflow-wrap:anywhere;}

.title-cast,.title-seasons{margin:18px 0;padding:16px 0;border-top:1px solid var(--border);}
.title-cast-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.title-cast-item{min-width:0;overflow:hidden;border:1px solid rgba(27,36,64,.9);border-radius:11px;background:rgba(16,21,33,.48);}
.title-cast-item img{width:100%;aspect-ratio:1/1.12;object-fit:cover;background:#0a0d16;display:block;}
.title-cast-item div{display:grid;gap:3px;padding:8px;}
.title-cast-item strong,.title-cast-item span{overflow-wrap:anywhere;}
.title-cast-item strong{font-size:.82rem;line-height:1.25;}
.title-cast-item span{font-size:.74rem;color:var(--muted);line-height:1.25;}
.title-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.title-season-item{display:flex;min-width:0;gap:8px;padding:8px;border:1px solid rgba(27,36,64,.9);border-radius:11px;background:rgba(16,21,33,.48);}
.title-season-item img{width:48px;height:70px;object-fit:cover;flex:0 0 auto;border-radius:6px;background:#0a0d16;}
.title-season-item div{display:grid;align-content:start;gap:3px;min-width:0;}
.title-season-item strong,.title-season-item span{overflow-wrap:anywhere;}
.title-season-item strong{font-size:.83rem;line-height:1.25;}.title-season-item span{font-size:.74rem;color:var(--muted);}
.movie-social-panel{margin:18px 0;}.moviehub-rating-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.moviehub-rating-summary h2{margin:0 8px 0 0;}
.title-external-social .alert{margin-bottom:0;}

@media (max-width:780px){
  .title-cast-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .title-season-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:520px){
  .title-hub-hero{min-height:0;}
  .title-hub-content{align-items:flex-start;gap:14px;padding:15px;min-height:0;}
  .title-hub-poster{width:108px;}
  .title-hub-summary h1{font-size:1.55rem;}
  .title-overview-section p{font-size:.92rem;}
  .title-facts{gap:7px;}.title-facts > div{min-width:calc(50% - 4px);flex:1;}
  .title-cast-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .title-season-grid{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .browse-searchbar{
    flex-wrap:wrap;
  }

  .browse-searchbar > *{
    min-width:0;
  }

  .browse-searchbar input{
    flex:1 1 100%;
  }

  .browse-searchbar select{
    flex:1 1 0;
  }

  .browse-recommendations{
    margin-top:22px;
    padding-top:16px;
  }

  .browse-recommendations-heading{
    align-items:center;
  }

  .browse-recommendations-heading .badge{
    flex:0 0 auto;
  }

}


  .poster{
    width: 100%;
    aspect-ratio: 2 / 3;
    background: #0a0d16;
    display: block;
    object-fit: cover;
  }

  .card-body{
    padding: 10px 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .title{
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
  }

  .meta{
    display: flex;
    justify-content: space-between;
    color: var(--muted);
    font-size: 12px;
  }

  .badge{
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(15,19,32,0.8);
  }

  .footer{
    border-top: 1px solid var(--border);
    padding: 18px 0;
    color: var(--muted);
  }

  .footer-inner{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
  }

  .tmdb-attribution{
    flex-basis: 100%;
    color: var(--muted);
    font-size: 0.85rem;
    line-height: 1.4;
  }
  .tmdb-attribution-logo{display:inline-flex;align-items:center;max-width:50px;}
  .tmdb-attribution-logo img{display:block;width:42px;height:auto;}
  .tmdb-attribution-logo:focus-visible{outline:3px solid rgba(1,180,228,.7);outline-offset:4px;border-radius:4px;}
  .form-card{
    margin-top: 18px;
    padding: 18px;
    border: 1px solid var(--border);
    background: rgba(16,21,33,0.6);
    border-radius: 18px;
  }

  .form-grid{
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 16px;
    margin-top: 14px;
  }

  @media (max-width: 900px){
    .form-grid{ grid-template-columns: 1fr; }
  }

  .label{ font-size: 13px; color: var(--muted); margin-bottom: 6px; display:block; }

  .textarea{
    width: 100%;
    min-height: 140px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(10,14,25,0.6);
    color: var(--text);
    outline: none;
    resize: vertical;
  }

  .textarea:focus{ border-color: rgba(229,9,20,0.8); }

  .preview{
    border: 1px solid var(--border);
    background: rgba(10,14,25,0.4);
    border-radius: 16px;
    overflow: hidden;
  }

  .preview img{
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    display: block;
  }

  .preview .hint{
    padding: 10px;
    color: var(--muted);
    font-size: 12px;
    border-top: 1px solid var(--border);
  }
  .auth-wrap{
    max-width: 520px;
    margin: 18px auto 0;
  }

  .auth-row{
    display: flex;
    gap: 10px;
  }

  .auth-row .btn{ flex: 1; }

  .alert{
    margin-top: 14px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(229,9,20,0.35);
    background: rgba(229,9,20,0.12);
    color: #ffd2d2;
  }
  .card .meta a{
    color: var(--text);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(15,19,32,0.6);
  }

  .card .meta a:hover{
    border-color: rgba(229,9,20,0.6);
  }

  .tmdb-search-controls{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(170px, 0.35fr) auto;
    gap: 12px;
    align-items: end;
  }

  .tmdb-search-button .btn{
    min-height: 44px;
  }

  .tmdb-manual-link{
    margin: 16px 0 0;
  }

  .tmdb-manual-link a{
    color: var(--muted);
  }

  .tmdb-results-section{
    margin-top: 24px;
  }

  .tmdb-results-heading{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
  }

  .tmdb-results-heading p{
    margin: 0 0 10px;
  }

  .tmdb-results-grid{
    margin-top: 14px;
  }

  .tmdb-result-card{
    display: flex;
    min-width: 0;
    flex-direction: column;
  }

  .tmdb-result-card .card-body{
    flex: 1;
    min-width: 0;
  }

  .tmdb-result-title{
    min-height: 2.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .tmdb-result-meta{
    margin-top: 4px;
  }

  .tmdb-import-form{
    margin-top: auto;
    padding-top: 14px;
  }

  .tmdb-import-form .btn{
    width: 100%;
    justify-content: center;
  }

  .tmdb-poster-placeholder{
    width: 100%;
    aspect-ratio: 2 / 3;
    display: grid;
    place-items: center;
    padding: 14px;
    background: #0a0d16;
    color: var(--muted);
    font-size: 13px;
    text-align: center;
  }

  .trailer-section{
    margin-top: 20px;
  }

  .trailer-embed{
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #0a0d16;
  }

  .trailer-embed iframe{
    width: 100%;
    height: 100%;
    border: 0;
  }

  @media (max-width: 700px){
    .tmdb-search-controls{
      grid-template-columns: 1fr;
    }

    .tmdb-search-button .btn{
      width: 100%;
      justify-content: center;
    }

    .tmdb-results-heading{
      align-items: flex-start;
      flex-direction: column;
      gap: 0;
    }
  }
/* Profile and following system */
  .profile-hero{
    margin-top: 18px;
    padding: 38px 24px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: rgba(16,21,33,0.78);
  }

  .profile-identity{
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
  }

  .profile-avatar{
    width: 160px;
    min-width: 160px;
    max-width: 160px;
    height: 160px;
    min-height: 160px;
    max-height: 160px;
    aspect-ratio: 1 / 1;
    display: block;
    flex-shrink: 0;
    border: 2px solid var(--border);
    border-radius: 50%;
    background: var(--panel2);
    object-fit: cover;
  }

  .profile-identity-content{
    min-width: 0;
  }

  .profile-title-row{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
  }

  .profile-title-copy{
    min-width: 0;
  }

  .profile-title-copy h1{
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.4rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .profile-join-date{
    margin: 12px 0 0;
    font-size: 0.92rem;
  }

  .profile-actions{
    flex: 0 0 auto;
    padding-top: 2px;
  }

  .follow-action-form{
    margin: 0;
  }

  .follow-action-button,
  .profile-owner-action{
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 12px;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background 0.16s, border-color 0.16s, box-shadow 0.16s, color 0.16s, transform 0.16s;
  }

  .follow-action-button--follow{
    border-color: rgba(229,9,20,0.9);
    background: var(--accent);
    box-shadow: 0 8px 18px rgba(229,9,20,0.2);
  }

  .follow-action-button--follow:hover{
    border-color: #ff4c55;
    background: #f21724;
    box-shadow: 0 10px 22px rgba(229,9,20,0.3);
    transform: translateY(-1px);
  }

  .follow-action-button--follow:active{
    transform: translateY(0);
    box-shadow: none;
  }

  .follow-action-button--following,
  .profile-owner-action{
    border: 1px solid var(--border);
    background: rgba(10,14,25,0.5);
    color: var(--text);
  }

  .follow-action-button--following:hover{
    border-color: rgba(229,9,20,0.75);
    background: rgba(229,9,20,0.12);
    color: #ffd2d2;
  }

  .profile-owner-action:hover{
    border-color: rgba(229,9,20,0.65);
    background: rgba(229,9,20,0.1);
  }

  .follow-action-button:focus-visible,
  .profile-owner-action:focus-visible,
  .follow-list-name:focus-visible,
  .follow-list-back:focus-visible{
    outline: 2px solid rgba(229,9,20,0.95);
    outline-offset: 3px;
  }

  .profile-bio{
    max-width: 760px;
    margin: 20px 0 0;
    line-height: 1.65;
    overflow-wrap: anywhere;
  }

  .profile-social-meta{
    display: flex;
    align-items: stretch;
    gap: 14px;
    margin-top: 20px;
  }

  .profile-social-meta-item{
    display: flex;
    min-width: 76px;
    flex-direction: column;
    gap: 5px;
    padding: 5px 7px;
    border-radius: 10px;
    color: var(--text);
    line-height: 1.1;
    text-decoration: none;
    transition: background 0.16s ease, color 0.16s ease;
  }

  .profile-social-meta-value{
    font-size: 1.14rem;
    font-weight: 750;
  }

  .profile-social-meta-item .muted{
    font-size: 0.86rem;
  }

  .profile-social-meta-item:hover{
    background: rgba(229,9,20,0.1);
    color: #fff;
  }

  .profile-social-meta-item:focus-visible{
    outline: 2px solid rgba(229,9,20,0.95);
    outline-offset: 3px;
  }

  .profile-stats-section{
    margin-top: 16px;
  }

  .profile-stats{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }

  .profile-stat-card{
    display: flex;
    min-width: 0;
    min-height: 100px;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 15px 16px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: rgba(10,14,25,0.48);
  }

  .profile-stat-card .stat-value{
    display: block;
    color: var(--text);
    font-size: 1.65rem;
    font-weight: 750;
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .profile-stat-card .muted{
    font-size: 0.86rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }


  .profile-content-section{
    margin-top: 24px;
  }

  .profile-edit .textarea{
    max-width: 100%;
  }

  .profile-edit{
    scroll-margin-top: 90px;
  }

  .review-item{
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
  }

  .review-item:last-child{
    border-bottom: 0;
  }

  .checkbox-row{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    color: var(--muted);
  }

  .follow-list-hero{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
    padding: 22px 24px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: rgba(16,21,33,0.78);
  }

  .follow-list-hero h1{
    margin: 0;
    font-size: clamp(1.45rem, 3vw, 1.9rem);
    overflow-wrap: anywhere;
  }

  .follow-list-hero .muted{
    margin: 8px 0 0;
  }

  .follow-list-back{
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 9px 13px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(10,14,25,0.45);
    color: var(--text);
    font-size: 0.9rem;
    text-decoration: none;
    transition: border-color 0.16s, background 0.16s;
  }

  .follow-list-back:hover{
    border-color: rgba(229,9,20,0.65);
    background: rgba(229,9,20,0.08);
  }

  .follow-list-panel{
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: rgba(16,21,33,0.54);
  }

  .follow-list{
    display: grid;
    gap: 10px;
  }

  .follow-list-item{
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 14px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: rgba(10,14,25,0.44);
  }

.follow-list-item:hover{
  border-color: rgba(27,36,64,0.95);
  background: rgba(10,14,25,0.6);
}

.follow-list-item--unavailable{
  grid-template-columns:minmax(0, 1fr);
  min-height:64px;
  padding-block:13px;
}

.follow-list-unavailable-copy{
  min-width:0;
}

.follow-list-unavailable-copy strong{
  display:block;
  color:var(--text);
  font-size:1rem;
  line-height:1.3;
}

.follow-list-unavailable-copy p{
  margin:4px 0 0;
  line-height:1.45;
  overflow-wrap:normal;
  word-break:normal;
}

  .follow-list-avatar{
    width: 64px;
    min-width: 64px;
    max-width: 64px;
    height: 64px;
    min-height: 64px;
    max-height: 64px;
    aspect-ratio: 1 / 1;
    display: block;
    flex-shrink: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--panel2);
    object-fit: cover;
  }

  .follow-list-content{
    min-width: 0;
  }

  .follow-list-name{
    color: var(--text);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-decoration: none;
  }

  .follow-list-name:hover{
    color: #ffffff;
    text-decoration: underline;
    text-decoration-color: rgba(229,9,20,0.7);
    text-underline-offset: 4px;
  }

  .follow-list-bio{
    margin: 5px 0 0;
    font-size: 0.9rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .follow-list-action{
    justify-self: end;
  }

  .follow-pagination{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 18px;
  }

  .follow-list-empty{
    padding: 28px 18px;
    text-align: center;
  }

  .follow-list-empty h2{
    margin: 0;
    font-size: 1.08rem;
  }

  .follow-list-empty .muted{
    margin: 8px 0 0;
  }

  @media (max-width: 900px){
    .profile-stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  @media (max-width: 720px){
    .profile-hero{
      padding: 20px;
    }

    .profile-identity{
      grid-template-columns: 104px minmax(0, 1fr);
      gap: 18px;
    }

    .profile-avatar{
      width: 104px;
      min-width: 104px;
      max-width: 104px;
      height: 104px;
      min-height: 104px;
      max-height: 104px;
    }

  }

  @media (max-width: 560px){
    .profile-hero,
    .follow-list-hero{
      padding: 18px;
      border-radius: 18px;
    }

    .profile-identity{
      grid-template-columns: 1fr;
    }

    .profile-avatar{
      width: 96px;
      min-width: 96px;
      max-width: 96px;
      height: 96px;
      min-height: 96px;
      max-height: 96px;
    }

    .profile-title-row{
      align-items: stretch;
      flex-direction: column;
      gap: 14px;
    }

    .profile-actions{
      align-self: flex-start;
      padding-top: 0;
    }

    .follow-list-hero{
      align-items: flex-start;
      flex-direction: column;
      gap: 14px;
    }

    .follow-list-panel{
      padding: 12px;
    }

    .follow-list-item{
      grid-template-columns: 56px minmax(0, 1fr);
      align-items: start;
      gap: 12px;
    }

    .follow-list-item--unavailable{
      grid-template-columns:minmax(0, 1fr);
      min-height:56px;
      padding-block:12px;
    }

    .follow-list-avatar{
      width: 56px;
      min-width: 56px;
      max-width: 56px;
      height: 56px;
      min-height: 56px;
      max-height: 56px;
    }

    .follow-list-action{
      grid-column: 2;
      justify-self: start;
      margin-top: 2px;
    }

    .follow-pagination{
      align-items: stretch;
      flex-direction: column;
    }

    .follow-pagination .btn{
      justify-content: center;
    }

    .searchbar{
      flex-wrap: wrap;
    }

    .searchbar .input,
    .searchbar .btn{
      width: 100%;
    }
  }

  @media (max-width: 340px){
    .profile-stats{ grid-template-columns: 1fr; }
  }

/* Movie Communities V1 â€” Checkpoint 1 */
.movie-community-section{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.movie-community-copy,
.community-hero-content{
  min-width:0;
}

.community-meta-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.community-meta-row h2{
  margin:0;
}

.community-member-count{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:.88rem;
  font-weight:700;
  white-space:nowrap;
}

.movie-community-copy p{
  margin:9px 0 0;
  overflow-wrap:anywhere;
}

.community-actions{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  flex-wrap:wrap;
  gap:10px;
}

.community-membership-form{
  margin:0;
}

.community-membership-button,
.community-view-link,
.community-login-link{
  min-height:40px;
  padding:9px 14px;
  border-radius:10px;
  font-weight:700;
}

.community-membership-button{
  border:1px solid transparent;
  cursor:pointer;
}

.community-membership-button--join{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}

.community-membership-button--join:hover{
  background:#d83333;
  border-color:#d83333;
  transform:translateY(-1px);
}

.community-membership-button--joined{
  background:rgba(255,255,255,.03);
  border-color:var(--border);
  color:var(--text);
}

.community-membership-button--joined:hover{
  border-color:rgba(239,68,68,.75);
  background:rgba(239,68,68,.1);
  color:#fff;
}

.community-membership-button:active{
  transform:translateY(0);
}

.community-membership-button:focus-visible,
.community-view-link:focus-visible,
.community-login-link:focus-visible,
.community-back-link:focus-visible{
  outline:3px solid rgba(239,68,68,.45);
  outline-offset:3px;
}

.community-view-link,
.community-login-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.community-hero{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:20px;
  margin-top:18px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}

.community-hero-poster{
  display:block;
  width:110px;
  min-width:110px;
  max-width:110px;
  height:165px;
  min-height:165px;
  max-height:165px;
  aspect-ratio:2 / 3;
  border:1px solid var(--border);
  border-radius:12px;
  object-fit:cover;
}

.community-back-link{
  color:var(--muted);
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
}

.community-back-link:hover{
  color:var(--text);
}

.community-hero h1{
  margin:10px 0 0;
  overflow-wrap:anywhere;
}

.community-intro{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.65;
  overflow-wrap:anywhere;
}

.community-hero .community-actions{
  margin-top:16px;
}

.community-shell{
  margin-top:16px;
  padding:28px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.02);
}

.community-empty-state{
  max-width:660px;
}

.community-empty-state h2{
  margin-top:0;
}

.community-membership-status{
  margin:0 0 16px;
  color:var(--text);
  font-weight:700;
}

@media (max-width: 640px){
  .movie-community-section{
    align-items:stretch;
    flex-direction:column;
  }

  .movie-community-section .community-actions,
  .community-hero .community-actions{
    width:100%;
  }

  .movie-community-section .community-membership-form,
  .movie-community-section .community-view-link,
  .movie-community-section .community-login-link,
  .community-hero .community-membership-form,
  .community-hero .community-view-link,
  .community-hero .community-login-link{
    width:100%;
  }

  .movie-community-section .community-membership-button,
  .community-hero .community-membership-button{
    justify-content:center;
    width:100%;
  }

  .community-hero{
    grid-template-columns:84px minmax(0,1fr);
    gap:16px;
    padding:18px;
  }

  .community-hero-poster{
    width:84px;
    min-width:84px;
    max-width:84px;
    height:126px;
    min-height:126px;
    max-height:126px;
  }

  .community-shell{
    padding:20px;
  }
}

/* Movie Communities V1 â€” Checkpoint 1 polish */
.profile-stats{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.profile-section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.profile-section-heading h2{
  margin:0;
}

.profile-empty-state{
  margin:16px 0 0;
}

.joined-communities-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}

.joined-community-card{
  display:flex;
  min-width:0;
  gap:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(10,14,25,.38);
  color:var(--text);
  text-decoration:none;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}

.joined-community-card:hover{
  border-color:rgba(229,9,20,.55);
  background:rgba(229,9,20,.06);
  transform:translateY(-1px);
}

.joined-community-card:focus-visible{
  outline:3px solid rgba(229,9,20,.45);
  outline-offset:3px;
}

.joined-community-poster{
  display:block;
  flex-shrink:0;
  width:58px;
  min-width:58px;
  max-width:58px;
  height:87px;
  min-height:87px;
  max-height:87px;
  aspect-ratio:2 / 3;
  border:1px solid var(--border);
  border-radius:9px;
  object-fit:cover;
}

.joined-community-content{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  justify-content:center;
  gap:9px;
}

.joined-community-title{
  color:var(--text);
  font-size:.98rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.joined-community-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.joined-community-members{
  color:var(--muted);
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
}

.community-member-count{
  min-height:34px;
  padding:6px 12px;
  font-size:1.18rem;
  line-height:1;
  color:var(--text);
}

.community-context-label{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.community-hero h1{
  margin:6px 0 0;
}

.community-meta-row{
  margin-top:12px;
}

.community-intro{
  margin:14px 0 0;
  color:var(--text);
  font-weight:700;
}

.community-secondary-copy{
  margin:6px 0 0;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.community-invitation{
  margin:10px 0 0;
  color:var(--text);
  font-weight:700;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.community-supporting-copy{
  margin:4px 0 0;
  line-height:1.5;
  overflow-wrap:anywhere;
}

.community-empty-state h2{
  margin-bottom:8px;
}

.community-empty-state .muted{
  margin:0;
  line-height:1.6;
}

.community-future-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:.85rem;
}

.community-membership-form{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.community-joined-leave,
.community-leave-hint{
  display:none;
}

@media (hover:hover){
  .community-membership-button--joined:hover .community-joined-default,
  .community-membership-button--joined:focus-visible .community-joined-default{
    display:none;
  }

  .community-membership-button--joined:hover .community-joined-leave,
  .community-membership-button--joined:focus-visible .community-joined-leave{
    display:inline;
  }
}

@media (hover:none){
  .community-leave-hint{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:.76rem;
    line-height:1;
  }
}

@media (max-width: 900px){
  .joined-communities-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .profile-stats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .community-member-count{
    font-size:1.12rem;
  }

  .community-membership-form{
    align-items:stretch;
  }

  .community-leave-hint{
    text-align:center;
  }
}

@media (max-width: 420px){
  .joined-communities-grid{
    grid-template-columns:1fr;
  }
}

/* Joined Communities profile destination cards */
.joined-communities-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.profile-empty-state-support{
  margin:5px 0 0;
  font-size:.88rem;
}

.joined-community-card{
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border-left:3px solid rgba(229,9,20,.65);
  background:rgba(10,14,25,.42);
}

.joined-community-card:hover{
  border-left-color:var(--accent);
  background:rgba(229,9,20,.08);
}

.joined-community-poster{
  width:52px;
  min-width:52px;
  max-width:52px;
  height:74px;
  min-height:74px;
  max-height:74px;
  border-radius:8px;
}

.joined-community-content{
  gap:6px;
}

.joined-community-meta{
  gap:6px;
}

.joined-community-open{
  color:var(--accent);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.01em;
}

.joined-community-card:hover .joined-community-open{
  color:#ff5a64;
}

@media (max-width: 560px){
  .joined-communities-grid{
    grid-template-columns:1fr;
  }
}

/* Unified Discussions â€” Checkpoint 2 */
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.discussion-home,
.community-discussions,
.post-page{
  max-width:780px;
  margin-inline:auto;
}

.discussion-feed-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:20px;
  border-bottom:1px solid var(--border);
}

.discussion-feed-tab{
  padding:10px 12px;
  border-bottom:2px solid transparent;
  color:var(--muted);
  font-weight:750;
  text-decoration:none;
}

.discussion-feed-tab:hover,
.discussion-feed-tab.is-active{
  border-bottom-color:var(--accent);
  color:var(--text);
}

.discussion-feed-tab:focus-visible,
.post-author:focus-visible,
.post-timestamp:focus-visible,
.post-title-pill:focus-visible,
.post-delete-button:focus-visible{
  outline:3px solid rgba(229,9,20,.45);
  outline-offset:3px;
}

.discussion-feed-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.discussion-feed-heading h1{
  margin-bottom:5px;
}

.post-login-prompt,
.post-empty-state,
.community-read-only-prompt{
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(16,21,33,.65);
}











.post-login-prompt,
.community-read-only-prompt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.post-login-prompt p,
.community-read-only-prompt p,
.post-empty-state p{
  margin:0;
  overflow-wrap:anywhere;
}

.post-empty-state{
  margin-top:16px;
  text-align:center;
}

.post-empty-state h2{
  margin-bottom:7px;
  font-size:1.08rem;
}

.post-feed{
  display:grid;
  gap:12px;
}

.post-card{
  min-width:0;
  padding:15px;
  border:1px solid var(--border);
  border-radius:15px;
  background:rgba(16,21,33,.62);
}

.post-card-header{
  display:flex;
  align-items:center;
  min-width:0;
  gap:10px;
}

.post-avatar{
  display:block;
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  max-width:42px;
  height:42px;
  min-height:42px;
  max-height:42px;
  aspect-ratio:1 / 1;
  border:1px solid var(--border);
  border-radius:50%;
  object-fit:cover;
}

.post-author-meta{
  display:grid;
  min-width:0;
  gap:2px;
}

.post-author,
.post-timestamp,
.post-title-pill{
  text-decoration:none;
}

.post-author{
  width:max-content;
  max-width:100%;
  color:var(--text);
  font-weight:800;
  overflow-wrap:anywhere;
}

.post-author:hover,
.post-title-pill:hover{
  color:#ff5a64;
}

.post-timestamp{
  color:var(--muted);
  font-size:.8rem;
}

.post-timestamp:hover{
  color:var(--text);
}

.post-delete-form{
  margin:0 0 0 auto;
}

.post-delete-button{
  padding:5px 7px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  font-size:.83rem;
}

.post-delete-button:hover{
  background:rgba(229,9,20,.1);
  color:#ff727a;
}

.post-title-context{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:13px 0 0 52px;
  font-size:.83rem;
}

.post-title-context .muted{
  display:block;
  width:100%;
  font-size:.76rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.post-title-pill{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 9px;
  border:1px solid rgba(229,9,20,.38);
  border-radius:999px;
  background:rgba(229,9,20,.08);
  color:var(--text);
  font-weight:750;
  overflow-wrap:anywhere;
}

.post-body{
  margin:14px 0 0;
  color:var(--text);
  line-height:1.65;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.post-card-footer{
  display:flex;
  align-items:center;
  min-height:24px;
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(27,36,64,.8);
}

.post-comment-count{
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
}

.post-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:18px;
}

.post-page-heading{
  margin-bottom:14px;
}

.post-page-heading h1{
  margin:9px 0 0;
}











.community-hero--with-feed{
  margin-bottom:14px;
}

.community-discussions{
  margin-top:0;
}



.discover-titles-section{
  margin-top:42px;
  scroll-margin-top:90px;
}

.discover-titles-hero{
  margin-bottom:0;
}

.search-result-copy{
  margin-top:10px;
}

.profile-discussions .profile-section-heading{
  margin-bottom:14px;
}

.profile-post-feed .post-card{
  background:rgba(10,14,25,.34);
}

@media (max-width:640px){
  .discussion-home,
  .community-discussions,
  .post-page{
    max-width:none;
  }

  .post-login-prompt,
  .community-read-only-prompt{
    align-items:flex-start;
    flex-direction:column;
  }

  .post-login-prompt .btn,
  .community-read-only-prompt .btn{
    width:100%;
    justify-content:center;
  }

  .post-title-context{
    margin-left:0;
  }


  .post-pagination{
    flex-wrap:wrap;
  }
}

/* Unified Discussions polish and social navigation */
.post-feed{gap:10px;}
.post-card{padding:12px;border-radius:12px;background:rgba(16,21,33,.56);}
.post-card-header{gap:9px;}
.post-avatar{flex-basis:38px;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;max-height:38px;}
.post-author-meta{gap:1px;}
.post-title-context{margin:9px 0 0 47px;gap:6px;}
.post-title-context .muted{font-size:.71rem;}
.post-title-pill{padding:4px 8px;font-size:.82rem;}
.post-body{margin-top:10px;line-height:1.58;}

.post-like-control{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;line-height:1;}
button.post-like-control{cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;}
button.post-like-control:hover:not(:disabled){border-color:rgba(229,9,20,.38);background:rgba(229,9,20,.08);color:#ff6d75;}
button.post-like-control:active:not(:disabled){transform:translateY(1px);}
button.post-like-control:focus-visible{outline:3px solid rgba(229,9,20,.48);outline-offset:2px;}
.post-like-control.is-liked{color:#ff5963;}
.post-like-control--guest{cursor:default;}
.post-like-icon{font-size:1.05rem;line-height:1;}
button.post-like-control:disabled,.post-like-control.is-pending{cursor:wait;opacity:.62;}
.post-like-control--error{border-color:rgba(255,114,122,.72);color:#ff727a;}
.post-page .post-card{padding:15px;}

/* Keep mobile browser focus from zooming text fields without disabling user zoom. */
@media (max-width:768px), (pointer:coarse){
  .input,
  .textarea,
  .social-composer-textarea{
    font-size:16px;
  }

  /* Compact controls retain their visual design while receiving reliable touch targets. */
  button.post-like-control,
  .post-delete-button,
  .follow-action-button,
  .community-membership-button,
  .community-view-link,
  .community-login-link,
  .discussion-feed-tab{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select:none;
    user-select:none;
  }

  button.post-like-control,
  .post-delete-button{
    min-width:44px;
    min-height:44px;
  }

  .follow-action-button,
  .community-membership-button,
  .community-view-link,
  .community-login-link,
  .discussion-feed-tab{
    min-height:44px;
  }

  .discussion-feed-tab{
    display:inline-flex;
    align-items:center;
  }
}

.social-composer{margin-bottom:16px;padding:8px 10px;border:1px solid var(--border);border-radius:18px;background:rgba(16,21,33,.66);}
.social-composer-form{display:flex;align-items:center;min-width:0;gap:10px;}
.social-composer-avatar{display:block;flex:0 0 38px;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;max-height:38px;aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:50%;object-fit:cover;}
.social-composer-textarea{display:block;flex:1;box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px;max-height:240px;margin:0;padding:10px 2px;border:0;border-radius:0;background:transparent;color:var(--text);outline:0;resize:none;overflow-x:hidden;overflow-y:auto;line-height:1.45;overflow-wrap:anywhere;}
.social-composer-textarea::placeholder{color:var(--muted);opacity:1;}
.social-composer-textarea:focus{border:0;box-shadow:none;}
.social-composer-submit{flex:0 0 auto;padding:9px 13px;border-radius:10px;}
.social-composer-submit[hidden]{display:none;}
.social-composer-alert{margin:0 0 8px;}

.discover-communities{margin:0 0 16px;padding:13px;border:1px solid var(--border);border-radius:14px;background:rgba(16,21,33,.45);}
.discover-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;}
.discover-section-heading h2{margin:0;font-size:1rem;}
.discover-section-heading .muted{font-size:.8rem;}
.discover-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.discover-community-card{display:flex;align-items:center;min-width:0;gap:9px;padding:8px;border:1px solid rgba(27,36,64,.9);border-radius:10px;background:rgba(10,14,25,.38);color:var(--text);text-decoration:none;}
.discover-community-card:hover{border-color:rgba(229,9,20,.5);background:rgba(229,9,20,.06);}
.discover-community-card:focus-visible{outline:3px solid rgba(229,9,20,.45);outline-offset:3px;}
.discover-community-poster{display:block;flex:0 0 38px;width:38px;min-width:38px;max-width:38px;height:55px;min-height:55px;max-height:55px;aspect-ratio:2 / 3;border-radius:6px;object-fit:cover;}
.discover-community-card span{display:grid;min-width:0;gap:3px;}
.discover-community-card strong{font-size:.88rem;line-height:1.3;overflow-wrap:anywhere;}
.discover-community-card small{color:var(--muted);font-size:.74rem;overflow-wrap:anywhere;}

.community-hero--with-feed{grid-template-columns:86px minmax(0,1fr);gap:15px;padding:16px;margin-bottom:10px;}
.community-hero--with-feed .community-hero-poster{width:86px;min-width:86px;max-width:86px;height:129px;min-height:129px;max-height:129px;}
.community-hero--with-feed .community-context-label{margin-top:4px;}
.community-hero--with-feed h1{margin-top:3px;font-size:1.5rem;}
.community-hero--with-feed .community-meta-row{margin-top:8px;}
.community-hero--with-feed .community-actions{margin-top:10px;}
.community-discussions{margin-top:0;}
.community-social-composer{margin-top:0;}

.profile-activity-restricted{display:grid;gap:10px;}
.profile-activity-restricted h2,.profile-activity-restricted p{margin:0;}
.profile-activity-restricted .btn{justify-self:start;}
.profile-shared-interest-note{margin:18px 0 -6px;padding-left:11px;border-left:2px solid rgba(229,9,20,.65);font-size:.87rem;}

@media (max-width:640px){
  .discover-community-grid{grid-template-columns:1fr;}
  .community-hero--with-feed{grid-template-columns:72px minmax(0,1fr);padding:13px;}
  .community-hero--with-feed .community-hero-poster{width:72px;min-width:72px;max-width:72px;height:108px;min-height:108px;max-height:108px;}
  .community-hero--with-feed h1{font-size:1.3rem;}
}

/* Discussion title hover preview */
.title-preview-popover{
  position:fixed;
  z-index:60;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  width:min(350px, calc(100vw - 24px));
  gap:11px;
  padding:10px;
  border:1px solid rgba(229,9,20,.34);
  border-radius:13px;
  background:#121827;
  box-shadow:0 18px 42px rgba(0,0,0,.48);
  color:var(--text);
}

.title-preview-popover[hidden]{
  display:none;
}

.title-preview-poster{
  display:block;
  width:72px;
  min-width:72px;
  max-width:72px;
  height:108px;
  min-height:108px;
  max-height:108px;
  aspect-ratio:2 / 3;
  border-radius:8px;
  background:#0a0d16;
  object-fit:cover;
}

.title-preview-content{
  display:grid;
  align-content:start;
  min-width:0;
  gap:7px;
}

.title-preview-title{
  color:var(--text);
  font-size:.95rem;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.title-preview-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  color:var(--muted);
  font-size:.78rem;
}

.title-preview-year,
.title-preview-rating{
  white-space:nowrap;
}

.title-preview-description{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:var(--muted);
  font-size:.81rem;
  line-height:1.45;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

@media (max-width:420px){
  .title-preview-popover{
    grid-template-columns:62px minmax(0,1fr);
    gap:9px;
    padding:9px;
  }

  .title-preview-poster{
    width:62px;
    min-width:62px;
    max-width:62px;
    height:93px;
    min-height:93px;
    max-height:93px;
  }
}
/* Unified user feedback on title pages */
.user-feedback{
  margin-top:20px;
}

.user-feedback-list{
  display:grid;
  gap:0;
}

.user-feedback-entry{
  padding:14px 0;
  border-bottom:1px solid var(--border);
}

.user-feedback-entry:last-child{
  border-bottom:0;
}

.user-feedback-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.user-feedback-author{
  min-width:0;
  color:var(--text);
  overflow-wrap:anywhere;
  text-decoration:none;
}

.user-feedback-author:hover{
  color:var(--accent);
}

.user-feedback-author:focus-visible{
  border-radius:4px;
  outline:2px solid var(--accent);
  outline-offset:3px;
}

.user-feedback-rating{
  flex:0 0 auto;
  white-space:nowrap;
}

.user-feedback-review{
  margin:9px 0 0;
  line-height:1.6;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.user-feedback-date{
  margin:9px 0 0;
  font-size:13px;
}

.user-feedback-delete{
  margin-top:10px;
}

/* Profile UX V2: compact social activity, not dashboard statistics. */
.profile-activity-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:16px 0 4px;
  padding:13px 2px;
  border-bottom:1px solid var(--border);
  color:var(--muted);
  font-size:.94rem;
}

.profile-activity-summary span{white-space:nowrap;}
.profile-activity-summary span + span::before{content:"·";margin-right:18px;color:var(--border);}
.profile-activity-summary strong{color:var(--text);font-weight:800;}

.profile-content-section.profile-activity-section,
.profile-content-section.profile-activity-restricted{
  margin-top:0;
  padding:24px 0;
  border-top:1px solid var(--border);
}

.profile-activity-section:first-of-type{border-top:0;}
.profile-section-heading{margin-bottom:14px;}
.profile-view-all{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  color:var(--muted);
  font-size:.88rem;
  font-weight:750;
  text-decoration:none;
}
.profile-view-all:hover{color:var(--text);text-decoration:underline;text-decoration-color:rgba(229,9,20,.8);text-underline-offset:4px;}
.profile-view-all:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

.profile-rating-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.profile-rating-card{
  display:flex;
  align-items:center;
  min-width:0;
  gap:10px;
  padding:9px;
  border-left:2px solid rgba(229,9,20,.55);
  border-radius:9px;
  background:rgba(16,21,33,.34);
  color:var(--text);
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease;
}
.profile-rating-card:hover{border-left-color:var(--accent);background:rgba(229,9,20,.07);}
.profile-rating-card:focus-visible{outline:3px solid rgba(229,9,20,.45);outline-offset:3px;}
.profile-rating-card img{width:42px;height:63px;flex:0 0 auto;border-radius:6px;object-fit:cover;background:#0a0d16;}
.profile-rating-card span{display:grid;min-width:0;gap:5px;}
.profile-rating-card strong{font-size:.88rem;line-height:1.25;overflow-wrap:anywhere;}
.profile-rating-card small{color:var(--muted);font-size:.78rem;}
.profile-rating-grid--full{grid-template-columns:repeat(4,minmax(0,1fr));}

.profile-review-list{display:grid;gap:0;}
.profile-review-preview{padding:14px 0;border-bottom:1px solid rgba(27,36,64,.8);}
.profile-review-preview:last-child{border-bottom:0;}
.profile-review-preview a{color:var(--text);text-decoration:none;}
.profile-review-preview a:hover{color:var(--accent);}
.profile-review-preview time{margin-left:7px;font-size:.82rem;}
.profile-review-preview p{max-width:78ch;margin:8px 0 0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere;}

.profile-activity-hero{gap:8px;}
.profile-activity-hero > a{width:max-content;max-width:100%;text-decoration:none;}
.profile-activity-hero > a:hover{text-decoration:underline;text-underline-offset:4px;}
.profile-activity-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 20px;}

@media (max-width:800px){
  .profile-rating-grid,.profile-rating-grid--full{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:560px){
  .profile-activity-summary{gap:7px 12px;font-size:.88rem;}
  .profile-activity-summary span + span::before{content:none;}
  .profile-rating-grid,.profile-rating-grid--full{grid-template-columns:1fr;}
  .profile-rating-card{min-height:76px;}
  .profile-activity-pagination{align-items:stretch;flex-wrap:wrap;}
  .profile-activity-pagination .btn{justify-content:center;}
}

@media (max-width: 640px){
  .user-feedback-header{
    align-items:flex-start;
    flex-wrap:wrap;
  }
}

/* Conversation actions and comments */
.post-card-footer{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:4px;
  min-height:0;
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid rgba(27,36,64,.8);
}

.post-like-control,
.post-comment-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:36px;
  padding:6px 10px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.82rem;
  font-weight:750;
  line-height:1;
  text-decoration:none;
}

button.post-like-control{
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}

button.post-like-control:hover:not(:disabled),
a.post-comment-count:hover{
  border-color:rgba(229,9,20,.34);
  background:rgba(229,9,20,.08);
  color:#ff7078;
}

button.post-like-control:active:not(:disabled),
a.post-comment-count:active{
  transform:translateY(1px);
}

button.post-like-control:focus-visible,
a.post-comment-count:focus-visible,
.comment-author:focus-visible,
.comment-delete-button:focus-visible{
  outline:3px solid rgba(229,9,20,.45);
  outline-offset:3px;
}

.post-like-control.is-liked{
  color:#ff5963;
}

.post-like-control--guest{
  cursor:default;
}

.post-like-icon,
.post-comment-icon{
  font-size:1.05rem;
  line-height:1;
}


.post-action-count{
  color:inherit;
  font-variant-numeric:tabular-nums;
}

button.post-like-control:disabled,
.post-like-control.is-pending{
  cursor:wait;
  opacity:.62;
}

.post-like-control--error{
  border-color:rgba(255,114,122,.72);
  color:#ff727a;
}

.social-composer-submit:disabled{
  border-color:rgba(154,167,195,.22);
  background:rgba(154,167,195,.14);
  color:rgba(233,238,252,.56);
  cursor:not-allowed;
  opacity:.72;
  transform:none;
}

.comment-section{
  margin-top:22px;
  padding-top:2px;
}

.comment-section-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.comment-section-heading h2{
  margin:0;
  font-size:1.08rem;
}

.comment-thread{
  border-top:1px solid rgba(27,36,64,.8);
}

.comment-list{
  display:grid;
  gap:0;
  padding:0;
}

.comment-card{
  display:flex;
  align-items:flex-start;
  min-width:0;
  gap:11px;
  padding:13px 0;
  border:0;
  border-bottom:1px solid rgba(27,36,64,.72);
  background:transparent;
}

.comment-card:last-child{
  border-bottom:0;
}

.comment-card:target{
  animation:comment-target-flash 2.2s ease-out;
}

@keyframes comment-target-flash{
  0%,38%{ background:rgba(229,9,20,.10); }
  100%{ background:transparent; }
}

.comment-avatar{
  display:block;
  flex:0 0 38px;
  width:38px;
  min-width:38px;
  max-width:38px;
  height:38px;
  min-height:38px;
  max-height:38px;
  aspect-ratio:1 / 1;
  border:1px solid var(--border);
  border-radius:50%;
  object-fit:cover;
}

.comment-content{
  min-width:0;
  flex:1;
}

.comment-card-header{
  display:flex;
  align-items:flex-start;
  min-width:0;
}

.comment-author-meta{
  display:flex;
  align-items:center;
  min-width:0;
  flex-wrap:wrap;
  gap:4px 8px;
}

.comment-author{
  max-width:100%;
  color:var(--text);
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.comment-author:hover{
  color:#ff5a64;
}

.comment-timestamp{
  color:var(--muted);
  font-size:.75rem;
  white-space:nowrap;
}

.comment-non-member-badge{
  padding:2px 6px;
  border:1px solid rgba(154,167,195,.28);
  border-radius:999px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}

.comment-body{
  margin:6px 0 0;
  color:var(--text);
  line-height:1.58;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.comment-delete-form{
  margin:0;
}

.comment-delete-button{
  min-height:28px;
  padding:2px 4px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  font-size:.75rem;
  line-height:1.2;
}

.comment-delete-button:hover{
  color:#ff727a;
}

.comment-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:16px;
}

.comment-composer,
.comment-login-prompt{
  margin:18px 0 0;
  padding:13px 0 0;
  border:0;
  border-top:1px solid rgba(27,36,64,.8);
  border-radius:0;
  background:transparent;
}

.comment-composer{
  margin-bottom:0;
}

.comment-composer .social-composer-form{
  padding:7px 8px;
  border:1px solid rgba(63,76,117,.72);
  border-radius:14px;
  background:rgba(16,21,33,.48);
}

.comment-composer .social-composer-avatar{
  flex-basis:36px;
  width:36px;
  min-width:36px;
  max-width:36px;
  height:36px;
  min-height:36px;
  max-height:36px;
}

.comment-composer .social-composer-textarea{
  min-height:42px;
  height:42px;
}

.comment-login-prompt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:0;
}

.comment-login-prompt p{
  margin:0;
}

.comment-empty-state{
  margin:0;
  padding:14px 0 3px;
  border:0;
  border-bottom:0;
  border-radius:0;
  background:transparent;
  text-align:left;
}

.comment-empty-state h2{
  margin:0 0 5px;
}

@media (max-width:768px), (pointer:coarse){
  button.post-like-control,
  a.post-comment-count,
  .social-composer-submit,
  .comment-delete-button{
    min-height:44px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select:none;
    user-select:none;
  }

  button.post-like-control,
  a.post-comment-count{
    min-width:44px;
  }
}

@media(max-width:640px){
  .post-card-footer{
    gap:5px;
  }

  .post-like-control,
  .post-comment-count{
    flex:1 1 auto;
  }

  .comment-card{
    padding:12px 0;
  }

  .comment-author-meta{
    gap:4px 7px;
  }

  .comment-timestamp{
    white-space:normal;
  }

  .comment-pagination,
  .comment-login-prompt{
    flex-wrap:wrap;
  }

  .comment-login-prompt .btn{
    width:100%;
    justify-content:center;
  }

  .comment-composer .social-composer-form{
    align-items:flex-end;
    gap:8px;
  }

  .comment-composer .social-composer-submit{
    padding-inline:11px;
  }
}
/* Incremental discussion feeds */
.post-feed-item{
  min-width:0;
}

.infinite-feed-controls{
  display:grid;
  justify-items:center;
  gap:8px;
  margin-top:16px;
  min-height:0;
}
.infinite-feed-load-more{
  min-height:44px;
  touch-action:manipulation;
}

.infinite-feed-load-more.is-hidden{
  display:none;
}

html.js .infinite-feed-load-more{
  display:none !important;
}

html.js .infinite-feed-load-more.is-retry{
  display:inline-flex !important;
}

.infinite-feed-status{
  min-height:1.3em;
  margin:0;
  font-size:.84rem;
  text-align:center;
}

.infinite-feed-previous{
  font-size:.84rem;
  text-decoration:none;
}

.infinite-feed-previous:hover{
  color:var(--accent);
  text-decoration:underline;
}

.infinite-feed-previous:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}

.infinite-feed-sentinel{
  width:100%;
  height:1px;
  pointer-events:none;
}

@media(max-width:640px){
  .infinite-feed-controls{
    margin-top:14px;
  }

  .infinite-feed-load-more{
    width:100%;
    justify-content:center;
  }
}

/* Replies V1: one-level conversational replies beneath their parent comment. */
.reply-js-only{display:none;}
html.js .reply-js-only{display:inline-flex;}

.comment-reply-toggle,
.comment-replies-toggle{
  min-height:30px;
  margin-top:8px;
  padding:3px 4px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.78rem;
  font-weight:700;
  line-height:1.25;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

.comment-reply-toggle:hover,
.comment-replies-toggle:hover{
  color:#ff727a;
  background:rgba(229,9,20,.08);
}

.comment-reply-toggle:focus-visible,
.comment-replies-toggle:focus-visible,
.comment-reply .comment-author:focus-visible,
.comment-reply .comment-delete-button:focus-visible{
  outline:3px solid rgba(229,9,20,.45);
  outline-offset:3px;
}

.comment-replies{
  display:grid;
  gap:0;
  min-width:0;
  margin:10px 0 0 4px;
  padding-left:14px;
  border-left:2px solid rgba(63,76,117,.58);
}

html.js .comment-replies .is-collapsed-reply{display:none;}
html.js .comment-replies.is-expanded .is-collapsed-reply{display:block;}

.comment-reply-item{min-width:0;}

.comment-reply{
  display:flex;
  align-items:flex-start;
  min-width:0;
  gap:9px;
  padding:10px 0;
  border-bottom:1px solid rgba(45,57,91,.5);
  background:transparent;
}

.comment-reply-item:last-child .comment-reply{border-bottom:0;}
.comment-reply:target{animation:comment-target-flash 2.2s ease-out;}

.comment-reply-avatar{
  display:block;
  flex:0 0 32px;
  width:32px;
  min-width:32px;
  max-width:32px;
  height:32px;
  min-height:32px;
  max-height:32px;
  aspect-ratio:1 / 1;
  border:1px solid var(--border);
  border-radius:50%;
  object-fit:cover;
}

.comment-reply-content{min-width:0;flex:1;}
.comment-reply-header{display:flex;align-items:flex-start;min-width:0;}
.comment-reply-body{margin-top:5px;font-size:.92rem;line-height:1.5;}

.comment-action-bar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2px 5px;
  min-width:0;
  margin-top:7px;
}

.comment-reply-action-bar{margin-top:6px;}

.response-like-control{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:30px;
  padding:3px 5px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.78rem;
  font-weight:700;
  line-height:1;
}

button.response-like-control{
  cursor:pointer;
  touch-action:manipulation;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}

button.response-like-control:hover:not(:disabled){
  border-color:rgba(229,9,20,.34);
  background:rgba(229,9,20,.08);
  color:#ff7078;
}

button.response-like-control:active:not(:disabled){transform:translateY(1px);}
button.response-like-control:focus-visible{outline:3px solid rgba(229,9,20,.45);outline-offset:2px;}
.response-like-control.is-liked{color:#ff5963;}
.response-like-control--guest{cursor:default;}
.response-like-control.is-pending{cursor:wait;opacity:.62;}
.response-like-control--error{border-color:rgba(255,114,122,.72);color:#ff727a;}
.response-like-icon{font-size:1rem;line-height:1;}
.response-like-count{font-variant-numeric:tabular-nums;}

.comment-action-bar .comment-reply-toggle{
  min-height:30px;
  margin:0;
}

.comment-action-bar .comment-delete-button{
  min-height:30px;
  padding:3px 5px;
}

.delete-confirmation-dialog{
  position:fixed;
  z-index:100;
  inset:0;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(3,5,10,.68);
}

.delete-confirmation-dialog[hidden]{display:none;}

.delete-confirmation-content{
  width:min(430px, 100%);
  padding:20px;
  border:1px solid rgba(63,76,117,.9);
  border-radius:16px;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.delete-confirmation-content h2{margin:0 0 8px;font-size:1.12rem;}
.delete-confirmation-content p{margin:0;color:var(--muted);line-height:1.52;overflow-wrap:anywhere;}

.delete-confirmation-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:18px;
}

.delete-confirmation-confirm{
  border-color:rgba(229,9,20,.6);
  background:#bd0811;
}

.delete-confirmation-confirm:hover:not(:disabled){background:#a9070f;}
.delete-confirmation-cancel:focus-visible,
.delete-confirmation-confirm:focus-visible{outline:3px solid rgba(229,9,20,.5);outline-offset:3px;}

html.delete-confirmation-open{overflow:hidden;}

@media (max-width:768px), (pointer:coarse){
  button.response-like-control,
  .comment-reply-toggle,
  .comment-replies-toggle,
  .comment-action-bar .comment-delete-button{
    min-height:44px;
    padding-inline:10px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    -webkit-user-select:none;
    user-select:none;
  }

  .comment-replies{
    margin-left:0;
    padding-left:10px;
  }

  .comment-reply{gap:8px;padding:10px 0;}

  .comment-reply-avatar{
    flex-basis:30px;
    width:30px;
    min-width:30px;
    max-width:30px;
    height:30px;
    min-height:30px;
    max-height:30px;
  }

  .delete-confirmation-dialog{padding:12px;}
  .delete-confirmation-content{padding:18px;}
  .delete-confirmation-actions{display:grid;grid-template-columns:1fr 1fr;}
  .delete-confirmation-actions .btn{min-height:44px;justify-content:center;touch-action:manipulation;}

}
/* Keep the persistent composer clear of the footer while retaining its measured reading reserve. */
.post-page--with-composer{
  padding-bottom:calc(var(--persistent-composer-height, 60px) + 32px);
}

/* The page-wide 50px ending space would otherwise be added to the composer reserve. */
main.page:has(.post-page--with-composer),
.page--with-persistent-composer{
  padding-bottom:0;
}

.persistent-discussion-composer{
  position:fixed;
  z-index:30;
  left:50%;
  bottom:max(16px, env(safe-area-inset-bottom));
  box-sizing:border-box;
  width:min(780px, calc(100vw - 32px));
  margin:0;
  padding:8px 10px;
  border:1px solid rgba(63,76,117,.82);
  border-radius:16px;
  background:rgba(16,21,33,.96);
  box-shadow:0 16px 38px rgba(0,0,0,.32);
  transform:translateX(-50%);
}

.persistent-discussion-composer .social-composer-form{
  gap:9px;
  padding:0;
  border:0;
  background:transparent;
}

.persistent-discussion-composer .social-composer-avatar{
  flex-basis:36px;
  width:36px;
  min-width:36px;
  max-width:36px;
  height:36px;
  min-height:36px;
  max-height:36px;
}

.persistent-discussion-composer .social-composer-textarea{
  min-height:42px;
  height:42px;
}

.persistent-composer-context{
  align-items:center;
  gap:5px;
  min-width:0;
  margin:0 0 6px 46px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.25;
}

.persistent-composer-context:not([hidden]){display:flex;}
.persistent-composer-context[hidden]{display:none !important;}

.persistent-composer-context strong{
  min-width:0;
  overflow:hidden;
  color:var(--text);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.persistent-composer-close{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  width:28px;
  min-width:28px;
  height:28px;
  margin-left:auto;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
}

.persistent-composer-close:hover{background:rgba(229,9,20,.1);color:#ff727a;}
.persistent-composer-close:focus-visible{outline:3px solid rgba(229,9,20,.45);outline-offset:2px;}
.persistent-discussion-composer .social-composer-alert{margin:0 0 7px;}

/* Mandatory email-verification onboarding stays intentionally separate from Account & Security. */
.auth-onboarding-body{min-height:100vh;background:var(--bg);}
.auth-onboarding{width:min(100% - 32px,520px);margin:0 auto;padding:clamp(28px,8vh,78px) 0 32px;}
.auth-onboarding-brand{display:inline-flex;margin:0 0 22px;}
.auth-onboarding-card{margin:0;padding:clamp(22px,5vw,34px);}
.auth-onboarding-card h1{margin-top:0;}
.auth-onboarding-card>p{line-height:1.55;}
.auth-onboarding-email{margin:6px 0 20px;font-size:1.05rem;font-weight:700;overflow-wrap:anywhere;}
.auth-onboarding-actions{margin:12px 0;}
.auth-onboarding-change{margin:18px 0;}
.auth-onboarding-change .auth-google-start{margin:10px 0;}
@media(max-width:520px){.auth-onboarding{width:min(100% - 24px,520px);padding-top:20px}.auth-onboarding-card{padding:20px}.auth-onboarding-actions .btn{width:100%;justify-content:center;}}

.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin:16px 0 24px}.admin-stat,.admin-panel{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.admin-stat strong{display:block;font-size:1.35rem}.admin-action-form{display:grid;gap:9px;max-width:520px}.admin-audit-list{margin:0;padding-left:18px}.admin-audit-list li{margin:8px 0}

/* Admin & Moderation V1: compact operational screens, isolated from public cards. */
.admin-shell{max-width:1120px;margin:32px auto;padding:0 18px}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px}.admin-nav a,.admin-status{border:1px solid var(--border);border-radius:999px;padding:7px 11px;font-size:.9rem}.admin-nav a{color:var(--text);text-decoration:none}.admin-nav a:hover,.admin-nav a:focus-visible{border-color:var(--accent);color:var(--accent)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0 24px}.admin-metric,.admin-content,.admin-user-card,.admin-table-wrap{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.admin-metric strong{display:block;font-size:1.35rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.admin-filters{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.admin-content,.admin-user-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:10px 0}.admin-content form,.admin-user-card form{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.admin-status--removed,.admin-status--suspended{color:#ff8b91;border-color:#a33}.admin-status--visible,.admin-status--active{color:#8be0ac;border-color:#397b50}.btn-danger{background:#a91d28;color:#fff}@media(max-width:520px){.admin-shell{margin:20px auto;padding:0 12px}.admin-table-wrap{overflow-x:auto}.admin-content,.admin-user-card{display:block}.admin-content form,.admin-user-card form{margin-top:10px}.admin-content .input{width:100%;font-size:16px}}

@media (max-width:768px), (pointer:coarse){
  .post-page--with-composer{
    padding-bottom:calc(var(--persistent-composer-height, 60px) + 28px + env(safe-area-inset-bottom));
  }

  .persistent-discussion-composer{
    bottom:max(10px, env(safe-area-inset-bottom));
    width:calc(100vw - 20px);
    padding:8px;
    border-radius:14px;
  }

  .persistent-discussion-composer .social-composer-form{align-items:flex-end;gap:7px;}
  .persistent-discussion-composer .social-composer-textarea{font-size:16px;}
  .persistent-discussion-composer .social-composer-submit{min-height:44px;padding-inline:10px;}
  .persistent-composer-context{min-height:28px;margin-left:40px;}
  .persistent-composer-close{width:44px;min-width:44px;height:44px;margin:-8px -8px -8px auto;}
}
/* Reporting V1: compact controls and the shared report dialog. */
.content-menu{position:relative;display:inline-block;margin-left:auto;font-size:.9rem}
.content-menu summary{cursor:pointer;list-style:none;padding:.2rem .65rem;border-radius:.5rem;color:var(--muted,#aaa);font-size:1.25rem}
.content-menu summary::-webkit-details-marker{display:none}
.content-menu[open] summary,.content-menu summary:hover{background:rgba(255,255,255,.08)}
.content-menu>a{position:absolute;right:0;top:100%;z-index:20;min-width:130px;padding:.7rem 1rem;border:1px solid #34343e;border-radius:.6rem;background:#202028;white-space:nowrap}
.report-dialog{width:min(480px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:#191920;color:#eee;border:1px solid #393940;border-radius:16px;padding:24px}
.report-dialog::backdrop{background:rgba(0,0,0,.7)}
.report-dialog .input,.report-panel .input{width:100%;box-sizing:border-box}
.report-dialog .label,.report-panel .label{display:block;margin:16px 0 6px}
.report-dialog textarea{min-height:100px}
.report-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.report-panel{max-width:640px;margin:24px auto;padding:24px;border:1px solid #34343e;border-radius:14px}
.report-group{margin:20px 0}.report-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.report-detail{border-top:1px solid #34343e;padding:14px 0}.report-excerpt,.report-detail p{overflow-wrap:anywhere}
.report-group details{margin:16px 0}.report-group summary{cursor:pointer}.report-group .admin-action-form{margin-top:20px}

.user-search-results { display:grid; gap:12px; margin:20px 0; }
.user-search-result { display:flex; align-items:center; gap:14px; padding:14px; border:1px solid var(--border); border-radius:12px; color:inherit; text-decoration:none; }
.user-search-result img { border-radius:50%; object-fit:cover; }
[aria-current="page"].btn { outline:2px solid var(--accent); }

/* Keep the hidden-profile notice compact without inheriting narrow inline layouts. */
.profile-unavailable-state{
  width:100%;
  min-width:0;
  max-width:none;
  align-items:flex-start;
  padding:20px;
}
.profile-unavailable-state p{
  width:100%;
  min-width:0;
  margin:0;
  overflow-wrap:normal;
  word-break:normal;
}
.profile-unavailable-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}
@media (max-width:480px){
  .profile-unavailable-state{padding:16px;}
  .profile-unavailable-actions{width:100%;}
  .profile-unavailable-actions .btn{justify-content:center;}
}
.account-security{max-width:760px;margin:24px auto;padding:24px;min-width:0}
.auth-form{display:flex;flex-direction:column;gap:12px;margin:16px 0;max-width:520px}
.auth-form label{display:flex;flex-direction:column;gap:6px}
.auth-form .auth-checkbox{flex-direction:row;align-items:center}
.auth-form .muted{margin:0}
.account-section{border-top:1px solid var(--border);padding:22px 0}
.account-section details{margin:16px 0}
.account-section summary{cursor:pointer}
.account-device,.verification-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.verification-reminder{padding:14px 18px;border:1px solid var(--border);border-radius:12px;margin-bottom:18px}
.verification-reminder p{flex:1 1 280px;margin:0}
.account-device p{min-width:0;overflow-wrap:anywhere}
@media(max-width:560px){.account-security{padding:16px;margin:12px 0}.account-device{align-items:flex-start}.auth-form{max-width:none}}
