/* 团子棋馆 · 军棋 v1.0 */
.junqi-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}
.junqi-board{position:relative;width:min(92vw,420px,54vh);max-width:100%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:var(--radius,18px);box-shadow:0 10px 24px rgba(43,35,64,.16)}
.junqi-sizer{padding-top:180%}
.junqi-svg{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;display:block}
.junqi-marks,.junqi-pieces{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.junqi-mark,.junqi-hint,.junqi-ring,.junqi-safe{position:absolute;width:17%;height:6.2%;transform:translate(-50%,-50%);border-radius:12px}
.junqi-mark{background:rgba(255,197,61,.45)}
.junqi-hint{border:3px dashed var(--purple,#8b5cf6);background:rgba(139,92,246,.15);z-index:3;animation:junqi-blink .7s ease-in-out infinite alternate}
.junqi-ring{border:3px solid rgba(34,160,107,.9);box-sizing:border-box;z-index:3}
.junqi-safe{width:18%;height:6.8%;border:3px dashed #fff;border-radius:50%;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:flex-end;justify-content:center;transform:translate(-50%,-30%);z-index:3}
.junqi-dot{position:absolute;width:4.6%;height:2.56%;transform:translate(-50%,-50%);border-radius:50%;background:rgba(34,160,107,.55);box-shadow:0 0 0 3px rgba(255,255,255,.55)}
.junqi-pc{position:absolute;width:15%;height:5.2%;transform:translate(-50%,-50%);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:clamp(11px,3.7vw,17px);letter-spacing:1px;box-sizing:border-box;border:2px solid rgba(255,255,255,.55);box-shadow:0 3px 0 rgba(0,0,0,.22),0 5px 10px rgba(0,0,0,.18);transition:left .18s ease,top .18s ease,transform .18s ease,opacity .22s ease;z-index:2;text-shadow:0 1px 0 rgba(0,0,0,.25);white-space:nowrap}
.junqi-red{background:linear-gradient(#ff7a7d,var(--red,#e5484d))}
.junqi-blue{background:linear-gradient(#73adff,var(--blue,#3b82f6))}
.junqi-hidden{font-size:clamp(13px,4.4vw,20px);color:rgba(255,255,255,.85)}
.junqi-sel{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 3px var(--yellow,#ffc53d),0 6px 12px rgba(0,0,0,.25);z-index:4}
.junqi-top{z-index:5}
.junqi-danger{animation:junqi-pulse .8s ease-in-out infinite alternate}
.junqi-exposed{outline:2px dashed #fff;outline-offset:2px}
.junqi-gone{opacity:0;transform:translate(-50%,-50%) scale(.3)}
.junqi-toast{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);max-width:88%;background:rgba(43,35,64,.9);color:#fff;padding:10px 14px;border-radius:14px;font-size:15px;font-weight:700;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:9;line-height:1.4}
.junqi-toast.junqi-show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.junqi-info{width:min(92vw,420px);max-width:100%;font-size:13px;color:var(--ink,#2b2340);display:flex;flex-direction:column;gap:5px}
.junqi-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.junqi-row b{margin-right:auto}
.junqi-lbl{color:var(--muted,#7a6f86);margin-right:4px}
.junqi-chip{background:var(--card,#fff);border:1px solid var(--line,#e9dcc8);border-radius:8px;padding:1px 6px;font-size:12px}
.junqi-none{color:var(--muted,#7a6f86)}
.junqi-tip{color:var(--muted,#7a6f86);font-size:12px}
.junqi-btn{border:0;background:var(--green,#22a06b);color:#fff;font-weight:700;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
@keyframes junqi-pulse{from{box-shadow:0 0 0 0 rgba(229,72,77,.9)}to{box-shadow:0 0 0 8px rgba(229,72,77,0)}}
@keyframes junqi-blink{from{opacity:.55}to{opacity:1}}
