.vg-cell,.vg-controls{display:grid;place-items:center}.vg-btn,.vg-title{letter-spacing:.2px}.vg-btn,.vg-wrap{font-family:var(--vg-font)}.vg-cell,.vg-foot,.vg-head,.vg-status,.vg-win{text-align:center}:root{--vg-font:'Bitter',serif;--vg-fw-title:800;--vg-fw-body:400;--vg-fs-title:16px;--vg-fs-body:13px;--vg-fs-cell:30px;--vg-fs-title-lg:22px;--vg-fs-body-lg:15px;--vg-fs-cell-lg:44px;--vg-cell-size:min(15.5vw, 72px);--vg-gap:8px}:root,[data-bs-theme=dark],[data-bs-theme=light]{--vg-accent:var(--bs-primary);--vg-card:#121a2b;--vg-text:#e9eefc;--vg-muted:#9fb0d3;--vg-border:#233150;--vg-cell:#19233a;--vg-cell-hover:#1e2a45;--vg-status-bg:#0e1627;--vg-win-bg:#0e1a30;--vg-shadow:0 10px 30px rgba(0,0,0,.28);--vg-green:#18b368;--vg-red:#e23a3a}[data-bs-theme=light]{--vg-card:var(--bs-body-bg);--vg-text:var(--bs-body-color);--vg-muted:color-mix(in srgb, var(--bs-body-color), transparent 40%);--vg-border:color-mix(in srgb, var(--bs-body-color), transparent 85%);--vg-cell:color-mix(in srgb, var(--bs-body-color), transparent 90%);--vg-cell-hover:color-mix(in srgb, var(--bs-body-color), transparent 82%);--vg-status-bg:color-mix(in srgb, var(--bs-body-color), transparent 92%);--vg-win-bg:color-mix(in srgb, var(--bs-body-color), transparent 94%);--vg-shadow:0 12px 34px rgba(0,0,0,.10)}[data-bs-theme=dark]{--vg-card:#0f1423;--vg-text:var(--bs-heading-color, #fff);--vg-muted:rgba(233,236,244,.75);--vg-border:rgba(230,232,239,.14);--vg-cell:#191e2b;--vg-cell-hover:#20283a;--vg-status-bg:#0e1627;--vg-win-bg:#0e1a30;--vg-shadow:0 18px 40px rgba(0,0,0,.45)}.vg-wrap{max-width:740px;margin:0 auto;padding:24px;background:var(--vg-card);border:1px solid var(--vg-border);border-radius:18px;box-shadow:var(--vg-shadow);color:var(--vg-text)}.vg-head{margin-bottom:16px}.vg-title{margin:0 0 6px;font-weight:var(--vg-fw-title);font-size:var(--vg-fs-title);color:var(--bs-heading-color,var(--vg-text))}.vg-sub,.vg-win-text{margin:0;color:var(--vg-muted)}.vg-status{margin:14px 0 16px;padding:10px 12px;background:var(--vg-status-bg);border:1px dashed var(--vg-border);border-radius:10px;font-weight:600;color:var(--vg-text)}.vg-btn,.vg-cell{font-weight:800;cursor:pointer}.vg-board{display:grid;grid-template-columns:repeat(5,var(--vg-cell-size));grid-auto-rows:var(--vg-cell-size);gap:var(--vg-gap);justify-content:center;user-select:none;touch-action:manipulation}.vg-cell{all:unset;box-sizing:border-box;width:var(--vg-cell-size);height:var(--vg-cell-size);background:var(--vg-cell);border:1px solid var(--vg-border);border-radius:12px;font-size:var(--vg-fs-cell);line-height:1;color:var(--vg-muted);transition:transform .08s,background-color .12s,border-color .12s,box-shadow .12s,filter .12s}.vg-cell:hover{background:var(--vg-cell-hover);transform:translateY(-1px)}.vg-cell:active{transform:translateY(0)}.vg-approved{background:color-mix(in srgb,var(--vg-green),transparent 86%);border-color:color-mix(in srgb,var(--vg-green),transparent 40%);color:var(--vg-green);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg-green),transparent 72%)}.vg-refusal{background:color-mix(in srgb,var(--vg-red),transparent 86%);border-color:color-mix(in srgb,var(--vg-red),transparent 40%);color:var(--vg-red);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg-red),transparent 72%)}.vg-controls{margin-top:16px}.vg-btn{background:var(--vg-accent);color:#fff;border:none;padding:10px 16px;border-radius:12px;transition:transform .08s,filter .12s,opacity .12s}.vg-btn:hover{filter:brightness(1.06)}.vg-btn:active{transform:translateY(1px)}.vg-win{margin-top:18px;padding:16px;border-radius:14px;background:var(--vg-win-bg);border:1px solid var(--vg-border);box-shadow:var(--vg-shadow)}.vg-win-title{margin:0 0 6px;font-weight:var(--vg-fw-title);font-size:calc(var(--vg-fs-title) - 1px);color:var(--bs-heading-color,var(--vg-text))}@media (min-width:768px){:root{--vg-cell-size:68px;--vg-gap:10px}.vg-title{font-size:var(--vg-fs-title-lg)}.vg-cell{font-size:var(--vg-fs-cell-lg)}.vg-win-title{font-size:calc(var(--vg-fs-title-lg) - 2px)}}.vg-foot{margin-top:10px;color:var(--vg-muted)}.vg-disabled{opacity:.6;pointer-events:none}@media (max-width:360px){:root{--vg-cell-size:min(15vw, 64px);--vg-fs-cell:28px}}