:root{--lu-off: #e4e2dc;--lu-off-edge: #d3d0c8;--lu-on-a: #ffe3a3;--lu-on-b: #f6b94a;--lu-on-edge: #e09a2c;--lu-glow: rgba(246, 177, 64, .55);--lu-hint: #4a7c59}html.dark{--lu-off: #1d2433;--lu-off-edge: #121826;--lu-on-a: #ffe0a0;--lu-on-b: #f2a93b;--lu-on-edge: #b8741c;--lu-glow: rgba(242, 169, 59, .5);--lu-hint: #7fc495}main.lu-main{padding-top:12px;padding-bottom:16px;gap:14px}.lu-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.lu-stat b{display:block;font-size:1.6rem;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}.lu-stat span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.lu-stat.right{text-align:right}.lu-size{display:grid;justify-items:center;gap:2px;font-weight:900;font-size:1rem;letter-spacing:.02em;background:var(--surface-2);border-radius:12px;padding:6px 14px}.lu-size small{font-size:.78rem;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.lu-board{--gap: clamp(5px, calc(28px / var(--n)), 9px);display:grid;gap:var(--gap);width:min(100%,calc(100dvh - var(--header-h) - 250px),440px);margin:0 auto;padding:var(--gap);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.lu-row{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:var(--gap)}.lu-cell{aspect-ratio:1;min-width:0;border-radius:calc(46px / var(--n) + 4px);background:var(--lu-off);box-shadow:inset 0 -3px 0 var(--lu-off-edge);transition:background .22s var(--ease),box-shadow .22s var(--ease),transform .1s var(--ease)}.lu-cell.on{background:radial-gradient(circle at 50% 38%,var(--lu-on-a),var(--lu-on-b) 72%);box-shadow:inset 0 -3px 0 var(--lu-on-edge),0 0 18px var(--lu-glow),0 0 4px var(--lu-glow)}.lu-cell:active:not(:disabled){transform:scale(.94)}.lu-cell:disabled{cursor:default}.lu-cell.pop{animation:lu-pop .26s var(--ease-bounce)}.lu-cell.wave{animation:lu-wave .3s var(--ease) both}.lu-cell.hint{outline:3px solid var(--lu-hint);outline-offset:-3px;animation:lu-hint 1.1s var(--ease) infinite}@keyframes lu-pop{0%{transform:scale(.86)}to{transform:scale(1)}}@keyframes lu-wave{0%{transform:scale(1)}40%{transform:scale(.92)}to{transform:scale(1)}}@keyframes lu-hint{50%{outline-offset:-7px}}.lu-board.won .lu-cell.glow{animation:lu-glow .9s var(--ease) both}@keyframes lu-glow{0%{background:var(--lu-off)}35%{background:var(--lu-on-a);box-shadow:0 0 16px var(--lu-glow)}to{background:var(--lu-off)}}.lu-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lu-act{min-height:48px;padding:0 8px;gap:6px;border-width:2px;font-size:.95rem}.lu-act svg{width:20px;height:20px;flex:0 0 auto}.lu-act span,.lu-act small{white-space:nowrap}.lu-act small{font-size:.72rem;font-weight:800;color:var(--muted)}.lu-done{text-align:center;display:grid;gap:6px;justify-items:center}.lu-done.in{animation:lu-rise .5s var(--ease) .4s both}.lu-done-title{font-size:1.6rem;font-weight:900;letter-spacing:-.02em}.lu-done-line{color:var(--muted);font-weight:700;font-size:.95rem}.lu-done .sh-btn{margin-top:4px;min-width:180px}@keyframes lu-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lu-result{display:grid;justify-items:center;margin:2px 0 8px}.lu-stars{font-size:1.6rem;letter-spacing:.12em;color:var(--warn);line-height:1}.lu-stars span{color:var(--surface-3)}.lu-example{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 14px}.lu-mini{display:grid;grid-template-columns:repeat(3,26px);gap:4px}.lu-mini span{width:26px;height:26px;border-radius:7px;background:var(--lu-off);box-shadow:inset 0 -2px 0 var(--lu-off-edge)}.lu-mini span.on{background:radial-gradient(circle at 50% 38%,var(--lu-on-a),var(--lu-on-b) 72%);box-shadow:0 0 8px var(--lu-glow)}.lu-mini span.tap{outline:3px solid var(--text);outline-offset:1px}.lu-arrow{width:24px;height:24px;color:var(--muted)}.sh-modal .lu-trains{font-weight:800;color:var(--muted)}@media(prefers-reduced-motion:reduce){.lu-cell,.lu-cell.pop,.lu-cell.wave,.lu-cell.hint,.lu-board.won .lu-cell.glow,.lu-done.in{animation:none;transition:none}}
