:root{--ln-panel-1: #d7dee4;--ln-panel-2: #b9c4cd;--ln-frame: rgba(70, 92, 108, .3);--ln-cell: rgba(40, 60, 74, .06);--ln-cell-line: rgba(40, 60, 74, .14);--ln-glow: rgba(34, 184, 207, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ln-panel-1: #0e1a22;--ln-panel-2: #05090d;--ln-frame: rgba(56, 214, 255, .16);--ln-cell: rgba(255, 255, 255, .04);--ln-cell-line: rgba(255, 255, 255, .08);--ln-glow: rgba(55, 227, 255, .55)}}:root[data-theme=dark]{--ln-panel-1: #0e1a22;--ln-panel-2: #05090d;--ln-frame: rgba(56, 214, 255, .16);--ln-cell: rgba(255, 255, 255, .04);--ln-cell-line: rgba(255, 255, 255, .08);--ln-glow: rgba(55, 227, 255, .55)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;touch-action:manipulation;overflow-x:hidden}#app{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.game{width:min(94vw,460px);display:flex;flex-direction:column;gap:12px}.crumb{font-size:14px}.crumb a{color:var(--accent);text-decoration:none;font-weight:700}.crumb a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.title{font-size:clamp(24px,6.5vw,40px);font-weight:800;line-height:1;letter-spacing:-1px}.scores{display:flex;gap:8px}.score-box{background:var(--board-bg);color:var(--accent-text);border-radius:6px;padding:5px 10px;text-align:center;min-width:58px}.score-box .label{font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:700}.score-box .value{font-size:20px;font-weight:800;line-height:1.1}.bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.next{display:flex;align-items:center;gap:8px}.next-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.75;font-weight:700}.next-balls{display:inline-flex;gap:6px}.next-balls .ball{width:22px;height:22px}.board{position:relative;width:100%;margin:0 auto}.grid{display:grid;gap:3px;padding:10px;border-radius:16px;background:radial-gradient(120% 90% at 50% 15%,var(--ln-panel-1),var(--ln-panel-2) 82%),var(--ln-panel-2);border:1px solid var(--ln-frame);box-shadow:0 18px 44px -18px #00000073,inset 0 1px #ffffff0d}.cell{position:relative;aspect-ratio:1 / 1;border:none;border-radius:5px;background:var(--ln-cell);box-shadow:inset 0 0 0 1px var(--ln-cell-line);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;transition:background .12s ease}.cell:hover{background:var(--ln-cell-line)}.ball{display:block;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9),rgba(255,255,255,.15) 38%,transparent 60%),radial-gradient(circle at 50% 55%,var(--c),color-mix(in srgb,var(--c) 62%,#000) 100%);box-shadow:0 2px 5px #00000059,inset 0 -3px 6px #00000040}.ball.sel{animation:ln-bounce .5s ease-in-out infinite}@keyframes ln-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-16%) scale(1.05)}}.cell.bad{animation:ln-bad .3s ease}@keyframes ln-bad{0%,to{background:var(--ln-cell)}50%{background:#e6483d80}}.how{font-size:13px;opacity:.85}.how b{font-weight:700}.overlay{position:absolute;inset:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:var(--overlay-bg);z-index:10;opacity:0;pointer-events:none;transition:opacity .22s ease}.overlay.show{opacity:1;pointer-events:auto}.overlay .msg{font-size:clamp(28px,9vw,44px);font-weight:800;color:var(--accent);text-shadow:0 0 22px var(--ln-glow)}.overlay.show .msg{animation:ln-pop .56s cubic-bezier(.2,.9,.25,1)}.overlay .sub{font-size:15px;font-weight:700;opacity:.92}@keyframes ln-pop{0%{transform:scale(.6);opacity:0}45%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn:active{filter:brightness(.95)}@media(prefers-reduced-motion:reduce){.ball.sel,.cell.bad,.overlay.show .msg{animation:none}}
