.lights-out{--lo-card-bg:#f3f1eb;--lo-card-border:#e7e5e4;--lo-card-shadow:0 8px 24px rgba(15,23,42,0.06);--lo-muted:#57534e;--lo-pill-bg:#fff;--lo-pill-border:#d6d3d1;--lo-pill-text:#1c1917;--lo-board-bg:#1a1a1e;--lo-board-border:#3f3f46;--lo-shell-bg:#252529;--lo-shell-shadow:0 4px 18px rgba(0,0,0,0.35);--lo-cell-off:#2e2e34;--lo-cell-off-border:#52525b;--lo-cell-on:#facc15;--lo-cell-on-border:#eab308;--lo-cell-glow:rgba(250,204,21,0.55);--lo-accent:#eab308;--lo-accent-won:#f59e0b;--lo-focus:#facc15;--lo-howto-border:#e7e5e4;--lo-howto-title:#44403c;--lo-howto-text:#57534e;--lo-howto-icon-bg:#fff;--lo-howto-icon-border:#e7e5e4;display:grid;grid-gap:.85rem;gap:.85rem;background:var(--lo-card-bg);border:1px solid var(--lo-card-border);box-shadow:var(--lo-card-shadow)}.lights-out__head{display:grid;grid-gap:.75rem;gap:.75rem}.lights-out__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .55rem;border-radius:12px;background:color-mix(in srgb,var(--lo-pill-bg) 88%,var(--lo-card-bg));border:1px solid var(--lo-pill-border)}.lights-out__toolbar .lights-out__badge{flex:1 1 4.75rem;min-width:4rem}.lights-out__badge{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;min-width:0;padding:.4rem .35rem;text-align:center}.lights-out__badge-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--lo-muted)}.lights-out__badge-value{font-size:.82rem;font-weight:700;color:var(--lo-pill-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lights-out__badge-value--timer{display:inline-flex;align-items:center;gap:.22rem;color:var(--lo-accent)}.lights-out__badge--moves,.lights-out__badge--timer{border-color:color-mix(in srgb,var(--lo-accent) 35%,var(--lo-pill-border));background:color-mix(in srgb,var(--lo-accent) 10%,var(--lo-pill-bg))}.lights-out__badge--moves .lights-out__badge-value{color:var(--lo-accent)}.lights-out__controls{display:flex;gap:.55rem;width:100%;max-width:min(560px,96vw);margin-inline:auto}.lights-out__controls.puzzle-game__controls-row>.lights-out__control-btn:not(.lights-out__control-btn--primary){flex:1 1;min-width:0}.lights-out__controls.puzzle-game__controls-row>.lights-out__control-btn--primary{flex:2 1;min-width:0}.lights-out__control-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.55rem 1rem;border-radius:12px;border:1px solid var(--lo-pill-border);background:var(--lo-pill-bg);color:var(--lo-pill-text);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer}.lights-out__control-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--lo-accent) 40%,var(--lo-pill-border));background:color-mix(in srgb,var(--lo-accent) 8%,var(--lo-pill-bg))}.lights-out__control-btn:disabled{opacity:.45;cursor:not-allowed}.lights-out__control-btn--primary{background:var(--lo-accent);border-color:color-mix(in srgb,var(--lo-accent) 80%,#000);color:#1c1917}.lights-out__eyebrow{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .35rem;font-size:.78rem;font-weight:600;color:var(--lo-accent)}.lights-out__head h2{margin:0;font-size:clamp(1.15rem,2.8vw,1.35rem)}.lights-out__board-wrap{position:relative;display:flex;justify-content:center;padding:.65rem;border-radius:14px;background:var(--lo-board-bg);border:1px solid var(--lo-board-border);touch-action:manipulation}.lights-out__grid-shell{width:min(100%,26rem);aspect-ratio:1;padding:.5rem;border-radius:12px;background:var(--lo-shell-bg);box-shadow:var(--lo-shell-shadow)}.lights-out__grid-shell.is-preview{filter:blur(5px);opacity:.55;pointer-events:none}.lights-out__grid{display:grid;grid-gap:.4rem;gap:.4rem;width:100%;height:100%}.lights-out__cell{position:relative;aspect-ratio:1;min-height:0;border-radius:11px;border:1px solid var(--lo-cell-off-border);background:var(--lo-cell-off);cursor:default;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform 80ms ease}.lights-out__cell.is-on{background:var(--lo-cell-on);border-color:var(--lo-cell-on-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--lo-cell-on) 40%,transparent),0 0 14px var(--lo-cell-glow)}.lights-out__cell.is-playable:not(:disabled){cursor:pointer}.lights-out__cell.is-playable:not(:disabled):hover{transform:scale(1.03)}.lights-out__cell.is-playable:not(:disabled):active{transform:scale(.97)}.lights-out__cell:disabled{cursor:default}.lights-out__cell-core{position:absolute;inset:22%;border-radius:999px;background:color-mix(in srgb,#fff 18%,transparent);opacity:0;transition:opacity .14s ease}.lights-out__cell.is-on .lights-out__cell-core{opacity:1;background:color-mix(in srgb,#fff 55%,var(--lo-cell-on))}.lights-out__start-overlay{position:absolute;inset:.65rem;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:12px}.lights-out__start-btn{min-width:10.5rem;min-height:2.85rem;padding:.65rem 1.5rem;border-radius:14px;border:1px solid color-mix(in srgb,#000 12%,transparent);background:color-mix(in srgb,#fff 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#111827;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 10px 28px rgba(15,23,42,.18)}.lights-out--won .lights-out__grid-shell{animation:lights-out-pulse .52s ease}@keyframes lights-out-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.lights-out__howto{padding-top:.15rem;border-top:1px solid var(--lo-howto-border)}.lights-out__howto-title{margin:0 0 .55rem;font-size:.88rem;font-weight:700;color:var(--lo-howto-title)}.lights-out__howto-grid{display:grid;grid-gap:.55rem;gap:.55rem}@media (min-width:720px){.lights-out__howto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lights-out__howto-item{display:flex;gap:.55rem;align-items:flex-start;font-size:.84rem;line-height:1.45;color:var(--lo-howto-text)}.lights-out__howto-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:9px;background:var(--lo-howto-icon-bg);border:1px solid var(--lo-howto-icon-border);color:var(--lo-accent)}html[data-theme=dark] .lights-out{--lo-card-bg:color-mix(in srgb,var(--surface) 96%,#000);--lo-card-border:var(--border);--lo-card-shadow:var(--shadow-card);--lo-muted:var(--muted);--lo-pill-bg:var(--surface-elevated);--lo-pill-border:var(--border);--lo-pill-text:var(--text);--lo-board-bg:#0c0c0e;--lo-board-border:var(--border);--lo-shell-bg:#18181b;--lo-shell-shadow:0 4px 20px rgba(0,0,0,0.5);--lo-cell-off:#27272a;--lo-cell-off-border:#52525b;--lo-cell-on:#fde047;--lo-cell-on-border:#facc15;--lo-cell-glow:rgba(253,224,71,0.45);--lo-accent:#facc15;--lo-accent-won:#fde047;--lo-focus:#facc15;--lo-howto-border:var(--border);--lo-howto-title:var(--text);--lo-howto-text:var(--muted);--lo-howto-icon-bg:var(--surface-elevated);--lo-howto-icon-border:var(--border)}html[data-theme=dark] .lights-out__control-btn--primary{color:#422006}html[data-theme=dark] .lights-out__start-btn{background:color-mix(in srgb,#1c1c1e 90%,transparent);border-color:color-mix(in srgb,#fff 16%,transparent);color:#f5f5f7}html[data-theme=dark] .lights-out .sliding-puzzle-modal__icon,html[data-theme=dark] .sliding-puzzle-modal__icon{background:color-mix(in srgb,var(--lo-accent-won,#fde047) 22%,transparent);color:var(--lo-accent-won,#fde047)}html[data-theme=dark] .lights-out .sliding-puzzle-modal__best{color:var(--lo-accent-won,#fde047)}html[data-theme=dark] .lights-out .sliding-puzzle-modal__btn-primary{background:var(--lo-accent,#facc15)!important;color:#422006!important}.puzzle-game--fullscreen .lights-out__controls,.puzzle-game--fullscreen .lights-out__head{position:relative;z-index:14;flex-shrink:0}.puzzle-game--fullscreen .lights-out__board-wrap{flex:1 1;display:flex;flex-direction:column;justify-content:center;min-height:0}.puzzle-game__timer-group .lights-out__badge{flex:0 1 auto;min-width:0}.lights-out__control-btn[aria-pressed=true]{border-color:color-mix(in srgb,var(--lo-accent) 45%,var(--lo-pill-border));background:color-mix(in srgb,var(--lo-accent) 12%,var(--lo-pill-bg))}@media (max-width:640px){.lights-out__toolbar .lights-out__badge:not(.lights-out__badge--timer){flex:1 1;min-width:2.75rem;padding:.26rem .2rem}}