﻿/* Original Divine Lock styling is in styles.css; only offline controls and requested right dock here. */
.sidebar { left:auto; right:16px; }
.sidebar.collapsed { transform:translateX(calc(100% + 16px)); }
.sidebar-toggle { left:auto; right:304px; }
.sidebar-toggle.collapsed { left:auto; right:16px; transform:rotate(180deg); }
#replayBar { position:fixed; left:300px; right:316px; bottom:16px; z-index:1001; padding:10px 14px;
  border:1px solid var(--border); border-radius:12px; background:var(--panel); backdrop-filter:var(--blur);
  box-shadow:var(--shadow); font:12px 'Plus Jakarta Sans',sans-serif; display:none; }
.replay-entered #replayBar { display:block; }
.replay-controls { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
#replaySeek { width:100%; margin:10px 0 5px; accent-color:#428cff; }
#replayClock { margin-left:auto; font-variant-numeric:tabular-nums; }
#replayVisible { color:var(--t2); font-size:11px; line-height:1.6; }
#replayBar button,#replayBar select,#replayDetails button { font:inherit; border:1px solid var(--border); border-radius:6px;
  background:var(--panel); color:var(--t1); padding:5px 8px; cursor:pointer; }
#replayPlay { color:#fff!important; background:#267aee!important; }
.legend-row { display:flex; align-items:center; gap:8px; padding:3px 0; font-size:12px; }
.legend-row code { margin-left:auto; color:var(--t2); font-size:11px; }
.replay-note { font-size:11px; color:var(--t2); line-height:1.6; margin:8px 0; }
#replayDetails { padding-top:10px; padding-bottom:10px; }
#replayDetails summary { cursor:pointer; font-size:12px; margin:9px 0; }
#replayDetails .replay-identity { display:block; width:100%; text-align:left; margin:4px 0; font-size:11px; line-height:1.6; }
.tc-unobserved { height:auto!important; background:transparent!important; font-size:10px; color:var(--t2); margin-top:4px; }
.map-tab[aria-disabled="true"] { opacity:.45; cursor:default; }
#landingBtn:disabled { opacity:.6; cursor:wait; }
@media(max-width:1000px) { #replayBar { left:16px; right:316px; } .team-float { bottom:155px!important; } }
@media(max-width:640px) { .sidebar { width:220px; right:8px; } .sidebar-toggle { right:236px; } #replayBar { left:8px; right:8px; bottom:8px; }
  .team-float { max-width:200px; bottom:165px!important; } #replayClock { margin-left:0; } }
/* The ZIP contains the float markup/logic but no .team-float CSS; anchor the existing panel. */
.team-float { display:none; position:fixed; left:16px; bottom:16px; width:260px; z-index:1001; padding:10px;
  box-sizing:border-box; background:var(--panel); border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--shadow); backdrop-filter:var(--blur); }
.replay-entered .team-float.show { display:block; }
#sfBtnList { display:grid; gap:6px; }
.team-card { padding:8px 10px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.72); cursor:pointer; }
.team-card.active { border-color:#50ba78; box-shadow:inset 3px 0 #50ba78; }
.tc-top { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.tc-name { font-size:12px; font-weight:700; color:var(--t1); }
.tc-gear { display:flex; gap:4px; }
.spectate-bar { left:16px; bottom:220px; transform:none; width:260px; box-sizing:border-box; padding:8px; gap:6px; border-radius:12px; }
.spectate-label { display:none; }
.spectate-bar select { flex:1; min-width:100px; font-size:11px; }
.spectate-btn { padding:6px 10px; }
.layer-row { padding:8px; gap:4px; }
.layer-lbl { font-size:11px; white-space:nowrap; }
.layer-row .ltog { width:32px; height:20px; }
.layer-row .ltog::after { width:14px; height:14px; }
.layer-row .ltog.on::after { transform:translateX(12px); }
@media(max-width:1000px) { .spectate-bar { bottom:360px; } }
