.lu-grid-wrapper{display:flex;justify-content:center;align-items:center;padding:.25rem}.lu-grid{display:grid;border:2px solid var(--color-border);border-radius:6px;overflow:hidden;box-shadow:0 2px 12px #0000001f;touch-action:none;-webkit-user-select:none;user-select:none;background:#1f2937}.lu-cell{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.18);cursor:pointer;transition:background-color .15s,filter .1s;aspect-ratio:1;background-color:#fff;font-weight:600}.lu-cell:hover:not(.lu-cell--wall){filter:brightness(.94)}.lu-cell:focus{outline:none}.lu-cell:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #1565c0,inset 0 0 0 5px #fff;z-index:5}.lu-cell.lu-cell--lit{background-color:#fff5cc}.lu-cell.lu-cell--wall{background-color:#1f2937;cursor:default;color:#f3f4f6}.lu-cell.lu-cell--num{font-size:calc(var(--lu-cell-px, 48px) * .5);line-height:1}.lu-cell.lu-cell--marker{color:#0006;font-size:calc(var(--lu-cell-px, 48px) * .45);line-height:1}.lu-cell.lu-cell--bulb svg{width:calc(var(--lu-cell-px, 48px) * .78);height:calc(var(--lu-cell-px, 48px) * .78);display:block;pointer-events:none}.lu-cell.lu-conflict{outline:3px solid #e53935;outline-offset:-2px;z-index:1;background-color:#ffe5e5}.lu-cell.lu-conflict-wall{background-color:#b71c1c!important;color:#fff!important}.lu-cell.lu-hint-target{outline:4px dashed #4e342e;outline-offset:-4px;z-index:4;animation:lu-hint-target-pulse 1.3s ease-in-out infinite}.lu-cell.lu-hint-target.lu-hint-target--bulb{outline-color:#1b5e20;animation-name:lu-hint-target-pulse-bulb}.lu-cell.lu-hint-target.lu-hint-target--mark{outline-color:#4e342e}.lu-cell.lu-hint-target.lu-hint-target--wrong{outline-color:#c62828;animation-name:lu-hint-target-pulse-wrong}.lu-cell.lu-hint-source{outline:3px solid #ff8f00;outline-offset:-3px;z-index:3}@keyframes lu-hint-target-pulse{0%,to{outline-color:#4e342e}50%{outline-color:#ff6f00}}@keyframes lu-hint-target-pulse-bulb{0%,to{outline-color:#1b5e20}50%{outline-color:#00c853}}@keyframes lu-hint-target-pulse-wrong{0%,to{outline-color:#c62828}50%{outline-color:#ff1744}}.lu-grid.lu-solved{border-color:#2e7d32;border-width:3px;box-shadow:0 0 0 3px #2e7d32,0 2px 12px #0000001f;animation:lu-win-border .4s ease-out}@keyframes lu-win-border{0%{box-shadow:0 0 #2e7d32}60%{box-shadow:0 0 0 6px #2e7d3255}to{box-shadow:0 0 0 3px #2e7d32,0 2px 12px #0000001f}}.lu-example{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(0,0,0,.08)}.lu-slide{flex:0 0 100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.25rem .5rem;box-sizing:border-box}.lu-example-grid{display:grid;grid-template-columns:repeat(4,36px);grid-template-rows:repeat(4,36px);gap:2px;background:#00000026;padding:2px;border-radius:6px;width:max-content}.lu-ex-cell{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;border-radius:2px;background-color:#fff;color:#222;-webkit-user-select:none;user-select:none}.lu-ex-cell.lu-ex-lit{background-color:#fff5cc}.lu-ex-cell.lu-ex-wall{background-color:#1f2937}.lu-ex-cell.lu-ex-num{background-color:#1f2937;color:#f3f4f6;font-weight:700;font-size:18px}.lu-ex-cell.lu-ex-bulb{background-color:#fff5cc;font-size:18px}.lu-ex-cell.lu-ex-mark{font-size:14px;color:#00000073}.lu-example-caption{font-size:.78rem;color:var(--color-text-muted);margin:0;max-width:300px;text-align:center;min-height:2.4em}.lu-slide-nav{position:absolute;top:76px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:20px;line-height:1;padding:0 0 2px;display:flex;align-items:center;justify-content:center;z-index:2}.lu-slide-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.45rem}.lu-hint-panel{max-width:480px;margin:.5rem auto 0;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.75rem 2rem .75rem 1rem;font-size:.85rem;line-height:1.45;color:var(--color-text);position:relative;display:none}.lu-hint-panel.active{display:block;animation:lu-hint-panel-in .2s ease-out}.lu-hint-title{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#e65100;margin-bottom:.25rem}.lu-hint-body{color:var(--color-text)}.lu-hint-close{position:absolute;top:.25rem;right:.4rem;background:none;border:none;font-size:1.25rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:.25rem .4rem;border-radius:4px}.lu-hint-close:hover{background:#0000000f;color:var(--color-text)}@keyframes lu-hint-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.lu-cell.lu-hint-target,.lu-grid.lu-solved,.lu-hint-panel.active{animation:none}}
