:root {
  --bg:       #0e1117;
  --bg3:      #161b24;
  --panel:    #161c27;
  --panel-d:  #0a0e16;
  --panel-l:  #1e2535;
  --border:   rgba(255,255,255,0.07);
  --border2:  rgba(255,255,255,0.13);
  --t1:       #e8edf5;
  --t2:       #a8b4c8;
  --t3:       #5a6a84;
  --acc:      #4a9eff;
  --acc-d:    rgba(74,158,255,0.12);
  --shadow:   rgba(0,0,0,0.5);
  --btn-face: linear-gradient(180deg,#2a6dd9,#1a50a8);
  --btn-hi:   rgba(100,180,255,0.35);
  --btn-sh:   #0d2d6a;
  --ease:     cubic-bezier(0.22,1,0.36,1);
  --radius:   4px;
}
[data-theme="light"] {
  --bg:       #f0f4fa;
  --bg3:      #e2e8f4;
  --panel:    #ffffff;
  --panel-d:  #c8d0e0;
  --panel-l:  #f8faff;
  --border:   rgba(0,0,0,0.08);
  --border2:  rgba(0,0,0,0.14);
  --t1:       #111827;
  --t2:       #374151;
  --t3:       #6b7280;
  --acc:      #2563eb;
  --acc-d:    rgba(37,99,235,0.10);
  --shadow:   rgba(0,0,0,0.12);
  --btn-face: linear-gradient(180deg,#3b82f6,#2563eb);
  --btn-hi:   rgba(147,197,253,0.5);
  --btn-sh:   #1d4ed8;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--t1);min-height:100vh;}

.page{max-width:700px;margin:60px auto;padding:0 20px;display:flex;flex-direction:column;gap:20px;}
.card{background:var(--panel);border:1px solid var(--border2);border-radius:6px;padding:28px 32px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 3px 0 var(--panel-d),0 6px 24px var(--shadow);}
.page-title{font-family:'Press Start 2P',monospace;font-size:10px;color:var(--acc);letter-spacing:1px;margin-bottom:10px;}
.page-sub{font-size:13px;color:var(--t3);line-height:1.6;}
.theme-btn{position:fixed;top:16px;right:16px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius);color:var(--t2);font-family:'Press Start 2P',monospace;font-size:6px;padding:8px 14px;cursor:pointer;z-index:100;}

/* FAB */
.cmts-fab{
  position:fixed!important;bottom:24px!important;right:24px!important;z-index:2147483647!important;
  display:flex;align-items:center;gap:9px;
  padding:0 20px;height:44px;
  background:var(--btn-face);border:none;border-radius:var(--radius);
  color:#ddeeff;font-family:'Press Start 2P',monospace;font-size:6px;
  cursor:pointer;letter-spacing:.5px;
  box-shadow:0 1px 0 var(--btn-hi),0 5px 0 var(--btn-sh),0 8px 24px var(--shadow);
  overflow:hidden;
  transition:transform .18s var(--ease),box-shadow .18s,filter .18s,opacity .2s,visibility .2s;
}
.cmts-fab::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 55%);pointer-events:none;}
.cmts-fab:hover{transform:translateY(-3px);filter:brightness(1.12);box-shadow:0 1px 0 var(--btn-hi),0 8px 0 var(--btn-sh),0 12px 28px var(--shadow);}
.cmts-fab:active{transform:translateY(4px);transition-duration:.07s;box-shadow:0 0 0 var(--btn-hi),0 1px 0 var(--btn-sh);}
.cmts-fab.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);}
.cmts-fab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.cmts-fab-count{background:rgba(255,255,255,.2);color:#fff;font-family:'Press Start 2P',monospace;font-size:6px;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border:1px solid rgba(255,255,255,.3);}

/* OVERLAY */
.cmts-overlay{display:none;position:fixed;inset:0;z-index:2147483646!important;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);align-items:flex-end;justify-content:center;}
.cmts-overlay.open{display:flex;animation:cmts-fadein .22s var(--ease);}
@keyframes cmts-fadein{from{opacity:0}to{opacity:1}}

/* MODAL */
.cmts-modal{
  background:var(--panel);
  border:1px solid var(--border);
  border-bottom:none;
  border-radius:6px 6px 0 0;
  width:100%;max-width:680px;height:82vh;
  display:flex;flex-direction:column;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 -4px 0 var(--panel-d),0 -40px 80px var(--shadow);
  animation:cmts-slideup .3s var(--ease);
  overflow:hidden;
  transform-origin:center bottom;
}
@keyframes cmts-slideup{
  from{transform:translateY(60px) scaleX(0.98);opacity:0;}
  to{transform:none;opacity:1;}
}
.cmts-handle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 0;flex-shrink:0;}
.cmts-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0;}
.cmts-title{font-family:'Press Start 2P',monospace;font-size:7px;color:var(--acc);letter-spacing:.8px;display:flex;align-items:center;gap:8px;}
.cmts-title svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cmts-total{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;color:var(--t3);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:3px 10px;}

/* RED 3D CLOSE BUTTON — brighter, hover = press down */
.cmts-close{
  background:linear-gradient(180deg,#ff4d6a,#cc1f3a);
  border:1px solid #ff6b82;
  border-bottom-color:#7a0f1e;
  border-radius:var(--radius);
  cursor:pointer;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;
  position:relative;overflow:hidden;
  box-shadow:0 1px 0 rgba(255,180,190,0.5),0 4px 0 #7a0f1e,0 6px 14px rgba(0,0,0,0.5);
  transition:transform .12s var(--ease),box-shadow .12s,filter .12s;
}
.cmts-close::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 50%);pointer-events:none;}
.cmts-close:hover{
  transform:translateY(3px);
  box-shadow:0 1px 0 rgba(255,180,190,0.3),0 1px 0 #7a0f1e,0 2px 6px rgba(0,0,0,0.4);
  filter:brightness(1.08);
}
.cmts-close:active{
  transform:translateY(5px);
  transition-duration:.06s;
  box-shadow:0 0 0 rgba(255,180,190,0),0 0 0 #7a0f1e,0 1px 3px rgba(0,0,0,0.3);
}
.cmts-close svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;position:relative;z-index:1;}

/* FEED */
.cmts-feed{flex:1;overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth;}
.cmts-feed::-webkit-scrollbar{width:3px;}
.cmts-feed::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px;}

/* EMPTY */
.cmts-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;flex:1;min-height:200px;padding:60px 20px;text-align:center;}
.cmts-empty svg{opacity:.3;}
.cmts-empty-title{font-family:'Press Start 2P',monospace;font-size:7px;color:var(--t3);line-height:1.8;}
.cmts-empty-sub{font-family:'Inter',sans-serif;font-size:12px;color:var(--t3);opacity:.6;}

.cmts-spinner{border:2.5px solid var(--border);border-top-color:var(--acc);border-radius:50%;animation:cmts-spin .7s linear infinite;}
@keyframes cmts-spin{to{transform:rotate(360deg)}}

/* COMMENT ITEM */
.cmt-item{
  display:flex;gap:12px;
  padding:12px 14px;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.3),0 3px 0 var(--panel-d),0 6px 24px var(--shadow);
  animation:cmts-fadein .2s ease;
  position:relative;
  transition:border-color .22s,box-shadow .22s var(--ease);
}
.cmt-item:hover{
  border-color:var(--border2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.3),0 5px 0 var(--panel-d),0 12px 32px var(--shadow);
}

/* PINNED label */
.cmt-pin-label{display:inline-flex;align-items:center;gap:5px;font-family:'Press Start 2P',monospace;font-size:5px;color:var(--acc);letter-spacing:.4px;margin-bottom:7px;}
.cmt-pin-label svg{width:11px;height:11px;flex-shrink:0;}

/* AVATAR */
.cmt-av{width:38px;height:38px;border-radius:var(--radius);background:var(--btn-face);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-family:'Press Start 2P',monospace;font-size:8px;color:#ddeeff;flex-shrink:0;overflow:hidden;box-shadow:0 2px 0 var(--btn-sh);text-decoration:none;transition:opacity .15s,transform .15s;align-self:flex-start;}
.cmt-av:hover{opacity:.85;transform:scale(1.04);}
.cmt-av img{width:100%;height:100%;object-fit:cover;}
.cmt-av.sm{width:28px;height:28px;font-size:6px;}

.cmt-body{flex:1;min-width:0;}
.cmt-meta{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:5px;}
.cmt-name{font-family:'Press Start 2P',monospace;font-size:6px;color:var(--t1);white-space:nowrap;text-decoration:none;}
.cmt-name:hover{color:var(--acc);}
.cmt-handle{font-family:'VT323',monospace;font-size:15px;color:var(--t3);text-decoration:none;line-height:1;}
.cmt-handle:hover{color:var(--acc);}
.cmt-time{font-family:'Inter',sans-serif;font-size:10px;color:var(--t3);margin-left:auto;white-space:nowrap;}
.cmt-text{font-family:'Inter',sans-serif;font-size:13px;color:var(--t1);line-height:1.55;word-break:break-word;margin-bottom:8px;}
.cmt-mention{color:var(--acc);font-weight:600;font-size:13px;}

/* ACTION BUTTONS */
.cmt-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cmt-action-btn{
  background:var(--panel-l);border:1px solid var(--border);border-radius:var(--radius);
  color:var(--t2);font-family:'Press Start 2P',monospace;font-size:5.5px;
  padding:5px 10px;cursor:pointer;
  display:flex;align-items:center;gap:6px;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 0 var(--panel-d);
  transition:all .18s var(--ease);
}
.cmt-action-btn svg{width:14px;height:14px;flex-shrink:0;}
.cmt-action-btn:hover{border-color:var(--border2);color:var(--t1);background:var(--panel-l);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 0 var(--panel-d);}
.cmt-action-btn:active{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 0 var(--panel-d);transition-duration:.07s;}
.cmt-action-btn.liked{border-color:#e05060;color:#e05060;background:rgba(224,80,96,.08);}
.cmt-action-btn.pin-on{border-color:var(--acc);color:var(--acc);background:var(--acc-d);}
.cmt-action-btn.del-btn:hover{border-color:#e05060;color:#e05060;background:rgba(224,80,96,.08);}

/* REPLIES SECTION — inside parent card, one level only */
.cmt-replies{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:8px;
}

/* REPLY ITEM — inside parent, flat */
.cmt-reply-item{
  display:flex;gap:10px;
  padding:9px 11px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 2px 0 var(--panel-d),0 4px 12px var(--shadow);
  animation:cmts-fadein .2s ease;
  position:relative;
}
.cmt-reply-item .cmt-action-btn{background:var(--bg3);}
.cmt-reply-item .cmt-action-btn:hover{background:var(--panel-l);}

/* REPLY BOX */
.cmt-reply-box{display:none;margin-top:8px;padding:10px 12px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);flex-direction:column;gap:8px;}
.cmt-reply-box.open{display:flex;}
.cmt-reply-box textarea{
  background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius);
  color:var(--t1);font-family:'Inter',sans-serif;font-size:13px;font-weight:500;
  padding:9px 12px;resize:none;outline:none;line-height:1.5;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.2);
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.cmt-reply-box textarea:focus{border-color:var(--acc);background:var(--panel-l);box-shadow:inset 0 2px 4px rgba(0,0,0,.1),0 0 0 3px rgba(74,158,255,.12);}
.cmt-reply-box textarea::placeholder{color:var(--t3);}
.cmt-reply-actions{display:flex;gap:7px;justify-content:flex-end;}
.cmt-reply-submit,.cmt-reply-cancel{height:32px;padding:0 14px;font-family:'Press Start 2P',monospace;font-size:5.5px;border:none;border-radius:var(--radius);cursor:pointer;transition:transform .18s var(--ease),filter .18s,box-shadow .18s;}
.cmt-reply-submit{background:var(--btn-face);color:#ddeeff;box-shadow:0 1px 0 var(--btn-hi),0 3px 0 var(--btn-sh);}
.cmt-reply-submit:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 1px 0 var(--btn-hi),0 5px 0 var(--btn-sh);}
.cmt-reply-submit:active{transform:translateY(2px);transition-duration:.07s;}
.cmt-reply-cancel{background:var(--bg3);color:var(--t3);border:1px solid var(--border2);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 3px 0 var(--panel-d);}
.cmt-reply-cancel:hover{background:var(--panel-l);border-color:var(--border2);transform:translateY(-1px);}

/* COMPOSE */
.cmts-compose{border-top:1px solid var(--border);padding:14px 20px;flex-shrink:0;background:var(--panel);}
.cmts-login-cta{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);font-family:'Inter',sans-serif;font-size:13px;color:var(--t3);}
.cmts-login-cta a{margin-left:auto;font-family:'Press Start 2P',monospace;font-size:6px;color:#ddeeff;background:var(--btn-face);border:none;border-radius:var(--radius);padding:8px 14px;text-decoration:none;box-shadow:0 1px 0 var(--btn-hi),0 4px 0 var(--btn-sh);transition:transform .18s var(--ease),filter .18s;white-space:nowrap;flex-shrink:0;}
.cmts-login-cta a:hover{transform:translateY(-2px);filter:brightness(1.12);}
.cmts-compose-row{display:flex;gap:10px;align-items:flex-end;}
.cmts-compose-av{width:36px;height:36px;border-radius:var(--radius);background:var(--btn-face);border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-family:'Press Start 2P',monospace;font-size:7px;color:#ddeeff;flex-shrink:0;overflow:hidden;box-shadow:0 2px 0 var(--btn-sh);align-self:flex-start;margin-top:2px;}
.cmts-compose-av img{width:100%;height:100%;object-fit:cover;}
.cmts-compose-right{flex:1;display:flex;flex-direction:column;gap:8px;}
.cmts-compose-input{
  width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius);
  color:var(--t1);font-family:'Inter',sans-serif;font-size:14px;font-weight:500;
  padding:10px 13px;resize:none;outline:none;line-height:1.55;
  min-height:44px;max-height:120px;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.2);
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.cmts-compose-input:focus{border-color:var(--acc);background:var(--panel-l);box-shadow:inset 0 2px 4px rgba(0,0,0,.1),0 0 0 3px rgba(74,158,255,.12);}
.cmts-compose-input::placeholder{color:var(--t3);}
.cmts-compose-footer{display:flex;align-items:center;justify-content:space-between;}
.cmts-char-count{font-family:'Inter',sans-serif;font-size:11px;color:var(--t3);}
.cmts-char-count.warn{color:#e8c030;}
.cmts-char-count.over{color:#e05060;}
.cmts-submit-btn{
  height:36px;padding:0 18px;
  font-family:'Press Start 2P',monospace;font-size:6px;
  color:#ddeeff;background:var(--btn-face);border:none;border-radius:var(--radius);
  cursor:pointer;display:flex;align-items:center;gap:7px;
  box-shadow:0 1px 0 var(--btn-hi),0 4px 0 var(--btn-sh);
  position:relative;overflow:hidden;
  transition:transform .18s var(--ease),box-shadow .18s,filter .18s;
}
.cmts-submit-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 55%);pointer-events:none;}
.cmts-submit-btn:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 1px 0 var(--btn-hi),0 7px 0 var(--btn-sh);}
.cmts-submit-btn:active{transform:translateY(3px);transition-duration:.07s;}
.cmts-submit-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;filter:none!important;}
.cmts-submit-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* TOAST */
.cmts-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--panel);border:1px solid var(--border2);border-radius:var(--radius);padding:10px 18px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:var(--t1);box-shadow:0 5px 20px var(--shadow);opacity:0;pointer-events:none;transition:all .25s var(--ease);white-space:nowrap;z-index:2147483647;}
.cmts-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.cmts-toast.ok{border-left:3px solid #2ecc7a;}
.cmts-toast.err{border-left:3px solid #e05060;}

@media(max-width:600px){
  .cmts-modal{max-width:100%;height:90vh;}
  .cmts-header,.cmts-feed,.cmts-compose{padding-left:14px;padding-right:14px;}
  .cmts-fab{bottom:16px!important;right:16px!important;}
}

/* ══════════════════════════════════════════
   COMMENTS DELETE CONFIRMATION MODAL
   Same style as nav logout modal
══════════════════════════════════════════ */
.cmts-del-modal-overlay{
  display:none;position:fixed;inset:0;z-index:2147483647;
  background:rgba(0,0,0,0.65);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;
}
.cmts-del-modal-overlay.show{
  display:flex;
  animation:cmtsDelFadeIn .2s cubic-bezier(0.22,1,0.36,1);
}
@keyframes cmtsDelFadeIn{from{opacity:0}to{opacity:1}}

.cmts-del-modal-box{
  background:var(--panel);
  border:1px solid var(--border2);
  border-radius:12px;
  padding:28px 32px;
  width:90%;max-width:340px;
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(0,0,0,0.3),
    0 3px 0 var(--panel-d),
    0 16px 48px var(--shadow);
  animation:cmtsDelSlideUp .22s cubic-bezier(0.22,1,0.36,1);
}
@keyframes cmtsDelSlideUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}

.cmts-del-modal-icon{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:12px;
  background:rgba(224,80,96,.1);
  border:1px solid rgba(224,80,96,.25);
  margin:0 auto 14px;
}

.cmts-del-modal-title{
  font-family:'Press Start 2P',monospace;
  font-size:11px;color:var(--t1);
  margin-bottom:10px;
}

.cmts-del-modal-text{
  font-family:'Inter',sans-serif;
  font-size:13px;color:var(--t3);
  margin-bottom:22px;line-height:1.6;
}

.cmts-del-modal-btns{display:flex;gap:10px;}

/* CANCEL — green, same as nav modal */
.cmts-del-cancel{
  flex:1;height:40px;
  font-family:'Press Start 2P',monospace;font-size:6px;
  color:#d0ffea;
  background:linear-gradient(180deg,#2abb6a,#1a8a4a);
  border:none;border-radius:6px;cursor:pointer;
  box-shadow:0 1px 0 rgba(100,255,160,0.3),0 4px 0 #0d5a2a;
  position:relative;overflow:hidden;
  transition:transform .18s cubic-bezier(0.22,1,0.36,1),filter .18s,box-shadow .18s;
}
.cmts-del-cancel::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.1),transparent 55%);
  pointer-events:none;
}
.cmts-del-cancel:hover{
  transform:translateY(-2px);filter:brightness(1.1);
  box-shadow:0 1px 0 rgba(100,255,160,0.3),0 6px 0 #0d5a2a;
}
.cmts-del-cancel:active{
  transform:translateY(3px);transition-duration:.07s;
  box-shadow:0 0 0 rgba(100,255,160,0.3),0 1px 0 #0d5a2a;
}

/* DELETE — red, same as nav modal confirm */
.cmts-del-confirm{
  flex:1;height:40px;
  font-family:'Press Start 2P',monospace;font-size:6px;
  color:#fff0f1;
  background:linear-gradient(180deg,#e8303e,#c0222e);
  border:none;border-radius:6px;cursor:pointer;
  box-shadow:0 1px 0 rgba(255,160,165,0.35),0 4px 0 #7a1018;
  position:relative;overflow:hidden;
  transition:transform .18s cubic-bezier(0.22,1,0.36,1),filter .18s,box-shadow .18s;
}
.cmts-del-confirm::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0.1),transparent 55%);
  pointer-events:none;
}
.cmts-del-confirm:hover{
  transform:translateY(-2px);filter:brightness(1.1);
  box-shadow:0 1px 0 rgba(255,160,165,0.35),0 6px 0 #7a1018;
}
.cmts-del-confirm:active{
  transform:translateY(3px);transition-duration:.07s;
  box-shadow:0 0 0 rgba(255,160,165,0.35),0 1px 0 #7a1018;
}