/* Trajectory (single match) — scoreboard, chat thread, Sublime-style minimap */

/* the thread is a bordered box, so the section-head underline would double up
   with the box's top border — drop it here and let the box frame itself */
.sech{border-bottom:0;padding-bottom:0}

/* ---- scoreboard ---- */
.board{display:grid;grid-template-columns:1fr 80px 1fr;align-items:stretch;margin:24px 0 10px;border:3px solid var(--ink)}
.side{padding:16px 22px}
.side.win{color:var(--paper)}
.side.win.t1{background:var(--t1,var(--blue))}
.side.win.t2{background:var(--t2,var(--pink))}
.side.t2{text-align:right}
.side .nm{font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px}
.side .md{font-family:'JetBrains Mono',monospace;font-size:12px;opacity:.85;margin-top:2px}
.side .pts{font-size:64px;font-weight:900;line-height:.95}
.side .br{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:4px}
.mid{display:grid;place-items:center;background:var(--ink);color:var(--paper);font-weight:900;font-size:18px;text-transform:uppercase;letter-spacing:1px}
.stampwin{display:inline-block;border:3px solid currentColor;font-weight:900;font-size:11px;padding:3px 10px;transform:rotate(-5deg);letter-spacing:1px;margin-bottom:6px}

/* ---- thread + minimap shell ---- */
.threadwrap{display:flex;gap:14px;margin-top:16px}
.chat{position:relative;flex:1;min-width:0;height:72vh;min-height:460px;overflow-y:auto;padding:22px 20px;background:var(--paper2);border:3px solid var(--ink)}
.chat::-webkit-scrollbar{width:10px}
.chat::-webkit-scrollbar-thumb{background:#d9d3c6;border-radius:6px}

/* ---- per-team minimaps ---- */
.minis{display:flex;gap:8px;flex:none}
.minimap{display:flex;flex-direction:column;width:46px;height:72vh;min-height:460px;border:3px solid var(--ink);background:#efe9dc}
.mm-head{flex:none;height:20px;display:grid;place-items:center;font-weight:900;font-size:10px;letter-spacing:.5px;color:#fff;border-bottom:2px solid var(--ink)}
.minimap[data-team="team1"] .mm-head{background:var(--t1,var(--blue))}
.minimap[data-team="team2"] .mm-head{background:var(--t2,var(--pink))}
.mm-body{position:relative;flex:1;overflow:hidden;cursor:pointer;user-select:none}
.mm-body .marks{position:absolute;inset:0}
.mk{position:absolute;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.mk.turn{width:20px;height:2px;opacity:.4}
.minimap[data-team="team1"] .mk.turn{background:var(--t1,var(--blue))}
.minimap[data-team="team2"] .mk.turn{background:var(--t2,var(--pink))}
.mk.capture{width:14px;height:14px;border:1.5px solid var(--ink);box-shadow:1px 1px 0 rgba(0,0,0,.25)}
.minimap[data-team="team1"] .mk.capture{background:var(--t1,var(--blue))}
.minimap[data-team="team2"] .mk.capture{background:var(--t2,var(--pink))}
.mk.dup{width:9px;height:9px;border:1.5px solid var(--mut);background:transparent}
.mk.patch{width:10px;height:10px;border:2px solid var(--green);background:transparent}
.mk.round{left:0;right:0;transform:translateY(-50%);height:0;border-top:2px solid #c3b9a3}
.mm-view{position:absolute;left:0;right:0;background:rgba(26,26,26,.07);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);pointer-events:none;min-height:14px}

/* minimap legend */
.mm-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#6f6657;margin:10px 2px 0}
.mm-legend i{display:inline-block;vertical-align:middle;margin-right:5px}
.mm-legend .s{width:11px;height:11px;border:1.5px solid var(--ink)}
.mm-legend .s.b{background:var(--blue)}.mm-legend .s.p{background:var(--pink)}
.mm-legend .s.d{border-color:var(--mut)}.mm-legend .s.g{border-color:var(--green);background:transparent}

/* ---- round divider (in thread) ---- */
.day{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:#b3aa98}
.day::before,.day::after{content:"";height:2px;background:var(--line);flex:1}
.day span{font-family:'Hanken Grotesk';font-weight:900;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#a59a84;white-space:nowrap}

/* ---- chat messages ---- */
.msg{display:flex;gap:10px;margin:14px 0;max-width:82%}
.msg.right{flex-direction:row-reverse;margin-left:auto}
.ava{width:38px;height:38px;flex:none;border:2px solid var(--ink);display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff;box-shadow:2px 2px 0 var(--ink)}
.msg.team1 .ava{background:var(--t1,var(--blue))}
.msg.team2 .ava{background:var(--t2,var(--pink))}
.bub{border:2px solid var(--ink);border-radius:16px;padding:10px 14px;background:var(--paper);box-shadow:3px 3px 0 var(--ink)}
.msg.team1 .bub{border-bottom-left-radius:4px}
.msg.team2 .bub{border-bottom-right-radius:4px}
.bh{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}
.msg.right .bh{flex-direction:row-reverse}
.who{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.3px}
.msg.team1 .who{color:var(--t1,var(--blue))}
.msg.team2 .who{color:var(--t2,var(--pink))}
.tm{font-family:'JetBrains Mono',monospace;font-size:11px;color:#a59a84}
.think{font-size:15.5px;line-height:1.45}
.acts{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.act{border:1.5px solid var(--ink);border-left-width:4px;border-radius:6px;background:#fbf8f1;padding:5px 9px}
.act .al{font-family:'Hanken Grotesk';font-weight:800;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#9a8f78;display:block;margin-bottom:2px}
.act code{font-family:'JetBrains Mono',monospace;font-size:11.5px;line-height:1.35;color:#2a2a2a;word-break:break-word;display:block;white-space:pre-wrap}
.act.bash{border-left-color:var(--blue)}
.act.mcp{border-left-color:var(--purple)}
.act.web{border-left-color:var(--pink)}

/* ---- system events in thread ---- */
.sys{margin:18px auto;text-align:center;max-width:560px;font-size:14px;font-weight:700}
.sys .tm{display:block;margin-top:3px}
.sys.steal{border:3px solid var(--t1,var(--blue));color:var(--t1,var(--blue));padding:9px 16px;transform:rotate(-.6deg);box-shadow:4px 4px 0 rgba(0,0,0,.12)}
.sys.steal.team2{border-color:var(--t2,var(--pink));color:var(--t2,var(--pink))}
.sys.steal b{font-weight:900}
.sys.dup{color:#a89f8d;font-weight:600;text-decoration:line-through;font-size:13px;max-width:520px}
.sys.patch{color:#6f6657;border:2px dashed #c5bca8;padding:7px 14px;border-radius:30px;font-size:13px;display:inline-block}
.patchwrap{text-align:center;margin:14px 0}

@media(max-width:760px){
  .board{grid-template-columns:1fr}
  .mid{padding:8px}
  .side.t2{text-align:left}
  .msg{max-width:94%}
  .threadwrap{gap:8px}
  .minimap{width:30px}
  .mk.turn{width:14px}
}
