:is(html:has(.blocks-game-root),body:has(.blocks-game-root)){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overscroll-behavior:none;touch-action:none;overflow:hidden;background:#f7f4ee!important}:root{--b-bg:#f7f4ee;--b-surface:#fff;--b-surface-warm:#fcfaf6;--b-tray:#ebe3d5;--b-tray-border:#ded3c1;--b-slot:#ded3c1;--b-slot-inset:inset 0 2px 4px #3c2d1e1a,inset 0 1px 1px #3c2d1e14;--b-ink:#30241b;--b-ink-muted:#78695d;--b-primary:#ff5964;--b-primary-dark:#d6333e;--b-primary-light:#ffa0a6;--b-amber:#f59e0b;--b-teal:#06d6a0;--b-shadow-sm:0 2px 4px #3c2d1e0f;--b-shadow-md:0 8px 16px -4px #3c2d1e1a,0 3px 6px -2px #3c2d1e0d;--b-shadow-lg:0 20px 36px -10px #3c2d1e24,0 8px 16px -4px #3c2d1e0f;--b-safe-t:env(safe-area-inset-top,0px);--b-safe-b:env(safe-area-inset-bottom,0px)}.blocks-game-root{background:var(--b-bg);width:100%;height:100dvh;color:var(--b-ink);-webkit-user-select:none;user-select:none;background-image:radial-gradient(circle at 50% 10%,#fffc 0%,#0000 60%),radial-gradient(circle at 80% 90%,#f59e0b0d 0%,#0000 50%),radial-gradient(circle at 20% 90%,#ff59640d 0%,#0000 50%);flex-direction:row;justify-content:center;align-items:stretch;gap:0;font-family:Bricolage Grotesque,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.blocks-board-rail{display:none}.blocks-main-wrapper{z-index:1;width:100%;max-width:900px;height:100%;padding:calc(10px + var(--b-safe-t))16px calc(12px + var(--b-safe-b));flex-direction:column;gap:8px;min-width:0;margin:0 auto;display:flex;position:relative}@media (min-width:1024px){.blocks-game-root{padding:calc(12px + var(--b-safe-t))24px calc(12px + var(--b-safe-b));justify-content:center;align-items:stretch;gap:24px}.blocks-board-rail{flex-direction:column;flex:none;align-self:stretch;width:clamp(300px,28vw,380px);height:100%;min-height:0;max-height:100%;padding:0;display:flex}.blocks-board-rail .lb-panel--rail{background:linear-gradient(180deg,#fffffff2 0%,#fff 40%),var(--b-surface);border:1px solid #3c2d1e12;border-radius:22px;flex-direction:column;height:100%;min-height:0;display:flex;box-shadow:inset 0 1px #fffc,0 12px 32px -12px #3c2d1e24}.blocks-main-wrapper{flex:auto;max-width:min(900px,100% - 340px);height:100%;margin:0;padding-left:0;padding-right:0}}@media (min-width:1440px){.blocks-board-rail{width:400px}.blocks-main-wrapper{max-width:min(920px,100% - 440px)}}.blocks-header{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-height:48px;display:grid}.header-left{justify-self:start;min-width:0}.header-time{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--b-ink);justify-self:center;padding:0 8px;font-family:Space Mono,monospace;font-size:clamp(22px,4.5vw,30px);font-weight:800;line-height:1;transition:color .15s}.header-time.is-urgent{color:var(--b-primary);animation:.7s ease-in-out infinite time-blink}@keyframes time-blink{0%,to{opacity:1}50%{opacity:.28}}.header-center{align-items:center;gap:10px;display:flex}.level-nav-pill{background:var(--b-surface);box-shadow:var(--b-shadow-sm);border:1px solid #3c2d1e14;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.level-arrow-btn{width:32px;height:32px;color:var(--b-ink);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,opacity .15s;display:inline-flex}.level-arrow-btn:hover:not(:disabled){background:#3c2d1e0f}.level-arrow-btn:disabled{opacity:.25;cursor:default}.level-info-trigger{cursor:pointer;background:0 0;border:none;border-radius:999px;flex-direction:column;align-items:center;padding:2px 10px;transition:background .15s;display:flex}.level-info-trigger:hover{background:#3c2d1e0d}.level-number-row{align-items:center;gap:6px;display:flex}.level-badge{color:var(--b-primary);font-family:Space Mono,monospace;font-size:12px;font-weight:700}.level-name{color:var(--b-ink);font-size:14px;font-weight:800}.pill-divider{background:#3c2d1e24;width:1px;height:18px;margin:0 4px}.pill-stats{align-items:center;gap:6px;padding:0 10px 0 2px;display:inline-flex}.pill-stats.is-urgent{animation:1.2s infinite pulse-urgent}.pill-stats.is-urgent .stat-num{color:var(--b-primary)}.header-right{justify-content:flex-end;justify-self:end;align-items:center;gap:8px;display:flex}@keyframes pulse-urgent{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.stat-data{flex-direction:column;line-height:1.1;display:flex}.stat-num{color:var(--b-ink);font-family:Space Mono,monospace;font-size:13px;font-weight:700}.stat-label{color:var(--b-ink-muted);font-size:12px;font-weight:700}.header-icon-group{align-items:center;gap:4px;display:flex}.header-icon-btn{background:var(--b-surface);width:36px;height:36px;color:var(--b-ink);box-shadow:var(--b-shadow-sm);cursor:pointer;border:1px solid #3c2d1e14;border-radius:12px;justify-content:center;align-items:center;transition:transform .15s,background .15s;display:inline-flex;position:relative}.header-icon-btn:hover{background:var(--b-surface-warm);transform:translateY(-1px)}.header-leaderboard-btn{gap:5px;width:auto;min-width:36px;height:36px;padding:0 10px 0 8px}@media (min-width:1024px){.header-icon-btn.header-leaderboard-btn{display:none}}.header-rank-num{color:var(--b-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Space Mono,monospace;font-size:12px;font-weight:700;line-height:1}.stat-divider{color:#3c2d1e40;font-size:13px;font-weight:700}.header-menu-container{position:relative}.header-menu-btn{background:var(--b-surface);width:36px;height:36px;color:var(--b-ink);box-shadow:var(--b-shadow-sm);cursor:pointer;border:1px solid #3c2d1e1a;border-radius:12px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex;position:relative}.header-menu-btn:hover,.header-menu-btn.is-active{background:var(--b-surface-warm);border-color:#3c2d1e33;transform:translateY(-1px)}.header-badge-dot{background:var(--b-primary);border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.header-dropdown-menu{background:var(--b-surface);min-width:200px;box-shadow:var(--b-shadow-lg);z-index:50;border:1px solid #3c2d1e1a;border-radius:16px;flex-direction:column;gap:2px;padding:6px;animation:.15s drop-in;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-item{color:var(--b-ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.dropdown-item:hover{background:var(--b-surface-warm)}.dropdown-badge{color:#b45309;background:#f59e0b26;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.dropdown-divider{background:#3c2d1e14;height:1px;margin:4px 6px}.dropdown-kbd{color:var(--b-ink-muted);background:#3c2d1e0f;border:1px solid #3c2d1e1a;border-radius:4px;margin-left:auto;padding:2px 5px;font-family:inherit;font-size:10px;font-weight:700}.header-badge{background:var(--b-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #ff596466}.blocks-stage-area{scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pan-y;flex:1;min-height:0;padding:4px;display:flex;position:relative;overflow:auto}.blocks-stage-area::-webkit-scrollbar{display:none}.board-tray{background:var(--b-tray);border:3px solid var(--b-tray-border);box-shadow:var(--b-shadow-lg),inset 0 2px 4px #fff9;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;margin:auto;padding:12px 14px 14px 12px;transition:transform .25s;display:flex;position:relative}.stage-zoom-controls{z-index:20;-webkit-backdrop-filter:blur(8px);box-shadow:var(--b-shadow-sm);background:#ffffffe0;border:1px solid #3c2d1e1f;border-radius:999px;align-items:center;gap:2px;padding:3px 4px;display:inline-flex;position:absolute;bottom:8px;right:12px}.zoom-btn{width:26px;height:26px;color:var(--b-ink);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.zoom-btn:hover:not(:disabled){background:#3c2d1e14;transform:scale(1.05)}.zoom-btn:disabled{opacity:.3;cursor:default}.zoom-label-btn{color:var(--b-ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;transition:all .15s}.zoom-label-btn:hover{color:var(--b-ink);background:#3c2d1e0f}.zoom-label-btn.is-zoomed{color:var(--b-primary);font-weight:800}.board-tray.rolling-phase{animation:.6s board-tumble}@keyframes board-tumble{0%,to{transform:translateY(0)}40%{transform:translateY(6px)}70%{transform:translateY(-3px)}}.board-grid-frame{grid-template-rows:24px 1fr;grid-template-columns:26px 1fr;gap:6px;display:grid}.board-corner-axis{grid-area:1/1;justify-content:center;align-items:center;display:flex}.axis-dot{background:#3c2d1e33;border-radius:50%;width:6px;height:6px}.board-axis-cols{grid-area:1/2;grid-template-columns:repeat(var(--board-n),var(--cell-size));place-items:center;gap:6px;display:grid}.board-axis-rows{grid-area:2/1;grid-template-rows:repeat(var(--board-n),var(--cell-size));place-items:center;gap:6px;display:grid}.axis-label{color:#3c2d1e73;font-family:Space Mono,monospace;font-size:13px;font-weight:700}.board-surface{touch-action:none;grid-area:2/2;position:relative}.board-slots{grid-template-columns:repeat(var(--board-n),var(--cell-size));grid-template-rows:repeat(var(--board-n),var(--cell-size));gap:6px;display:grid;position:absolute;inset:0}.board-slot{width:var(--cell-size);height:var(--cell-size);background:var(--b-slot);box-shadow:var(--b-slot-inset);border:2px solid #0000;border-radius:16px;transition:background-color .15s,border-color .15s,transform .15s;position:relative}.board-slot.is-anchor{box-shadow:var(--b-slot-inset),inset 0 0 0 2px #f59e0b40;background:#f59e0b1f;border-color:#f59e0b99}.board-slot.is-anchor:after{content:"";pointer-events:none;background:#f59e0b8c;border-radius:999px;position:absolute;inset:30%}.board-slot.is-anchor.is-anchor-done{background:var(--b-slot);box-shadow:var(--b-slot-inset);border-color:#f59e0b38}.board-slot.is-anchor.is-anchor-done:after{opacity:0}.board-slot.hover-valid{border-style:solid;border-width:2px;transform:scale(.98)}.board-slot.hover-invalid{background-color:#ff4d4f38;border-color:#ff4d4f}.board-pieces-layer{pointer-events:none;position:absolute;inset:0}.placed-piece-wrap{pointer-events:auto;cursor:grab;transition:transform .12s}.placed-piece-wrap:active{cursor:grabbing}.placed-piece-wrap.is-selected{filter:drop-shadow(0 0 8px #ff596499)}.placed-piece-wrap.is-prefill{animation:.28s cubic-bezier(.2,.9,.3,1.25) both prefill-drop}@keyframes prefill-drop{0%{opacity:0;transform:translateY(-12px)scale(.82)}60%{opacity:1;transform:translateY(2px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}.die-block{cursor:default;background:linear-gradient(145deg,#fff 0%,#f4ede2 100%);border:1.5px solid #3c2d1e24;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:3px;box-shadow:0 4px 8px #3c2d1e1f,inset 0 1px 2px #fff,inset 0 -2px 3px #3c2d1e14}.die-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.die-text{font-family:Space Mono,monospace;font-weight:800;font-size:clamp(13px,calc(var(--cell-size)*.32),22px);color:#382c24;letter-spacing:-.04em;text-shadow:0 1px #fffc,0 -1px #0000001f}.die-dot{background:#3c2d1e40;border-radius:50%;width:4px;height:4px;position:absolute}.die-dot-tl{top:5px;left:5px}.die-dot-br{bottom:5px;right:5px}.die-block.rolling{animation:.9s cubic-bezier(.2,.8,.25,1.25) both die-tumble-in}@keyframes die-tumble-in{0%{transform:translateY(-340%)rotate(var(--die-tilt,-140deg))scale(.6);opacity:0}60%{transform:translateY(8%)rotate(calc(var(--die-tilt,-140deg)*.12))scale(1.08);opacity:1}80%{transform:translateY(-6%)rotate(calc(var(--die-tilt,-140deg)*-.05))scale(1.02)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}.blocks-dock-container{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.dock-actions-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.dock-action-group{align-items:center;gap:6px;display:inline-flex}.dock-tool-btn{background:var(--b-surface);color:var(--b-ink);box-shadow:var(--b-shadow-sm);cursor:pointer;border:1px solid #3c2d1e1a;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex}.dock-tool-btn:hover:not(:disabled){background:var(--b-surface-warm);box-shadow:var(--b-shadow-md);transform:translateY(-1.5px)}.dock-tool-btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.dock-tool-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.dock-kbd{color:var(--b-ink-muted);background:#3c2d1e14;border-radius:4px;padding:1px 5px;font-family:Space Mono,monospace;font-size:12px;font-weight:700}.dock-tool-btn.rotate-btn{color:#b45309;background:#fff8f0;border-color:#f59e0b40}.dock-tool-btn.flip-btn{color:#1d4ed8;background:#f0f7ff;border-color:#3b82f640}.dock-tool-btn.hint-btn{color:#6d28d9;background:#faf5ff;border-color:#8b5cf640}.dock-tray-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding:4px 0 6px;display:flex;overflow-x:auto}.dock-tray-scroll::-webkit-scrollbar{display:none}.dock-tray-inner{align-items:center;gap:10px;margin:0 auto;padding:2px 4px;display:flex}.tray-card{background:var(--b-surface);min-width:64px;min-height:64px;box-shadow:var(--b-shadow-sm);cursor:grab;touch-action:none;border:2px solid #3c2d1e14;border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.tray-card:hover:not(.is-placed){box-shadow:var(--b-shadow-md);transform:translateY(-2px)}.tray-card:active:not(.is-placed){cursor:grabbing}.tray-card.is-selected{transform:translateY(-4px)}.tray-card.is-placed{opacity:.35;cursor:pointer;box-shadow:none;background:#ffffff80}.card-badges{pointer-events:none;gap:3px;display:flex;position:absolute;top:4px;right:4px}.badge-lock,.badge-placed{border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.badge-lock{color:var(--b-ink-muted);background:#3c2d1e1f}.badge-placed{background:var(--b-teal);color:#fff}.card-piece-preview{justify-content:center;align-items:center;min-width:48px;min-height:48px;display:flex}.card-index-dot{opacity:.6;border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.pose-gallery{scrollbar-width:none;background:#ffffff8c;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;display:flex;overflow-x:auto}.pose-gallery::-webkit-scrollbar{display:none}.pose-chip{cursor:grab;touch-action:none;background:0 0;border:1.5px solid #0000;border-radius:10px;flex:none;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:3px;transition:transform .12s,border-color .12s;display:inline-flex}.pose-chip:active{cursor:grabbing}.pose-chip:hover{border-color:#3c2d1e2e;transform:translateY(-2px)}.pose-chip.is-active{border-color:var(--b-primary);background:#fff5f6}.dock-anchor-note{color:#92610b;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:600;transition:color .15s;display:flex}.anchor-note-dot{background:#f59e0b;border-radius:999px;flex:none;width:8px;height:8px;box-shadow:0 0 0 2px #f59e0b40}.dock-anchor-note.is-warn{color:#b42318;animation:.3s anchor-note-shake}.dock-anchor-note.is-warn .anchor-note-dot{background:#ef4444;box-shadow:0 0 0 2px #ef444438}@keyframes anchor-note-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.dock-cue-banner{text-align:center;color:var(--b-ink-muted);min-height:16px;font-size:12px;font-weight:600}.drag-floating-ghost{pointer-events:none;z-index:100;touch-action:none;filter:drop-shadow(0 16px 24px #3c2d1e47);will-change:transform,left,top;position:fixed}.blocks-game-root.is-gated>:not(.blocks-auth-backdrop){pointer-events:none;-webkit-user-select:none;user-select:none}.blocks-auth-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);background:radial-gradient(at 50% 20%,#ffffff8c 0%,#0000 55%),#2d231985;justify-content:center;align-items:center;padding:20px;animation:.22s fade-in;display:flex;position:fixed;inset:0}.blocks-auth-card{text-align:center;pointer-events:auto;background:#fff;border:1px solid #3c2d1e14;border-radius:28px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px;padding:32px 28px 28px;animation:.28s cubic-bezier(.16,1,.3,1) slide-up;display:flex;position:relative;box-shadow:0 24px 48px -12px #2d231938}.blocks-auth-halo{background:radial-gradient(circle at 40% 35%,#fff7e6,#fde8b0 70%,#f5c15a);border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:4px;display:grid;box-shadow:0 8px 20px #f59e0b47,inset 0 1px #ffffffb3}.blocks-auth-title{letter-spacing:-.02em;color:var(--b-ink);margin:0;font-size:24px;font-weight:800}.blocks-auth-copy{color:var(--b-ink-muted);max-width:28ch;margin:0 0 8px;font-size:14px;line-height:1.45}.blocks-auth-google{flex-direction:column;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:6px;display:flex}.blocks-auth-google-btn{justify-content:center;min-height:44px;display:flex}.blocks-auth-hint{color:var(--b-ink-muted);font-size:12px}.blocks-auth-form{text-align:left;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin-top:8px;display:flex}.blocks-auth-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;align-self:center;width:48px;height:48px;box-shadow:0 4px 12px #3c2d1e1f}.blocks-auth-field{color:var(--b-ink-muted);letter-spacing:.02em;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.blocks-auth-field em{opacity:.65;text-transform:lowercase;font-style:normal;font-weight:500}.blocks-auth-field input{height:44px;color:var(--b-ink);background:#faf7f2;border:1.5px solid #3c2d1e1f;border-radius:14px;outline:none;padding:0 14px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s}.blocks-auth-field input:focus{background:#fff;border-color:#ff59648c;box-shadow:0 0 0 3px #ff59641f}.blocks-auth-error{color:#c0392b;text-align:center;margin:0;font-size:13px;line-height:1.4}.blocks-auth-error code{font-family:Space Mono,monospace;font-size:11px}.blocks-auth-submit{background:var(--b-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;height:48px;margin-top:4px;font-family:inherit;font-size:15px;font-weight:800;transition:transform .12s,background .12s,opacity .12s;box-shadow:0 4px 14px #ff596459}.blocks-auth-submit:hover:not(:disabled){background:var(--b-primary-dark);transform:translateY(-1px)}.blocks-auth-submit:disabled{opacity:.55;cursor:not-allowed}.blocks-auth-switch{color:var(--b-ink-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:4px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline}.blocks-auth-switch:hover{color:var(--b-ink)}.blocks-auth-divider{width:100%;color:var(--b-ink-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.blocks-auth-divider:before,.blocks-auth-divider:after{content:"";background:#3c2d1e24;flex:1;height:1px}.blocks-auth-skip{color:var(--b-ink-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .12s,background .12s;display:inline-flex}.blocks-auth-skip:hover{color:var(--b-ink);background:#3c2d1e0f}.profile-signed-out{flex-direction:column;gap:12px;padding:4px 0;display:flex}.profile-signed-out .profile-google-note{text-align:center}.levels-drawer-backdrop,.leaderboard-modal-backdrop,.help-modal-backdrop,.victory-modal-backdrop,.fail-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:80;background:#2d231973;justify-content:center;align-items:center;padding:16px;animation:.2s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.levels-drawer-panel,.leaderboard-modal-panel,.help-modal-panel,.victory-modal-card,.fail-modal-card{background:#fff;border:1px solid #3c2d1e14;border-radius:28px;flex-direction:column;width:100%;animation:.25s cubic-bezier(.16,1,.3,1) slide-up;display:flex;box-shadow:0 24px 48px -12px #2d231938}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.drawer-close-btn{width:36px;height:36px;color:var(--b-ink);cursor:pointer;background:#3c2d1e0f;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.drawer-close-btn:hover{background:#3c2d1e1f}.levels-drawer-panel{max-width:680px;max-height:min(85dvh,720px);overflow:hidden}.drawer-header{border-bottom:1px solid #3c2d1e0f;justify-content:space-between;align-items:center;padding:20px 24px 14px;display:flex}.drawer-title{color:var(--b-ink);margin:0;font-size:20px;font-weight:800}.drawer-header-actions{align-items:center;gap:8px;display:flex}.resume-pill-btn{background:var(--b-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:transform .15s;display:inline-flex;box-shadow:0 4px 10px #ff59644d}.resume-pill-btn:hover{transform:translateY(-1px)}.levels-grid-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3c2d1e40 transparent;flex:1;min-height:0;padding:16px 24px 24px;overflow-y:auto}.levels-grid-scroll::-webkit-scrollbar{width:6px}.levels-grid-scroll::-webkit-scrollbar-thumb{background:#3c2d1e40;border-radius:999px}.levels-flat-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:7px;display:grid}.level-tile{aspect-ratio:1;cursor:pointer;content-visibility:auto;contain-intrinsic-size:64px;background:#fdfbf7;border:1.5px solid #3c2d1e14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.level-tile:hover:not(:disabled){border-color:var(--b-primary);box-shadow:var(--b-shadow-sm);background:#fff;transform:translateY(-2px)}.level-tile.is-current{border-color:var(--b-primary);box-shadow:0 0 0 1px var(--b-primary);background:#fff5f6}.level-tile.is-cleared{background:#f2fbf8;border-color:#06d6a073}.level-tile.is-locked{opacity:.4;cursor:default;background:#f5f2eb}.tile-num{color:var(--b-ink);font-family:Space Mono,monospace;font-size:14px;font-weight:700}.level-tile.is-current .tile-num{color:var(--b-primary)}.tile-lock-icon{width:14px;height:14px;color:var(--b-ink-muted)}.lb-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.lb-panel--rail{background:var(--b-surface);box-shadow:var(--b-shadow-md);border:1px solid #3c2d1e14;border-radius:20px}.blocks-board-rail .lb-panel--rail{height:100%}.leaderboard-modal-panel{border-radius:16px;max-width:440px;max-height:min(85dvh,640px);overflow:hidden}.modal-header,.lb-header{border-bottom:1px solid #3c2d1e14;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.lb-header--rail{padding:14px 14px 12px}.lb-title-block{flex-direction:column;gap:10px;min-width:0;display:flex}.lb-title{letter-spacing:-.02em;color:var(--b-ink);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:800;display:inline-flex}.lb-tabs{background:#3c2d1e0d;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.lb-tab{font:inherit;color:var(--b-ink-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;transition:color .15s,background .15s,box-shadow .15s}.lb-tab:hover{color:var(--b-ink)}.lb-tab.active{color:var(--b-ink);background:#fff;box-shadow:0 1px 3px #3c2d1e14}.leaderboard-content,.profile-content{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:8px 12px 16px;overflow-y:auto}.leaderboard-list-scroll{flex-direction:column;gap:4px;min-height:min-content;display:flex}.lb-podium{border-bottom:1px solid #3c2d1e14;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;margin-bottom:4px;padding:4px 2px 12px;display:grid}.lb-podium-card{text-align:center;background:#faf6ee;border:1px solid #3c2d1e0f;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:12px 8px 10px;display:flex}.lb-podium-card.podium-1{background:linear-gradient(#fff8e8 0%,#fff3d6 100%);border-color:#f59e0b47;padding-top:16px;padding-bottom:14px;box-shadow:0 6px 16px #f59e0b1f}.lb-podium-card.is-empty{visibility:hidden;pointer-events:none}.lb-podium-card.is-me{outline-offset:1px;outline:2px solid #ff596459}.lb-podium-rank{letter-spacing:.04em;color:var(--b-ink-muted);background:#3c2d1e0f;border-radius:999px;padding:2px 8px;font-family:Space Mono,monospace;font-size:11px;font-weight:800}.lb-podium-rank.rank-1{color:#9a6b00;background:#f59e0b2e}.lb-podium-rank.rank-2{color:#57534e;background:#78716c24}.lb-podium-rank.rank-3{color:#8b5a2b;background:#b4783c24}.lb-podium-name{color:var(--b-ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:800;overflow:hidden}.lb-podium-cleared{color:var(--b-ink);font-family:Space Mono,monospace;font-size:16px;font-weight:800;line-height:1}.lb-podium-meta{color:var(--b-ink-muted);font-size:12px;font-weight:600}.leaderboard-loading,.leaderboard-empty-state{color:var(--b-ink-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:48px 12px;font-size:13px;display:flex}.leaderboard-empty-state p{max-width:240px;margin:0;line-height:1.45}.loading-spinner{border:2px solid #3c2d1e1f;border-top-color:var(--b-primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lb-col-head{letter-spacing:.06em;text-transform:uppercase;color:var(--b-ink-muted);z-index:1;background:linear-gradient(#fff 70%,#fff0);grid-template-columns:40px 1fr auto;gap:10px;padding:6px 10px 8px;font-size:11px;font-weight:700;display:grid;position:sticky;top:0}.lb-panel--rail .lb-col-head{background:linear-gradient(#fff 70%,#fff0)}.lb-col-head span:last-child{text-align:right}.leaderboard-list{flex-direction:column;gap:4px;display:flex}.leaderboard-item{background:#3c2d1e05;border:1px solid #0000;border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:10px;transition:background .12s,border-color .12s,transform .12s;display:grid}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:hover{background:#3c2d1e0b;border-color:#3c2d1e0f}.leaderboard-item.is-me{background:#ff596414;border-color:#ff59642e;box-shadow:inset 0 0 0 1px #ff596414}.leaderboard-item.top-1 .rank-number{color:#b8860b}.leaderboard-item.top-2 .rank-number{color:#7a7268}.leaderboard-item.top-3 .rank-number{color:#a0673a}.item-rank-badge{color:var(--b-ink-muted);justify-content:center;align-items:center;font-family:Space Mono,monospace;font-size:13px;font-weight:700;display:flex}.rank-number{font-variant-numeric:tabular-nums}.rank-number.medal-1,.rank-number.medal-2,.rank-number.medal-3{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:inline-flex}.rank-number.medal-1{color:#9a6b00;background:#f59e0b29}.rank-number.medal-2{color:#57534e;background:#78716c24}.rank-number.medal-3{color:#8b5a2b;background:#b4783c24}.item-user-info{flex-direction:column;gap:1px;min-width:0;display:flex}.item-name-row{align-items:center;gap:6px;display:flex}.item-player-name{color:var(--b-ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.item-me-pill{color:var(--b-primary);text-transform:lowercase;background:0 0;border-radius:0;padding:0;font-size:12px;font-weight:700}.item-player-site{color:var(--b-ink-muted);align-items:center;gap:3px;width:fit-content;font-size:12px;text-decoration:none;display:inline-flex}.item-player-site:hover{color:var(--b-ink);text-underline-offset:2px;text-decoration:underline}.item-stats-col{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.item-cleared-badge{color:var(--b-ink);font-variant-numeric:tabular-nums;font-family:Space Mono,monospace;font-size:14px;font-weight:700}.item-secondary-stat{color:var(--b-ink-muted);font-variant-numeric:tabular-nums;font-family:Space Mono,monospace;font-size:12px}.profile-stats-card{border:1px solid #3c2d1e1a;border-radius:10px;grid-template-columns:1fr 1fr;gap:0;margin:4px 8px 18px;display:grid;overflow:hidden}.profile-stat-box{background:0 0;border-radius:0;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.profile-stat-box+.profile-stat-box{border-left:1px solid #3c2d1e1a}.stat-title{letter-spacing:.02em;text-transform:uppercase;color:var(--b-ink-muted);font-size:12px;font-weight:600}.stat-val{color:var(--b-ink);font-variant-numeric:tabular-nums;margin-top:0;font-family:Space Mono,monospace;font-size:20px;font-weight:700}.stat-val-of{color:var(--b-ink-muted);font-size:13px;font-weight:600}.profile-form{flex-direction:column;gap:14px;padding:0 8px;display:flex}.profile-google-note{color:var(--b-ink-muted);margin:0;font-size:12px;font-weight:600;line-height:1.4}.profile-form-heading{color:var(--b-ink);margin:0;font-size:16px;font-weight:800}.profile-form-sub{color:var(--b-ink-muted);margin:-6px 0 4px;font-size:12px}.form-field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--b-ink);font-size:13px;font-weight:600}.field-optional{color:var(--b-ink-muted);font-weight:500}.field-input{width:100%;height:42px;color:var(--b-ink);font:inherit;background:#fff;border:1px solid #3c2d1e24;border-radius:10px;outline:none;padding:0 12px;font-size:14px;transition:border-color .15s}.field-input:focus{border-color:var(--b-ink);background:#fff}.profile-save-btn{background:var(--b-ink);color:#fff;height:42px;font:inherit;cursor:pointer;box-shadow:none;border:none;border-radius:10px;margin-top:4px;font-size:14px;font-weight:700;transition:opacity .15s,background .15s}.profile-save-btn:hover:not(:disabled){background:#1a140f;transform:none}.profile-save-btn:disabled{opacity:.35;cursor:default}.form-error-msg{color:#ff4d4f;margin:0;font-size:12px}.form-success-msg{color:var(--b-teal);align-items:center;gap:4px;margin:0;font-size:12px;font-weight:700;display:inline-flex}.victory-modal-card{text-align:center;align-items:center;max-width:300px;padding:28px 24px 22px}.victory-modal-card--simple{gap:0}.victory-icon-halo{background:radial-gradient(circle at 40% 35%,#fff9ed 0%,#fff1d6 55%,#ffe4b8 100%);border:2px solid #ffd89a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;display:flex;box-shadow:0 8px 22px #f59e0b38,inset 0 1px #ffffffd9}.victory-kicker{color:var(--b-ink-muted);margin:0 0 10px;font-size:13px;font-weight:600}.victory-time-hero{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--b-ink);margin:0 0 22px;font-family:Space Mono,monospace;font-size:clamp(36px,8vw,44px);font-weight:800;line-height:1}.victory-action-buttons{gap:8px;width:100%;display:flex}.victory-btn-secondary{width:46px;height:46px;color:var(--b-ink);cursor:pointer;background:#fff;border:1.5px solid #3c2d1e1a;border-radius:999px;flex:0 0 46px;justify-content:center;align-items:center;padding:0;transition:transform .12s,background .12s;display:inline-flex}.victory-btn-secondary:hover{background:#faf6ee;transform:translateY(-1px)}.victory-btn-primary{background:var(--b-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;height:46px;font-size:14px;font-weight:800;transition:transform .12s,background .12s;display:inline-flex;box-shadow:0 4px 14px #ff596459}.victory-btn-primary:hover{background:var(--b-primary-dark);transform:translateY(-1px)}.auto-countdown-pill{background:#ffffff47;border-radius:999px;padding:2px 7px;font-family:Space Mono,monospace;font-size:12px;font-weight:700}.fail-modal-card{text-align:center;align-items:center;max-width:360px;padding:26px 20px 20px;position:relative}.fail-modal-close{position:absolute;top:12px;right:12px}.fail-title{color:#d6333e;margin:0;font-size:22px;font-weight:800}.fail-sub{color:var(--b-ink-muted);margin:8px 0 20px;font-size:13px;line-height:1.5}.fail-actions{flex-direction:column;gap:8px;width:100%;display:flex}.fail-btn-primary{background:var(--b-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:44px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #ff59644d}.help-modal-panel{max-width:520px;max-height:min(85dvh,640px);overflow:hidden}.modal-title-row{align-items:center;gap:8px;display:flex}.modal-title{color:var(--b-ink);margin:0;font-size:18px;font-weight:800}.help-content-scroll{flex-direction:column;gap:18px;padding:16px 20px 24px;display:flex;overflow-y:auto}.help-section{flex-direction:column;gap:8px;display:flex}.help-section-title{color:var(--b-ink);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:800;display:inline-flex}.help-text{color:var(--b-ink-muted);margin:0;font-size:13px;line-height:1.6}.help-feature-list{flex-direction:column;gap:8px;display:flex}.help-feature-item{color:var(--b-ink);align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.feature-bullet{width:20px;height:20px;color:var(--b-primary);background:#faf6ee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:12px;font-weight:800;display:flex}.shortcuts-table{border:1px solid #3c2d1e14;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.shortcut-row{border-bottom:1px solid #3c2d1e0f;grid-template-columns:140px 1fr;align-items:center;padding:8px 12px;font-size:12px;display:grid}.shortcut-row:last-child{border-bottom:none}.shortcut-row:nth-child(2n){background:#faf7f2}.shortcut-keys kbd{color:var(--b-ink);background:#fff;border:1px solid #3c2d1e26;border-radius:4px;padding:2px 6px;font-family:Space Mono,monospace;font-size:12px;font-weight:700;box-shadow:0 1px 2px #3c2d1e14}.shortcut-desc{color:var(--b-ink-muted)}@media (max-width:640px){.blocks-main-wrapper{padding:calc(6px + var(--b-safe-t))8px calc(8px + var(--b-safe-b));gap:4px}.blocks-header{gap:4px;min-height:40px}.header-brand-info{display:none}.level-nav-pill{gap:1px;padding:2px 3px}.level-info-trigger{padding:2px 6px}.level-name{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:13px;overflow:hidden}.level-arrow-btn{width:26px;height:26px}.header-right{gap:4px}.pill-stats{gap:4px;padding-right:6px}.pill-stats .stat-num{font-size:11px}.header-menu-btn{flex-shrink:0;width:32px;height:32px}.board-grid-frame{grid-template-rows:18px 1fr;grid-template-columns:20px 1fr;gap:4px}.axis-label{font-size:11px}.board-tray{border-width:2.5px;border-radius:20px;padding:8px 10px 10px 8px}.stage-zoom-controls{padding:2px 3px;bottom:4px;right:8px}.dock-tool-btn{padding:5px 8px;font-size:12px}.dock-kbd{display:none}.dock-tray-scroll{padding-right:36px}.tray-card{min-width:54px;min-height:54px;padding:6px}.card-piece-preview{min-width:40px;min-height:40px}}@media (prefers-reduced-motion:reduce){.die-block.rolling,.board-tray.rolling-phase,.placed-piece-wrap.is-prefill,.drag-floating-ghost{transition:none!important;animation:none!important}}
