.cg-page{--cg-ink:#16261d;--cg-ink-soft:#4b5a50;--cg-paper:#f3ebdd;--cg-card:#fffaf0;--cg-accent:#7fd1a6;--cg-clash:#c62828;--cg-board:max(280px, min(calc(100vw - 32px), 520px, calc(100vh - 330px)));background:var(--cg-paper);min-height:100dvh;color:var(--cg-ink);font-family:var(--font-dm-sans), system-ui, sans-serif}.cg-race{--race-ink:var(--cg-ink);--race-ink-soft:var(--cg-ink-soft);--race-card:var(--cg-card);--race-accent:var(--cg-accent);--race-kicker:var(--cg-ink-soft);--race-focus:#000;--race-best:#2f8a5b;--race-off:var(--cg-clash);--race-track:#e6dcc8;--race-pill:var(--cg-paper);--race-mine:#fff3cf;--race-scrim:#f3ebdd99;--race-title-font:var(--font-fraunces), Georgia, serif}.cg-race .cg-main{width:max(var(--cg-board), min(calc(100vw - 32px), 560px))}.cg-race .cg-board{margin:0 auto}.cg-race-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cg-race-tools .cg-rule{flex:200px;min-height:0}.cg-main{width:var(--cg-board);flex-direction:column;gap:14px;margin:0 auto;padding:16px 0 40px;display:flex}.cg-header{align-items:center;gap:12px;display:flex}.cg-back{border:2px solid var(--cg-ink);background:var(--cg-card);width:40px;height:40px;color:var(--cg-ink);box-shadow:0 3px 0 var(--cg-ink);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.cg-title{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.01em;margin:0;font-size:clamp(26px,7vw,34px);font-weight:800;line-height:1.05}.cg-settings{flex-direction:column;gap:8px;display:flex}.cg-seg{border:2px solid var(--cg-ink);background:var(--cg-card);border-radius:14px;gap:4px;padding:4px;display:flex}.cg-seg-option{min-width:0;min-height:40px;color:var(--cg-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.cg-seg-option[aria-checked=true]{background:var(--cg-accent);box-shadow:inset 0 0 0 2px var(--cg-ink)}.cg-seg-icon{font-size:18px;line-height:1}@media (max-width:440px){.cg-seg-option{flex-direction:column;gap:1px;min-height:48px;padding:2px 0;font-size:12px}}.cg-current{justify-content:space-between;align-items:center;gap:10px;display:flex}.cg-current-label{font-family:var(--font-fraunces), Georgia, serif;margin:0;font-size:20px;font-weight:800}.cg-rule{color:var(--cg-ink-soft);min-height:2.8em;margin:0;font-size:15px;font-weight:500;line-height:1.4}.cg-toolbar,.cg-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cg-time{font-family:var(--font-fraunces), Georgia, serif;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.cg-best{color:var(--cg-ink-soft);font-family:var(--font-dm-sans), system-ui, sans-serif;font-size:14px;font-weight:600}.cg-actions{gap:8px;display:flex}.cg-button{border:2px solid var(--cg-ink);background:var(--cg-card);min-height:40px;color:var(--cg-ink);font:inherit;cursor:pointer;box-shadow:0 3px 0 var(--cg-ink);border-radius:12px;padding:0 14px;font-size:15px;font-weight:700;transition:transform 60ms}.cg-button:enabled:active{box-shadow:none;transform:translateY(3px)}.cg-button:disabled{opacity:.45;cursor:not-allowed}.cg-button-primary{background:var(--cg-accent);min-height:48px;padding:0 22px;font-size:17px}.cg-board{grid-template-columns:repeat(var(--n), minmax(0, 1fr));grid-template-rows:repeat(var(--n), minmax(0, 1fr));width:var(--cg-board);height:var(--cg-board);border:3px solid var(--cg-ink);background:var(--cg-ink);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;display:grid;overflow:hidden}.cg-board-empty{background:var(--cg-card);justify-content:center;align-items:center;display:flex}.cg-row,.cg-cell-wrap{display:contents}.cg-cell{box-sizing:border-box;border:0 solid var(--cg-ink);min-width:0;min-height:0;color:var(--cg-ink);font-size:calc(var(--cg-board) / var(--n) * .62);cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom-style:solid;border-right-style:solid;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:relative;overflow:hidden}.cg-cell:focus-visible{outline-offset:-5px;z-index:1;outline:3px solid #000}.cg-glyph{font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",DejaVu Sans,serif}.cg-cell[data-shown=mark] .cg-glyph,.cg-cell[data-shown=auto] .cg-glyph{font-family:var(--font-dm-sans), system-ui, sans-serif;color:#16261d99;font-size:.5em;font-weight:700}.cg-cell[data-shown=auto] .cg-glyph{color:#16261d47}.cg-cell[data-shown=piece] .cg-glyph{animation:.14s ease-out cg-pop}.cg-cell[data-shown=answer] .cg-glyph{opacity:.35}.cg-cell[data-bad]{background-image:repeating-linear-gradient(45deg,#c6282847 0 6px,#0000 6px 12px)}.cg-cell[data-bad] .cg-glyph{color:var(--cg-clash)}.cg-label{opacity:.8;font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",DejaVu Sans,serif;font-size:.5em;position:absolute;top:2px;left:3px}.cg-status{color:var(--cg-ink-soft);margin:0;font-weight:600}.cg-solved{border:2px solid var(--cg-ink);background:var(--cg-accent);box-shadow:0 4px 0 var(--cg-ink);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.cg-solved-title{font-family:var(--font-fraunces), Georgia, serif;margin:0;font-size:22px;font-weight:800;line-height:1.1}.cg-solved-note{min-height:1.3em;margin:2px 0 0;font-size:14px;font-weight:600}.cg-solved .cg-button-primary{background:var(--cg-card);flex-shrink:0}.cg-auto[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:0 3px 0 var(--cg-ink);transform:none}.cg-auto-left{font-variant-numeric:tabular-nums}.cg-board[data-hint=fading] .cg-cell[data-shown=auto] .cg-glyph{opacity:0;transition:opacity .4s ease-out}.cg-seg-option:focus-visible,.cg-button:focus-visible,.cg-back:focus-visible{outline-offset:2px;outline:3px solid #000}.cg-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cg-daily-card{border:2px solid var(--cg-ink);background:var(--cg-card);box-shadow:0 4px 0 var(--cg-ink);border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.cg-daily-kicker{color:var(--cg-ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.cg-daily-title{font-family:var(--font-fraunces), Georgia, serif;margin:0;font-size:30px;font-weight:800;line-height:1.05}.cg-daily-place{margin:0;font-size:17px;font-weight:700}.cg-daily-note{color:var(--cg-ink-soft);margin:0;font-size:14px;font-weight:600}.cg-daily-note:empty{display:none}.cg-field{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.cg-input{border:2px solid var(--cg-ink);min-height:44px;color:var(--cg-ink);font:inherit;background:#fff;border-radius:12px;padding:0 12px;font-size:16px;font-weight:600}.cg-input:focus-visible{outline-offset:2px;outline:3px solid #000}.cg-button-wide{width:100%}.cg-section-title{font-family:var(--font-fraunces), Georgia, serif;margin:6px 0 8px;font-size:20px;font-weight:800}.daily-board{border:2px solid var(--cg-ink);background:var(--cg-card);border-radius:16px;overflow:hidden}.daily-rows{margin:0;padding:0;list-style:none}.daily-row{border-bottom:1px solid #16261d26;align-items:center;gap:10px;margin:0;padding:9px 14px;font-size:15px;font-weight:600;display:flex}.daily-row[data-me]{background:var(--cg-accent)}.daily-row-you{border-top:2px dashed #16261d59}.daily-rank{width:2ch;color:var(--cg-ink-soft);font-variant-numeric:tabular-nums;text-align:right}.daily-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.daily-time{font-family:var(--font-fraunces), Georgia, serif;font-variant-numeric:tabular-nums;font-weight:700}.daily-count,.daily-empty{color:var(--cg-ink-soft);margin:0;padding:10px 14px;font-size:14px;font-weight:600}.daily-empty{border:2px dashed #16261d59;border-radius:16px}@keyframes cg-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cg-cell[data-shown=piece] .cg-glyph{animation:none}.cg-button,.cg-board[data-hint=fading] .cg-cell[data-shown=auto] .cg-glyph{transition:none}}
