.zg{gap:var(--space-4);max-width:72rem;padding-inline:var(--gutter);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);min-width:0;margin-inline:auto;display:grid}.zg>*{min-width:0}.zg-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.zg-tabs__list{gap:var(--space-2);min-height:var(--tap-min);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.zg-tab{min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.zg-tab[aria-current=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);font-weight:600}.zg-tab:hover:not([aria-current=true]){background:var(--color-surface-sunken)}.zg-title{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--leading-tight);margin:0}.zg-intro{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.zg-toolbar{gap:var(--space-2);display:grid}.zg-toolbar__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.zg-stats{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);margin-inline-start:auto;display:inline-flex}.zg-timer{min-width:5ch;color:var(--color-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.zg-btn{min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.zg-btn:hover:not(:disabled){background:var(--color-surface-sunken)}.zg-btn:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.zg-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);font-weight:600}.zg-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.zg-setting{align-items:center;gap:var(--space-2);min-height:var(--tap-min);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.zg-setting input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary)}.zg-message{min-height:calc(2 * var(--leading-body) * 1em);font-size:var(--text-sm);color:var(--color-text)}.zg-layout{gap:var(--space-5);align-items:start;display:grid}@media (width>=960px){.zg-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.zg-board{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1);position:relative}.zg-board__scroll{border-radius:var(--radius-lg);overflow-x:auto}.zg-grid{border-collapse:separate;border-spacing:0;min-width:100%}.zg-grid th,.zg-grid td{border-bottom:1px solid var(--color-border);border-inline-end:1px solid var(--color-border);padding:0}.zg-grid__spot{min-width:var(--tap-min);height:var(--tap-min);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-surface-sunken)}.zg-grid__corner,.zg-grid__value,.zg-grid__group th{z-index:1;background:var(--color-surface-sunken);position:sticky;inset-inline-start:0}.zg-grid__value{min-width:7.5rem;max-width:9rem;padding:0 var(--space-3);text-align:start;font-size:var(--text-sm);font-weight:500;line-height:1.25}.zg-grid__group th{padding:var(--space-2) var(--space-3);text-align:start;font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-primary)}.zg-grid__group-label{position:sticky;inset-inline-start:var(--space-3)}.zg-cell{width:100%;min-width:var(--tap-min);height:var(--tap-min);color:var(--color-text-muted);font:inherit;font-size:var(--text-lg);cursor:pointer;background:0 0;border:0;padding:0;line-height:1;display:block}.zg-cell:hover{background:var(--color-surface-sunken)}.zg-cell:focus-visible{outline-offset:-3px}.zg-cell[data-state=chosen]{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.zg-cell[data-state=excluded]{color:var(--color-text-muted)}.zg-cell[aria-disabled=true]{cursor:default}.zg-facts__title{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.zg-facts__hint{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.zg-facts__list{gap:var(--space-2);counter-reset:fact;margin:0;padding:0;list-style:none;display:grid}.zg-fact{width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;display:block}.zg-fact[aria-pressed=true]{background:var(--color-surface-sunken);color:var(--color-text-muted);text-decoration:line-through}.zg-solved-slot{min-height:14rem}.zg-solved{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1);display:grid}.zg-solved p{margin:0}.zg-solved__headline{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.zg-solved__stats{gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.zg-solved__share{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.zg-solved__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.zg-solved__status{min-height:var(--leading-body);font-size:var(--text-sm);color:var(--color-positive)}.zg-board--solved .zg-cell[data-state=chosen]{background:var(--color-accent);color:var(--color-on-accent);animation:zg-click .22s var(--ease-click) calc(var(--zg-attr,0) * 30ms) both}.zg-board--solved:after{content:"";border:3px solid var(--color-primary);border-radius:var(--radius-lg);pointer-events:none;animation:zg-ring .45s var(--ease-out) both;position:absolute;inset:0}@keyframes zg-click{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes zg-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.zg-board--solved .zg-cell[data-state=chosen]{animation:none}.zg-board--solved:after{display:none}.zg-tab,.zg-btn{transition:none}}:root[data-motion=off] .zg-board--solved .zg-cell[data-state=chosen]{animation:none}:root[data-motion=off] .zg-board--solved:after{display:none}@media (width<=480px){.zg-grid__value{min-width:6.5rem;max-width:7.5rem}.zg-stats{width:100%;margin-inline-start:0}}.zg-grid th,.zg-grid td{vertical-align:middle}
