:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--act:#b9d65f;--act-2:#a1c247;--act-hover:#cbe57f;--act-text:#232f06;--act-border:#cbe57f;--pass:#e07fa8;--pass-2:#c85f8d;--pass-hover:#ec97ba;--pass-text:#360a20;--pass-border:#ec97ba;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}.landing{box-sizing:border-box;color:#ece8f5;background:radial-gradient(circle at 20% -10%,#8b5cf62e,#0000 55%),radial-gradient(circle at 90% 110%,#d9774224,#0000 55%),#0b0910;flex-direction:column;align-items:center;gap:1.6rem;min-height:100dvh;padding:clamp(1.2rem,4vw,3rem);display:flex}.landing-header{align-items:center;gap:1rem;width:100%;max-width:960px;display:flex}.landing-logo{border:1px solid #8b5cf666;border-radius:14px;flex:none;width:64px;height:64px}.landing-header h1{letter-spacing:.01em;margin:0;font-size:clamp(1.5rem,4vw,2.2rem)}.landing-sub{color:#b7abd6;margin:.2rem 0 0;font-size:.95rem}.landing-intro{color:#d6cdf0;width:100%;max-width:960px;margin:0;font-size:1.02rem;line-height:1.6}.landing-intro a{color:#c4b5fd}.bot-grid{flex-direction:column;gap:1.2rem;width:100%;max-width:960px;display:flex}.bot-card{text-align:left;color:inherit;cursor:pointer;background:#140f22;border:1px solid #8b5cf659;border-radius:16px;gap:0;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.bot-card.ready:hover{border-color:#a78bfae6;transform:translateY(-2px);box-shadow:0 10px 30px #582e9666}.bot-card.soon{cursor:default;opacity:.72}.bot-card-art{flex:0 0 42%;min-height:200px;position:relative}.bot-card-art img{object-fit:cover;width:100%;height:100%;display:block}.bot-card.soon .bot-card-art img{filter:grayscale(.35)brightness(.8)}.soon-badge{letter-spacing:.06em;text-transform:uppercase;color:#f0b088;background:#140f22d9;border:1px solid #d97742b3;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:800;position:absolute;top:10px;left:10px}.bot-card-body{flex-direction:column;flex:auto;gap:.5rem;padding:1.1rem 1.3rem;display:flex}.bot-card-body h2{margin:0;font-size:1.5rem}.bot-tagline{color:#a9d0c0;letter-spacing:.02em;margin:0;font-size:.85rem;font-weight:600}.bot-card.soon .bot-tagline{color:#d0a98c}.bot-desc{color:#c9c0e2;margin:0;font-size:.95rem;line-height:1.55}.bot-cta{background:var(--act);color:var(--act-text);border-radius:8px;align-self:flex-start;margin-top:auto;padding:.45rem .9rem;font-size:.95rem;font-weight:800}.landing-foot{color:#8b81a6;width:100%;max-width:960px;margin:.4rem 0 0;font-size:.8rem;line-height:1.5}@media (width<=640px){.bot-card{flex-direction:column}.bot-card-art{aspect-ratio:1317/661;flex-basis:auto;min-height:0}}.resume-overlay{z-index:1000;background:#06040cb8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.resume-dialog{background:#17122a;border:1px solid #8b5cf680;border-radius:14px;width:100%;max-width:420px;padding:1.4rem 1.5rem;box-shadow:0 20px 60px #0009}.resume-dialog h3{margin:0 0 .6rem;font-size:1.2rem}.resume-dialog p{color:#cfc6e6;margin:0 0 1.1rem;line-height:1.55}.resume-actions{flex-direction:column;gap:.6rem;display:flex}.resume-continue,.resume-new{cursor:pointer;border:1px solid #0000;border-radius:9px;padding:.6rem 1rem;font-size:.98rem;font-weight:700}.resume-continue{background:var(--act);color:var(--act-text)}.resume-new{color:#e6def7;background:#241a3d;border-color:#8b5cf68c}.resume-continue:hover{filter:brightness(1.06)}.resume-new:hover{border-color:#a78bfaf2}.resume-cancel{color:#9d92bd;cursor:pointer;background:0 0;border:none;margin:.9rem auto 0;font-size:.85rem;display:block}.resume-cancel:hover{color:#cfc6e6;text-decoration:underline}.explorer{color:#ece8f5;background:#0b0910;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.stats-bar{background:#120e1c;border-bottom:1px solid #8b5cf659;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.4rem .9rem;display:flex}.bot-turn{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.turn-core{flex-wrap:nowrap;align-items:center;gap:.6rem;display:flex}@media (width<=760px){.bot-turn,.turn-core{display:contents}.stats-left{order:1}.take-bot-action{order:2}.bot-die{order:3}.you-pass{order:4}.stats-controls{order:5;margin-left:auto}.undo-btn{order:6}.vp-pill,.status-chip,.endgame-btn{order:7}}.stats-left{align-items:center;gap:.6rem;min-width:0;display:flex}.home-btn{cursor:pointer;background:#1a1330;border:1px solid #8b5cf666;border-radius:8px;flex:none;padding:2px;line-height:0;transition:border-color .15s,box-shadow .15s;display:inline-flex}.home-btn:hover{border-color:#a78bfae6;box-shadow:0 0 0 2px #8b5cf640}.home-btn img{border-radius:6px;width:30px;height:30px}.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}.undo-btn{color:#93c5fd;cursor:pointer;white-space:nowrap;background:#3b82f62e;border:1px solid #3b82f680;border-radius:8px;padding:.3rem .7rem;font-size:.8rem;font-weight:700}.undo-btn:hover:not(:disabled){background:#3b82f652}.undo-btn:disabled{opacity:.4;cursor:not-allowed}.history-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}.history-btn:hover{background:#8b5cf652}.history-btn.on{color:#fff;background:#7c3aed;border-color:#a855f7}.settings-menu{position:relative}.gear-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf62e;border:1px solid #8b5cf680;border-radius:8px;padding:.32rem .55rem;font-size:1rem;line-height:1}.gear-btn:hover,.gear-btn.on{background:#8b5cf652}.gear-btn.debug-on{color:#1a1207;background:#f59e0b;border-color:#fbbf24}.settings-dropdown{z-index:70;background:#171226;border:1px solid #8b5cf6;border-radius:10px;flex-direction:column;gap:.15rem;min-width:210px;padding:.35rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 30px #0000008c}.settings-item{color:#ddd6fe;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.85rem;display:flex}.settings-item:hover:not(:disabled){background:#8b5cf633}.settings-item.active{color:#fff;background:#7c3aed66}.settings-item.sub{color:#c4b5fd;padding-left:1.1rem;font-size:.8rem}.settings-item.danger{color:#fca5a5}.settings-item.disabled{opacity:.5;cursor:not-allowed}.settings-sep{background:#8b5cf64d;height:1px;margin:.2rem 0}.sw{color:#cbd5e1;background:#94a3b840;border-radius:999px;padding:.08rem .4rem;font-size:.68rem;font-weight:800}.sw.on{color:#4ade80;background:#4ade8047}.history-pane{z-index:60;background:#140f22;border-top:1px solid #8b5cf666;border-left:1px solid #8b5cf6;flex-direction:column;width:min(340px,88vw);display:flex;position:fixed;top:3.4rem;bottom:0;right:0;box-shadow:-6px 0 20px #00000080}.history-head{border-bottom:1px solid #8b5cf666;justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.history-head h3{color:#e9d5ff;margin:0;font-size:1rem}.history-close{color:#c4b5fd;cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.history-empty{color:#a1a1aa;padding:1rem .9rem;font-style:italic}.history-list{margin:0;padding:.4rem 0;list-style:none;overflow-y:auto}.history-row{border-bottom:1px solid #8b5cf61f;align-items:baseline;gap:.6rem;padding:.4rem .9rem;font-size:.85rem;display:flex}.history-num{color:#8b5cf6;font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:1.5em;font-weight:800}.history-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.history-label{color:#ddd6fe;font-weight:600}.history-effects{flex-direction:column;gap:.12rem;margin:.1rem 0 0;padding:0;list-style:none;display:flex}.history-effects li{color:#a5b4fc;font-size:.78rem;line-height:1.3}.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:flex-start;min-height:0;padding:.5rem;transition:padding-right .2s;display:flex}@media (width>=760px){.board-stage.with-history{padding-right:calc(min(340px,88vw) + .5rem)}}.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{z-index:30;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:auto;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}.board-wrap.calibrating .count-badge{pointer-events:none}.warp-marker{pointer-events:auto;z-index:4;flex-direction:column;align-items:center;gap:.15rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.warp-img{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);width:100%;display:block}.warp-count{color:#fff;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;box-shadow:0 1px 4px #00000080}.warp-marker.cal-selected .warp-img{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)}.warp-marker.cal-selected .warp-count{color:#1a1207;background:#f59e0b;border-color:#fff}.paradox-slot{pointer-events:auto;z-index:4;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 2px 4px #0000008c);position:absolute}.paradox-slot.cal-ghost{opacity:.3}.board-wrap.calibrating .paradox-slot{pointer-events:none}.paradox-slot.cal-selected{opacity:1;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 #f0abfce6)}.paradox-ctl{align-items:center;gap:.25rem;display:inline-flex}.paradox-ctl button{color:#ddd6fe;cursor:pointer;background:#8b5cf633;border:1px solid #8b5cf680;border-radius:6px;width:1.5rem;height:1.5rem;font-size:1rem;font-weight:800;line-height:1}.paradox-ctl button:disabled{opacity:.4;cursor:not-allowed}.paradox-ctl-val{color:#fbbf24;text-align:center;font-variant-numeric:tabular-nums;min-width:2.2em;font-size:.78rem;font-weight:800}.cal-item.paradox{background:#fb923c1f;border-color:#fb923c59}.cal-item.paradox.on{background:#f59e0b;border-color:#fff}.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}.take-bot-action{color:var(--act-text);background:linear-gradient(180deg, var(--act), var(--act-2));border:1px solid var(--act-border);cursor:pointer;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(180deg, var(--act-hover), var(--act))}.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:var(--pass-text);background:linear-gradient(180deg, var(--pass), var(--pass-2));border:1px solid var(--pass-border);cursor:pointer;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(180deg, var(--pass-hover), var(--pass))}.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;border:1px solid var(--act-border);background:var(--act);color:var(--act-text);cursor:pointer;border-radius:10px;align-self:stretch;margin-top:.15rem;padding:.6rem .8rem;font-size:.95rem;font-weight:800}.start-turn:hover{background:var(--act-hover)}.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{background:var(--act);color:var(--act-text)}.pp-confirm:hover{background:var(--act-hover)}.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}.status-chip{cursor:pointer;color:inherit;font:inherit}.status-chip:hover,.status-chip.on{background:#8b5cf652;border-color:#8b5cf699}.eoa-popover{z-index:62;background:#171226;border:1px solid #8b5cf6;border-radius:12px;flex-direction:column;gap:.6rem;width:min(460px,92vw);padding:.7rem .9rem .9rem;display:flex;position:fixed;top:3.4rem;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0009}.eoa-pop-head{justify-content:space-between;align-items:center;display:flex}.eoa-pop-title{color:#e9d5ff;font-weight:800}.eoa-pop-close{color:#c4b5fd;cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.eoa-rule-cta{color:#c4b5fd;cursor:pointer;text-align:left;background:#8b5cf624;border:1px solid #8b5cf666;border-radius:8px;width:100%;padding:.35rem .6rem;font-size:.82rem;font-weight:700}.eoa-rule-cta:hover{background:#8b5cf647}.eoa-rule-body{background:#8b5cf60f;border:1px solid #8b5cf659;border-radius:8px;max-height:40vh;margin-top:.5rem;padding:.55rem .7rem;overflow-y:auto}.eoa-rule-body p{color:#ddd6fe;margin:0 0 .55rem;font-size:.82rem;line-height:1.5}.eoa-rule-body p:last-child{margin-bottom:0}.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{background:var(--act);color:var(--act-text);border-color:var(--act-border)}.eoa-resolve:hover{background:var(--act-hover)}.eoa-end{color:#4ade80;font-size:.85rem;font-weight:700}@media (width<=640px),(height<=480px){.detail-panel{z-index:65;border-width:0;border-radius:0;max-width:100vw;width:100vw!important;height:100dvh!important;position:fixed!important;inset:0!important}.dp-head{padding:.7rem 1rem}.dp-close{padding:.2rem .6rem;font-size:2rem}.dp-body{padding:.9rem 1rem 1.4rem}}.endgame-btn{color:#fde68a;cursor:pointer;white-space:nowrap;background:linear-gradient(#b45309,#92400e);border:1px solid #f59e0b;border-radius:8px;padding:.5rem .8rem;font-size:.85rem;font-weight:800}.endgame-btn:hover{background:linear-gradient(#d97706,#b45309)}.endgame-btn.finish{color:#fff;background:linear-gradient(#7c3aed,#6d28d9);border-color:#a855f7}.endgame-btn.finish:hover{background:linear-gradient(#8b5cf6,#7c3aed)}.modal-overlay{z-index:100;background:#05030cb8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:#171226;border:1px solid #8b5cf6;border-radius:12px;width:min(460px,94vw);padding:1.1rem 1.2rem;box-shadow:0 18px 50px #0009}.modal-card h3{color:#e9d5ff;margin:0 0 .7rem}.modal-rule{color:#ddd6fe;background:#8b5cf61a;border:1px solid #8b5cf659;border-radius:8px;margin:0 0 .7rem;padding:.6rem .75rem;font-size:.9rem;line-height:1.5}.modal-note{color:#c4b5fd;margin:0 0 1rem;font-size:.85rem}.modal-actions,.score-actions{justify-content:flex-end;gap:.6rem;display:flex}.modal-yes{color:var(--act-text);background:var(--act);border:1px solid var(--act-border);cursor:pointer;border-radius:8px;padding:.55rem .9rem;font-weight:800}.modal-yes:hover{background:var(--act-hover)}.modal-no{color:#c4b5fd;cursor:pointer;background:#8b5cf629;border:1px solid #8b5cf680;border-radius:8px;padding:.55rem .9rem;font-weight:700}.modal-no:hover{background:#8b5cf64d}.score-screen{background:#140f22;border:2px solid #8b5cf6;border-radius:14px;flex-direction:column;gap:.9rem;width:min(560px,96vw);max-height:92vh;padding:1.1rem 1.2rem 1.3rem;display:flex;overflow-y:auto;box-shadow:0 18px 50px #000000a6}.score-head{justify-content:space-between;align-items:center;display:flex}.score-head h2{color:#e9d5ff;margin:0}.score-bot{background:#8b5cf61a;border:1px solid #8b5cf659;border-radius:10px;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.score-total{border-right:1px solid #8b5cf64d;flex-direction:column;flex:none;align-items:center;padding-right:1rem;display:flex}.score-total-num{color:#fbbf24;font-size:2.6rem;font-weight:900;line-height:1}.score-total-label{color:#c4b5fd;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.score-breakdown{flex:auto;margin:0;padding:0;font-size:.88rem;list-style:none}.score-breakdown li{color:#ddd6fe;justify-content:space-between;padding:.15rem 0;display:flex}.score-breakdown .score-sum{border-top:1px solid #8b5cf64d;margin-top:.2rem;padding-top:.3rem;font-weight:800}.score-breakdown .score-turns{color:#a5b4fc}.score-player-head{justify-content:space-between;align-items:center;display:flex}.score-player-head h3{color:#e9d5ff;margin:0}.score-mode{border:1px solid #8b5cf680;border-radius:8px;display:inline-flex;overflow:hidden}.score-mode button{color:#c4b5fd;font:inherit;cursor:pointer;background:0 0;border:none;padding:.35rem .7rem;font-size:.8rem}.score-mode button.on{color:#fff;background:#7c3aed}.score-num-input{color:#ece8f5;background:#0b0910;border:1px solid #8b5cf680;border-radius:8px;width:100%;padding:.6rem .7rem;font-size:1rem}.score-rule{color:#c4b5fd;margin:.4rem 0;font-size:.82rem;line-height:1.5}.tally-grid{grid-template-columns:1fr;gap:.3rem;display:grid}.tally-row{color:#ddd6fe;justify-content:space-between;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.tally-row input{color:#ece8f5;text-align:right;background:#0b0910;border:1px solid #8b5cf666;border-radius:6px;width:5rem;padding:.3rem .5rem}.tally-total{text-align:right;color:#e9d5ff;margin-top:.5rem;font-size:.95rem}.score-result{text-align:center;border-radius:10px;padding:.7rem .9rem;font-weight:800}.score-result.win{color:#4ade80;background:#4ade802e;border:1px solid #4ade8080}.score-result.lose{color:#fca5a5;background:#f8717129;border:1px solid #f8717173}.phase-screen{color:#ece8f5;background:#0b0910;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.phase-bar{background:#120e1c;border-bottom:1px solid #8b5cf659;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.45rem .9rem;display:flex}.phase-bar-left,.phase-bar-right{align-items:center;gap:.7rem;min-width:0;display:flex}.phase-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#a78bfa;font-size:.72rem;font-weight:700}.phase-title{margin:0;font-size:1.15rem;font-weight:800}.phase-tabs{border:1px solid #8b5cf680;border-radius:8px;display:inline-flex;overflow:hidden}.phase-tabs button{color:#ccc1ea;cursor:pointer;background:#1a1330;border:none;padding:.35rem .7rem;font-size:.82rem;font-weight:700}.phase-tabs button.on{color:#fff;background:#7c3aed}.phase-content{flex-direction:column;flex:auto;align-items:center;display:flex;overflow-y:auto}.phase-hero{background-position:50% 35%;background-size:cover;border-bottom:1px solid #8b5cf666;width:100%;height:clamp(140px,26vh,300px);position:relative}.phase-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0b0910);position:absolute;inset:0}.phase-body{flex-direction:column;gap:1rem;width:100%;max-width:760px;padding:1.2rem 1.3rem 2.5rem;display:flex}.phase-overview{color:#d6cdf0;background:#140f22;border-left:3px solid #7c3aed;border-radius:0 8px 8px 0;margin:0;padding:.9rem 1rem;font-size:.98rem;line-height:1.55}.phase-body .phase-primary{background:var(--act);color:var(--act-text);cursor:pointer;border:none;border-radius:9px;align-self:flex-start;padding:.6rem 1.2rem;font-size:1rem;font-weight:800}.phase-body .phase-primary:disabled{opacity:.5;cursor:default}.phase-body .phase-secondary{color:#e6def7;cursor:pointer;background:#241a3d;border:1px solid #8b5cf68c;border-radius:9px;align-self:flex-start;padding:.55rem 1.1rem;font-size:.95rem;font-weight:700}.phase-note{color:#a99fc6;margin:0;font-size:.9rem;line-height:1.5}.paradox-status{flex-wrap:wrap;gap:1rem;display:flex}.paradox-status span{color:#cbc0ea;background:#16112a;border:1px solid #8b5cf666;border-radius:999px;padding:.4rem .8rem;font-size:.9rem}.paradox-status b{color:#fff}.paradox-log{background:#140f22;border-left:3px solid #7c3aed;border-radius:0 8px 8px 0;flex-direction:column;gap:.4rem;padding:.7rem .9rem;display:flex}.paradox-log .phase-note{color:#d6cdf0}.warp-roll-result{background:#16112a;border:1px solid #8b5cf673;border-radius:10px;align-items:center;gap:.9rem;padding:.8rem 1rem;display:flex}.warp-roll-num{color:#fff;background:#7c3aed;border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:1.4rem;font-weight:800;display:inline-flex}.warp-roll-result .phase-note{color:#d6cdf0;margin:0}.phase-status{flex:auto;min-height:0;display:flex;overflow:auto}.phase-status .board-stage{flex:auto}.setup-flavor{color:#e2daf5;margin:0;font-size:1.05rem;font-style:italic;line-height:1.65}.difficulty-list{flex-direction:column;gap:.6rem;display:flex}.difficulty-opt{cursor:pointer;background:#140f22;border:1px solid #8b5cf659;border-radius:10px;align-items:flex-start;gap:.7rem;padding:.75rem .9rem;transition:border-color .15s,background .15s;display:flex}.difficulty-opt.on{background:#1d1636;border-color:#a78bfae6}.difficulty-opt input{accent-color:#7c3aed;flex:none;width:1.1rem;height:1.1rem;margin-top:.2rem}.difficulty-opt-text{flex-direction:column;gap:.2rem;display:flex}.difficulty-opt-text b{font-size:.98rem}.difficulty-opt-text span{color:#b3a9d0;font-size:.88rem;line-height:1.45}.setup-actions{align-items:center;gap:.7rem;display:flex}.setup-modified h3{color:#f0eaff;margin:0 0 .5rem;font-size:1.05rem}.setup-modified p{color:#d2c9ea;margin:0 0 .6rem;line-height:1.55}.setup-modified ul{color:#cfc6e6;margin:0 0 .6rem;padding-left:1.2rem;line-height:1.55}.setup-modified li{margin-bottom:.3rem}.end-phase-banner{z-index:60;color:#dcf5e6;background:#12241a;border:1px solid #22c55e99;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;max-width:min(92vw,720px);padding:.7rem 1rem;font-weight:600;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000080}.end-phase-banner .phase-primary{background:var(--act);color:var(--act-text);cursor:pointer;border:none;border-radius:9px;padding:.5rem 1rem;font-weight:800}.fp-dialog{background:#17122a;border:1px solid #8b5cf680;border-radius:14px;width:100%;max-width:440px;padding:1.4rem 1.5rem;box-shadow:0 20px 60px #0009}.fp-dialog h3{margin:0 0 .6rem;font-size:1.2rem}.fp-dialog p{color:#cfc6e6;margin:0 0 1.1rem;line-height:1.55}.fp-actions{flex-direction:column;gap:.6rem;display:flex}.fp-actions .phase-primary,.fp-actions .phase-secondary{cursor:pointer;border-radius:9px;padding:.6rem 1rem;font-size:.98rem;font-weight:700}.fp-actions .phase-primary{background:var(--act);color:var(--act-text);border:none}.fp-actions .phase-secondary{color:#e6def7;background:#241a3d;border:1px solid #8b5cf68c}.rules-box{background:#100c1b;border:1px solid #8b5cf659;border-radius:10px;overflow:hidden}.rules-box-toggle{color:#d8cff0;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .8rem;font-size:.92rem;font-weight:700;display:flex}.rules-box-caret{color:#a78bfa;width:.9em}.rules-box-label{flex:auto}.rules-box-body{padding:0 .9rem .9rem}.rules-box-preamble{color:#8f85ad;margin:0 0 .6rem;font-size:.78rem;font-style:italic;line-height:1.45}.rules-box-text{color:#cabfe6;font-size:.9rem;line-height:1.6}.rules-box-text p{margin:0 0 .6rem}.rules-box-text p:last-child{margin-bottom:0}
