:root { --ch-accent:#ff3d5a; --ch-panel:#141820; --ch-muted:#959cab; }
.ch-follow-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-width:96px; border:1px solid var(--ch-accent); border-radius:999px; padding:.55rem 1rem; color:#fff; font-weight:800; background:var(--ch-accent); cursor:pointer; }
.ch-follow-button span { font-size:1.05rem; line-height:1; }
.ch-follow-button b { font-size:.8rem; }
.ch-follow-button.is-active { border-color:#424957; color:#d7dbe3; background:#242a34; }
.ch-follow-button--self { border-color:#343b47; color:#9fa6b2; background:#20252e; cursor:default; }
.ch-follow-button:disabled { opacity:.65; cursor:wait; }
.contenthub-account-page .hero-section, .contenthub-register-page .hero-section { display:none; }
.contenthub-account-page .site-main > .ct-container-full, .contenthub-register-page .site-main > .ct-container-full { padding-top:0; }
.ch-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.5rem 0; border-top:1px solid rgba(255,255,255,.08); padding-top:1rem; }
.ch-actions button, .ch-actions > a { display:inline-flex; align-items:center; gap:.28rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:.5rem .85rem; color:#cbd0d9; line-height:1.2; text-decoration:none; background:#151820; cursor:pointer; }
.ch-actions button:hover, .ch-actions button.is-active, .ch-actions > a:hover { border-color:var(--ch-accent); color:#fff; background:rgba(255,61,90,.14); }
.ch-actions b { color:var(--ch-accent); }
.ch-report-dialog { width:min(520px,calc(100% - 24px)); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:0; color:#e8eaf0; background:#12161e; box-shadow:0 24px 80px rgba(0,0,0,.6); }
.ch-report-dialog::backdrop { background:rgba(4,6,10,.78); backdrop-filter:blur(3px); }
.ch-report-form { display:grid; gap:1rem; padding:1.25rem; }
.ch-report-form header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.ch-report-form header small { color:var(--ch-accent); font-weight:800; letter-spacing:.14em; }
.ch-report-form h2, .ch-report-form p { margin:.15rem 0; }
.ch-report-form p { color:var(--ch-muted); }
.ch-report-form header button { border:0; padding:0 .25rem; color:#aeb4c0; font-size:1.7rem; line-height:1; background:transparent; cursor:pointer; }
.ch-report-form label { display:grid; gap:.4rem; color:#eef0f4; font-weight:700; }
.ch-report-form select, .ch-report-form textarea { width:100%; border:1px solid #353b48; border-radius:8px; padding:.7rem; color:#fff; background:#090c12; }
.ch-report-form footer { display:flex; justify-content:flex-end; gap:.55rem; }
.ch-report-form footer button { border:1px solid #353b48; border-radius:7px; padding:.65rem 1rem; color:#fff; font-weight:800; background:#1b202a; cursor:pointer; }
.ch-report-form footer button[type="submit"] { border-color:var(--ch-accent); background:var(--ch-accent); }
.ch-report-message { min-height:1.2em; color:#ff9aaa; }
.ch-comment-report { margin-left:.6rem; border:0; padding:0; color:#858c99; font-size:.72rem; background:transparent; cursor:pointer; }
.ch-comment-report:hover { color:var(--ch-accent); }
.ch-share-panel { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:-.45rem 0 2rem; border:1px solid rgba(255,255,255,.09); border-radius:10px; padding:1rem; background:#11151c; }
.ch-share-panel[hidden] { display:none !important; }
.ch-share-panel > div:first-child { display:grid; gap:.2rem; min-width:190px; }
.ch-share-panel strong { color:#fff; }
.ch-share-panel span { color:var(--ch-muted); font-size:.78rem; }
.ch-share-panel__copy { display:flex; flex:1; max-width:680px; }
.ch-share-panel__copy input { min-width:0; flex:1; border:1px solid #343945; border-radius:7px 0 0 7px; padding:.62rem .75rem; color:#aeb4c0; background:#090c11; }
.ch-share-panel button, .ch-share-panel > a { flex:0 0 auto; border:0; border-radius:0 7px 7px 0; padding:.62rem .9rem; color:#fff; font-weight:800; text-decoration:none; background:var(--ch-accent); cursor:pointer; }
.ch-share-panel--guest > a { border-radius:7px; }
.ch-related { clear:both; margin:3.2rem 0 1rem; border-top:1px solid rgba(255,255,255,.09); padding-top:2rem; }
.ch-related > header { margin-bottom:1.1rem; }
.ch-related > header span { color:var(--ch-accent); font-size:.68rem; font-weight:800; letter-spacing:.16em; }
.ch-related > header h2 { margin:.2rem 0 0; color:#fff; font-size:1.55rem; }
.ch-related__video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.ch-related__list { display:grid; gap:0; }
@media(max-width:940px){ .ch-related__video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.ch-unlock-gate { display:grid; min-height:320px; place-content:center; justify-items:center; gap:.65rem; margin-bottom:2rem; border:1px solid rgba(255,61,90,.28); border-radius:14px; padding:2rem; text-align:center; background:radial-gradient(circle at 50% 20%,rgba(255,61,90,.14),transparent 55%),#0e1117; }
.ch-unlock-gate b { color:#fff; font-size:1.5rem; }
.ch-unlock-gate p { margin:0; color:var(--ch-muted); }
.ch-unlock-gate strong { color:var(--ch-accent); }
.ch-unlock-gate button, .ch-unlock-gate a { border:0; border-radius:8px; padding:.75rem 1.2rem; color:#fff; font-weight:800; text-decoration:none; background:var(--ch-accent); cursor:pointer; }
.ch-unlock-message { color:#ff98a8; }
.ch-video-preview { position:relative; margin-bottom:2rem; }
.ch-video-preview .vh-player-wrap { position:relative; margin-bottom:0; }
.ch-preview-badge { position:absolute; z-index:6; top:clamp(48px,7vw,72px); left:clamp(8px,1.4vw,16px); border-radius:999px; padding:.35rem .65rem; color:#fff; font-size:.72rem; font-weight:800; background:rgba(255,61,90,.92); box-shadow:0 2px 8px rgba(0,0,0,.35); pointer-events:none; }
.ch-preview-lock { position:absolute; z-index:8; inset:0; }
.ch-preview-lock[hidden] { display:none; }
.ch-preview-lock .ch-unlock-gate { min-height:100%; height:100%; margin:0; border-radius:14px; background:rgba(9,11,16,.96); }
.ch-novel-preview { position:relative; }
.ch-novel-preview:after { display:block; height:90px; margin-top:-70px; background:linear-gradient(transparent,#0b0d12); content:""; pointer-events:none; }
.ch-unlocked-text { margin-top:1.2rem; }
.ch-gallery-preview { margin-bottom:1rem; }
.ch-unlocked-gallery { margin-top:.75rem; }
.ch-auth { width:min(660px,calc(100% - 32px)); margin:0 auto; padding:3rem 0 5rem; }
.ch-auth__card { overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:16px; padding:1.65rem; background:var(--ch-panel); box-shadow:0 24px 70px rgba(0,0,0,.22); }
.ch-auth__intro { margin-bottom:1.3rem; text-align:center; }
.ch-auth .ch-auth__intro h1 { margin:.25rem 0 .35rem; }
.ch-auth__intro p { margin:0; color:var(--ch-muted); font-size:.84rem; }
.ch-auth span, .ch-account__header span { color:var(--ch-accent); font-size:.7rem; font-weight:800; letter-spacing:.16em; }
.ch-auth h1, .ch-auth h2 { margin:.2rem 0 1.2rem; color:#fff; }
.ch-auth form, .ch-profile-form { display:grid; gap:1rem; }
.ch-auth__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.ch-auth label, .ch-profile-form label { display:grid; gap:.4rem; color:#e6e8ed; font-weight:700; }
.ch-auth input, .ch-profile-form input, .ch-profile-form textarea { width:100%; border:1px solid #343945; border-radius:7px; padding:.75rem; color:#fff; background:#0c0f15; }
.ch-auth button, .ch-profile-form button, .ch-checkin button { justify-self:start; border:0; border-radius:7px; padding:.75rem 1.1rem; color:#fff; font-weight:800; background:var(--ch-accent); cursor:pointer; }
.ch-auth .ch-check { grid-template-columns:auto 1fr; }
.ch-auth .ch-check input { width:auto; }
.ch-auth__form-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.ch-auth__form-row a { color:var(--ch-muted); font-size:.78rem; text-decoration:none; }
.ch-auth .ch-auth__submit { width:100%; justify-self:stretch; padding:.85rem 1rem; }
.ch-auth__bonus { margin:0; border:1px solid rgba(255,61,90,.22); border-radius:8px; padding:.7rem .85rem; color:var(--ch-muted); text-align:center; background:rgba(255,61,90,.08); }
.ch-auth__bonus strong { color:var(--ch-accent); }
.ch-auth__switch { display:flex; align-items:center; justify-content:center; gap:.45rem; margin-top:1.3rem; border-top:1px solid rgba(255,255,255,.09); padding-top:1.15rem; color:var(--ch-muted); font-size:.82rem; }
.ch-auth__switch span { color:inherit; font-size:inherit; font-weight:500; letter-spacing:0; }
.ch-auth__switch a { color:#fff; font-weight:800; text-decoration:none; }
.ch-auth__switch a:hover { color:var(--ch-accent); }
.ch-auth__primary-link { display:flex; justify-content:center; border-radius:8px; padding:.85rem 1rem; color:#fff; font-weight:800; text-decoration:none; background:var(--ch-accent); }
.ch-form-error { border-radius:6px; padding:.7rem; color:#ffc3ca; background:#401923; }
.ch-form-success { border-radius:6px; padding:.7rem; color:#baf3cf; background:#143622; }
.ch-account { box-sizing:border-box; width:min(1296px,calc(100% - 32px)); margin:0 auto; padding:2.5rem 0 5rem; }
.ch-account__header { display:flex; align-items:center; gap:1.1rem; margin-bottom:1.5rem; }
.ch-account__header img { border-radius:50%; }
.ch-account__header h1 { margin:.1rem 0; color:#fff; }
.ch-account__header p { margin:0; color:var(--ch-muted); }
.ch-account__header strong { color:var(--ch-accent); }
.ch-account__tabs { display:flex; overflow-x:auto; gap:.35rem; border-bottom:1px solid rgba(255,255,255,.1); scrollbar-width:none; }
.ch-account__tabs a { flex:0 0 auto; padding:.75rem .9rem; color:#aeb4c0; text-decoration:none; }
.ch-account__tabs a.is-active { border-bottom:2px solid var(--ch-accent); color:#fff; }
.ch-account__content { padding-top:1.5rem; }
.ch-dashboard-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.ch-dashboard-cards > div, .ch-points-summary { display:grid; gap:.25rem; border:1px solid rgba(255,255,255,.08); border-radius:9px; padding:1.1rem; background:var(--ch-panel); }
.ch-dashboard-cards small, .ch-points-summary span { color:var(--ch-muted); }
.ch-dashboard-cards strong, .ch-points-summary strong { color:#fff; font-size:1.6rem; }
.ch-checkin { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; border:1px solid rgba(255,255,255,.08); border-radius:9px; padding:1.2rem; background:var(--ch-panel); }
.ch-checkin h2, .ch-checkin p { margin:.15rem 0; }
.ch-checkin h2 { color:#fff; }
.ch-checkin p, .ch-checkin span { color:var(--ch-muted); }
.ch-profile-form { max-width:720px; }
.ch-avatar-editor { display:flex; align-items:center; gap:1rem; }
.ch-avatar-editor img { border-radius:50%; }
.ch-point-log, .ch-content-list { margin-top:1rem; border-top:1px solid rgba(255,255,255,.1); }
.ch-point-log > div, .ch-content-list a { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid rgba(255,255,255,.08); padding:1rem .2rem; color:#fff; text-decoration:none; }
.ch-point-log span, .ch-content-list div { display:grid; gap:.2rem; }
.ch-point-log small, .ch-content-list small, .ch-content-list > a > span { color:var(--ch-muted); font-size:.7rem; }
.ch-point-log b.is-plus { color:#65e6a0; }
.ch-point-log b.is-minus { color:#ff8295; }
.ch-report-list { border-top:1px solid rgba(255,255,255,.1); }
.ch-report-list article { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid rgba(255,255,255,.08); padding:1rem .2rem; }
.ch-report-list article > div { display:grid; gap:.2rem; }
.ch-report-list small, .ch-report-list span { color:var(--ch-muted); font-size:.72rem; }
.ch-report-list strong { color:#fff; }
.ch-report-list b { flex:0 0 auto; font-size:.78rem; }
.ch-report-list b.is-pending { color:#f1c86b; }
.ch-report-list b.is-accepted { color:#65e6a0; }
.ch-report-list b.is-rejected { color:#9299a7; }
@media(max-width:700px){
  .ch-auth { width:100%; padding:1.25rem 10px 4rem; }
  .ch-auth__card { border-radius:14px; padding:1.1rem; }
  .ch-auth__intro { margin-bottom:1rem; }
  .ch-auth__intro h1 { font-size:1.55rem; }
  .ch-auth__fields { grid-template-columns:1fr; gap:.85rem; }
  .ch-account { width:100%; padding:1.5rem 10px 4rem; }
  .ch-dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ch-checkin { align-items:flex-start; flex-direction:column; }
  .ch-avatar-editor { align-items:flex-start; flex-direction:column; }
  .ch-share-panel { align-items:stretch; flex-direction:column; }
  .ch-share-panel__copy { width:100%; }
  .ch-share-panel__copy input { font-size:.72rem; }
  .ch-related { margin-top:2.2rem; }
  .ch-related__video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .ch-report-list article { align-items:flex-start; flex-direction:column; }
}
