/* ===== AlphaGo 五子棋可视化实验室（#aglab 作用域） ===== */
#aglab .ag-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:14px;align-items:start;}
#aglab .ag-left{display:flex;flex-direction:column;gap:14px;min-width:0;}
#aglab .ag-card{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--rule);box-shadow:0 4px 18px rgba(0,0,0,.05);}
#aglab .ag-card-h{font-size:17px;font-weight:700;margin-bottom:12px;}
#aglab .ag-role{font-size:13.5px;color:var(--ink2,#666);margin-bottom:10px;text-align:center;}
#aglab .ag-role b.o{color:#16A085;}
#aglab .ag-role b.x{color:#e67e22;}

/* ---- 9×9 大棋盘（带坐标轴） ---- */
#aglab .ag-frame{display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:16px auto;gap:2px 3px;max-width:352px;margin:0 auto 12px;}
#aglab .ag-files{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(9,1fr);}
#aglab .ag-files span,#aglab .ag-ranks span{display:flex;align-items:center;justify-content:center;font-size:10px;color:#9aa3b5;font-weight:700;}
#aglab .ag-ranks{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(9,1fr);}
#aglab .ag-fcorner{grid-column:1;grid-row:1;}
#aglab .ag-board{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(9,1fr);grid-auto-rows:1fr;gap:3px;padding:6px;background:#fff;border:1.5px solid #d7e7e1;border-radius:12px;}
#aglab .ag-cell{position:relative;aspect-ratio:1/1;min-width:0;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;background:var(--paper2,#f5f0eb);border-radius:8px;border:2px solid transparent;transition:transform .12s ease, background .25s ease, border-color .12s ease;user-select:none;}
#aglab .ag-cell.can{cursor:pointer;border-color:rgba(22,160,133,.35);}
#aglab .ag-cell.can:hover{background:#e8f6f1;}
#aglab .ag-cell.cand{border-color:#16A085;box-shadow:0 0 0 1px rgba(22,160,133,.5) inset;}
#aglab .ag-cell.win{background:#fff1b8 !important;box-shadow:0 0 0 2px #f0c419 inset;}
#aglab .ag-cell.o{color:#16A085;}
#aglab .ag-cell.x{color:#e67e22;}
#aglab .ag-cell .ag-heat-badge{position:absolute;right:2px;bottom:2px;font-size:8px;line-height:1;padding:2px 4px;border-radius:999px;color:#fff;font-weight:800;box-shadow:0 1px 2px rgba(0,0,0,.2);pointer-events:none;}
#aglab .ag-heat-badge.v-hi{background:#1e9e54;}
#aglab .ag-heat-badge.v-must{background:#e67e22;}
#aglab .ag-heat-badge.v-good{background:#16A085;}
#aglab .ag-heat-badge.v-ok{background:#f1c40f;color:#7a5c00;}
#aglab .ag-heat-badge.v-low{background:#8fa0ad;}

#aglab .ag-status{min-height:24px;text-align:center;font-size:13.5px;color:var(--ink2,#666);margin-bottom:12px;}
#aglab .ag-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
#aglab .ag-btn{border:none;cursor:pointer;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:700;background:linear-gradient(135deg,#16A085,#0e8a72);color:#fff;transition:transform .15s ease, opacity .2s ease;}
#aglab .ag-btn:hover{transform:translateY(-1px);}
#aglab .ag-btn.ghost{background:#fff;color:#16A085;border:1.5px solid rgba(22,160,133,.4);}
#aglab .ag-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
#aglab .ag-keys h4{font-size:15px;margin-bottom:8px;}
#aglab .ag-keys ul{margin:0;padding-left:2px;list-style:none;}
#aglab .ag-keys li{font-size:13px;color:var(--ink2,#555);line-height:1.7;padding:5px 0;border-bottom:1px dashed var(--rule);}
#aglab .ag-keys li:last-child{border-bottom:none;}

/* ---- 思考步骤（带内容分区） ---- */
#aglab .ag-think{min-height:340px;}
#aglab .ag-premise{font-size:12.5px;color:#7a5c23;background:#fff6e9;border:1px solid #f0d9b8;border-radius:10px;padding:6px 10px;margin-bottom:10px;line-height:1.5;}
#aglab .ag-steps{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:8px;}
#aglab .ag-step{border-left:3px solid transparent;padding-left:10px;transition:border-color .3s ease;}
#aglab .ag-step.now{border-left-color:#16A085;}
#aglab .ag-step-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2,#777);padding:7px 10px;border-radius:10px;background:var(--paper2,#f5f0eb);transition:all .3s ease;opacity:.55;}
#aglab .ag-step-h .ag-step-tag{font-weight:800;color:#0e8a72;}
#aglab .ag-step.on .ag-step-h{opacity:1;}
#aglab .ag-step.now .ag-step-h{background:#e8f6f1;color:#0e8a72;box-shadow:0 0 0 1.5px rgba(22,160,133,.35);}
#aglab .ag-step .ag-heat,#aglab .ag-step .ag-mc,#aglab .ag-step .ag-tree{margin-top:8px;}
#aglab .ag-heat:empty,#aglab .ag-mc:empty,#aglab .ag-tree:empty{display:none;}
#aglab .ag-heat{margin-bottom:10px;}
#aglab .ag-heat-t{font-size:12.5px;color:var(--ink2,#666);margin-bottom:6px;}
#aglab .ag-heat-chip{display:inline-block;margin:0 5px 5px 0;padding:3px 9px;border-radius:999px;background:#fff6e9;border:1px solid #f0d9b8;font-size:12px;color:#8a6d3b;}
#aglab .ag-heat-chip b{color:#e67e22;}

/* 价值网络“候选热力小棋盘”（9×9） */
#aglab .ag-val-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:4px;}
#aglab .ag-val-board{display:grid;grid-template-columns:repeat(9,1fr);grid-auto-rows:1fr;gap:2px;width:178px;flex:0 0 auto;padding:6px;border:1.5px solid rgba(22,160,133,.35);border-radius:10px;background:#f2faf6;}
#aglab .ag-val-cell{aspect-ratio:1/1;min-width:0;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;background:#fff;border:1px solid rgba(0,0,0,.05);color:#42505e;line-height:1;}
#aglab .ag-val-cell.o{color:#16A085;font-size:11px;}
#aglab .ag-val-cell.x{color:#e67e22;font-size:11px;}
#aglab .ag-val-cell.v-hi{background:#cdeedd;color:#166b41;border-color:#8fd4ae;}
#aglab .ag-val-cell.v-must{background:#fde4d3;color:#bf5a1e;border-color:#f6bd92;}
#aglab .ag-val-cell.v-good{background:#d9f0ea;color:#0c7c6a;border-color:#9fddcd;}
#aglab .ag-val-cell.v-ok{background:#fbf0c9;color:#93700a;border-color:#eed689;}
#aglab .ag-val-cell.v-low{background:#e6ecf1;color:#6a7784;border-color:#c6d0da;}
#aglab .ag-val-side{flex:1;min-width:0;}
#aglab .ag-val-side .ag-heat-t{margin-bottom:2px;}
#aglab .ag-heat-hint{font-size:11px;color:#a08a63;margin-top:6px;line-height:1.5;}

#aglab .ag-sim{font-size:13px;color:var(--ink2,#666);margin-bottom:8px;}
#aglab .ag-sim b{color:#e67e22;}
#aglab .ag-tree-list{display:flex;flex-direction:column;gap:7px;}
#aglab .ag-branch{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;background:#faf7f2;border:1px solid transparent;transition:all .25s ease;}
#aglab .ag-branch.pick{background:#e8f6f1;border-color:rgba(22,160,133,.45);box-shadow:0 2px 10px rgba(22,160,133,.12);}
#aglab .ag-br-name{width:62px;font-size:13px;font-weight:700;color:var(--ink,#333);flex:none;}
#aglab .ag-br-sims{display:block;font-size:10px;font-weight:400;color:#999;}
#aglab .ag-br-bar{flex:1;height:12px;border-radius:999px;background:#eee;overflow:hidden;}
#aglab .ag-br-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#16A085,#27ae60);transition:width .12s linear;}
#aglab .ag-branch.hi .ag-br-bar i{background:linear-gradient(90deg,#27ae60,#2ecc71);}
#aglab .ag-branch.mid .ag-br-bar i{background:linear-gradient(90deg,#f1c40f,#f7dc6f);}
#aglab .ag-branch.lo .ag-br-bar i{background:linear-gradient(90deg,#e67e22,#eb984e);}
#aglab .ag-br-num{width:38px;font-size:12px;font-weight:700;color:var(--ink2,#555);text-align:right;flex:none;}
#aglab .ag-branch.pick .ag-br-name::after{content:' ⭐';}
#aglab .ag-pick-note{margin-top:10px;font-size:12.5px;color:#0e8a72;font-weight:700;}

/* 蒙特卡洛自对弈回放小棋盘（9×9，圆点表示棋子） */
#aglab .ag-mc{border:1.5px dashed rgba(22,160,133,.4);background:#f2faf6;border-radius:12px;padding:10px 12px;margin-bottom:12px;}
#aglab .ag-mc-head{font-size:12.5px;font-weight:800;color:#0e8a72;line-height:1.5;margin-bottom:8px;}
#aglab .ag-mc-row{display:flex;gap:12px;align-items:flex-start;}
#aglab .ag-mc-board{display:grid;grid-template-columns:repeat(9,1fr);grid-auto-rows:1fr;gap:1.5px;width:140px;flex:0 0 auto;padding:5px;background:#fff;border:1px solid rgba(22,160,133,.3);border-radius:8px;}
#aglab .ag-mc-cell{aspect-ratio:1/1;min-width:0;border-radius:3px;background:#f5f8f6;}
#aglab .ag-mc-cell.x{background:#16A085;}
#aglab .ag-mc-cell.o{background:#e67e22;}
#aglab .ag-mc-cell.win{background:#a7dcbf;}
#aglab .ag-mc-cell.win.x{background:#2e9e62;}
#aglab .ag-mc-cell.lose{background:#f3cfc3;}
#aglab .ag-mc-cell.lose.o{background:#d97a5e;}
#aglab .ag-mc-cell.draw{background:#e3e8ee;}
#aglab .ag-mc-cell.draw.x,#aglab .ag-mc-cell.draw.o{background:#c7d0da;}
#aglab .ag-mc-side{flex:1;min-width:0;}
#aglab .ag-mc-msg{font-size:12px;color:#0d5c49;font-weight:700;line-height:1.5;}
#aglab .ag-mc-tally{margin-top:6px;font-size:11.5px;color:#547a6f;line-height:1.6;}
#aglab .ag-mc-tally b{font-size:12.5px;}
#aglab .ag-mc-tally b.w{color:#178a56;}
#aglab .ag-mc-tally b.d{color:#8a8fa8;}
#aglab .ag-mc-tally b.l{color:#c0392b;}

@media (max-width:860px){
  #aglab .ag-grid{grid-template-columns:1fr;}
}
