.lb{-webkit-user-select:none;user-select:none;border-radius:6px;transition:opacity .4s;position:relative;box-shadow:0 2px 10px #2a29272e}.lb.flat{box-shadow:none}.lb-grid{aspect-ratio:1;border-radius:6px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden}.lb-sq{background:var(--sq-l);position:relative}.lb-sq.d{background:var(--sq-d)}.lb-sq:before{content:"";background:0 0;transition:background-color .3s;position:absolute;inset:0}.lb-sq.last:before{background:var(--board-last)}.lb-sq.slip:before{background:color-mix(in srgb, var(--q-blunder) 34%, transparent)}.lb-sq.good:before{background:color-mix(in srgb, var(--q-best) 38%, transparent)}.lb-sq.hint:before{background:color-mix(in srgb, var(--accent) 45%, transparent)}.lb-sq.sel:before{background:var(--board-select)}.lb-sq.over:before{background:var(--board-dest-hover)}.lb-sq.dest:after{content:"";inset-inline-start:35%;pointer-events:none;z-index:2;background:#14551e73;border-radius:50%;width:30%;height:30%;position:absolute;top:35%}.lb-sq.dest.cap:after{inset-inline-start:4%;background:0 0;width:92%;height:92%;top:4%;box-shadow:inset 0 0 0 5px #14551e73}.lb-sq[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:3}.lb-co{inset-inline-start:3px;color:var(--sq-d);z-index:1;font-size:10px;font-weight:600;position:absolute;top:1px}.lb-sq.d .lb-co{color:var(--sq-l)}.lb-co.f{inset-inline:auto 3px;top:auto;bottom:1px}.lb-pcs{pointer-events:none;z-index:2;position:absolute;inset:0}.lb-pc{width:12.5%;height:12.5%;transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));will-change:transform;background-size:cover;transition:transform .5s cubic-bezier(.3,.7,.25,1),opacity .35s;position:absolute;top:0;left:0}.lb-pc.static{will-change:auto;width:auto;height:auto;position:absolute;inset:4px;transform:none}.lb-pc.drag{z-index:5;transition:none}.lb-pc.gone{opacity:0}.lb-bdg{width:12.5%;height:12.5%;transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));z-index:4;transition:opacity .3s;position:absolute;top:0;left:0}.lb-bdg>span{position:absolute;top:-12%;right:-12%;width:46%!important;height:46%!important}.lb-arrows{pointer-events:none;z-index:3;opacity:.88;width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.lnd-hx .lb-arrows .arw{animation:.35s ease-out lnd-fadein}}@keyframes lnd-fadein{0%{opacity:0}}.lnd-hero{grid-template-columns:minmax(0,1fr) minmax(0,700px);align-items:center;gap:clamp(28px,4vw,64px);padding-block:clamp(20px,4vw,56px) clamp(44px,5vw,72px);display:grid}@media (width<=1120px){.lnd-hero{grid-template-columns:minmax(0,1fr)}.lnd-hx{max-width:760px}}.lnd-quiet{min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2);text-underline-offset:4px;align-items:center;padding-inline:10px;font-weight:600;display:inline-flex}.lnd-quiet:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.lnd-hx{gap:10px;min-width:0;font-size:15px;line-height:1.4;display:grid}.lnd-hx .hx-steps{border:1px solid var(--rule);background:color-mix(in srgb, var(--panel) 50%, var(--bg));border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.lnd-hx .hx-step{min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:6px 8px;font-size:14.5px;font-weight:600;line-height:1.15;display:flex}.lnd-hx .hx-step:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lnd-hx .st-n{border:1px solid var(--rule-2);width:20px;height:20px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:11px;display:inline-grid}.lnd-hx .hx-step[aria-current=step]{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule-2)}.lnd-hx .hx-step[aria-current=step] .st-n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media (width<=480px){.lnd-hx .hx-step{gap:6px;padding-inline:4px;font-size:13px}.lnd-hx .st-n{width:18px;height:18px}}.lnd-hx .hx-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);grid-template-columns:minmax(0,1fr) minmax(0,236px);align-items:start;gap:16px;padding:14px;display:grid}@media (width<=620px){.lnd-hx .hx-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:10px}.lnd-hx .hx-side{padding:4px 4px 8px}}.lnd-hx[data-step="2"] .lb-pc.mine{cursor:grab;touch-action:none;pointer-events:auto}.lnd-hx[data-step="2"].solved .lb-pc.mine,.lnd-hx[data-step="2"].busy .lb-pc.mine{cursor:default;pointer-events:none}.lnd-hx[data-step="3"] .hx-board{opacity:.6}.lnd-hx .hx-side{min-width:0;display:grid}.lnd-hx .hx-p{visibility:hidden;opacity:0;grid-area:1/1;align-content:start;min-width:0;display:grid}.lnd-hx[data-step="1"] .hx-p[data-p="1"],.lnd-hx[data-step="2"] .hx-p[data-p="2"],.lnd-hx[data-step="3"] .hx-p[data-p="3"]{visibility:visible;opacity:1}.lnd-hx .hx-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:24px;margin-bottom:16px;font-size:15px;display:flex}.lnd-hx .who{align-items:center;gap:6px;display:inline-flex}.lnd-hx .who .font-mono{font-size:12px}.lnd-hx .vs{color:var(--ink-3);font-size:11px}.lnd-hx .src{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.lnd-hx .cap{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:11.5px;font-weight:500}.lnd .sdot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.lnd .sdot.w{box-shadow:inset 0 0 0 1px var(--rule-2);background:#f3f2ef}.lnd .sdot.b{box-shadow:inset 0 0 0 1px var(--rule-2);background:#2a2927}.lnd-hx .hx-say{min-height:var(--hl-h,0px);font-family:var(--display);text-transform:uppercase;letter-spacing:.005em;align-content:start;gap:2px;margin:0 0 24px;font-size:22px;font-weight:800;line-height:1.02;display:grid}.lnd-hx .say2{color:var(--accent)}.lnd-hx .hx-cues{align-content:start;gap:16px;min-width:0;display:grid}.lnd-hx .hx-fb{gap:8px;display:grid}.lnd-hx .hx-fb:empty{display:none}.lnd-hx .hx-btns{flex-wrap:wrap;gap:8px;display:flex}.lnd-hx .hx-btns button[disabled]{opacity:.5;cursor:default}.lnd .hx-bub{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.lnd .hx-av{border:1px solid var(--rule);background:var(--panel-2);border-radius:50%;width:36px;height:36px;position:relative}.lnd .hx-cb{border:1px solid var(--rule);background:var(--panel);min-width:0;color:var(--ink);border-radius:12px;gap:2px;padding:8px 12px;font-size:14px;line-height:1.4;display:grid}.lnd .hx-cb.bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 45%, transparent)}.lnd .hx-cb.good{background:var(--good-soft);border-color:color-mix(in srgb, var(--good) 45%, transparent)}.lnd .hx-cb.hint{background:var(--accent-soft);border-color:#0000}.lnd .hx-cb-t{align-items:center;gap:7px;font-size:14.5px;font-weight:600;display:inline-flex}.lnd .hx-cb-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.lnd .hx-cb.bad .hx-cb-dot{background:var(--bad)}.lnd .hx-cb.good .hx-cb-dot{background:var(--good)}.lnd .hx-cb.hint .hx-cb-dot{background:var(--accent)}.lnd .hx-cb-y{color:var(--ink-2);margin-top:2px}@media (prefers-reduced-motion:no-preference){.lnd-hx .hx-cb.pop{animation:.3s cubic-bezier(.2,.7,.2,1) both lnd-rise}}@keyframes lnd-rise{0%{opacity:0;transform:translateY(8px)}}.lnd .side-sq{border:1px solid var(--rule-2);background:#f3f2ef;border-radius:8px;flex:none;width:34px;height:34px;position:relative}.lnd .pz-t{font-family:var(--display);text-transform:uppercase;font-size:20px;font-weight:800;line-height:1}.lnd-hx .pz-card{border:1px solid var(--rule);background:var(--bg);border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.lnd-hx .hx-nx{position:relative}.lnd-hx .hx-nx-ring{pointer-events:none;width:calc(100% + 10px);height:calc(100% + 10px);position:absolute;top:-5px;left:-5px;overflow:visible}.lnd-hx .hx-nx-ring rect{x:1.5px;y:1.5px;rx:14px;fill:none;width:calc(100% - 3px);height:calc(100% - 3px);stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--t,0))}.lnd-hx .hx-cue{width:12.5%;height:12.5%;transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));z-index:6;pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;top:0;left:0}.lnd-hx .hx-cue.on{opacity:1}.lnd-hx .hx-cue-dot{background:color-mix(in srgb, var(--accent) 34%, transparent);width:54%;height:54%;box-shadow:0 0 0 2.5px var(--accent);border-radius:50%;position:absolute;top:23%;left:23%}.lnd-hx .hx-cue-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.lnd-hx .hx-cue-ring circle{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--t,0))}.lnd-hx .hx-cue-cur{filter:drop-shadow(0 1px 2px #00000059);width:58%;height:58%;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-21%,-15%)}.lnd-hx .hx-cue-cur path{fill:#fff;stroke:#2a2927;stroke-width:1.4px;stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.lnd-hx .hx-cue.on .hx-cue-dot{animation:1.8s ease-in-out infinite lnd-cuepulse}.lnd-hx .hx-cue.on .hx-cue-cur{animation:1.8s ease-in-out infinite lnd-cuefloat}}@keyframes lnd-cuepulse{0%,to{opacity:.9;transform:scale(.85)}50%{opacity:.55;transform:scale(1.12)}}@keyframes lnd-cuefloat{0%,to{transform:translate(-21%,-15%)}50%{transform:translate(-17%,-10%)}}.lnd-hx .pgw{gap:12px;display:grid}.lnd-hx .pg-card{border:1px solid var(--rule);background:var(--bg);border-radius:12px;gap:6px;padding:12px;display:grid}.lnd-hx .pg-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.lnd-hx .pg-k{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.lnd-hx .pg-up{background:var(--good-soft);color:var(--ink);font-family:var(--mono);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px 1px 6px;font-size:11px;line-height:16px;display:inline-flex}.lnd-hx .pg-name{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.05}.lnd-hx .pg-meter{background:var(--rule);border-radius:4px;height:8px;overflow:hidden}.lnd-hx .pg-meter i{background:var(--good);border-radius:4px;width:62%;height:100%;display:block}.lnd-hx .pg-obj{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:14.5px;font-weight:600;line-height:1.3;display:grid}.lnd-hx .pg-ring{border:2.5px solid var(--good);background:var(--good);width:24px;height:24px;color:var(--good-ink);border-radius:50%;place-items:center;display:grid}.lnd-hx .pg-pts{font-family:var(--display);font-size:19px;font-weight:700}.lnd-hx .pg-done{color:var(--good);justify-self:start;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:no-preference){.lnd-hx .hx-p.run .pg-meter i{animation:1.4s cubic-bezier(.3,.7,.2,1) .3s both lnd-meter}.lnd-hx .hx-p.run .pg-up{animation:.5s ease-out 1.5s both lnd-rise}.lnd-hx .hx-p.run .pg-ring{animation:.45s ease-out 1.9s both lnd-ringon}.lnd-hx .hx-p.run .pg-done{animation:.5s ease-out 2.3s both lnd-rise}}@keyframes lnd-meter{0%{width:34%}to{width:62%}}@keyframes lnd-ringon{0%{border-color:var(--rule-2);color:#0000;background:0 0}}.lnd-hx .hx-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-height:38px;display:flex}.lnd-hx .hx-ctl{flex-wrap:wrap;gap:6px;margin-inline-start:auto;display:flex}.lnd-hx .hx-replay{min-height:36px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding-inline:10px;font-weight:600;display:inline-flex}.lnd-hx .hx-replay:hover{color:var(--ink)}.lnd-hx .hx-replay:focus-visible{outline:2px solid var(--accent)}.lnd-hx [data-act=back],.lnd-hx [data-act=fwd]{display:none}@media (prefers-reduced-motion:reduce){.lnd-hx [data-act=back],.lnd-hx [data-act=fwd]{display:inline-flex}.lnd-hx [data-act=replay],.lnd-hx .hx-nx-ring{display:none}.lnd-hx .lb-pc,.lnd-hx .lb-sq:before,.lnd-hx .hx-p,.lnd-hx .lb{transition:none}}.lnd-hx .ch{transition:opacity .3s ease-out,transform .3s cubic-bezier(.2,.7,.2,1)}.lnd-hx.js .ch:not(.on){opacity:0;transform:translateY(8px)}.lnd-hx.js .hx-say .ch:not(.on){transform:translateY(6px)}.lnd-hx .hx-p.snap .ch{transition:none!important}.lnd-hx .hx-p.out{transition:opacity .15s ease-in;opacity:0!important}.lnd-hx .say1,.lnd-hx .say2{display:block}@media (prefers-reduced-motion:reduce){.lnd-hx .ch{transition:opacity .15s linear;transform:none!important}}.lnd-ft{border:1px solid var(--rule);background:color-mix(in srgb, var(--panel) 55%, var(--bg));border-radius:20px;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,56px);min-width:0;padding:clamp(18px,3vw,36px);display:grid}.lnd-ft:nth-child(2n){grid-template-columns:minmax(0,1fr) minmax(0,300px)}.lnd-ft:nth-child(2n) .lnd-ft-t{order:2}.lnd-ft-t{align-content:center;gap:8px;display:grid}.lnd-ft-v{width:100%;min-width:0;max-width:640px;container-type:inline-size}.lnd-ft:nth-child(odd) .lnd-ft-v{justify-self:end}@media (width<=860px){.lnd-ft,.lnd-ft:nth-child(2n){grid-template-columns:minmax(0,1fr)}.lnd-ft:nth-child(2n) .lnd-ft-t{order:0}.lnd-ft:nth-child(odd) .lnd-ft-v{justify-self:stretch}}.lnd-ccs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:10px;display:grid}.lnd-cc{background:var(--panel);border:1px solid var(--rule);border-radius:12px;align-content:start;gap:6px;min-width:0;padding:10px;display:grid;position:relative}.lnd-cc.sug{background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.lnd-cc-sug{top:-10px;z-index:5;position:absolute;inset-inline-start:10px}.lnd-cc-n{font-family:var(--display);font-size:19px;font-weight:700;line-height:1.05}.lnd-cc-m{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11.5px;display:flex}.lnd-side{border:1px solid var(--rule);font-family:var(--mono);color:var(--ink-2);background:var(--panel);border-radius:999px;align-items:center;gap:5px;padding:0 7px;font-size:10.5px;display:inline-flex}@container (width<=380px){.lnd-ccs{gap:6px}.lnd-cc{border-radius:10px;padding:6px}.lnd-cc-n{font-size:15px}.lnd-cc-sug{inset-inline-start:4px}.lnd-cc-m .lnd-side{display:none}}.lnd-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;display:grid}@container (width<=400px){.lnd-two{grid-template-columns:minmax(0,1fr)}.lnd-two-b{max-width:270px}}.lnd-set{border:1px solid var(--rule);background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%;padding:8px 12px;display:flex}.lnd-dt{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.lnd-dt.todo{border:1px solid var(--rule);background:var(--panel-2)}.lnd-dt.current{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.lnd-dt.clean{background:var(--good)}.lnd-dt.help{background:var(--warn)}.lnd-rp{border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);gap:8px;max-width:520px;padding:16px 18px;display:grid}.lnd-rp-ch{width:100%;height:auto;display:block;overflow:visible}.lnd-rp-grid line{stroke:var(--rule);stroke-width:.7px;stroke-dasharray:2 2}.lnd-rp-line{fill:none;stroke:var(--good);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.lnd-rp-area{fill:color-mix(in srgb, var(--good) 12%, transparent)}.lnd-rp-d{fill:var(--good);stroke:var(--panel);stroke-width:1.4px}.lnd-rp-y{pointer-events:none;position:absolute;inset-block:0;inset-inline-start:0}.lnd-rp-y span{color:var(--ink-3);font-size:10.5px;position:absolute;inset-inline-start:0;transform:translateY(-120%)}@media (prefers-reduced-motion:no-preference){.lnd .rv{opacity:0;transform:translateY(16px)}.lnd .rv.in,.lnd .rv-box.in .rv{opacity:1;transition:opacity .6s ease-out var(--d,0s), transform .6s cubic-bezier(.2, .7, .2, 1) var(--d,0s);transform:none}.lnd .rp-prep .lnd-rp-line{stroke-dasharray:1;stroke-dashoffset:1px}.lnd .rp-prep .lnd-rp-area,.lnd .rp-prep .lnd-rp-d{opacity:0}.lnd .rp-prep.in .lnd-rp-line{stroke-dashoffset:0;transition:stroke-dashoffset 1.5s cubic-bezier(.4,.1,.2,1) .35s}.lnd .rp-prep.in .lnd-rp-area{opacity:1;transition:opacity .6s ease-out 1.5s}.lnd .rp-prep.in .lnd-rp-d{opacity:1;transition:opacity .3s ease-out 1.8s}}
