:root{
  --bg:#06070b;
  --panel:rgba(17,20,29,.78);
  --line:rgba(255,255,255,.08);
  --text:#eef3ff;
  --muted:#98a2b3;
  --danger:#ff4040;
  --danger-soft:#ff6666;
  --dark:#07090d;
  --white:#f7f9fc;
  --gold:#f9bf3b;
  --cyan:#27d3ff;
  --green:#00d084;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:radial-gradient(circle at top,#181c29 0,#090b11 45%,#040507 100%);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}
.bg-orbs:before,.bg-orbs:after{content:"";position:fixed;pointer-events:none;filter:blur(90px);opacity:.22;z-index:0}
.bg-orbs:before{width:380px;height:380px;background:#ff2d55;top:0;left:-100px}
.bg-orbs:after{width:420px;height:420px;background:#00b3ff;bottom:-120px;right:-120px}
.mainShell{position:relative;z-index:1;max-width:1600px}
.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 18px 60px rgba(0,0,0,.38)}
.hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,64,64,.07),transparent 45%,rgba(39,211,255,.08));pointer-events:none}
.hero-left{display:flex;align-items:center;gap:18px;min-width:0}
.hero-right{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;width:min(420px,100%)}
.brand-logo{width:108px;height:108px;object-fit:cover;border-radius:50%;border:3px solid rgba(255,255,255,.14);box-shadow:0 0 0 4px rgba(255,64,64,.12),0 0 40px rgba(255,77,77,.45),0 0 80px rgba(249,191,59,.18);animation:glowPulse 2.4s ease-in-out infinite}
@keyframes glowPulse{50%{transform:scale(1.02);box-shadow:0 0 0 5px rgba(255,64,64,.15),0 0 56px rgba(255,77,77,.6),0 0 95px rgba(249,191,59,.22)}}
.hero-title{font-size:clamp(1.6rem,3vw,2.8rem);font-weight:900;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 12px rgba(255,64,64,.35)}
.hero-kicker{font-weight:800;color:#ffd87a;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem}
.hero-sub{color:var(--muted);max-width:760px}
.miniStat,.adminStat{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}
.miniStat span,.adminStat span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.miniStat b,.adminStat b{font-size:1.08rem}
.section-title{font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.form-control,.form-select{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.11)!important;color:#fff!important;border-radius:14px!important}
.form-control::placeholder{color:#98a2b3}
.neon-select{box-shadow:0 0 0 1px rgba(39,211,255,.25),0 0 18px rgba(39,211,255,.12)}
.pattern-sel{box-shadow:0 0 0 1px rgba(249,191,59,.28),0 0 18px rgba(249,191,59,.14)}
.chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.92rem;color:var(--muted)}
.chip b{color:#fff}
.actionBtn{font-weight:800;box-shadow:0 0 0 1px rgba(249,191,59,.28),0 0 20px rgba(249,191,59,.15)}
.patternsInput{min-height:220px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;line-height:1.5}
.listTitle{font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.redTitle{color:#ff6a6a;text-shadow:0 0 12px rgba(255,106,106,.3)}
.blackTitle{color:#fafcff}
.multiTitle{color:#3ad6ff;text-shadow:0 0 12px rgba(58,214,255,.25)}
.listGrid{display:flex;flex-direction:column;gap:8px}
.lrow{display:grid;grid-template-columns:70px 42px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}
.lrow.wait{opacity:.78}
.lrow.green{box-shadow:inset 0 0 0 1px rgba(0,208,132,.34)}
.lrow.g1{box-shadow:inset 0 0 0 1px rgba(249,191,59,.34)}
.lrow.loss{box-shadow:inset 0 0 0 1px rgba(255,64,64,.34)}
.lcol.time{font-weight:800}
.dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.65);box-shadow:0 0 15px rgba(255,255,255,.15)}
.dot.red{background:#ff5f5f;box-shadow:0 0 15px rgba(255,95,95,.45)}
.dot.green{background:#00d084;box-shadow:0 0 15px rgba(0,208,132,.45)}
.dot.black{background:#050505}
.dot.white{background:#fff;position:relative}.dot.white:after{content:"◆";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:10px;color:#d30000}
.resultText{font-weight:900;letter-spacing:.04em}
.resultText.loss{font-size:1.1rem}
.telegramBox{min-height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.historyGridWrap{display:flex;flex-direction:column;gap:10px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.historyMinuteRow{display:grid;grid-template-columns:repeat(10,minmax(176px,1fr));gap:8px;min-width:3600px}
.historyMinuteHead{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 0;text-align:center;font-weight:800;letter-spacing:.08em;color:#dce6f8}
.historyGridRows{display:flex;flex-direction:column;gap:8px;min-width:3600px}
.historyGridRow{display:grid;grid-template-columns:repeat(20,minmax(176px,1fr));gap:8px}
.historyChip{min-width:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);min-height:78px}
.historyBall{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);font-weight:900;box-shadow:0 0 18px rgba(0,0,0,.2)}
.historyBall.red{background:#ff5b5b;color:#fff;box-shadow:0 0 18px rgba(255,91,91,.5)}
.historyBall.green{background:#00d084;color:#fff;box-shadow:0 0 18px rgba(0,208,132,.5)}
.historyBall.black{background:#090909;color:#fff}
.historyBall.white{background:#fff;color:#d30000}
.historyTime{font-size:.72rem;color:#b3bcc8}
.emptyState{padding:24px;border-radius:18px;background:rgba(255,255,255,.03);color:var(--muted);text-align:center}
.emptyState.slim{padding:12px}
.adminBox{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}
.adminRow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}
.authBody{display:grid;place-items:center;min-height:100vh;padding:24px}
.authWrap{width:min(520px,100%)}
.authCard{padding:28px;text-align:center}
.authLogo{width:126px;height:126px;border-radius:50%;object-fit:cover;box-shadow:0 0 42px rgba(255,77,77,.52),0 0 82px rgba(249,191,59,.18);margin-bottom:12px}
.authMsg{min-height:22px;color:#ffd27a}
@media (max-width: 1199px){.hero{flex-direction:column;align-items:flex-start}.hero-right{width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width: 767px){
  .brand-logo{width:82px;height:82px}
  .hero-right{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lrow{grid-template-columns:62px 36px 1fr}
  .historyMinuteRow{grid-template-columns:repeat(10,minmax(120px,1fr));min-width:2440px}
  .historyGridRows{min-width:2440px}
  .historyGridRow{grid-template-columns:repeat(20,minmax(120px,1fr))}
  .historyChip{min-width:120px;min-height:72px;padding:8px 4px}
  .historyBall{width:38px;height:38px}
}


/* V3.3.1 history tipminer-like without times */
.historyGridWrap{
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 8px;
}
.historyMinuteRow{
  display:grid;
  grid-template-columns:repeat(10,minmax(112px,1fr));
  gap:10px;
  min-width:1180px;
}
.historyMinuteHead{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0 0 4px;
  text-align:center;
  font-weight:900;
  letter-spacing:.08em;
  color:#f6f8ff;
  text-shadow:0 0 10px rgba(255,255,255,.16);
}
.historyGridRows{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:1180px;
}
.historyGridRow{
  display:grid;
  grid-template-columns:repeat(20,minmax(52px,1fr));
  gap:4px;
}
.historyChip{
  min-width:52px;
  min-height:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:8px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 0 14px rgba(0,0,0,.14);
}
.historyChip.red{
  background:linear-gradient(180deg, rgba(255,83,110,.16), rgba(255,83,110,.08));
  border-color:rgba(255,99,124,.34);
  box-shadow:inset 0 0 0 1px rgba(255,140,160,.12), 0 0 18px rgba(255,74,111,.16);
}
.historyChip.black{
  background:linear-gradient(180deg, rgba(40,42,48,.88), rgba(26,28,34,.92));
  border-color:rgba(255,255,255,.08);
}
.historyChip.white{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
  border-color:rgba(255,255,255,.26);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10), 0 0 18px rgba(255,255,255,.12);
}
.historyChip.green{
  background:linear-gradient(180deg, rgba(0,208,132,.20), rgba(0,208,132,.10));
  border-color:rgba(0,208,132,.34);
}
.historyChip.empty{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.08);
}
.historyBall{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.82);
  font-weight:900;
  font-size:1rem;
  box-shadow:0 0 14px rgba(0,0,0,.18);
}
.historyBall.red{
  background:#ff4f72;
  color:#fff;
  box-shadow:0 0 18px rgba(255,79,114,.38);
}
.historyBall.black{
  background:#20222a;
  color:#fff;
  box-shadow:0 0 16px rgba(255,255,255,.06);
}
.historyBall.white{
  background:#fff;
  color:#e1003a;
  box-shadow:0 0 18px rgba(255,255,255,.26);
}
.historyBall.green{
  background:#00d084;
  color:#fff;
  box-shadow:0 0 18px rgba(0,208,132,.34);
}
.historyBall.empty{
  background:transparent;
  border-color:rgba(255,255,255,.12);
  box-shadow:none;
}
.historyTime{display:none !important;}
@media (max-width: 767px){
  .historyMinuteRow{
    grid-template-columns:repeat(10,minmax(86px,1fr));
    min-width:920px;
  }
  .historyGridRows{min-width:920px;}
  .historyGridRow{grid-template-columns:repeat(20,minmax(40px,1fr));}
  .historyChip{
    min-width:40px;
    width:40px;
    min-height:40px;
    height:40px;
  }
  .historyBall{
    width:28px;
    height:28px;
    font-size:.86rem;
  }
}


/* V3.3.1 visual patch: times under history, stronger neon, telegram-style list emojis */
.listGrid, .lrow, .lcol, .resultText, .telegramEmoji, .historyTime, .telegramBox {
  user-select:text;
  -webkit-user-select:text;
}

.lrow{
  grid-template-columns:78px 52px 1fr;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 18px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.03);
}
.lrow.green{
  box-shadow:inset 0 0 0 1px rgba(0,255,153,.45), 0 0 24px rgba(0,255,153,.18), 0 0 38px rgba(0,255,153,.10);
}
.lrow.g1{
  box-shadow:inset 0 0 0 1px rgba(0,255,136,.48), 0 0 24px rgba(0,255,136,.20), 0 0 38px rgba(0,255,136,.12);
}
.lrow.loss{
  box-shadow:inset 0 0 0 1px rgba(255,76,110,.48), 0 0 24px rgba(255,76,110,.18), 0 0 38px rgba(255,76,110,.10);
}
.lcol.time{
  font-weight:900;
  letter-spacing:.04em;
  text-shadow:0 0 10px rgba(255,255,255,.08);
}
.telegramEmoji{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.5em;
  font-size:1.12rem;
  line-height:1;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.12));
}
.expectEmoji{font-size:1.2rem}
.resultText{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:6px;
  font-weight:900;
  letter-spacing:.04em;
}
.resultText.sg{color:#f8fbff;text-shadow:0 0 10px rgba(255,255,255,.16)}
.resultText.g1{color:#29ff9e;text-shadow:0 0 14px rgba(41,255,158,.38)}
.resultText.loss{color:#ff6b8b;text-shadow:0 0 14px rgba(255,107,139,.38);font-size:1.15rem}
.listCardWrap{
  box-shadow:0 0 26px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.03);
}
.redTitle{color:#ff6f85;text-shadow:0 0 16px rgba(255,111,133,.45),0 0 28px rgba(255,111,133,.16)}
.blackTitle{color:#ffffff;text-shadow:0 0 14px rgba(255,255,255,.16)}
.multiTitle{color:#58e7ff;text-shadow:0 0 16px rgba(88,231,255,.45),0 0 28px rgba(88,231,255,.16)}

.historyGridRow{
  gap:5px;
}
.historyChip{
  min-width:54px;
  width:54px;
  min-height:74px;
  height:74px;
  border-radius:8px;
  grid-template-rows:42px 0px;
  align-content:center;
  gap:6px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 0 20px rgba(0,0,0,.16);
}
.historyChip.red{
  background:linear-gradient(180deg, rgba(255,92,120,.20), rgba(255,70,104,.12));
  border-color:rgba(255,112,137,.48);
  box-shadow:inset 0 0 0 1px rgba(255,170,185,.16), 0 0 20px rgba(255,73,112,.22), 0 0 34px rgba(255,73,112,.10);
}
.historyChip.black{
  background:linear-gradient(180deg, rgba(43,45,54,.94), rgba(20,22,28,.98));
  border-color:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 0 18px rgba(255,255,255,.05);
}
.historyChip.white{
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.12));
  border-color:rgba(255,255,255,.34);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 0 20px rgba(255,255,255,.16), 0 0 32px rgba(255,255,255,.08);
}
.historyBall{
  width:36px;
  height:36px;
  border-radius:10px;
  border:2px solid rgba(255,255,255,.86);
  font-weight:900;
  font-size:1rem;
}
.historyBall.red{
  background:#ff3f64;
  color:#fff;
  box-shadow:0 0 20px rgba(255,63,100,.48), 0 0 34px rgba(255,63,100,.18);
}
.historyBall.black{
  background:#1e2229;
  color:#fff;
  box-shadow:0 0 18px rgba(255,255,255,.08);
}
.historyBall.white{
  background:#ffffff;
  color:#ff2b61;
  box-shadow:0 0 22px rgba(255,255,255,.28), 0 0 36px rgba(255,255,255,.10);
  font-size:1.08rem;
}
.historyBall.green{
  background:#00d084;
  color:#fff;
  box-shadow:0 0 20px rgba(0,208,132,.36);
}
.historyTime{
  display:block !important;
  font-size:.72rem;
  line-height:1;
  color:#d0d8e6;
  letter-spacing:.02em;
  text-shadow:0 0 10px rgba(255,255,255,.08);
}
.historyTime.empty{opacity:0}
@media (max-width: 767px){
  .lrow{grid-template-columns:64px 44px 1fr}
  .historyGridRow{grid-template-columns:repeat(20,minmax(42px,1fr));}
  .historyChip{min-width:42px;width:42px;min-height:64px;height:64px;grid-template-rows:32px 14px;gap:5px}
  .historyBall{width:30px;height:30px;font-size:.88rem}
  .historyTime{font-size:.62rem}
}


/* V3.3.2 history layout: 10-minute buckets, two slots per minute, bottom older / top newer */
.historyGridWrap{
  overflow-x:auto;
  overflow-y:hidden;
}
.historyMinuteRow{
  display:grid;
  grid-template-columns:repeat(10, minmax(96px, 1fr));
  gap:8px;
  min-width:1060px;
  margin-bottom:8px;
}
.historyMinuteHead{
  text-align:center;
  font-weight:900;
  letter-spacing:.08em;
  color:#f3f6ff;
  text-shadow:0 0 10px rgba(255,255,255,.16), 0 0 24px rgba(64,196,255,.10);
}
.historyGridRows{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:1060px;
}
.historyGridRow{
  display:grid;
  grid-template-columns:repeat(20, minmax(44px, 1fr));
  gap:4px;
  align-items:start;
}
.historyCell{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:3px;
}
.historyChip{
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  border-radius:6px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(17,21,31,.96), rgba(11,15,23,.96));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 0 16px rgba(0,0,0,.18);
}
.historyChip.red{
  background:linear-gradient(180deg, rgba(255,58,92,.98), rgba(255,43,79,.98));
  border-color:rgba(255,131,154,.42);
  box-shadow:inset 0 0 0 1px rgba(255,196,206,.14), 0 0 18px rgba(255,43,79,.24), 0 0 30px rgba(255,43,79,.14);
}
.historyChip.black{
  background:linear-gradient(180deg, rgba(40,42,48,.98), rgba(26,28,34,.98));
}
.historyChip.white{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,246,252,.98));
  border-color:rgba(255,255,255,.50);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.40), 0 0 18px rgba(255,255,255,.18), 0 0 28px rgba(255,255,255,.12);
}
.historyChip.empty{
  background:linear-gradient(180deg, rgba(24,28,37,.56), rgba(20,24,31,.50));
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
}
.historyBall{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.84);
  font-weight:900;
  font-size:.96rem;
  line-height:1;
  box-shadow:0 0 18px rgba(0,0,0,.18);
}
.historyBall.red{
  background:#ff2f57;
  color:#fff;
  box-shadow:0 0 18px rgba(255,47,87,.42), 0 0 28px rgba(255,47,87,.18);
}
.historyBall.black{
  background:#1c1f26;
  color:#fff;
}
.historyBall.white{
  background:#fff;
  color:#ff2f57;
  border-color:#ffe8ef;
  box-shadow:0 0 18px rgba(255,255,255,.34), 0 0 24px rgba(255,255,255,.18);
}
.historyBall.empty{
  background:transparent;
  border-color:rgba(255,255,255,.12);
  box-shadow:none;
}
.historyTime{
  display:block !important;
  min-height:18px;
  border-radius:3px;
  background:linear-gradient(180deg, rgba(103,115,138,.88), rgba(88,99,119,.88));
  color:#f7f9ff;
  text-align:center;
  font-size:.72rem;
  line-height:18px;
  letter-spacing:.01em;
  user-select:none;
}
.historyTime.empty{
  color:rgba(255,255,255,.78);
}
@media (max-width: 767px){
  .historyMinuteRow{grid-template-columns:repeat(10, minmax(86px, 1fr)); min-width:940px;}
  .historyGridRows{min-width:940px;}
  .historyGridRow{grid-template-columns:repeat(20, minmax(40px, 1fr));}
  .historyChip{width:40px; min-width:40px; height:40px; min-height:40px;}
  .historyBall{width:28px; height:28px; font-size:.88rem;}
}


/* V3.3.2a CSS refinement: tipminer tighter alignment */
:root{
  --hist-cell-w: 51px;
  --hist-cell-h: 51px;
  --hist-ball: 30px;
  --hist-gap: 2px;
  --hist-minute-w: calc((var(--hist-cell-w) * 2) + var(--hist-gap));
  --hist-grid-w: calc((var(--hist-cell-w) * 20) + (var(--hist-gap) * 19));
}
.historyDock{overflow:hidden}
#history{overflow-x:auto;overflow-y:hidden;padding-bottom:2px}
.historyGridWrap{
  width:max-content;
  min-width:var(--hist-grid-w);
  display:grid;
  grid-template-columns:var(--hist-grid-w);
  gap:8px;
}
.historyMinuteRow{
  width:var(--hist-grid-w);
  min-width:var(--hist-grid-w);
  display:grid;
  grid-template-columns:repeat(10,var(--hist-minute-w));
  gap:var(--hist-gap);
  margin:0;
}
.historyMinuteHead{
  width:var(--hist-minute-w);
  min-width:var(--hist-minute-w);
  margin:0;
  padding:0 0 2px;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.06em;
  color:#f6f8ff;
  text-align:center;
  text-shadow:0 0 10px rgba(255,255,255,.18), 0 0 26px rgba(76,173,255,.10);
}
.historyGridRows{
  width:var(--hist-grid-w);
  min-width:var(--hist-grid-w);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.historyGridRow{
  width:var(--hist-grid-w);
  min-width:var(--hist-grid-w);
  display:grid;
  grid-template-columns:repeat(20,var(--hist-cell-w));
  gap:var(--hist-gap);
  align-items:start;
}
.historyCell{
  width:var(--hist-cell-w);
  min-width:var(--hist-cell-w);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:3px;
}
.historyChip{
  width:var(--hist-cell-w);
  min-width:var(--hist-cell-w);
  height:var(--hist-cell-h);
  min-height:var(--hist-cell-h);
  border-radius:6px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(18,22,31,.97), rgba(10,13,20,.97));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 0 12px rgba(0,0,0,.20);
}
.historyChip.red{
  background:linear-gradient(180deg, #ff4a68, #ff3156);
  border-color:rgba(255,181,193,.46);
  box-shadow:inset 0 0 0 1px rgba(255,215,223,.16), 0 0 20px rgba(255,49,86,.28), 0 0 34px rgba(255,49,86,.14);
}
.historyChip.black{
  background:linear-gradient(180deg, #242730, #181b22);
  border-color:rgba(255,255,255,.10);
}
.historyChip.white{
  background:linear-gradient(180deg, #ffffff, #f2f5fa);
  border-color:rgba(255,255,255,.56);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42), 0 0 18px rgba(255,255,255,.22), 0 0 30px rgba(255,255,255,.12);
}
.historyChip.empty{
  background:linear-gradient(180deg, rgba(21,25,34,.58), rgba(17,21,28,.52));
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
}
.historyBall{
  width:var(--hist-ball);
  height:var(--hist-ball);
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.86);
  font-weight:900;
  font-size:.96rem;
  line-height:1;
  box-shadow:0 0 16px rgba(0,0,0,.18);
}
.historyBall.red{
  background:#ff3358;
  color:#fff;
  box-shadow:0 0 18px rgba(255,51,88,.44), 0 0 28px rgba(255,51,88,.16);
}
.historyBall.black{
  background:#1d2027;
  color:#fff;
  border-color:rgba(255,255,255,.84);
}
.historyBall.white{
  background:#fff;
  color:#ff2f57;
  border-color:#fff1f5;
  box-shadow:0 0 18px rgba(255,255,255,.36), 0 0 24px rgba(255,255,255,.16);
}
.historyBall.empty{
  background:transparent;
  border-color:rgba(255,255,255,.12);
  box-shadow:none;
}
.historyTime{
  width:var(--hist-cell-w);
  min-width:var(--hist-cell-w);
  min-height:16px;
  border-radius:2px;
  background:linear-gradient(180deg, #6c7586, #5d6677);
  color:#f8fbff;
  text-align:center;
  font-size:.68rem;
  line-height:16px;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  user-select:none;
}
.historyTime.empty{color:rgba(255,255,255,.78)}

@media (max-width: 767px){
  :root{
    --hist-cell-w: 42px;
    --hist-cell-h: 42px;
    --hist-ball: 28px;
  }
  .historyMinuteHead{font-size:.98rem}
  .historyTime{font-size:.64rem; line-height:15px; min-height:15px}
}


/* v3.3.3 compact list line format */
.lrow{grid-template-columns:1fr !important;padding:12px 14px;}
.lcol.line{font-weight:900;letter-spacing:.03em;font-size:1.02rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.linePrefix{display:inline-flex;align-items:center;gap:2px;}
.resultText.wait{opacity:.6;}

/* compact update */
body{font-size:13px;line-height:1.28}
.mainShell{max-width:1700px}
.hero{padding:14px 16px}
.brand-logo{width:78px;height:78px}
.hero-title{font-size:clamp(1.15rem,2vw,2rem)}
.hero-kicker,.miniStat span,.adminStat span,.section-title,.form-label.small{font-size:.68rem}
.hero-sub,.chip,.miniStat b,.adminStat b,.btn,.form-control,.form-select{font-size:.82rem}
.glass{border-radius:18px}
.controlsBar .form-control,.controlsBar .form-select{min-height:34px}
.patternCard{padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.025);height:100%}
.patternHead{font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:.78rem}
.patternsInput{min-height:112px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.25}
.telegramBox{min-height:520px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem;line-height:1.2}
.listGrid{display:flex;flex-direction:column;gap:4px;max-height:none}
.lrow{display:block;padding:5px 8px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05);min-height:0}
.lrow.wait{opacity:.92}
.lcol.line{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;font-size:.8rem;font-weight:700}
.lineTime{min-width:39px}
.linePrefix{letter-spacing:.01em}
.lineResult{display:inline-flex;align-items:center;min-width:42px}
.resultText{font-weight:900;letter-spacing:0;font-size:.78rem;line-height:1}
.resultText.wait{display:inline-block;min-width:1px}
.resultText.loss{font-size:.82rem}
.emptyState{padding:14px;border-radius:12px;font-size:.8rem}
.adminRow{padding:8px 10px;border-radius:12px}
@media (max-width: 1199px){
  .telegramBox{min-height:360px}
}
@media (max-width: 767px){
  body{font-size:12px}
  .brand-logo{width:62px;height:62px}
  .patternsInput{min-height:96px}
  .telegramBox{min-height:300px}
  .lrow{padding:4px 6px}
  .lcol.line{font-size:.74rem;gap:4px}
  .lineTime{min-width:35px}
}

/* per-list pattern/copy layout */
.listCardWrap{display:flex;flex-direction:column;height:100%}
.listInlineTools{padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.025)}
.listPatternInput{min-height:72px;resize:vertical}
.listInlineMeta{display:flex;align-items:end;justify-content:space-between;gap:10px}
.listMinuteBox{max-width:108px;width:100%}
.listQuickMeta{flex:1;min-height:36px;display:flex;align-items:center;justify-content:flex-end;text-align:right;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);font-size:.74rem;font-weight:800;letter-spacing:.02em}
.listGrid{flex:1}
.copyListBtn{width:100%;font-weight:800;letter-spacing:.03em}
.copyListBtn.copied{border-color:rgba(0,255,136,.55)!important;color:#b9ffd9!important;box-shadow:0 0 18px rgba(0,255,136,.18), inset 0 0 0 1px rgba(0,255,136,.3)}
.redMeta{color:#ff9a9a}
.blackMeta{color:#d7d7d7}
.multiMeta{color:#9bd3ff}
@media (max-width: 767px){
  .listInlineMeta{flex-direction:column;align-items:stretch}
  .listMinuteBox{max-width:none}
  .listQuickMeta{justify-content:flex-start;text-align:left}
}


.listScoreboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 8px 0}.scoreMini{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 4px;text-align:center}.scoreMini span{display:block;font-size:10px;color:var(--muted);line-height:1}.scoreMini b{display:block;font-size:12px;color:var(--text);margin-top:3px}.scoreMini.assert b{color:var(--green)}.adminLoginModal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:99}.adminLoginCard{width:min(92vw,380px);padding:18px}.tokenExpiryInput{max-width:140px}


/* ===== AJUSTES VISUAIS V3.3.2 =====
   1) History mobile/tablet: cartões menores, mais espaço horizontal, swipe suave.
   2) Neon mais limpo: reduzimos sombras pesadas para a página ficar mais leve.
   3) Datas do histórico: cada bloco agora mostra a data antes da grade.
   4) Admin separado: classes abaixo ajudam o layout do /admin.
*/
.hero, .glass { box-shadow: 0 0 18px rgba(0,0,0,.18), 0 0 22px rgba(39,211,255,.05), inset 0 1px 0 rgba(255,255,255,.03); }
.listCardWrap, .controlsBar, .historyDock { backdrop-filter: blur(12px); }
.listInlineTools, .listScoreboard { margin-bottom: 10px; }
.historyDateSection{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.historyDateTitle{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#dce6f8;font-size:.9rem;padding:0 2px;}
.historyDateTitle.today{color:#ffd87a;text-shadow:0 0 12px rgba(255,216,122,.18);}
.historyDock .chip{font-size:.82rem;padding:7px 11px;}
.hero-admin .hero-right{min-width:min(520px,100%);}
.compactAdminCreate .form-control, .compactAdminCreate .btn{min-height:42px;}
.adminBox{max-height:58vh;}
.adminRow{padding:12px 12px;border-radius:12px;background:rgba(255,255,255,.035);}
.copyListBtn{font-weight:800;}
.patternsInput.listPatternInput{min-height:126px;}
@media (max-width: 991px){
  .mainShell{padding-left:10px !important;padding-right:10px !important;}
  .historyDock .section-head{align-items:flex-start;}
  .historyDateSection{margin-bottom:18px;}
  .historyGridWrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media (max-width: 767px){
  /* Celular: grade próxima do PC, mas com largura menor para caber sem esmagar as pedras. */
  .hero-sub{font-size:.92rem;}
  .historyMinuteRow{grid-template-columns:repeat(10,minmax(72px,1fr));min-width:780px;gap:6px;}
  .historyGridRows{min-width:780px;gap:8px;}
  .historyGridRow{grid-template-columns:repeat(20,minmax(36px,1fr));gap:4px;}
  .historyChip{min-width:36px;width:36px;min-height:36px;height:36px;border-radius:7px;}
  .historyBall{width:24px;height:24px;font-size:.78rem;}
  .historyDateTitle{font-size:.82rem;}
  .listGrid{gap:6px;}
  .lrow{padding:8px 10px;grid-template-columns:66px 46px 1fr;}
}
@media (min-width: 768px) and (max-width: 1199px){
  /* Tablet: mantém legibilidade e deixa o histórico com visual semelhante ao desktop. */
  .historyMinuteRow{grid-template-columns:repeat(10,minmax(92px,1fr));min-width:980px;}
  .historyGridRows{min-width:980px;}
  .historyGridRow{grid-template-columns:repeat(20,minmax(44px,1fr));}
  .historyChip{min-width:44px;width:44px;min-height:44px;height:44px;}
  .historyBall{width:30px;height:30px;font-size:.9rem;}
}


/* ===== Atualização responsiva leve ===== */
body{font-size:15px}
.glass{backdrop-filter:blur(14px)}
.hero,.historyDock,.listCardWrap{overflow:hidden}
.minuteInput{min-width:96px}
.historyVisibleBox input{max-width:140px}
.adminStandalone .glass{background:rgba(15,18,26,.82)}
.adminCreateGrid{display:grid;grid-template-columns:1.5fr 1.4fr repeat(4,minmax(110px,1fr)) 140px;gap:10px}
.adminBox{display:flex;flex-direction:column;gap:10px;max-height:65vh;overflow:auto}
.adminRow{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.patternsInput.listPatternInput{min-height:140px;font-size:.92rem}
.listInlineMeta{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.listMinuteBox{min-width:110px}
.scoreBoard,.listStats,.statsBar{flex-wrap:wrap}
#history{max-height:none}
.historyDateSection{margin-bottom:14px}
.historyDateTitle{font-size:.9rem;font-weight:800;letter-spacing:.04em;margin:0 0 8px;color:#dce4ff}
.historyDateTitle.today{color:#ffd87a}
.historyGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}
.historyCell{min-width:0}
.historyChip{padding:8px 6px}
.historyBall{width:36px;height:36px;font-size:.95rem}
.historyTime{font-size:.72rem}
@media (max-width: 1200px){
  .mainShell{max-width:100%}
  .hero-right{width:100%;grid-template-columns:repeat(4,minmax(90px,1fr))}
  .adminCreateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 992px){
  body{font-size:14px}
  .hero{padding:16px}
  .hero-left{align-items:flex-start}
  .brand-logo{width:84px;height:84px}
  .compactLists .col-12{margin-bottom:0}
  .listCardWrap{padding:12px !important}
  .lrow{grid-template-columns:64px 38px 1fr;padding:8px 10px;gap:8px}
  .historyGrid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:7px}
}
@media (max-width: 768px){
  .container-fluid.mainShell{padding-left:8px !important;padding-right:8px !important}
  .hero{flex-direction:column;align-items:stretch}
  .hero-right{grid-template-columns:repeat(2,minmax(0,1fr))}
  .controlsBar .row > div{width:100%}
  .listInlineMeta{display:grid;grid-template-columns:1fr}
  .listMinuteBox,.historyVisibleBox{width:100%}
  .historyVisibleBox input{max-width:none;width:100%}
  .historyGrid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
  .historyBall{width:34px;height:34px;font-size:.9rem}
  .historyTime{font-size:.7rem}
  .adminRow{flex-direction:column}
}
@media (max-width: 480px){
  .hero-title{font-size:1.35rem}
  .hero-kicker{font-size:.72rem}
  .hero-sub{font-size:.88rem}
  .chip{font-size:.82rem;padding:7px 10px}
  .historyGrid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}
  .historyBall{width:32px;height:32px;font-size:.85rem}
  .lrow{grid-template-columns:58px 34px 1fr;font-size:.86rem}
}
