:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100svh;margin:0}#root{height:100dvh}.explorer{color:#ece8f5;background:#0b0910;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.stats-bar{background:#120e1c;border-bottom:1px solid #8b5cf659;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .9rem;display:flex}.stats-left{align-items:center;gap:.6rem;min-width:0;display:flex}.debug-badge{letter-spacing:.08em;cursor:pointer;border:1px solid #0000;border-radius:5px;flex:none;padding:.28rem .5rem;font-size:.62rem;font-weight:800}.debug-badge.on{color:#1a1207;background:#f59e0b;border-color:#fbbf24}.debug-badge.off{color:#93c5fd;background:#3b82f62e;border-color:#3b82f680}.debug-badge:hover{filter:brightness(1.1)}.read-only-note{color:#c4b5fd;opacity:.9;font-style:italic}.stats-controls{flex:none;align-items:center;gap:.75rem;display:flex}.reset-btn{color:#c4b5fd;cursor:pointer;white-space:nowrap;background:#8b5cf62e;border:1px solid #8b5cf680;border-radius:8px;padding:.3rem .7rem;font-size:.8rem;font-weight:700}.reset-btn:hover{background:#8b5cf652}.stats-row{scrollbar-width:none;align-items:center;gap:.5rem;display:flex;overflow-x:auto}.stats-row::-webkit-scrollbar{display:none}.stat-pill{white-space:nowrap;opacity:.9;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:999px;padding:.22rem .6rem;font-size:.82rem}.stat-pill b{font-size:.95rem}.stat-pill.lead{opacity:1;background:#8b5cf647;border-color:#8b5cf699}.vp-pill{color:inherit;cursor:pointer;font:inherit;align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}.vp-caret{opacity:.7;font-size:.7rem}.vp-seg{white-space:nowrap}.vp-seg.vp-sub{opacity:.85;border-left:1px solid #c4b5fd66;padding-left:.45rem;font-size:.76rem}.outline-toggle{opacity:.65;white-space:nowrap;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.board-stage{flex:auto;justify-content:center;align-items:center;min-height:0;padding:.5rem;display:flex}.board-wrap{aspect-ratio:1500/1110;max-width:100%;max-height:100%;line-height:0;position:relative}.board{border-radius:8px;width:100%;height:100%;display:block}.hotspot{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;margin:0;padding:0;transition:background .12s,border-color .12s;position:absolute}.hotspot.outlined{background:#8b5cf614;border-color:#8b5cf680}.hotspot:hover{background:#8b5cf640;border-color:#a78bfaf2}.hotspot.active{background:#8b5cf652;border-color:#c4b5fd}.detail-panel{background:#140f22;border:2px solid #8b5cf6;border-radius:12px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 40px #0009}.dp-head{background:#8b5cf624;border-bottom:1px solid #8b5cf666;flex:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .85rem;display:flex}.dp-title{align-items:center;gap:.6rem;min-width:0;display:flex}.action-icon{border-radius:6px;flex:none;display:inline-block}.dp-head h2{margin:0;font-size:clamp(.95rem,2.2vw,1.25rem);line-height:1.15}.dp-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 .2rem;font-size:1.5rem;line-height:1}.dp-close:hover{opacity:1}.dp-body{flex-direction:column;flex:auto;gap:.5rem;padding:.7rem .85rem .9rem;display:flex;overflow-y:auto}.dp-body>p{margin:0}.dp-note{color:#c4b5fd;font-size:clamp(.72rem,1.5vw,.85rem);font-weight:700}.dp-rule{white-space:pre-wrap;font-size:clamp(.78rem,1.6vw,.95rem);line-height:1.5}.mech-link{font:inherit;color:#a5b4fc;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}.mech-link:hover{color:#c4b5fd;text-decoration-style:solid}.mech-cta{color:#c4b5fd;cursor:pointer;background:#8b5cf629;border:1px solid #8b5cf673;border-radius:8px;align-self:flex-start;padding:.3rem .6rem;font-size:.8rem;font-weight:600}.mech-cta:hover{background:#8b5cf647}.mech-rules{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.mech-rules ul{background:#8b5cf614;border:1px solid #8b5cf666;border-radius:8px;flex-direction:column;align-self:stretch;gap:.35rem;margin:0;padding:.5rem .75rem .5rem 1.85rem;display:flex}.rule-body{background:#8b5cf614;border:1px solid #8b5cf666;border-radius:8px;flex-direction:column;align-self:stretch;gap:.55rem;padding:.55rem .75rem;display:flex}.rule-body .dp-rule{margin:0}.mech-rules li{font-size:clamp(.74rem,1.4vw,.88rem);line-height:1.4}.tt-marker{pointer-events:none;filter:drop-shadow(1.6px 0 #a855f7)drop-shadow(-1.6px 0 #a855f7)drop-shadow(0 1.6px #a855f7)drop-shadow(0 -1.6px #a855f7)drop-shadow(0 3px 5px #0009);position:absolute;transform:translate(-50%,-50%)}.tt-marker.cal-ghost{opacity:.4}.tt-marker.cal-selected{opacity:1;filter:drop-shadow(1.6px 0 #f0abfc)drop-shadow(-1.6px 0 #f0abfc)drop-shadow(0 1.6px #f0abfc)drop-shadow(0 -1.6px #f0abfc)drop-shadow(0 0 6px #f0abfce6)}.cal-size{align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.cal-size input{flex:auto}.count-badge{color:#fff;pointer-events:none;background:#140f22d9;border:2px solid #8b5cf6;border-radius:6px;justify-content:center;align-items:center;min-width:1.5em;height:1.5em;padding:0 .15em;font-size:clamp(.7rem,1.6vw,1rem);font-weight:800;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000080}.cmd-marker{pointer-events:none;filter:drop-shadow(1.4px 0 #a855f7)drop-shadow(-1.4px 0 #a855f7)drop-shadow(0 1.4px #a855f7)drop-shadow(0 -1.4px #a855f7)drop-shadow(0 3px 5px #0009);z-index:4;transition:left .35s,top .35s;position:absolute;transform:translate(-50%,-50%)}.cmd-marker.active{filter:drop-shadow(1.4px 0 #f0abfc)drop-shadow(-1.4px 0 #f0abfc)drop-shadow(0 1.4px #f0abfc)drop-shadow(0 -1.4px #f0abfc)drop-shadow(0 0 6px #fde047)drop-shadow(0 3px 5px #0009)}.cmd-spot{color:#fff;pointer-events:none;background:#140f2299;border:2px dashed #22d3ee;border-radius:50%;justify-content:center;align-items:center;width:1.4em;height:1.4em;font-weight:800;display:flex;position:absolute;transform:translate(-50%,-50%)}.cmd-spot.cal-selected{color:#1a1207;z-index:5;background:#f59e0b;border-style:solid;border-color:#fff}.bot-turn{align-items:center;gap:.6rem;display:flex}.take-bot-action{color:#f0fdf4;cursor:pointer;background:linear-gradient(#16a34a,#15803d);border:1px solid #22c55e;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #0006}.take-bot-action:hover:not(:disabled){background:linear-gradient(#22c55e,#16a34a)}.take-bot-action:disabled{opacity:.45;cursor:not-allowed}.take-bot-action.passed{color:#d4d4d8;background:linear-gradient(#3f3f46,#27272a);border-color:#52525b}.you-pass{color:#fee2e2;cursor:pointer;background:linear-gradient(#b91c1c,#991b1b);border:1px solid #ef4444;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .8rem;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #0006}.you-pass:hover:not(:disabled){background:linear-gradient(#dc2626,#b91c1c)}.you-pass:disabled{opacity:.5;cursor:not-allowed;color:#a1a1aa;background:linear-gradient(#3f3f46,#27272a);border-color:#52525b}.bot-die{color:#ef4444;font-variant-numeric:tabular-nums;background:#0a0a0a;border:2px solid #ef4444;border-radius:8px;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1.3rem;font-weight:900;display:inline-flex;box-shadow:0 0 8px #ef444480}.board-wrap.calibrating{cursor:crosshair}.board-wrap.calibrating .hotspot{pointer-events:none}.count-badge.cal-selected{color:#1a1207;z-index:5;background:#f59e0b;border-color:#fff}.cal-panel{z-index:50;background:#140f22;border:1px solid #8b5cf6;border-radius:10px;width:320px;max-height:60vh;padding:.7rem;font-size:.8rem;position:fixed;bottom:.75rem;left:.75rem;overflow:auto}.cal-hint{margin:0 0 .5rem;line-height:1.4}.cal-list{flex-direction:column;gap:.25rem;margin-bottom:.5rem;display:flex}.cal-item{color:inherit;cursor:pointer;text-align:left;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:6px;justify-content:space-between;gap:.5rem;padding:.28rem .5rem;display:flex}.cal-item.on{color:#1a1207;background:#f59e0b;border-color:#fff;font-weight:700}.cal-item.path{background:#22d3ee1f;border-color:#22d3ee59}.cal-item.path.on{background:#f59e0b;border-color:#fff}.cal-xy{font-variant-numeric:tabular-nums;opacity:.8}.cal-out{color:#c4b5fd;resize:vertical;background:#0b0910;border:1px solid #8b5cf666;border-radius:6px;width:100%;height:150px;padding:.4rem;font-family:ui-monospace,monospace;font-size:.7rem}.vp-digits{flex-wrap:wrap;gap:.7rem;display:flex}.vp-digit{color:#ede9fe;cursor:pointer;background:#8b5cf62e;border:1px solid #8b5cf680;border-radius:8px;width:2.2rem;height:2.2rem;font-size:1rem;font-weight:700}.vp-digit:hover{background:#8b5cf661}.vp-digit.selected{color:#fff;background:#8b5cf6;border-color:#c4b5fd;box-shadow:0 0 0 2px #c4b5fd8c}.resource-picks{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.pick-sep{color:#c4b5fd;opacity:.8;font-size:1.4rem;font-weight:800}.resource-swatch{color:inherit;cursor:pointer;background:#8b5cf614;border:1px solid #8b5cf666;border-radius:10px;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .6rem;display:flex}.resource-swatch:hover{background:#8b5cf633}.resource-swatch.selected{background:#8b5cf652;border-color:#c4b5fd;box-shadow:0 0 0 2px #c4b5fd8c}.resource-cube-wrap{display:inline-flex;position:relative}.resource-cube{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 3px #00000073);width:2.6rem;height:2.6rem}.cube-x2{text-align:center;color:#fff;background:#7c3aed;border:1px solid #c4b5fd;border-radius:999px;min-width:1.15rem;padding:0 .2rem;font-size:.72rem;font-weight:800;line-height:1.15rem;position:absolute;bottom:-.3rem;right:-.35rem;box-shadow:0 1px 3px #00000080}.resource-name{font-size:.78rem;font-weight:700}.worker-fig{object-fit:contain;filter:drop-shadow(0 1px 3px #00000073);width:auto;height:3.4rem}.shape-roll{align-items:center;gap:1rem;display:flex}.shape-icon{object-fit:contain;box-sizing:border-box;background:#d8d8de;border-radius:6px;padding:2px;box-shadow:0 1px 2px #00000080}.shape-tally{gap:.7rem;font-size:.95rem;font-weight:800;display:flex}.shape-count{align-items:center;gap:.28rem;display:inline-flex}.count-badge.clickable{cursor:pointer;pointer-events:auto}.count-badge.clickable:hover{box-shadow:0 0 0 2px #c4b5fdb3}.bt-popover{z-index:30;background:#140c22f5;border:1px solid #8b5cf699;border-radius:10px;gap:.6rem;padding:.4rem .6rem;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000080}.bt-pop-row{color:#ede9fe;align-items:center;gap:.25rem;font-size:.95rem;font-weight:800;display:inline-flex}.start-turn{letter-spacing:.02em;color:#fff;cursor:pointer;background:#16a34a;border:1px solid #10a34ab3;border-radius:10px;align-self:stretch;margin-top:.15rem;padding:.6rem .8rem;font-size:.95rem;font-weight:800}.start-turn:hover{background:#15803d}.place-prompt{background:#f59e0b1a;border:1px solid #f59e0b8c;border-radius:10px;flex-direction:column;gap:.55rem;padding:.7rem .8rem;display:flex}.pp-instruct{margin:0;font-size:clamp(.8rem,1.7vw,.98rem);font-weight:600;line-height:1.4}.pp-buttons{flex-wrap:wrap;gap:.6rem;display:flex}.pp-confirm,.pp-cannot{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:auto;padding:.45rem .7rem;font-size:.85rem;font-weight:700}.pp-confirm{color:#fff;background:#16a34a}.pp-confirm:hover{background:#15803d}.pp-cannot{color:#fca5a5;background:#dc262626;border-color:#dc262699}.pp-cannot:hover{background:#dc26264d}.pp-alt{cursor:pointer;color:#c4b5fd;background:#8b5cf62e;border:1px solid #8b5cf68c;border-radius:8px;flex:auto;padding:.45rem .7rem;font-size:.85rem;font-weight:700}.pp-alt:hover{background:#8b5cf652}.failed-note{background:#dc26261a;border-color:#dc26268c}.eoa-bar{color:#ece8f5;background:#120e1c;border-top:1px solid #2a2140;flex-wrap:wrap;flex:none;align-items:center;gap:.9rem;padding:.5rem .9rem;display:flex}.eoa-flags{align-items:center;gap:.5rem;display:flex}.eoa-flag{color:#9c93b8;background:#1c1630;border:1px solid #2a2140;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.eoa-flag.on{color:#c4b5fd;background:#8b5cf633;border-color:#8b5cf6}.eoa-count{color:#9c93b8;font-size:.78rem}.eoa-count b{color:#ece8f5}.eoa-hint{color:#c4b5fd;flex:240px;margin:0;font-size:.85rem;line-height:1.35}.eoa-buttons{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.eoa-pass,.eoa-resolve{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.45rem .8rem;font-size:.85rem;font-weight:700}.eoa-pass{color:#fca5a5;background:#dc262626;border-color:#dc262699}.eoa-pass:hover{background:#dc26264d}.eoa-resolve{color:#fff;background:#16a34a;border-color:#10a34ab3}.eoa-resolve:hover{background:#15803d}.eoa-end{color:#4ade80;font-size:.85rem;font-weight:700}
