.ld-overlay{z-index:80;background:var(--pal-ink,#2b2130);display:flex;position:fixed;inset:0}.ld-splash{--ld-sky-a:#bfe3f2;--ld-sky-b:#f6e7c6;min-width:0;padding:env(safe-area-inset-top,0px) max(0px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(0px, env(safe-area-inset-left,0px));background:linear-gradient(180deg, var(--ld-sky-a), var(--ld-sky-b));font-family:var(--display,system-ui, sans-serif);color:var(--color-ink,#2b2130);flex-direction:column;flex:1;justify-content:space-between;display:flex;position:relative;overflow:hidden}.ld-splash.ld-night{--ld-sky-a:#1b1d3f;--ld-sky-b:#4a3a5e}.ld-title{z-index:3;padding:16px max(18px, env(safe-area-inset-left,0px)) 0;position:relative}.ld-brand{color:var(--pal-white,#fff);-webkit-text-stroke:3px var(--pal-ink,#2b2130);paint-order:stroke fill;text-shadow:0 4px 0 var(--pal-ink,#2b2130);font-size:2.1rem;font-weight:800;line-height:1}.ld-logo{width:auto;max-width:100%;height:46px;filter:drop-shadow(1.5px 0 0 var(--pal-ink,#2b2130)) drop-shadow(-1.5px 0 0 var(--pal-ink,#2b2130)) drop-shadow(0 -1.5px 0 var(--pal-ink,#2b2130)) drop-shadow(0 4px 0 var(--pal-ink,#2b2130));display:block}.ld-brand small{-webkit-text-stroke:2px var(--pal-ink,#2b2130);text-shadow:0 2px 0 var(--pal-ink,#2b2130);margin-top:6px;font-size:.95rem;font-weight:700;display:block}.ld-stage3d{flex:1;min-height:220px;position:relative}.ld-scene{width:100%;height:100%;display:block;position:absolute;inset:0}.ld-dock{z-index:3;box-sizing:border-box;background:var(--color-surface,#fff8e7);border:3px solid var(--pal-ink,#2b2130);width:min(560px,100% - 28px);box-shadow:0 5px 0 var(--pal-ink,#2b2130);border-radius:18px;flex-direction:column;gap:10px;margin:0 auto 14px;padding:12px 14px;display:flex;position:relative}.ld-stage{justify-content:space-between;align-items:baseline;gap:10px;font-weight:800;display:flex}.ld-stage b{font-variant-numeric:tabular-nums;font-size:1.2rem}.ld-blocks{border:3px solid var(--pal-ink,#2b2130);background:var(--pal-paper-2,#f3ead2);border-radius:10px;grid-template-columns:repeat(20,1fr);gap:3px;padding:4px;display:grid}.ld-blocks i{background:#2b213024;border-radius:3px;height:16px}.ld-blocks.ld-scan i{position:relative}.ld-blocks.ld-scan i:after{content:"";opacity:0;background:linear-gradient(180deg, var(--pal-lantern,#ffe6a6), var(--pal-gold,#f6c443));border-radius:3px;animation:none;position:absolute;inset:0;box-shadow:inset 0 -3px #0000002e}.ld-blocks.ld-scan i:first-child:after{animation-name:ld-cell-0}.ld-blocks.ld-scan i:nth-child(2):after{animation-name:ld-cell-1}.ld-blocks.ld-scan i:nth-child(3):after{animation-name:ld-cell-2}.ld-blocks.ld-scan i:nth-child(4):after{animation-name:ld-cell-3}.ld-blocks.ld-scan i:nth-child(5):after{animation-name:ld-cell-4}.ld-blocks.ld-scan i:nth-child(6):after{animation-name:ld-cell-5}.ld-blocks.ld-scan i:nth-child(7):after{animation-name:ld-cell-6}.ld-blocks.ld-scan i:nth-child(8):after{animation-name:ld-cell-7}.ld-blocks.ld-scan i:nth-child(9):after{animation-name:ld-cell-8}.ld-blocks.ld-scan i:nth-child(10):after{animation-name:ld-cell-9}.ld-blocks.ld-scan i:nth-child(11):after{animation-name:ld-cell-10}.ld-blocks.ld-scan i:nth-child(12):after{animation-name:ld-cell-11}.ld-blocks.ld-scan i:nth-child(13):after{animation-name:ld-cell-12}.ld-blocks.ld-scan i:nth-child(14):after{animation-name:ld-cell-13}.ld-blocks.ld-scan i:nth-child(15):after{animation-name:ld-cell-14}.ld-blocks.ld-scan i:nth-child(16):after{animation-name:ld-cell-15}.ld-blocks.ld-scan i:nth-child(17):after{animation-name:ld-cell-16}.ld-blocks.ld-scan i:nth-child(18):after{animation-name:ld-cell-17}.ld-blocks.ld-scan i:nth-child(19):after{animation-name:ld-cell-18}.ld-blocks.ld-scan i:nth-child(20):after{animation-name:ld-cell-19}@keyframes ld-cell-0{0%{opacity:1}5.66%{opacity:1}5.67%,94.33%{opacity:0}94.34%{opacity:1}to{opacity:1}}@keyframes ld-cell-1{0%{opacity:1}9.91%{opacity:1}9.92%,90.08%{opacity:0}90.09%{opacity:1}to{opacity:1}}@keyframes ld-cell-2{0%{opacity:1}12.94%{opacity:1}12.95%,87.05%{opacity:0}87.06%{opacity:1}to{opacity:1}}@keyframes ld-cell-3{0%{opacity:1}15.49%{opacity:1}15.5%,84.5%{opacity:0}84.51%{opacity:1}to{opacity:1}}@keyframes ld-cell-4{0%,5.65%{opacity:0}5.66%{opacity:1}17.79%{opacity:1}17.8%,82.2%{opacity:0}82.21%{opacity:1}94.34%{opacity:1}94.35%,to{opacity:0}}@keyframes ld-cell-5{0%,9.9%{opacity:0}9.91%{opacity:1}19.94%{opacity:1}19.95%,80.05%{opacity:0}80.06%{opacity:1}90.09%{opacity:1}90.1%,to{opacity:0}}@keyframes ld-cell-6{0%,12.93%{opacity:0}12.94%{opacity:1}22%{opacity:1}22.01%,77.99%{opacity:0}78%{opacity:1}87.06%{opacity:1}87.07%,to{opacity:0}}@keyframes ld-cell-7{0%,15.48%{opacity:0}15.49%{opacity:1}24%{opacity:1}24.01%,75.99%{opacity:0}76%{opacity:1}84.51%{opacity:1}84.52%,to{opacity:0}}@keyframes ld-cell-8{0%,17.78%{opacity:0}17.79%{opacity:1}26%{opacity:1}26.01%,73.99%{opacity:0}74%{opacity:1}82.21%{opacity:1}82.22%,to{opacity:0}}@keyframes ld-cell-9{0%,19.93%{opacity:0}19.94%{opacity:1}28%{opacity:1}28.01%,71.99%{opacity:0}72%{opacity:1}80.06%{opacity:1}80.07%,to{opacity:0}}@keyframes ld-cell-10{0%,21.99%{opacity:0}22%{opacity:1}30.06%{opacity:1}30.07%,69.93%{opacity:0}69.94%{opacity:1}78%{opacity:1}78.01%,to{opacity:0}}@keyframes ld-cell-11{0%,23.99%{opacity:0}24%{opacity:1}32.21%{opacity:1}32.22%,67.78%{opacity:0}67.79%{opacity:1}76%{opacity:1}76.01%,to{opacity:0}}@keyframes ld-cell-12{0%,25.99%{opacity:0}26%{opacity:1}34.51%{opacity:1}34.52%,65.48%{opacity:0}65.49%{opacity:1}74%{opacity:1}74.01%,to{opacity:0}}@keyframes ld-cell-13{0%,27.99%{opacity:0}28%{opacity:1}37.06%{opacity:1}37.07%,62.93%{opacity:0}62.94%{opacity:1}72%{opacity:1}72.01%,to{opacity:0}}@keyframes ld-cell-14{0%,30.05%{opacity:0}30.06%{opacity:1}40.09%{opacity:1}40.1%,59.9%{opacity:0}59.91%{opacity:1}69.94%{opacity:1}69.95%,to{opacity:0}}@keyframes ld-cell-15{0%,32.2%{opacity:0}32.21%{opacity:1}44.34%{opacity:1}44.35%,55.65%{opacity:0}55.66%{opacity:1}67.79%{opacity:1}67.8%,to{opacity:0}}@keyframes ld-cell-16{0%,34.5%{opacity:0}34.51%{opacity:1}65.49%{opacity:1}65.5%,to{opacity:0}}@keyframes ld-cell-17{0%,37.05%{opacity:0}37.06%{opacity:1}62.94%{opacity:1}62.95%,to{opacity:0}}@keyframes ld-cell-18{0%,40.08%{opacity:0}40.09%{opacity:1}59.91%{opacity:1}59.92%,to{opacity:0}}@keyframes ld-cell-19{0%,44.33%{opacity:0}44.34%{opacity:1}55.66%{opacity:1}55.67%,to{opacity:0}}.ld-blocks i.on{background:linear-gradient(180deg, var(--pal-grass-l,#9fd16c), var(--pal-pine,#2f7d4f));box-shadow:inset 0 -3px #0003}.ld-blocks i.top{background:linear-gradient(180deg, var(--pal-lantern,#ffe6a6), var(--pal-gold,#f6c443));animation:.18s ease-out ld-pop,1.1s ease-in-out .18s infinite ld-breathe;transform:translateY(-2px)}.ld-bubble{background:var(--pal-white,#fff);border:3px solid var(--pal-ink,#2b2130);box-sizing:border-box;border-radius:14px;grid-template-columns:minmax(0,1fr);min-height:92px;padding:8px 12px;display:grid;position:relative}.ld-bubble:before{content:"";background:var(--pal-white,#fff);border-left:3px solid var(--pal-ink,#2b2130);border-top:3px solid var(--pal-ink,#2b2130);width:16px;height:16px;position:absolute;top:-11px;left:26px;transform:rotate(45deg)}.ld-k{letter-spacing:.07em;text-transform:uppercase;color:var(--pal-soil,#c4572f);font-size:.7rem;font-weight:800;display:block}.ld-tip{grid-area:1/1;min-width:0;animation:.4s both ld-fade}.ld-tip.ld-prev{pointer-events:none;animation:.4s both ld-fadeout}.ld-t{display:block}.ld-notice{box-sizing:border-box;border:3px solid var(--pal-ink,#2b2130);background:var(--pal-cream,#fff0c9);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-weight:700;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;right:0}.ld-notice.ld-bad{background:var(--pal-rose,#fbe2dc)}.ld-btn{font:inherit;min-width:44px;min-height:44px;color:var(--pal-paper,#fff8e7);background:var(--pal-pine,#2f7d4f);border:3px solid var(--pal-ink,#2b2130);box-shadow:0 3px 0 var(--pal-ink,#2b2130);cursor:pointer;border-radius:12px;padding:4px 16px;font-weight:800}.ld-btn:active{box-shadow:0 1px 0 var(--pal-ink,#2b2130);transform:translateY(2px)}.ld-btn:focus-visible{outline:3px solid var(--pal-gold,#f6c443);outline-offset:2px}.ld-leaving{animation:.35s both ld-out}@keyframes ld-out{to{opacity:0;transform:translateY(-14px)}}@keyframes ld-fadeout{0%{opacity:1}to{opacity:0}}@keyframes ld-pop{0%{transform:translateY(2px)scale(.8)}60%{transform:translateY(-5px)scale(1.08)}to{transform:translateY(-2px)scale(1)}}@keyframes ld-breathe{0%,to{opacity:1;transform:translateY(-2px)}50%{opacity:.78;transform:translateY(-5px)}}@keyframes ld-fade{0%{opacity:0}to{opacity:1}}@media (width<=420px){.ld-brand{font-size:1.8rem}.ld-logo{height:40px}.ld-blocks i{height:14px}}@media (height<=520px){.ld-stage3d{min-height:120px}.ld-bubble{min-height:0}}.ld-sk{background:linear-gradient(90deg, #ecd9b0 0%, var(--pal-paper-3,#fffdf6) 50%, #ecd9b0 100%);background-size:220% 100%;border:2px solid #2b21304d;border-radius:6px;flex:none;animation:1.4s linear infinite ld-shimmer;display:block}.ld-line{width:70%;height:12px}.ld-avatar{border-radius:10px}.ld-block{width:100%;height:90px}.ld-list,.ld-sheet{flex-direction:column;gap:10px;min-width:0;display:flex}.ld-row{align-items:center;gap:10px;display:flex}.ld-rowtext{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}@keyframes ld-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.ld-fallback{z-index:30;box-sizing:border-box;width:min(360px,100vw - 32px);padding:14px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ld-cube{flex:none;width:22px;height:24px;animation:.9s ease-in-out infinite ld-hop}.ld-cube.ld-still{animation:none}@keyframes ld-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.ld-busy{cursor:progress;filter:saturate(.7);justify-content:center;align-items:center;gap:8px;min-height:44px;display:inline-flex}.ld-busy:disabled{opacity:1}.ld-empty{text-align:center;color:var(--color-ink,#2b2130);flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.ld-hint{color:var(--color-ink-muted,#6d6070);font-size:.85rem}@media (prefers-reduced-motion:reduce){.ld-sk,.ld-cube,.ld-tip,.ld-leaving,.ld-blocks i.top,.ld-blocks.ld-scan i:after{animation:none}.ld-blocks.ld-scan i:nth-child(-n+4):after{opacity:1}.ld-tip.ld-prev{display:none}}
