:root{
  --bg:#0c1210;
  --panel:#121a17;
  --panel-2:#161f1c;
  --line:#26332e;
  --line-soft:#1b2521;
  --teal:#28e0a5;
  --red:#e8453a;
  --text:#e7f3ee;
  --text-dim:#7b968b;
  --text-faint:#48605a;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'JetBrains Mono',monospace;
  padding:32px 20px 60px;
}
.wrap{max-width:820px;margin:0 auto;}

.masthead{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
  margin-bottom:24px;
  gap:16px;
  flex-wrap:wrap;
}
.masthead h1{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:34px;
  letter-spacing:0.5px;
  margin:0;
  text-transform:uppercase;
}
.masthead .sub{
  font-size:11px;
  letter-spacing:2px;
  color:var(--text-faint);
  text-transform:uppercase;
  margin-top:4px;
}

.auth{
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  text-align:right;
}
.auth .tag{
  display:inline-block;
  padding:3px 8px;
  margin-bottom:6px;
  font-size:9px;
  letter-spacing:1px;
}
.auth .tag.admin{background:var(--teal);color:#04241a;}
.auth .tag.viewer{background:var(--panel-2);color:var(--text-dim);border:1px solid var(--line-soft);}
.auth a, .auth button.link{
  color:var(--text-dim);
  text-decoration:none;
  font-size:11px;
  background:none;
  border:none;
  cursor:pointer;
  font-family:inherit;
  letter-spacing:1px;
  padding:0;
}
.auth a:hover, .auth button.link:hover{color:var(--teal);}
.auth .row{display:block;}

.stagebar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
  margin-bottom:20px;
}
.stage-btn{
  background:var(--panel);
  border:1px solid var(--line-soft);
  color:var(--text-dim);
  font-family:'Barlow Condensed',sans-serif;
  font-weight:600;
  font-size:15px;
  padding:12px 6px;
  cursor:pointer;
  text-align:center;
  letter-spacing:1px;
  text-transform:uppercase;
  transition:border-color .15s, color .15s;
}
.stage-btn:hover{border-color:var(--line);color:var(--text);}
.stage-btn.active{border-color:var(--teal);color:var(--teal);}

.add-row{
  display:flex;
  gap:8px;
  margin-bottom:28px;
}
.add-row select{
  background:var(--panel);
  border:1px solid var(--line-soft);
  color:var(--text);
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  padding:10px 8px;
}
.add-row select:focus{outline:none;border-color:var(--teal);}
.add-row input{
  flex:1;
  background:var(--panel);
  border:1px solid var(--line-soft);
  color:var(--text);
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  padding:10px 12px;
}
.add-row input:focus{outline:none;border-color:var(--teal);}
.add-row button{
  background:var(--red);
  border:none;
  color:#2a0b08;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:0 20px;
  cursor:pointer;
}
.add-row button:hover{opacity:0.9;}

.log-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.log-head span{font-size:10px;letter-spacing:2px;color:var(--text-faint);text-transform:uppercase;}
.actions button.util{
  background:transparent;
  border:1px solid var(--line-soft);
  color:var(--text-dim);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:6px 10px;
  cursor:pointer;
}
.actions button.util:hover{border-color:var(--line);color:var(--text);}

.log{
  border:1px solid var(--line-soft);
  background:var(--panel);
}
.log-row{
  display:grid;
  grid-template-columns:44px 1fr 80px 32px;
  align-items:center;
  padding:10px 14px;
  font-size:13px;
  border-bottom:1px solid var(--line-soft);
  gap:8px;
}
.log-row:last-child{border-bottom:none;}
.log-row.head{
  color:var(--text-faint);
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase;
  background:var(--panel-2);
}
.log-row .ord{color:var(--red);font-weight:700;font-family:'Barlow Condensed',sans-serif;font-size:17px;}
.log-row .pname{color:var(--text);}
.log-row .pgame{color:var(--text-dim);font-size:11px;letter-spacing:1px;}
.log-empty{
  padding:24px;
  text-align:center;
  color:var(--text-faint);
  font-size:12px;
}
.undo{
  background:transparent;
  border:none;
  color:var(--text-faint);
  cursor:pointer;
  font-size:14px;
  padding:0;
}
.undo:hover{color:var(--red);}
.log-row .spacer{visibility:hidden;}

@media (max-width:640px){
  .stagebar{grid-template-columns:repeat(4,1fr);}
  .log-row{grid-template-columns:32px 1fr 32px;}
  .log-row .pgame{display:none;}
}
