/* ═══════════════════════════════════════════════════════
   ITERMS.UZ — 2030 PRODUCTION UI
   Cyberpunk Neon Dark · Orbitron + Space Grotesk
═══════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

/* ─── Variables ─── */
:root {
  --neon:       #00ff88;
  --neon-dim:   rgba(0,255,136,.12);
  --neon-glow:  0 0 12px #00ff88, 0 0 32px rgba(0,255,136,.4);
  --neon-glow-sm: 0 0 6px rgba(0,255,136,.6);
  --cyan:       #00e5ff;
  --cyan-dim:   rgba(0,229,255,.1);
  --purple:     #b44dff;
  --red:        #ff4757;

  --bg:         #03050c;
  --bg-1:       #060b14;
  --bg-2:       #0a1020;
  --surface:    #0d1525;
  --surface-2:  #111c30;
  --card:       #0c1422;
  --card-hover: #101828;

  --border:     rgba(0,255,136,.08);
  --border-2:   rgba(0,255,136,.16);
  --border-3:   rgba(0,255,136,.28);

  --text:       #c8d8f0;
  --text-2:     #8899bb;
  --text-3:     #4a5a7a;
  --muted:      #3a4a6a;

  --appbar-h:   60px;
  --tabs-h:     72px;
  --radius:     0;

  --font-display: 'Orbitron', monospace;
  --font-body:    'Space Grotesk', system-ui, sans-serif;

  --ease-out:   cubic-bezier(.22,1,.36,1);
  --ease-spring: cubic-bezier(.34,1.56,.64,1);
}

/* ─── Reset ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}

/* ─── Base ─── */
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  min-height: 100dvh;
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Ccircle cx='11' cy='11' r='4' fill='none' stroke='%2300ff88' stroke-width='1.5'/%3E%3Ccircle cx='11' cy='11' r='1.5' fill='%2300ff88'/%3E%3Cline x1='11' y1='2' x2='11' y2='6' stroke='%2300ff88' stroke-width='1'/%3E%3Cline x1='11' y1='16' x2='11' y2='20' stroke='%2300ff88' stroke-width='1'/%3E%3Cline x1='2' y1='11' x2='6' y2='11' stroke='%2300ff88' stroke-width='1'/%3E%3Cline x1='16' y1='11' x2='20' y2='11' stroke='%2300ff88' stroke-width='1'/%3E%3C/svg%3E") 11 11, crosshair;
}

/* ─── Ambient BG layers ─── */
body::before {
  content:'';
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 15% 0%,   rgba(0,255,136,.055) 0%,transparent 60%),
    radial-gradient(ellipse 50% 40% at 85% 95%,  rgba(0,229,255,.04)  0%,transparent 55%),
    radial-gradient(ellipse 40% 60% at 90% 15%,  rgba(180,77,255,.03) 0%,transparent 60%),
    radial-gradient(ellipse 80% 80% at 50% 50%,  rgba(0,255,136,.015) 0%,transparent 70%);
  animation: ambientShift 12s ease-in-out infinite alternate;
}

/* ─── Grid overlay ─── */
body::after {
  content:'';
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,255,136,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,255,136,.014) 1px, transparent 1px);
  background-size: 48px 48px;
  animation: gridDrift 30s linear infinite;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
}

/* ─── Scanlines ─── */
.scanlines {
  position:fixed;inset:0;z-index:9998;pointer-events:none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(0,0,0,.015) 3px,
    rgba(0,0,0,.015) 4px
  );
}

@keyframes ambientShift {
  0%   { opacity:.7; transform:scale(1) }
  100% { opacity:1;  transform:scale(1.02) }
}
@keyframes gridDrift {
  0%   { background-position:0 0 }
  100% { background-position:48px 48px }
}

/* ════════════════════════════════
   APPBAR
════════════════════════════════ */
.appbar {
  position: sticky; top:0; z-index:50;
  height: var(--appbar-h);
  display: flex; align-items: center; gap: 14px;
  padding: 0 18px;
  background: rgba(3,5,12,.88);
  backdrop-filter: blur(32px) saturate(160%);
  -webkit-backdrop-filter: blur(32px);
  border-bottom: 1px solid var(--border-2);
  box-shadow:
    0 1px 0 rgba(0,255,136,.05),
    0 8px 32px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.03);
}

.appbar::after {
  content:'';
  position:absolute; bottom:-1px; left:0; right:0;
  height:1px;
  background: linear-gradient(90deg, transparent, var(--neon), var(--cyan), transparent);
  opacity:.3;
}

.app-logo {
  display:flex; align-items:center; gap:10px;
  flex:1;
}
.app-logo-mark {
  width:32px; height:32px;
  border: 1.5px solid var(--border-3);
  display:grid; place-items:center;
  position:relative;
  clip-path: polygon(6px 0%, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
  background: var(--neon-dim);
}
.app-logo-mark::before {
  content:'IT';
  font-family: var(--font-display);
  font-size:9px; font-weight:900;
  letter-spacing:1px;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
}
.app-title {
  display:flex; flex-direction:column; gap:1px;
}
.app-title-main {
  font-family: var(--font-display);
  font-size:13px; font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  line-height:1;
}
.app-title-sub {
  font-size:9px; font-weight:400;
  letter-spacing:3px;
  color: var(--cyan);
  opacity:.6;
  text-transform:uppercase;
  font-family: var(--font-display);
}

.icon-btn {
  background: transparent;
  border: 1px solid var(--border-2);
  color: var(--text-3);
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all .18s;
  display: flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  flex-shrink:0;
}
.icon-btn:hover {
  border-color: var(--neon);
  color: var(--neon);
  background: var(--neon-dim);
  box-shadow: var(--neon-glow-sm), inset 0 0 16px rgba(0,255,136,.06);
}
.icon-btn:active { transform:scale(.94) }
.icon { width:20px; height:20px }

/* ════════════════════════════════
   DRAWER
════════════════════════════════ */
.drawer {
  position:fixed; inset:0; z-index:60;
  background: rgba(0,0,0,.75);
  display:none;
  backdrop-filter: blur(12px);
}
.drawer.show { display:block }

.drawer__panel {
  position:absolute; left:0; top:0;
  height:100%; width:82%; max-width:290px;
  background: linear-gradient(180deg, var(--bg-2) 0%, var(--bg-1) 100%);
  border-right: 1px solid var(--border-2);
  box-shadow: 32px 0 80px rgba(0,0,0,.9), 2px 0 0 rgba(0,255,136,.06);
  animation: panelSlide .28s var(--ease-out);
  display:flex; flex-direction:column;
  overflow-y:auto; overflow-x:hidden;
}
@keyframes panelSlide {
  from { transform:translateX(-100%) }
  to   { transform:none }
}

.drawer__head {
  padding: 28px 18px 22px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(0,255,136,.06) 0%, rgba(0,229,255,.03) 100%);
  flex-shrink:0;
}
.drawer__head-title {
  font-family: var(--font-display);
  font-size:11px; font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  margin-bottom:4px;
}
.drawer__head-sub {
  font-size:10px; color: var(--text-3);
  letter-spacing:1.5px;
  font-family: var(--font-display);
}

.drawer__nav { padding: 10px 8px; flex:1 }

.drawer__a {
  display:flex; align-items:center; gap:12px;
  padding: 10px 14px;
  margin-bottom:2px;
  color: var(--text-2);
  border-radius:6px;
  font-size:13px; font-weight:500;
  letter-spacing:.3px;
  transition: all .15s;
  border: 1px solid transparent;
  position:relative;
  overflow:hidden;
}
.drawer__a::before {
  content:'';
  position:absolute; left:0; top:0; bottom:0; width:0;
  background: var(--neon);
  transition: width .15s;
}
.drawer__a:hover {
  background: rgba(0,255,136,.05);
  border-color: var(--border-2);
  color: var(--neon);
  padding-left:18px;
}
.drawer__a:hover::before { width:2px }
.drawer__a svg { flex-shrink:0; opacity:.6; transition:opacity .15s; position:relative }
.drawer__a:hover svg { opacity:1; filter:drop-shadow(0 0 4px var(--neon)) }

.drawer__sep {
  height:1px;
  background: var(--border);
  margin: 8px 14px;
}

/* ════════════════════════════════
   MAIN WRAP
════════════════════════════════ */
.wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 16px 14px calc(var(--tabs-h) + 16px + env(safe-area-inset-bottom));
  position:relative; z-index:1;
}

/* ════════════════════════════════
   SEARCH
════════════════════════════════ */
.search {
  position:relative;
  margin: 12px 0 16px;
}
.search input {
  width:100%;
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius:0;
  padding: 13px 16px 13px 48px;
  font-size:14px;
  font-family: var(--font-body);
  letter-spacing:.4px;
  color: var(--text);
  outline:0;
  transition: all .22s;
  clip-path: polygon(14px 0%, 100% 0%, calc(100% - 14px) 100%, 0% 100%);
}
.search input::placeholder { color: var(--text-3); font-size:13px }
.search input:focus {
  border-color: var(--neon);
  background: var(--surface-2);
  box-shadow: var(--neon-glow), inset 0 0 24px rgba(0,255,136,.025);
  color: #e8f4ff;
}
.search .ico {
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:20px; height:20px;
  color: var(--neon);
  opacity:.4;
  filter: drop-shadow(0 0 4px var(--neon));
  transition: opacity .2s;
  pointer-events:none;
}
.search:focus-within .ico { opacity:.85 }

/* ════════════════════════════════
   BOTTOM TABS
════════════════════════════════ */
.tabs {
  position:fixed; left:0; right:0; bottom:0; z-index:55;
  display:flex; justify-content:space-around; align-items:stretch;
  padding: 8px 4px calc(8px + env(safe-area-inset-bottom));
  background: rgba(3,5,12,.95);
  backdrop-filter: blur(28px) saturate(160%);
  border-top: 1px solid var(--border-2);
  box-shadow: 0 -1px 0 rgba(0,255,136,.06), 0 -24px 60px rgba(0,0,0,.8);
}
.tabs::before {
  content:'';
  position:absolute; top:-1px; left:0; right:0;
  height:1px;
  background: linear-gradient(90deg, transparent 0%, var(--neon) 30%, var(--cyan) 70%, transparent 100%);
  opacity:.2;
}

.tab {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px; flex:1;
  color: var(--text-3);
  font-size:8.5px;
  font-family: var(--font-display);
  font-weight:500;
  letter-spacing:1.2px;
  text-transform:uppercase;
  border-radius:8px;
  padding: 8px 6px;
  transition: all .18s;
  border: 1px solid transparent;
  position:relative;
  cursor:pointer;
}
.tab svg { width:20px; height:20px; transition:all .18s }

.tab.active {
  color: var(--neon);
  border-color: rgba(0,255,136,.16);
  background: rgba(0,255,136,.05);
}
.tab.active::before {
  content:'';
  position:absolute; top:-1px; left:20%; right:20%;
  height:2px;
  background: var(--neon);
  box-shadow: 0 0 8px var(--neon), 0 0 16px rgba(0,255,136,.5);
  border-radius:0 0 2px 2px;
}
.tab.active svg {
  filter: drop-shadow(0 0 5px var(--neon));
  color: var(--neon);
}
.tab:not(.active):hover {
  color: var(--text-2);
  background: var(--surface);
}

/* ════════════════════════════════
   KPIs
════════════════════════════════ */
.kpis {
  display:flex; gap:8px; flex-wrap:wrap;
  margin: 0 0 16px;
}
.kpi {
  font-family: var(--font-display);
  font-size:10px; font-weight:600;
  letter-spacing:.8px;
  color: var(--cyan);
  background: transparent;
  border: 1px solid rgba(0,229,255,.16);
  padding: 5px 14px;
  clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
  text-shadow: 0 0 8px rgba(0,229,255,.4);
  white-space:nowrap;
  transition: all .18s;
}
.kpi:hover {
  background: rgba(0,229,255,.06);
  border-color: rgba(0,229,255,.3);
}

/* ════════════════════════════════
   GROUP TITLE (alphabet section)
════════════════════════════════ */
.group__title {
  position:sticky; top:calc(var(--appbar-h) - 1px);
  background: rgba(3,5,12,.94);
  backdrop-filter: blur(16px);
  font-family: var(--font-display);
  font-weight:900; font-size:10px;
  letter-spacing:6px; text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  padding: 8px 14px 8px 16px;
  border-left: 2px solid var(--neon);
  box-shadow: inset 12px 0 24px rgba(0,255,136,.025);
  margin: 18px 0 4px;
  z-index:10;
  display:flex; align-items:center; gap:14px;
}
.group__title::after {
  content:'';
  flex:1; height:1px;
  background: linear-gradient(90deg, rgba(0,255,136,.25), transparent);
}

/* ════════════════════════════════
   LIST / ITEMS
════════════════════════════════ */
.list { margin-right:22px }

.item {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius:0;
  padding: 13px 18px;
  margin-bottom:2px;
  cursor:pointer;
  transition: all .18s;
  position:relative; overflow:hidden;
  clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
}
.item::before {
  content:'';
  position:absolute; left:0; top:0; bottom:0; width:2px;
  background: linear-gradient(180deg, var(--neon), var(--cyan));
  opacity:0; transition:opacity .18s;
  box-shadow: 0 0 10px var(--neon);
}
.item::after {
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,255,136,.03) 0%, transparent 50%);
  opacity:0; transition:opacity .18s;
}
.item:hover {
  background: var(--card-hover);
  border-color: var(--border-2);
  transform: translateX(2px);
  box-shadow: inset 0 0 40px rgba(0,255,136,.02), 0 4px 24px rgba(0,0,0,.5);
}
.item:hover::before { opacity:1 }
.item:hover::after  { opacity:1 }
.item:active { transform:scale(.998); opacity:.9 }

.item__title {
  font-family: var(--font-display);
  font-weight:600; font-size:12.5px;
  letter-spacing:.6px;
  color: var(--text);
  transition: color .18s;
  flex-shrink:0;
  white-space:nowrap;
}
.item:hover .item__title {
  color: var(--neon);
  text-shadow: 0 0 8px rgba(0,255,136,.3);
}

.item__meaning {
  flex:1; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  color: var(--text-3);
  font-size:12px;
  letter-spacing:.15px;
}

.pill {
  font-family: var(--font-display);
  font-size:8px; font-weight:700;
  letter-spacing:1.2px;
  color: var(--neon);
  background: transparent;
  border: 1px solid rgba(0,255,136,.3);
  padding: 3px 10px;
  clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%);
  text-shadow: 0 0 6px rgba(0,255,136,.5);
  white-space:nowrap; flex-shrink:0;
  transition: all .18s;
}
.item:hover .pill {
  background: rgba(0,255,136,.07);
  border-color: rgba(0,255,136,.5);
  box-shadow: 0 0 10px rgba(0,255,136,.15);
}

@media(max-width:640px){
  .item__meaning { display:none }
  .list { margin-right:18px }
}

/* ════════════════════════════════
   DETAILS
════════════════════════════════ */
.details {
  display:none;
  background: var(--surface);
  border: 1px solid var(--border-3);
  padding: 24px;
  position:relative; overflow:hidden;
  animation: detailPop .22s var(--ease-out);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
  margin-bottom:8px;
}
.details::before {
  content:'';
  position:absolute; top:0; right:0;
  width:0; height:0;
  border-style:solid; border-width:0 22px 22px 0;
  border-color:transparent var(--border-3) transparent transparent;
}
.details::after {
  content:'';
  position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, var(--neon), var(--cyan), transparent 60%);
  opacity:.5;
}

@keyframes detailPop {
  from { transform:translateY(12px) scale(.98); opacity:0 }
  to   { transform:none; opacity:1 }
}

.details h2 {
  font-family: var(--font-display);
  font-weight:900; font-size:20px;
  letter-spacing:2px; text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  margin:0 0 10px;
  line-height:1.2;
}
.details p {
  color: var(--text-2);
  font-size:14px; line-height:1.7;
  letter-spacing:.2px;
}

/* ════════════════════════════════
   ACTIONS / BUTTONS
════════════════════════════════ */
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px }

.btn {
  font-family: var(--font-display);
  font-size:9px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding: 10px 20px;
  border:0; cursor:pointer;
  transition: all .18s;
  position:relative; overflow:hidden;
  clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
  background: rgba(255,255,255,.04);
  color: var(--text-2);
  border: 1px solid rgba(255,255,255,.07);
}
.btn:hover { transform:translateY(-1px) }
.btn:active { transform:scale(.96) }

.btn-green {
  background: var(--neon);
  color: var(--bg);
  border-color: transparent;
  box-shadow: 0 0 20px rgba(0,255,136,.4), 0 4px 16px rgba(0,0,0,.5);
  animation: btnPulse 4s ease-in-out infinite;
}
@keyframes btnPulse {
  0%,100% { box-shadow:0 0 20px rgba(0,255,136,.4), 0 4px 16px rgba(0,0,0,.5) }
  50%     { box-shadow:0 0 32px rgba(0,255,136,.6), 0 4px 16px rgba(0,0,0,.5) }
}
.btn-green:hover { animation:none; box-shadow:0 0 36px rgba(0,255,136,.7), 0 6px 20px rgba(0,0,0,.5) }

.btn-ghost {
  background: transparent;
  color: var(--neon);
  border: 1px solid rgba(0,255,136,.28);
  box-shadow: inset 0 0 14px rgba(0,255,136,.025);
}
.btn-ghost:hover {
  border-color: var(--neon);
  box-shadow: 0 0 14px rgba(0,255,136,.2), inset 0 0 14px rgba(0,255,136,.05);
}

.badge {
  font-family: var(--font-display);
  font-size:9px; font-weight:700; letter-spacing:1.5px;
  color: var(--bg);
  background: var(--neon);
  padding: 3px 10px;
  clip-path: polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%);
  box-shadow: 0 0 10px rgba(0,255,136,.5);
}

/* ════════════════════════════════
   FORMS
════════════════════════════════ */
.form { display:grid; gap:12px }

.input,.textarea {
  width:100%;
  background: var(--surface);
  border: 1px solid rgba(0,255,136,.1);
  border-radius:0;
  padding: 12px 16px;
  font-family: var(--font-body);
  font-size:14px; letter-spacing:.3px;
  color: var(--text);
  outline:0; transition:all .2s;
  clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%);
}
.input:focus,.textarea:focus {
  border-color: var(--neon);
  background: var(--surface-2);
  box-shadow: var(--neon-glow), inset 0 0 24px rgba(0,255,136,.02);
  color: #e8f4ff;
}
.input::placeholder,.textarea::placeholder { color:var(--text-3); font-size:13px }
.textarea { min-height:110px; resize:vertical; clip-path:none; border-radius:3px }

/* ════════════════════════════════
   MODALS
════════════════════════════════ */
.modal {
  position:fixed; inset:0; z-index:80;
  background: rgba(0,0,0,.82);
  display:none;
  backdrop-filter: blur(12px);
}
.modal.show { display:flex; align-items:center; justify-content:center }

.modal__card {
  background: var(--card);
  border: 1px solid var(--border-3);
  width: 92%; max-width:480px;
  padding: 24px;
  position:relative; overflow:hidden;
  animation: detailPop .22s var(--ease-out);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
}
.modal__card::before {
  content:'';
  position:absolute; top:0; right:0;
  width:0; height:0;
  border-style:solid; border-width:0 22px 22px 0;
  border-color:transparent var(--border-3) transparent transparent;
}
.modal__card::after {
  content:'';
  position:absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, var(--neon), var(--cyan), transparent 60%);
  opacity:.4;
}

.modal__head {
  font-family: var(--font-display);
  font-size:12px; font-weight:800;
  letter-spacing:3px; text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom: 1px solid var(--border);
}
.modal__card label {
  display:block;
  font-family: var(--font-display);
  font-size:9px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase;
  color: var(--text-3);
  margin-bottom:6px;
}
.modal__card p { font-size:13px; color:var(--text-2); line-height:1.65 }

/* ════════════════════════════════
   SKELETON
════════════════════════════════ */
.skeleton {
  height:50px;
  background: linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 37%, var(--surface) 63%);
  background-size:400% 100%;
  animation: shimmer 1.8s infinite;
  margin-bottom:2px;
  clip-path: polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  border: 1px solid var(--border);
}
@keyframes shimmer {
  0%  { background-position:100% 0 }
  100%{ background-position:0 0 }
}

.empty {
  text-align:center;
  padding: 48px 20px;
  font-family: var(--font-display);
  font-size:10px; letter-spacing:3px; text-transform:uppercase;
  color: var(--text-3);
  opacity:.7;
}

mark {
  background: rgba(0,255,136,.1);
  color: var(--neon);
  padding: 1px 5px;
  border-left: 2px solid var(--neon);
  box-shadow: inset 2px 0 8px rgba(0,255,136,.08);
}

hr.sep {
  border:none;
  border-top: 1px solid var(--border);
  margin:18px 0;
  position:relative;
}
hr.sep::after {
  content:'◇';
  position:absolute;
  left:50%; top:50%; transform:translate(-50%,-50%);
  color: var(--text-3);
  font-size:10px;
  background: var(--surface);
  padding:0 8px;
}

/* ════════════════════════════════
   ALPHA INDEX
════════════════════════════════ */
.alpha-index {
  position:fixed;
  right:3px;
  top:60px;
  bottom:90px;
  width:26px;
  display:block;
  padding: 4px 0;
  background: rgba(3,5,12,.9);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-2);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  z-index:40;
}
.alpha-index::-webkit-scrollbar { width:0; display:none }

.alpha-index button {
  display:block;
  width:100%;
  background:transparent; border:0; cursor:pointer;
  padding: 3px 0;
  font-family: var(--font-display);
  font-size:8px; letter-spacing:.3px;
  color: var(--text-3);
  line-height:1;
  text-align:center;
  transition: all .12s;
  white-space:nowrap;
}
.alpha-index button:hover {
  background: rgba(0,255,136,.07);
  color: var(--neon);
  text-shadow: 0 0 6px var(--neon);
}
.alpha-index button.is-off { opacity:.1; cursor:default; pointer-events:none }

@media(max-width:640px){
  .alpha-index { width:22px; right:0 }
  .alpha-index button { font-size:7px; padding:2px 0 }
}

/* ════════════════════════════════
   COMMENTS
════════════════════════════════ */
#comments.list { display:grid; gap:8px; margin-right:0 }

.c-item {
  display:flex; gap:12px; align-items:flex-start;
  padding: 14px 16px;
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 2px solid rgba(0,255,136,.2);
  transition: border-color .18s;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
}
.c-item:hover { border-left-color: var(--neon) }

.c-ava {
  width:36px; height:36px;
  display:grid; place-items:center;
  color: var(--bg);
  font-family: var(--font-display);
  font-weight:700; font-size:10px; letter-spacing:.5px;
  flex: 0 0 36px;
  clip-path: polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%);
  box-shadow: 0 0 12px rgba(0,255,136,.3);
}
.c-body { flex:1; min-width:0 }
.c-head { display:flex; gap:8px; align-items:center; flex-wrap:wrap }
.c-name { font-family:var(--font-display); font-size:11px; font-weight:600; letter-spacing:.5px; color:var(--neon) }
.c-time { font-family:var(--font-display); font-size:9px; letter-spacing:.3px; color:var(--text-3) }
.c-text { margin-top:6px; white-space:pre-wrap; line-height:1.6; font-size:13px; color:var(--text-2) }

/* ════════════════════════════════
   SECTION HEADERS
════════════════════════════════ */
.section-header {
  font-family: var(--font-display);
  font-size:11px; font-weight:800;
  letter-spacing:4px; text-transform:uppercase;
  color: var(--neon);
  text-shadow: var(--neon-glow-sm);
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom: 1px solid var(--border);
  display:flex; align-items:center; gap:12px;
}
.section-header::before {
  content:'//';
  opacity:.4;
  font-size:14px;
}

/* ════════════════════════════════
   FAQ
════════════════════════════════ */
.faq details {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  padding: 12px 16px !important;
  margin-bottom:4px !important;
  clip-path: polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  transition: border-color .18s;
}
.faq details:hover { border-color:var(--border-3) !important }
.faq details summary {
  font-family: var(--font-display) !important;
  font-size:11px !important; font-weight:600 !important;
  letter-spacing:.5px !important;
  color: var(--text) !important;
  cursor:pointer;
  list-style:none;
  transition: color .15s;
  user-select:none;
}
.faq details summary::marker,
.faq details summary::-webkit-details-marker { display:none }
.faq details summary::before { content:'▶ '; color:var(--neon); font-size:8px; margin-right:8px }
.faq details[open] summary::before { content:'▼ ' }
.faq details:hover summary { color:var(--neon) !important }
.faq details div {
  color:var(--text-2) !important;
  padding-top:10px !important;
  font-size:13px !important;
  line-height:1.65 !important;
}

/* ════════════════════════════════
   AUTH MODAL
════════════════════════════════ */
#authPhoneError,#authLoginError,#authRegError {
  font-family: var(--font-display);
  font-size:9px; letter-spacing:1px;
  color: var(--red);
  text-shadow: 0 0 8px rgba(255,71,87,.4);
}

/* Phone prefix */
#authStepPhone > div > div {
  background: var(--surface-2) !important;
  border: 1px solid var(--border-2) !important;
  color: var(--neon) !important;
  font-family: var(--font-display) !important;
  font-size:12px !important;
  padding: 12px 14px !important;
  clip-path: polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);
}

/* ════════════════════════════════
   PAGE ANIMATIONS
════════════════════════════════ */
.wrap > * {
  animation: fadeUp .4s var(--ease-out) both;
}
.wrap > *:nth-child(1) { animation-delay:.04s }
.wrap > *:nth-child(2) { animation-delay:.08s }
.wrap > *:nth-child(3) { animation-delay:.12s }
.wrap > *:nth-child(4) { animation-delay:.16s }
.wrap > *:nth-child(5) { animation-delay:.20s }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(14px) }
  to   { opacity:1; transform:none }
}

/* ════════════════════════════════
   SCROLLBAR
════════════════════════════════ */
::-webkit-scrollbar { width:4px }
::-webkit-scrollbar-track { background:var(--bg) }
::-webkit-scrollbar-thumb { background:rgba(0,255,136,.16); border-radius:2px }
::-webkit-scrollbar-thumb:hover { background:rgba(0,255,136,.32) }

/* ════════════════════════════════
   HISTORY DATE
════════════════════════════════ */
#historyList .item__meaning {
  font-family: var(--font-display);
  font-size:9.5px; letter-spacing:.3px;
  color: var(--text-3);
}

/* ════════════════════════════════
   ADD MSG
════════════════════════════════ */
#addMsg {
  font-family: var(--font-display);
  font-size:10px; letter-spacing:1.5px;
  text-transform:uppercase;
}