#peg-titlebar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}#peg-titlebar h1{margin:0;font-size:1.5rem}.game-controls-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.game-controls-bar .ctrl-group{display:inline-flex;align-items:center;gap:6px}.game-controls-bar .ctrl-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.game-stats-bar{display:flex;gap:14px;flex-wrap:wrap}.stat-item{display:flex;gap:6px;align-items:baseline}.stat-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font:600 1rem var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums}.peg-game-number{font-family:var(--font-mono);font-weight:600;background:#fffbeb;border:1px solid var(--color-amber);color:var(--color-text);border-radius:var(--radius-sm);padding:7px 13px;cursor:pointer}html.theme-dark .peg-game-number,html.theme-system .peg-game-number,html.theme-high-contrast .peg-game-number{background:#f59e0b26}.peg-game-number:hover{filter:brightness(1.08)}.peg-board-wrap{display:flex;justify-content:center;padding:12px 0 20px}.peg-board{--cell-size: 54px;--gap: 6px;display:grid;gap:var(--gap);padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.peg-board.english,.peg-board.european{grid-template-columns:repeat(7,var(--cell-size));grid-template-rows:repeat(7,var(--cell-size))}.peg-board.triangular{grid-template-columns:repeat(9,calc(var(--cell-size) / 2));grid-template-rows:repeat(5,var(--cell-size))}@media(max-width:767px){.peg-board{--cell-size: 40px;padding:10px}}@media(min-width:768px)and (max-width:1023px){.peg-board{--cell-size: 48px}}.peg-cell{width:var(--cell-size);height:var(--cell-size);position:relative;background:transparent;border:0;padding:0;cursor:default}.peg-cell:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:50%}.peg-cell .hole{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:60%;border-radius:50%;border:1.5px dashed var(--color-border-mid);background:#0000000a;box-shadow:inset 0 2px 4px #00000014}html.theme-dark .peg-cell .hole,html.theme-system .peg-cell .hole{background:#0000004d}.peg-cell.empty .peg-disc{display:none}.peg-cell.peg .peg-disc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fbbf24,var(--color-amber) 60%,var(--color-amber-dark));border:1px solid var(--color-amber-dark);box-shadow:0 3px 6px #00000040,inset 0 -2px 4px #00000026,inset 0 2px 3px #fff6;cursor:pointer;transition:transform .15s}.peg-cell.peg .peg-disc:hover{transform:translate(-50%,-50%) scale(1.06)}.peg-cell.selected .peg-disc{outline:3px solid var(--color-amber);outline-offset:3px;box-shadow:0 0 0 6px #f59e0b40,0 3px 6px #0000004d;animation:peg-pulse 1.6s ease-in-out infinite}@keyframes peg-pulse{0%,to{box-shadow:0 0 0 6px #f59e0b40,0 3px 6px #0000004d}50%{box-shadow:0 0 0 10px #f59e0b26,0 3px 6px #0000004d}}.peg-cell.target .hole{border:2px dotted var(--color-amber);background:#f59e0b26;cursor:pointer}.peg-cell.target:after{content:"↑";position:absolute;font-size:1.2rem;color:var(--color-amber-dark);font-weight:700;pointer-events:none}@media(prefers-reduced-motion:reduce){.peg-cell.selected .peg-disc{animation:none}.peg-cell.peg .peg-disc{transition:none}}.peg-cell.jumping .peg-disc{transition:transform .25s ease-out;z-index:2}.peg-cell.fading .peg-disc{transition:opacity .2s ease-out;opacity:0}.overlay-card .trophy{font-size:3rem;line-height:1;margin-bottom:4px}.overlay-card .perfect-badge{display:inline-block;background:linear-gradient(135deg,var(--color-amber),var(--color-amber-dark));color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.04em;padding:4px 14px;border-radius:9999px;margin:6px 0}.overlay-card .perfect-sub{color:var(--color-text-muted);font-size:.88rem;margin:0 0 16px}.overlay-card .perfect-badge.hidden,.overlay-card .perfect-sub.hidden{display:none}.overlay-stats{background:#f59e0b1f;border:1px solid rgba(245,158,11,.38);border-radius:var(--radius-sm);padding:14px 18px;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;text-align:left;margin:0 auto 18px;font-size:.95rem;max-width:320px}.overlay-stats dt{color:var(--color-text-muted);font-weight:500;margin:0}.overlay-stats dd{margin:0;font-weight:600;font-family:var(--font-mono);text-align:right}.overlay-actions-grid .btn,.overlay-actions-grid .overlay-btn-close{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gnum-dialog{border:0;padding:0;background:transparent;max-width:420px;width:calc(100% - 32px)}.gnum-dialog::backdrop{background:#0f11178c;backdrop-filter:blur(2px)}.gnum-dialog .modal-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;color:var(--color-text)}.modal-header{background:var(--color-navy);color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.05rem;font-weight:600}.modal-close{background:transparent;border:0;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}.modal-body{padding:20px 22px}.modal-label-row{font-size:.85rem;color:var(--color-text-muted);margin-bottom:4px}.modal-current{font-weight:600;font-size:.95rem;margin-bottom:16px}.modal-body label{display:block;font-size:.88rem;color:var(--color-text-muted);font-weight:500;margin:0 0 6px}.modal-body input[type=number]{width:100%;font:500 1.05rem var(--font-mono);padding:9px 12px;border:1px solid var(--color-border-mid);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.modal-error{color:var(--color-danger);font-size:.85rem;margin-top:6px}.modal-error.hidden{display:none}.modal-warning{background:#f59e0b1f;border-left:3px solid var(--color-amber);padding:10px 12px;margin:14px 0 0;font-size:.85rem;color:var(--color-text);border-radius:var(--radius-sm)}.modal-warning.hidden{display:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px 18px;background:var(--color-bg);border-top:1px solid var(--color-border)}.howto h2{margin:16px 0 4px;font-size:1rem;font-weight:700}.howto h2:first-child{margin-top:0}.howto ol,.howto ul{padding-left:22px;margin:4px 0 10px}.howto li{margin:4px 0}.example-diagram{background:#f59e0b1f;border:1px solid rgba(245,158,11,.38);border-radius:var(--radius-sm);padding:12px 16px;margin:8px 0 14px;text-align:center}.example-diagram .ex-label{font-size:.78rem;font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px}.example-diagram .ex-row{display:inline-flex;gap:8px;margin:4px 0 8px}.example-diagram .mini{width:28px;height:28px;display:inline-block;border-radius:50%;vertical-align:middle}.example-diagram .peg-mini{background:radial-gradient(circle at 30% 30%,#fbbf24,var(--color-amber) 60%,var(--color-amber-dark));border:1px solid var(--color-amber-dark);box-shadow:0 2px 3px #0003}.example-diagram .empty-mini{background:#0000000a;border:1.5px dashed var(--color-border-mid)}html.theme-dark .example-diagram .empty-mini,html.theme-system .example-diagram .empty-mini{background:#0000004d}.example-diagram .ex-arrow{font-size:.85rem;color:var(--color-text);margin:2px 0 4px;font-style:italic}.peg-stats-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:12px}.peg-stats-table th{font-weight:600;color:var(--color-text-muted);text-align:left;padding:6px 10px 6px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border)}.peg-stats-table td{padding:8px 10px 8px 0;border-bottom:1px solid var(--color-border);color:var(--color-text);font-variant-numeric:tabular-nums}.peg-stats-table td.variant{font-weight:600}.stats-actions{display:flex;gap:10px}.hidden{display:none!important}
