:root{--bg: #141518;--panel: #1d1f23;--panel-2: #272a30;--ink: #ecebe7;--dim: #9c9fa6;--line: #34373e;--accent: #7cc4e8;--win: #9be3b0;--lose: #ef6b7b}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Hiragino Sans,sans-serif}a{color:var(--accent)}main{max-width:1180px;margin:0 auto;padding:24px 24px 48px}h1{font-size:34px;margin:0 0 8px;letter-spacing:-.01em}h1 span{color:var(--accent);font-weight:600;margin-left:6px;font-size:22px}.sub{color:var(--dim);max-width:100ch;margin:0 0 16px;font-size:14px}.sub strong,.sub em{color:var(--ink);font-style:normal;font-weight:600}.win-t,.sub .win-t{color:var(--win)}.lose-t,.sub .lose-t{color:var(--lose)}.dim{color:var(--dim);font-size:13px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}#wrap{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.stage{flex:1 1 620px;min-width:0}.side{flex:0 1 380px;min-width:280px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-weight:600;margin:0 0 8px}.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.sel{color:var(--dim);font-size:13px;display:inline-flex;gap:6px;align-items:center}.chk{cursor:pointer}select,button,input{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:6px 10px;font:inherit;font-size:13px}button{cursor:pointer}select:hover,button:hover{border-color:var(--dim)}button.primary{background:var(--accent);color:#0c1a22;border-color:var(--accent);font-weight:600}#boardwrap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}#strip{display:grid;grid-template-columns:repeat(var(--cols, 20),minmax(0,1fr));gap:4px}.sq{position:relative;height:54px;padding:0;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.sq small{position:absolute;bottom:2px;left:0;right:0;font-size:10px;color:var(--dim);font-variant-numeric:tabular-nums}.sq:disabled{cursor:default}.sq.coin:before{content:"";width:26px;height:26px;border-radius:50%;margin-bottom:10px;background:radial-gradient(circle at 35% 35%,#c9ecff,var(--accent) 55%,#3d7d9c);box-shadow:0 1px 3px #0008}.sq.coin:not(:disabled):hover{border-color:var(--accent)}.sq.coin.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sq.coin.haswin:after{content:"✓";position:absolute;top:1px;right:4px;font-size:10px;color:var(--win);font-weight:700}.sq.was{border-style:dashed;border-color:#6a6e77}.sq.target.win{background:#9be3b029;border-color:var(--win)}.sq.target.lose{background:#ef6b7b14;border-color:#ef6b7b80}.sq.target.plain{border-color:var(--accent)}.sq.target.win:before{content:"✓";color:var(--win);font-weight:700;margin-bottom:10px}.sq.target.lose:before{content:"✗";color:#f3a1ab;margin-bottom:10px}.sq.target:hover{outline:2px solid var(--accent);outline-offset:1px}#status{margin-top:10px;min-height:24px;color:var(--accent);font-weight:600}.diagram-wrap{margin-top:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.yd{display:grid;grid-template-columns:repeat(var(--w),34px);gap:2px}.yc{height:34px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border-radius:4px;font-variant-numeric:tabular-nums}.yc.empty{background:transparent}.yc.o0{background:#2c3a44;color:#c7d4dc}.yc.o1{background:#2f5a70;color:#e6f4fb}.yc.o2{background:#3f86a8;color:#fff}.yc.o3{background:#d9b45a;color:#1a1407}.yc.o4{background:#ef6b7b;color:#1a0709}.yc.hook{outline:2px solid var(--win);outline-offset:-2px;box-shadow:0 0 10px #9be3b080}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:18px;font-size:14px}.panel p{margin:0 0 8px}.kv{display:flex;justify-content:space-between;gap:12px;padding:2px 0}.kv span{color:var(--dim)}.kv b{font-weight:600;text-align:right}.kv b span{color:inherit}.kv b .win-t{color:var(--win)}.kv b .lose-t{color:var(--lose)}.big{font-size:22px;color:var(--accent)!important}.tw{border-collapse:collapse;font-size:12.5px;margin-bottom:6px;font-variant-numeric:tabular-nums}.tw th,.tw td{border:1px solid var(--line);padding:1px 8px;text-align:right}.tw th{color:var(--dim);font-weight:600}#history{display:flex;flex-wrap:wrap;gap:6px}.mv{display:inline-flex;flex-direction:column;align-items:center;background:var(--panel-2);border-radius:7px;padding:2px 8px;font-weight:700;font-size:13px}.mv small{font-size:10px;color:var(--dim);font-weight:400}.mv.cpu{color:var(--accent)}#findings p{font-size:13px;color:var(--dim)}#findings p b{color:var(--ink)}.notes{margin-top:36px;max-width:100ch}.notes p{color:var(--dim);font-size:14px}.notes strong,.notes em{color:var(--ink);font-style:normal}
