.ag-game-yin-yang{--yy-black:#1b2340;--yy-white:#e9eefc;--yy-ink:#e6ecff;--yy-line:#7eb6ff;--yy-bad:#ff7a90}:root[data-theme=light] .ag-game-yin-yang{--yy-black:#1b2340;--yy-white:#fff;--yy-ink:#1b2244;--yy-line:#1d4ed8;--yy-bad:#c3002f}.ag-game-yin-yang .yy-campaign{width:min(100%,560px);color:var(--muted);text-align:center;margin:0;font-size:.86rem;font-weight:700}.ag-game-yin-yang .yy-tools{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;display:flex}.ag-game-yin-yang .yy-tool{min-height:44px;padding:0 14px}.ag-game-yin-yang .yy-tool.is-on{outline:2px solid var(--yy-line)}.ag-game-yin-yang .yy-board{--gap:3px;grid-template-columns:repeat(var(--n),1fr);gap:var(--gap);aspect-ratio:1;width:min(100%,460px,max(280px,100dvh - 360px));padding:var(--gap);box-sizing:border-box;touch-action:manipulation;user-select:none;background:var(--panel-soft);border-radius:8px;margin:12px auto;display:grid;position:relative}.ag-game-yin-yang .yy-board:focus{outline:none}.ag-game-yin-yang .yy-board.is-shake{animation:.32s yy-shake}@keyframes yy-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ag-game-yin-yang .yy-cell{background:color-mix(in srgb,var(--panel-soft) 70%,var(--yy-white) 30%);cursor:pointer;min-width:0;min-height:0;font:inherit;color:var(--yy-ink);border:0;border-radius:4px;place-items:center;margin:0;padding:0;display:grid;position:relative}.ag-game-yin-yang .yy-cell.is-white{background:var(--yy-white)}.ag-game-yin-yang .yy-cell.is-black{background:var(--yy-black)}.ag-game-yin-yang .yy-cell.is-hint{outline:2px dashed var(--yy-line);outline-offset:-3px}.ag-game-yin-yang .yy-cell.is-cursor{box-shadow:inset 0 0 0 2px var(--yy-line)}.ag-game-yin-yang .yy-cell:focus-visible{outline:2px solid var(--yy-line);outline-offset:1px}.ag-game-yin-yang .yy-cell:disabled{cursor:default}.ag-game-yin-yang .yy-dot{pointer-events:none;background:var(--yy-white);width:34%;height:34%;box-shadow:0 0 0 2px var(--yy-black);border-radius:50%}.ag-game-yin-yang .yy-cell.is-black .yy-dot{background:var(--yy-white);box-shadow:none}.ag-game-yin-yang .yy-cell.is-white .yy-dot{background:var(--yy-black);box-shadow:none}.ag-game-yin-yang .yy-note{width:min(100%,560px)}.ag-game-yin-yang .yy-next{margin-inline:4px}
