.ln{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin:18px 0 40px}
.ln-main,.ln-side{padding:20px}
.ln-main h2{margin:0 0 6px}
.ln-goal{margin:6px 0 12px}
.ln-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:min(100%,560px,calc(100vh - 260px));min-width:288px;aspect-ratio:1;border-radius:10px;overflow:hidden;border:2px solid var(--u-border-strong,#9aa8b8);margin:0 0 10px}
.ln-c{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;min-height:0;box-shadow:none;cursor:pointer;background:#f0d9b5;color:#222;width:auto}
.ln-c.d{background:#b58863}
.ln-c.l{background:#f0d9b5}
.ln-c{overflow:hidden;height:100%}.ln-c img{position:absolute;inset:6%;width:88%;height:88%;pointer-events:none;z-index:2}
.ln-c u,.ln-c q{position:absolute;font:700 10px/1 var(--sans);text-decoration:none;opacity:.8;z-index:1;quotes:none}
.ln-c u{left:3px;top:3px}.ln-c q{right:3px;bottom:2px}
.ln-c.l u,.ln-c.l q{color:#7a5a36}.ln-c.d u,.ln-c.d q{color:#f6e6cc}
.ln-star{position:absolute;font-style:normal;font-size:min(5.5vw,34px);color:#f5b50a;text-shadow:0 1px 0 #7a5400,0 0 6px #fff8;z-index:1}
.ln-c.me{box-shadow:inset 0 0 0 4px #14b8a6}
.ln-c.go::after{content:"";position:absolute;left:35%;top:35%;width:30%;height:30%;border-radius:50%;background:rgba(15,118,110,.55);z-index:3}
.ln-c.cap{box-shadow:inset 0 0 0 5px rgba(15,118,110,.8)}
.ln-c.bad{background-image:linear-gradient(rgba(220,38,38,.45),rgba(220,38,38,.45))}
.ln-c:focus-visible{outline:3px solid #0f172a;outline-offset:-3px;z-index:5}
.ln-info{margin:0;font-weight:650}.ln-msg{min-height:1.6em;margin:4px 0 10px;font-weight:650;color:var(--teal-d)}
.ln-side{position:sticky;top:12px;max-height:calc(100vh - 30px);overflow:auto}
.ln-prog b{display:block;margin-bottom:6px}.ln-barw{height:8px;background:var(--line);border-radius:6px;overflow:hidden;margin-bottom:14px}#lnBar{height:100%;background:#0f766e;width:0;transition:width .3s}
.ln-stage h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}
.ln-lv{display:grid;gap:5px}
.ln-b{display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;text-align:left;padding:7px 10px;min-height:38px;font-weight:600;width:100%}
.ln-b b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--line);font-size:12px;color:var(--ink)}
.ln-b em{font-style:normal;color:#b45309;font-size:13px;letter-spacing:1px}
html[data-theme=dark] .ln-b em{color:#fbbf24}
.ln-b.on{outline:2px solid #0f766e;outline-offset:1px}.ln-b.done b{background:#0f766e;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:900px){.ln{grid-template-columns:1fr}.ln-side{position:static;max-height:none}.ln-board{width:100%}}
.ln-c.hint::before{content:"";position:absolute;inset:8%;border:4px dashed #f59e0b;border-radius:50%;z-index:4;animation:lnp 1s ease-in-out infinite alternate}@keyframes lnp{to{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.ln-c.hint::before{animation:none}}
