:root{
  --bg:#0b0f14;
  --panel:#121826;
  --panel2:#0f1522;
  --text:#e6edf3;
  --muted:#9aa4b2;
  --good:#2ea043;
  --warn:#d29922;
  --bad:#f85149;
  --accent:#58a6ff;
  --border:#263041;
  --radius:16px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1500px;margin:0 auto;padding:20px}
.row{display:flex;gap:16px;flex-wrap:wrap}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.card h2,.card h3{margin:0 0 10px 0}
.muted{color:var(--muted)}
.btn{border:1px solid var(--border);background:#0d1320;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.btn:hover{border-color:#3a4a63}
.btn.primary{background:rgba(88,166,255,.15);border-color:rgba(88,166,255,.45)}
.btn.danger{background:rgba(248,81,73,.12);border-color:rgba(248,81,73,.45)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.input,select{background:#0d1320;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:16px;min-width: 180px}
.kv{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:center}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px}
.badge.ok{color:var(--good);border-color:rgba(46,160,67,.5)}
.badge.no{color:var(--bad);border-color:rgba(248,81,73,.5)}
hr{border:0;border-top:1px solid var(--border);margin:14px 0}
.big{font-size: clamp(48px, 10vw, 130px);font-weight:800;letter-spacing:1px;line-height:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width: 900px){ .grid2{grid-template-columns:1fr} }
.progress{height:14px;background:#0d1320;border:1px solid var(--border);border-radius:999px;overflow:hidden}
.progress > div{height:100%;background:linear-gradient(90deg, rgba(88,166,255,.2), rgba(88,166,255,.65));width:0%}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.title{font-size:22px;font-weight:800}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pill{border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted)}
.pill strong{color:var(--text)}
.notice{padding:10px 12px;border-radius:12px;border:1px dashed rgba(88,166,255,.45);background:rgba(88,166,255,.08)}

.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.tabbtn{border:1px solid var(--border);background:#0d1320;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer}
.tabbtn.active{background:rgba(88,166,255,.15);border-color:rgba(88,166,255,.45)}
.tabpanel{min-height:240px}

.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.tabbtn{border:1px solid var(--border);background:#0d1320;color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer;font-size:15px}
.tabbtn.active{background:rgba(88,166,255,.15);border-color:rgba(88,166,255,.45)}
.tabpanel{min-height:320px}
.stack{display:flex;flex-direction:column;gap:12px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
.field-label{font-size:14px;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}
.simple-table{width:100%;border-collapse:collapse}
.simple-table th,.simple-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.simple-table thead th{font-size:13px;color:var(--muted);font-weight:600;background:rgba(255,255,255,.02)}
.simple-table tbody tr:last-child td{border-bottom:0}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.subcard{box-shadow:none}
.compact-row{gap:8px}
.simple-table input[type="checkbox"]{transform:scale(1.2)}


.chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.chip-display{position:relative;aspect-ratio:1 / 1;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 6px rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.28);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.35),rgba(255,255,255,.04) 42%,rgba(0,0,0,.18) 75%,rgba(0,0,0,.45) 100%)}
.chip-display::before{content:"";position:absolute;inset:8%;border-radius:50%;border:4px dashed rgba(255,255,255,.9);opacity:.9}
.chip-display::after{content:"";position:absolute;inset:23%;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:inset 0 0 0 2px rgba(0,0,0,.16)}
.chip-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px}
.chip-value{font-weight:900;font-size:clamp(18px,2vw,28px);color:#1a1a1a;text-shadow:none}
.chip-green{background-color:#0ea52b}
.chip-blue{background-color:#1f73d8}
.chip-black{background-color:#1d1d22}
.chip-purple{background-color:#7b1fa2}
.chip-yellow{background-color:#e2d400}
.chip-pink{background-color:#e84ccf}
.chip-white{background-color:#f4f4f4}
.chip-red{background-color:#d93025}
.chip-editor{display:flex;flex-direction:column;gap:14px}
.chip-editor-row{display:grid;grid-template-columns:40px 110px minmax(140px,180px) minmax(120px,160px);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02)}
.chip-editor-index{font-size:18px;font-weight:700;color:var(--muted);text-align:center}
.chip-preview-slot{width:96px}
@media (max-width: 760px){.chip-editor-row{grid-template-columns:1fr;}.chip-preview-slot{width:120px}.chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.blinds-card{width:100%}
.blinds-toolbar{gap:10px}
.blinds-structure-field{min-width:320px;flex:1 1 320px}
.blinds-meta-grid{grid-template-columns:minmax(280px,420px)}
.blinds-editor-wrap{width:100%}
.blinds-table-wrap{width:100%;overflow:auto}
.blinds-table{min-width:0}
.blinds-table-edit{table-layout:auto}
.blinds-table th,.blinds-table td{white-space:nowrap}
.blinds-table th:nth-child(1),.blinds-table td:nth-child(1){width:48px}
.blinds-table th:nth-child(2),.blinds-table td:nth-child(2){width:110px}
.blinds-table th:nth-child(3),.blinds-table td:nth-child(3){min-width:180px;width:22%}
.blinds-table th:nth-child(4),.blinds-table td:nth-child(4),.blinds-table th:nth-child(5),.blinds-table td:nth-child(5),.blinds-table th:nth-child(6),.blinds-table td:nth-child(6),.blinds-table th:nth-child(7),.blinds-table td:nth-child(7){width:96px}
.blinds-table th:nth-child(8),.blinds-table td:nth-child(8){width:170px}
.blinds-num-input{min-width:74px;width:74px}
.blinds-type-input{min-width:96px}
.blinds-row-actions{gap:6px;flex-wrap:nowrap}
.blinds-actions-cell{white-space:nowrap}

/* Modal overlays for database and player edit dialogs */
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.68);
}
.modal-card {
  width: min(96vw, 980px);
  max-height: 90vh;
  overflow: auto;
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
  padding: 18px;
}
.modal-card .table-wrap {
  max-height: 68vh;
}
