:root{--lw-cell:#f8f5ed;--lw-line:var(--ink);--lw-frame:var(--ink);--lw-wall:var(--ink);--lw-num:#f8f5ed;--lw-wash:#f8f0d3;--lw-band:#f0d888;--lw-halo:#f0c8548c;--lw-glass:#fff8de;--lw-bulb:var(--ink);--lw-dot:color-mix(in oklab, var(--ink) 62%, transparent);--lw-hover:#efe9dc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lw-cell:#201e1a;--lw-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--lw-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--lw-wall:#cbc3b2;--lw-num:#1b1916;--lw-wash:#34301f;--lw-band:#937b34;--lw-halo:#d8b04a6b;--lw-glass:#f3dc8a;--lw-bulb:#ece6d9;--lw-dot:color-mix(in oklab, var(--ink) 62%, transparent);--lw-hover:#2a2722}}:root[data-theme=dark]{--lw-cell:#201e1a;--lw-line:color-mix(in oklab, var(--ink) 42%, #201e1a);--lw-frame:color-mix(in oklab, var(--ink) 78%, #201e1a);--lw-wall:#cbc3b2;--lw-num:#1b1916;--lw-wash:#34301f;--lw-band:#937b34;--lw-halo:#d8b04a6b;--lw-glass:#f3dc8a;--lw-bulb:#ece6d9;--lw-dot:color-mix(in oklab, var(--ink) 62%, transparent);--lw-hover:#2a2722}.page-game .game{--board-gutter:clamp(6px, 1.6vw, 24px)}.lw-board{--frame:2px;--line:1px;aspect-ratio:1;width:100%;padding:var(--frame);background:var(--lw-frame);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.lw-board__grid{grid-template-rows:repeat(var(--n), 1fr);gap:var(--line);background:var(--lw-line);width:100%;height:100%;display:grid}.lw-board__row{grid-template-columns:repeat(var(--n), 1fr);gap:var(--line);display:grid}.lw-cell{--band-h:none;--band-v:none;cursor:pointer;background:var(--band-h), var(--band-v), var(--lw-cell);transition:background-color .2s var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.lw-cell[data-lit]{background-color:var(--lw-wash)}.lw-cell[data-lit*=h]{--band-h:linear-gradient(to bottom, transparent 39%, var(--lw-band) 39% 61%, transparent 61%)}.lw-cell[data-lit*=v]{--band-v:linear-gradient(to right, transparent 39%, var(--lw-band) 39% 61%, transparent 61%)}.lw-cell[data-kind=lamp]{--band-h:none;--band-v:none;background-image:radial-gradient(circle at 50% 46%, var(--lw-halo) 0 30%, transparent 62%)}.lw-cell:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;z-index:2;border-radius:0}.lw-cell[data-wall]:focus-visible{outline-color:var(--lw-num)}@media (hover:hover){.lw-board:not(:-webkit-any([data-solved],[data-static])) .lw-cell:not(:-webkit-any([data-wall],[data-lit])):hover{background-color:var(--lw-hover)}.lw-board:not(:is([data-solved],[data-static])) .lw-cell:not(:is([data-wall],[data-lit])):hover{background-color:var(--lw-hover)}}.lw-cell[data-press]{animation:lw-press .24s var(--ease-out)}@keyframes lw-press{40%{scale:.94}}.lw-cell[data-wall]{cursor:default;background:var(--lw-wall)}.lw-num{font-family:var(--serif);color:var(--lw-num);font-variant-numeric:lining-nums tabular-nums;transition:opacity .2s var(--ease-out);font-size:max(.75rem,62cqh);font-weight:420;line-height:1}.lw-cell[data-state=done] .lw-num{opacity:.45}.lw-cell[data-state=over]{box-shadow:inset 0 0 0 3px var(--alarm)}.lw-cell[data-state=over] .lw-num{-webkit-text-decoration:underline wavy var(--alarm) max(1px, 3cqh);text-decoration:underline wavy var(--alarm) max(1px, 3cqh);text-underline-offset:8cqh}.lw-lamp{width:78%;height:78%;overflow:visible}.lw-cell[data-press] .lw-lamp{animation:lw-lamp-on .32s var(--ease-out)}@keyframes lw-lamp-on{0%{opacity:.2;scale:.6}}.lw-lamp__glass{fill:var(--lw-glass);stroke:var(--lw-bulb);stroke-width:1.35px;stroke-linejoin:round}.lw-lamp__filament,.lw-lamp__base{fill:none;stroke:var(--lw-bulb);stroke-linecap:round;stroke-linejoin:round}.lw-lamp__filament{stroke-width:1.05px}.lw-lamp__base{stroke-width:1.35px}.lw-dot,.lw-cell[data-kind=auto]:after{aspect-ratio:1;background:var(--lw-dot);width:16%;animation:lw-dot-in .16s var(--ease-out);border-radius:50%}.lw-cell[data-kind=auto]:after{content:"";opacity:.6;width:10%}@keyframes lw-dot-in{0%{scale:.3}}.lw-cell[data-clash]{background-image:repeating-linear-gradient(-45deg, color-mix(in oklab, var(--alarm) 40%, transparent) 0 1.5px, transparent 1.5px 6px)}.lw-cell[data-clash] .lw-lamp__glass,.lw-cell[data-clash] .lw-lamp__filament,.lw-cell[data-clash] .lw-lamp__base{stroke:var(--alarm)}.lw-cell[data-clash] .lw-lamp__glass{fill:color-mix(in oklab, var(--alarm) 16%, var(--lw-cell))}.lw-cell[data-clash] .lw-lamp{animation:lw-clash .36s var(--ease-out)}@keyframes lw-clash{25%{translate:-8%}50%{translate:7%}75%{translate:-4%}}.lw-board[data-hinting] .lw-cell:not([data-hint]):before{content:"";background:color-mix(in oklab, var(--paper) 62%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.lw-board .lw-cell[data-hint=target]{box-shadow:inset 0 0 0 3px var(--ink);z-index:1;animation:1.3s ease-in-out infinite lw-hint}.lw-cell[data-hint=because]{outline:1.5px dashed var(--ink);outline-offset:-5px}.lw-cell[data-wall][data-hint=because]{outline-color:var(--lw-num)}@keyframes lw-hint{50%{box-shadow:inset 0 0 0 5px var(--ink)}}.lw-board[data-celebrate] .lw-cell:not([data-wall]):after{content:"";background:var(--lw-band);opacity:0;animation:lw-swell .72s var(--ease-out) both;animation-delay:calc(var(--d) * 55ms);pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.lw-board[data-celebrate] .lw-lamp{animation:lw-bloom .6s var(--ease-out) both;animation-delay:calc(var(--d) * 55ms + 80ms)}@keyframes lw-swell{35%{opacity:.55}}@keyframes lw-bloom{50%{scale:1.16}}.lw-board[data-solved] .lw-cell{cursor:default}.lw-board[data-static]{touch-action:auto;pointer-events:none}.plate .lw-board,.thumb .lw-board{--frame:1.5px}.plate .lw-cell[data-kind=lamp],.thumb .lw-cell[data-kind=lamp]{background-image:none}.dialog__body .help-example{justify-self:center;width:min(230px,62vw)}.lw-legend{color:var(--ink-soft);text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;font-size:.875rem;list-style:none;display:grid}.lw-legend li{justify-items:center;gap:6px;display:grid}.lw-legend .lw-cell{cursor:default;width:40px;height:40px;box-shadow:0 0 0 1px var(--lw-line)}.lw-figure{grid-template-columns:1fr 1fr;gap:16px;max-width:460px;margin:8px 0;display:grid}.lw-figure figcaption{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.02em;grid-column:1/-1;font-size:.875rem}
