:root{
  --bg:#f7f6f3; --surface:#fff; --line:#e0ddd6; --ink:#24211c; --muted:#6d675d;
  --ins:#2f6f4f;      /* instrukcja MG -> gracz */
  --rep:#8a5a2b;      /* raport gracz -> MG */
  --accent:#3f5fa8;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#16151a; --surface:#1e1d24; --line:#32303a; --ink:#e9e6df; --muted:#9a948a;
    --ins:#6fbf92; --rep:#d9a46a; --accent:#8fa8e8;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:980px;margin:0 auto;padding:24px 16px 64px}
a{color:var(--accent)}
h1{font-size:1.5rem;margin:0 0 20px;letter-spacing:-.01em}

nav.top{display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
nav.top .brand{font-weight:600;text-decoration:none;color:var(--ink)}
nav.top .out{font-size:.85rem;color:var(--muted);text-decoration:none}
nav.top .out:hover{color:var(--accent)}

/* logowanie */
.login{max-width:340px;margin:12vh auto;background:var(--surface);
  border:1px solid var(--line);border-radius:10px;padding:28px}
.login h1{font-size:1.15rem;margin-bottom:18px}
.login label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:6px}
.login input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:6px;
  background:var(--bg);color:var(--ink);font-size:15px}
.login button{margin-top:16px;width:100%;padding:10px;border:0;border-radius:6px;
  background:var(--accent);color:#fff;font-size:15px;cursor:pointer}
.err{background:#c0392b18;border:1px solid #c0392b55;color:#c0392b;
  padding:8px 10px;border-radius:6px;font-size:.85rem;margin-bottom:14px}

/* lista sesji */
table.list{width:100%;border-collapse:collapse;background:var(--surface);
  border:1px solid var(--line);border-radius:8px;overflow:hidden}
table.list th,table.list td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
table.list th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}
table.list tr:last-child td{border-bottom:0}

/* filtry */
.filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;
  background:var(--surface);border:1px solid var(--line);border-radius:8px;
  padding:14px;margin-bottom:22px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}
.filters select,.filters input{padding:6px 8px;border:1px solid var(--line);border-radius:5px;
  background:var(--bg);color:var(--ink);font-size:14px}
.filters button{padding:7px 14px;border:0;border-radius:5px;background:var(--accent);
  color:#fff;cursor:pointer;font-size:14px}
.filters .reset{font-size:.8rem;color:var(--muted);padding-bottom:8px}

/* os czasu */
ol.story{list-style:none;margin:0;padding:0}
li.daysep{margin:22px 0 10px;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted)}
li.ev{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);
  border-radius:7px;margin-bottom:7px}
li.ev.ins{border-left-color:var(--ins)}
li.ev.rep{border-left-color:var(--rep);margin-left:26px}
li.ev.revoked{opacity:.55}
li.ev.revoked .title{text-decoration:line-through}
li.ev summary{cursor:pointer;padding:10px 13px;display:grid;
  grid-template-columns:auto auto auto 1fr;gap:8px;align-items:baseline}
li.ev summary::-webkit-details-marker{display:none}
.time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.84rem}
.arrow{font-size:.95rem}
li.ev.ins .arrow{color:var(--ins)}
li.ev.rep .arrow{color:var(--rep)}
.who{font-size:.82rem;color:var(--muted);white-space:nowrap}
.title{font-weight:600}
.excerpt{grid-column:1/-1;color:var(--muted);font-size:.85rem;margin-top:2px}
.badge{font-size:.7rem;padding:1px 6px;border-radius:9px;background:var(--line);color:var(--muted)}
.badge.alt{background:transparent;border:1px solid var(--line)}
.md{padding:4px 16px 14px;border-top:1px solid var(--line);margin-top:2px}
.md h2,.md h3,.md h4{margin:14px 0 6px;font-size:1rem}
.md p{margin:7px 0}
.md ul{margin:7px 0 7px 20px;padding:0}
.md blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--line);color:var(--muted)}
.md pre.code{background:var(--bg);border:1px solid var(--line);border-radius:6px;
  padding:10px;overflow-x:auto;font-size:.85rem}
.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}
.meta{padding:0 16px 12px;margin:0;font-size:.76rem;color:var(--muted)}
.empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);
  border-radius:8px;padding:22px;text-align:center}

@media (max-width:620px){
  li.ev.rep{margin-left:12px}
  li.ev summary{grid-template-columns:auto auto 1fr}
  .filters{gap:8px}
}
