/* HULK guest engagement: no dependencies or third-party branding. */
.hge-engagement { width:100%; color:#eceae4; }
.hge-actions { display:flex; align-items:center; gap:22px; }
.hge-action { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; min-width:44px; padding:3px 0; border:0; background:transparent; color:inherit; font:inherit; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.hge-action svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; transform-origin:center; }
.hge-action [data-hge-likes],.hge-action [data-hge-comments] { font-variant-numeric:tabular-nums; }
.hge-action:hover { color:#fff; }
.hge-action.hge-liked { color:#ff4564; }
.hge-liked svg { fill:currentColor; }
.hge-action:disabled { opacity:.48; cursor:wait; }
.hge-action-label { font-size:13px; color:#a9acae; }
.hge-action:focus-visible,.hge-dialog button:focus-visible,.hge-thread:focus-visible,.hge-retry:focus-visible { outline:2px solid #61dea0; outline-offset:4px; border-radius:6px; }
.hge-pop svg { animation:hge-heart-pop .42s cubic-bezier(.22,.8,.35,1); }
.hge-notice { margin:2px 0 0; min-height:1.4em; color:#a9acae; font-size:12px; line-height:1.5; }
.hge-retry { padding:4px 8px; border:0; background:none; color:#61dea0; cursor:pointer; font:inherit; }
.hge-doubletap { touch-action:manipulation; }
.hge-burst { position:absolute; left:50%; top:50%; z-index:5; display:block; width:90px; height:90px; margin:-45px 0 0 -45px; pointer-events:none; animation:hge-heart-burst .95s ease-out both; filter:drop-shadow(0 5px 16px #0007); }
.hge-burst svg { width:100%; height:100%; fill:#fff; stroke:#fff; stroke-width:.5; }
.hge-dialog { box-sizing:border-box; padding:24px; width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; border:1px solid #303538; border-radius:22px; background:#111416; color:#eceae4; font-family:inherit; box-shadow:0 24px 100px #0008; overscroll-behavior:contain; }
.hge-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.hge-dialog[open] { animation:hge-dialog-in .24s ease-out; }
.hge-dialog *, .hge-dialog *::before, .hge-dialog *::after { box-sizing:border-box; }
.hge-dialog-head { display:flex; gap:12px; align-items:center; justify-content:space-between; flex:none; }
.hge-dialog h3 { margin:0; font-size:21px; font-weight:750; line-height:1.3; letter-spacing:-.02em; text-transform:none; }
.hge-close { flex:none; display:grid; place-items:center; width:44px; height:44px; margin:-8px -8px -8px 0; border:0; border-radius:50%; color:inherit; background:transparent; font:300 30px/1 sans-serif; cursor:pointer; }
.hge-close:hover { background:#ffffff0c; }
.hge-intro { color:#adb3b6; font-size:14px; line-height:1.55; margin:14px 0 20px; }
.hge-form { display:flex; flex-direction:column; gap:14px; }
.hge-form label { display:flex; flex-direction:column; gap:8px; color:#d6dbdc; font-size:13px; font-weight:500; }
.hge-form input:not([type=checkbox]),.hge-form textarea { width:100%; padding:12px 14px; border:1px solid #3a4145; border-radius:12px; background:#1a1e21; color:#fff; font:inherit; font-size:16px; line-height:1.5; outline:none; }
.hge-form textarea { resize:vertical; min-height:72px; max-height:150px; }
.hge-form input:focus,.hge-form textarea:focus { border-color:#61dea0; box-shadow:0 0 0 2px #61dea018; }
.hge-form .hge-check { display:flex; flex-direction:row; align-items:center; gap:10px; font-size:12px; font-weight:400; }
.hge-check input { accent-color:#61dea0; width:18px; height:18px; flex:none; }
.hge-privacy { color:#959ea2; font-size:12px; line-height:1.55; margin:0; }
.hge-form-status { color:#87e6b7; font-size:13px; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.hge-form-actions { display:flex; gap:12px; justify-content:flex-end; }
.hge-primary,.hge-secondary,.hge-older { min-height:44px; padding:11px 18px; border-radius:12px; font:inherit; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; }
.hge-primary { color:#072216; background:#61dea0; border:1px solid #61dea0; }
.hge-secondary,.hge-older { color:#e5e9e7; border:1px solid #3a4145; background:transparent; }
.hge-primary:disabled,.hge-older:disabled { opacity:.55; cursor:wait; }
.hge-sheet { width:min(540px,calc(100% - 32px)); height:min(740px,calc(100dvh - 48px)); padding-bottom:0; overflow:hidden; }
.hge-sheet[open] { display:flex; flex-direction:column; }
.hge-sheet .hge-intro { margin-bottom:14px; }
.hge-handle { display:none; }
.hge-thread { flex:1; min-height:90px; overflow-y:auto; overscroll-behavior:contain; padding:8px 2px 20px; scrollbar-width:thin; }
.hge-thread-status { margin:12px 0; color:#9ba5a8; font-size:14px; line-height:1.5; text-align:center; }
.hge-thread-status:empty { display:none; }
.hge-comment-list { display:flex; flex-direction:column; gap:22px; list-style:none; margin:0; padding:0; }
.hge-comment { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; }
.hge-avatar { width:34px; height:34px; display:grid; place-items:center; border:1px solid #365448; border-radius:50%; color:#91edbd; background:#183126; font-size:13px; font-weight:700; }
.hge-byline { display:flex; flex-wrap:wrap; gap:5px 10px; align-items:baseline; }
.hge-byline b { font-size:13px; font-weight:700; overflow-wrap:anywhere; }
.hge-byline time { font-size:11px; color:#939da1; }
.hge-comment p { margin:5px 0 0; color:#c8d0d2; font-size:14px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.hge-older { display:block; margin:20px auto 0; font-size:12px; }
.hge-older[hidden] { display:none; }
.hge-comment-form { flex:none; padding:18px 0 max(20px,env(safe-area-inset-bottom)); border-top:1px solid #2b3235; gap:10px; }
.hge-comment-form > label:first-child { flex-direction:row; align-items:center; gap:12px; }
.hge-comment-form > label:first-child input { flex:1; width:0; min-width:0; padding:8px 12px; }
.hge-compose-foot { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.hge-compose-foot .hge-primary { flex:none; }
.hge-device-note { color:#929c9f; font-size:12px; padding:0 24px; }
.hgc-admin [data-filter][aria-pressed=true] { border-color:var(--acc); color:var(--acc); }
.hgc-body { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.hgc-comment [data-action=delete] { color:#ff8585; }
.hgc-comment .hint { margin:0; overflow-wrap:anywhere; }
.hge-sr,.hge-form label.hge-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes hge-heart-pop { 0%{transform:scale(1)} 35%{transform:scale(1.27)} 65%{transform:scale(.92)} 100%{transform:scale(1)} }
@keyframes hge-heart-burst { 0%{opacity:0;transform:scale(.2) rotate(-15deg)} 22%{opacity:1;transform:scale(1.15) rotate(0)} 45%,65%{opacity:1;transform:scale(1)} 100%{opacity:0;transform:translateY(-20px) scale(.8)} }
@keyframes hge-dialog-in { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:640px){
  .hge-sheet { top:auto; bottom:0; margin:0; width:100%; max-width:100%; height:min(85dvh,780px); max-height:100dvh; border-radius:24px 24px 0 0; border-bottom:0; padding:12px 20px 0; }
  .hge-handle { display:block; flex:none; width:36px; height:4px; border-radius:9px; background:#596267; margin:0 auto 18px; }
  .hge-dialog h3 { font-size:19px; }
  .hge-sheet .hge-intro { font-size:12px; margin:10px 0; }
  .hge-compose-foot .hge-primary { padding:10px 12px; font-size:12px; }
  .hge-form-status { font-size:12px; }
  .hge-comment-form { padding-top:12px; }
  .hge-action-label { font-size:12px; }
}
@media(prefers-reduced-motion:reduce){.hge-pop svg,.hge-burst,.hge-dialog[open]{animation:none}.hge-burst{display:none}}
@media(max-height:540px){.hge-sheet{overflow-y:auto;height:auto}.hge-thread{min-height:100px;max-height:180px;flex:none}.hge-sheet .hge-intro{margin:8px 0}.hge-comment-form{padding-block:10px}}
