:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}body{margin:0}#root{box-sizing:border-box;min-height:100svh}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{max-width:1000px;margin:0 auto;padding:16px}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;font-size:15px;display:flex}.toolbar h1{margin:0 auto 0 0;font-size:22px}.warning{color:#b45309;margin:0 0 8px}.sheet{--cell-likely:#5b9cf6;--check:#047857;--highlight:color-mix(in oklab, var(--text-h) 10%, transparent);--section:color-mix(in oklab, var(--text-h) 80%, var(--bg))}@media (prefers-color-scheme:dark){.sheet{--cell-likely:#2f6fe0;--check:#4ade80}}.sheet{border-collapse:collapse;-webkit-user-select:none;user-select:none;background:var(--bg);color:var(--text-h);margin:0 auto;font-size:15px}.sheet th,.sheet td{border:1px solid var(--border)}.sheet thead th{z-index:1;background-color:var(--bg);box-shadow:inset 0 -1px var(--border);position:sticky;top:0}.sheet .corner{box-shadow:none;border:none}.sheet .player{vertical-align:bottom;width:52px;padding:4px 2px;font-size:13px;font-weight:600}.sheet .player .name,.sheet .player .cards{box-sizing:border-box;width:52px;font:inherit;text-align:center;color:inherit;text-overflow:ellipsis;background:0 0;border:none;padding:0;display:block;overflow:hidden}.sheet .player .cards{color:var(--text);font-size:11px;font-weight:400}.sheet .envelope{background-color:var(--code-bg)}.sheet .category th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--bg);background:var(--section);padding:2px 8px;font-size:12px;font-weight:700}.sheet .highlight{background-image:linear-gradient(var(--highlight), var(--highlight))}.sheet .card{text-align:left;white-space:nowrap;padding:0 10px;font-weight:400}.sheet .cell{text-align:center;cursor:pointer;height:34px;padding:0;transition:background-color .3s;position:relative}.sheet .cell:hover{outline:2px solid var(--text-h);outline-offset:-2px}.sheet .mark{font-size:20px;font-weight:700;line-height:1}.sheet .mark.cross{color:var(--text-h)}.sheet .mark.check{color:var(--check)}.sheet .mark.deduced{opacity:.45;font-weight:400}.sheet .percent{color:var(--text-h);font-size:9px;position:absolute;top:1px;right:3px}.sheet .groups{color:var(--text-h);font-size:8px;line-height:1.1;position:absolute;bottom:0;left:0;right:0}.status{flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:14px;display:flex}.status.error{color:#b91c1c;font-weight:600}.status .busy,.status.busy{color:#888;font-style:italic;font-weight:400}.help{margin-top:12px;font-size:13px}.backdrop{z-index:10;position:fixed;inset:0}.group-menu{box-sizing:border-box;background:var(--bg);border:1px solid var(--border);width:180px;box-shadow:var(--shadow);border-radius:6px;padding:8px;font-size:13px;position:fixed}.group-menu .group-menu-title{margin-bottom:6px}.group-menu .group-buttons{grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:6px;display:grid}.group-menu button{font:inherit;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:4px;padding:3px 0}.group-menu button:hover{border-color:var(--accent-border)}.group-menu button.selected{background:var(--accent);border-color:var(--accent);color:#fff}.group-menu .cancel{width:100%}
