.among-replay{--ar-bg:#eef2ef;--ar-panel:#fbfcfb;--ar-ink:#142018;--ar-muted:#5a6b60;--ar-line:#1c2a20;--ar-crew:#0b6e4f;--ar-imp:#b43b1b;--ar-accent:#1f5eff;--ar-font:"IBM Plex Mono",ui-monospace,monospace;--ar-display:"Space Grotesk",sans-serif;color:var(--ar-ink);font-family:var(--ar-font);width:100%;max-width:100%;overflow:hidden}.among-replay *{box-sizing:border-box}.among-replay-stage{width:100%;max-width:100%;padding:1rem 0 .25rem}.among-replay-stage--loading{justify-content:center;align-items:center;min-height:280px;display:flex}.among-replay-shell{border:1px solid var(--ar-line);background:var(--ar-panel);border-radius:1rem;max-width:100%;overflow:hidden}.among-replay-play-grid{grid-template-columns:minmax(0,1fr) 200px;align-items:stretch;min-height:0;display:grid}.among-replay-map-stage{background:var(--ar-bg);border-right:1px dashed var(--ar-line);justify-content:center;align-items:center;min-width:0;padding:.65rem;display:flex}.among-replay-map-wrap{width:100%;min-width:0;max-width:720px;position:relative}.among-replay-map{border:1px solid var(--ar-line);cursor:default;background:#e4ebe5;border-radius:.75rem;width:100%;max-width:100%;height:auto;display:block}.among-replay-tasks{background:var(--ar-panel);flex-direction:column;min-height:0;max-height:480px;padding:.75rem .65rem .85rem;display:flex}.among-replay-tasks-head{flex-direction:column;flex-shrink:0;gap:.4rem;margin-bottom:.65rem;display:flex}.among-replay-tasks-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ar-muted);font-size:.68rem;font-weight:700}.among-replay-taskbar-wrap{align-items:center;gap:.4rem;min-width:0;display:flex}.among-replay-taskpct{color:var(--ar-crew);flex-shrink:0;font-size:.72rem;font-weight:700}.among-replay-taskbar{border:1px solid var(--ar-line);background:#fff;flex:1;height:8px}.among-replay-taskbar>i{background:var(--ar-crew);height:100%;transition:width .35s;display:block}.among-replay-tasklist{flex-direction:column;flex:1;gap:.4rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.among-replay-task-item{border:1px solid var(--ar-line);background:var(--ar-bg);grid-template-columns:auto 1fr;align-items:start;gap:.15rem .45rem;padding:.45rem .5rem .4rem;display:grid}.among-replay-task-item.done{border-color:var(--ar-crew);background:#eef7f2}.among-replay-task-check{border:1.5px solid var(--ar-line);background:#fff;place-items:center;width:.95rem;height:.95rem;margin-top:.08rem;font-size:.6rem;font-weight:700;display:grid}.among-replay-task-item.done .among-replay-task-check{background:var(--ar-crew);border-color:var(--ar-crew);color:#f7faf8}.among-replay-task-label{font-size:.7rem;font-weight:700;line-height:1.25}.among-replay-task-room{color:var(--ar-muted);margin-top:.1rem;font-size:.6rem}.among-replay-task-progress{grid-column:2;align-items:center;gap:.35rem;margin-top:.2rem;display:flex}.among-replay-task-progress-track{border:1px solid var(--ar-line);background:#d5ddd7;flex:1;min-width:0;height:4px}.among-replay-task-progress-fill{background:#2f6fed;height:100%;display:block}.among-replay-task-item.done .among-replay-task-progress-fill{background:var(--ar-crew)}.among-replay-task-progress-text{color:var(--ar-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.58rem}.among-replay-tip{z-index:5;pointer-events:none;border:1px solid var(--ar-line);color:var(--ar-ink);background:#fffcf6;width:min(260px,70%);padding:.5rem .6rem;font-size:.68rem;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 8px 22px #14201829}.among-replay-tip.below{transform:translate(-50%,14px)}.among-replay-tip-name{font-size:.74rem;font-weight:700}.among-replay-tip-model,.among-replay-tip-meta{color:var(--ar-muted);word-break:break-word;margin-top:.12rem}.among-replay-tip-thought{border-top:1px dashed var(--ar-line);white-space:pre-wrap;max-height:160px;margin-top:.4rem;padding-top:.35rem;overflow:hidden}.among-replay-transport{background:#ebebe8;border:1px solid #cfc9bc;border-radius:9999px;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;width:100%;margin:.75rem 0 0;padding:.55rem .75rem;display:flex}.among-replay-play{color:#1a1814;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;line-height:0;display:inline-flex}.among-replay-play:hover{opacity:.7}.among-replay-progress{flex:120px;align-items:center;min-width:0;display:flex}.among-replay-scrub{appearance:none;cursor:pointer;background:#cfc9bc;outline:none;width:100%;height:2px}.among-replay-scrub::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#1a1814;border-radius:50%;width:12px;height:12px}.among-replay-time{color:#6b6458;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.75rem;font-size:.62rem}.among-replay-live{color:#6b6458;white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:100%;order:5;min-width:0;margin:0;font-size:.68rem;line-height:1.3;overflow:hidden}@media (min-width:520px){.among-replay-transport{flex-wrap:nowrap;gap:.75rem;padding:.65rem 1rem}.among-replay-progress{flex:1}.among-replay-live{flex:auto;order:0;margin:0 0 0 .15rem;font-size:.72rem}.among-replay-time{min-width:3.5rem;font-size:.65rem}}@media (max-width:720px){.among-replay-play-grid{grid-template-columns:1fr}.among-replay-map-stage{border-right:none;border-bottom:1px dashed var(--ar-line);padding:.55rem}.among-replay-tasks{max-height:none;padding:.65rem .55rem .75rem}.among-replay-tasklist{grid-template-columns:1fr 1fr;display:grid;overflow:visible}.among-replay-tip{width:min(240px,78%);font-size:.62rem}}@media (max-width:480px){.among-replay-tasklist{grid-template-columns:1fr}}
.chess-replay{--cr-bg:#eceae4;--cr-ink:#1a1814;--cr-muted:#6b6458;--cr-line:#cfc9bc;--cr-light:#e8dcc4;--cr-dark:#6b8f71;--cr-board-edge:#3d4f3e;--cr-coord:#c5d4c7;--cr-font:"IBM Plex Mono",ui-monospace,monospace;color:var(--cr-ink);font-family:var(--cr-font);background:0 0;width:100%;max-width:100%;overflow:hidden}.chess-replay *{box-sizing:border-box}.chess-replay-stage{justify-content:center;align-items:center;width:100%;max-width:100%;padding:1rem .25rem .5rem;display:flex}.chess-replay-stage--loading{min-height:280px}.chess-replay-column{--label:clamp(.55rem,2.4vw,1.05rem);--frame-pad:clamp(.2rem,1vw,.5rem);flex-direction:column;align-items:stretch;gap:.75rem;width:100%;max-width:min(100%,620px);display:flex}.chess-replay-board-panel{justify-content:center;width:100%;min-width:0;display:flex}.chess-replay-board-frame{grid-template-columns:var(--label)minmax(0,1fr)var(--label);grid-template-rows:var(--label)auto var(--label);background:var(--cr-board-edge);width:100%;max-width:100%;padding:var(--frame-pad);display:grid}.chess-replay-files,.chess-replay-ranks{color:var(--cr-coord);place-items:center;font-size:clamp(.5rem,1.6vw,.72rem);display:grid}.chess-replay-files{text-transform:lowercase;grid-template-columns:repeat(8,1fr)}.chess-replay-files.top{grid-area:1/2}.chess-replay-files.bottom{grid-area:3/2}.chess-replay-ranks{grid-template-rows:repeat(8,1fr)}.chess-replay-ranks.left{grid-area:2/1}.chess-replay-ranks.right{grid-area:2/3}.chess-replay-board{aspect-ratio:1;grid-area:2/2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;position:relative}.chess-replay-sq{position:relative}.chess-replay-sq.light{background:var(--cr-light)}.chess-replay-sq.dark{background:var(--cr-dark)}.chess-replay-sq.last-from,.chess-replay-sq.last-to{box-shadow:inset 0 0 0 999px #f6d65c6b}.chess-replay-pieces{pointer-events:none;z-index:2;position:absolute;inset:0}.chess-replay-piece{object-fit:contain;width:12.5%;height:12.5%;transform:translate(calc(var(--file)*100%),calc(var(--rank)*100%))scale(.86);transform-origin:50%;filter:drop-shadow(0 1px 1px #00000073);z-index:2;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .35s;position:absolute;top:0;left:0}.chess-replay-transport{border:1px solid var(--cr-line);background:#ebebe8;border-radius:9999px;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;width:100%;margin:0;padding:.55rem .75rem;display:flex}.chess-replay-play{color:var(--cr-ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:0;padding:.25rem;line-height:0;display:inline-flex}.chess-replay-play:hover{opacity:.7}.chess-replay-progress{flex:120px;align-items:center;min-width:0;display:flex}.chess-replay-scrub{appearance:none;background:var(--cr-line);cursor:pointer;outline:none;width:100%;height:2px}.chess-replay-scrub::-webkit-slider-thumb{appearance:none;background:var(--cr-ink);cursor:pointer;border-radius:50%;width:12px;height:12px}.chess-replay-time{color:var(--cr-muted);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.75rem;font-size:.62rem}.chess-replay-live{min-width:0;color:var(--cr-muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:100%;order:5;margin:0;font-size:.68rem;line-height:1.3;overflow:hidden}@media (min-width:520px){.chess-replay-stage{padding:1.25rem .5rem .75rem}.chess-replay-transport{flex-wrap:nowrap;gap:.75rem;padding:.65rem 1rem}.chess-replay-progress{flex:1}.chess-replay-live{flex:auto;order:0;margin-left:.15rem;font-size:.72rem}.chess-replay-time{min-width:3.5rem;font-size:.65rem}}
.echoes-replay{--er-bg:#eef2ef;--er-panel:#fbfcfb;--er-ink:#142018;--er-muted:#5a6b60;--er-line:#1c2a20;--er-accent:#0b6e4f;--er-font:"IBM Plex Mono",ui-monospace,monospace;color:var(--er-ink);font-family:var(--er-font);width:100%;max-width:100%;overflow:hidden}.echoes-replay *{box-sizing:border-box}.echoes-replay-stage{width:100%;max-width:100%;padding:1rem 0 .25rem}.echoes-replay-stage--loading{min-height:280px;color:var(--er-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.echoes-replay-shell{border:1px solid var(--er-line);background:var(--er-panel);border-radius:1rem;max-width:100%;overflow:hidden}.echoes-replay-grid{grid-template-columns:minmax(0,1.35fr) minmax(180px,.85fr);align-items:stretch;min-height:0;display:grid}.echoes-replay-map-stage{border-right:1px dashed var(--er-line);background:var(--er-bg);justify-content:center;align-items:center;min-width:0;padding:.65rem;display:flex}.echoes-replay-map{border:1px solid var(--er-line);background:#e4ebe5;border-radius:.75rem;width:100%;max-width:100%;height:auto;display:block}.echoes-replay-graph{background:var(--er-panel);flex-direction:column;min-height:0;max-height:480px;padding:.65rem .6rem .75rem;display:flex}.echoes-replay-graph-head{flex-shrink:0;margin-bottom:.45rem}.echoes-replay-graph-title{letter-spacing:.1em;text-transform:uppercase;color:var(--er-muted);font-size:.68rem;font-weight:700}.echoes-replay-graph-sub{color:var(--er-muted);margin-top:.25rem;font-size:.62rem;line-height:1.35}.echoes-replay-graph-svg{border:1px solid var(--er-line);background:var(--er-bg);border-radius:.55rem;flex:1;width:100%;height:auto;min-height:200px}.echoes-replay-transport{color:#1a1814;background:#ebebe8;border:1px solid #cfc9bc;border-radius:9999px;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;width:100%;margin:.75rem 0 0;padding:.55rem .75rem;display:flex}.echoes-replay-play{color:#1a1814;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;line-height:0;display:inline-flex}.echoes-replay-play:hover{opacity:.7}.echoes-replay-progress{flex:120px;align-items:center;min-width:0;display:flex}.echoes-replay-scrub{appearance:none;cursor:pointer;background:#cfc9bc;outline:none;width:100%;height:2px}.echoes-replay-scrub::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#1a1814;border-radius:50%;width:12px;height:12px}.echoes-replay-time{color:#6b6458;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.75rem;font-size:.62rem}.echoes-replay-live{color:#6b6458;white-space:nowrap;text-overflow:ellipsis;flex:100%;order:5;min-width:0;margin:0;font-size:.68rem;line-height:1.3;overflow:hidden}@media (min-width:520px){.echoes-replay-transport{flex-wrap:nowrap;gap:.75rem;padding:.65rem 1rem}.echoes-replay-progress{flex:1}.echoes-replay-live{flex:auto;order:0;margin:0 0 0 .15rem;font-size:.72rem}.echoes-replay-time{min-width:3.5rem;font-size:.65rem}}@media (max-width:720px){.echoes-replay-grid{grid-template-columns:1fr}.echoes-replay-map-stage{border-right:none;border-bottom:1px dashed var(--er-line)}.echoes-replay-graph{max-height:none}.echoes-replay-graph-svg{min-height:220px}}
