:root[data-theme=light] .g-block-puzzle,.g-block-puzzle{--g-block-puzzle-ground: #172c47;--g-block-puzzle-surface: #203955;--g-block-puzzle-cell: #203955;--g-block-puzzle-cell-alt: #29435f;--g-block-puzzle-text: #f1f7ff;--g-block-puzzle-muted: #c0d2e7;--g-block-puzzle-line: #527295;--g-block-puzzle-gridline: #395673;--g-block-puzzle-boxline: #7493b5;--g-block-puzzle-c1: #69a7ff;--g-block-puzzle-c2: #44dfb0;--g-block-puzzle-c3: #f6bf57;--g-block-puzzle-c4: #f47c9b;--g-block-puzzle-c5: #b49aff;--g-block-puzzle-accent: #88d7ff;--g-block-puzzle-on-accent: #10233b;--g-block-puzzle-highlight: #3e5c79;--g-block-puzzle-bad: #ff9db4;--g-block-puzzle-good: #44dfb0;--g-block-puzzle-sweep: #b3efff;--g-block-puzzle-ring: #ffdc8b;--g-block-puzzle-lift: drop-shadow(0 12px 14px rgb(0 0 0 / .5)) drop-shadow(0 2px 3px rgb(0 0 0 / .4));width:100%;min-width:0;margin:0 auto;position:relative;background:var(--g-block-puzzle-ground)}:root[data-theme=dark] .g-block-puzzle{--g-block-puzzle-ground: #11233c;--g-block-puzzle-surface: #1a304c;--g-block-puzzle-cell: #1c324f;--g-block-puzzle-cell-alt: #243c59}.g-block-puzzle-app{width:min(100%,520px,max(300px,calc(100svh - 400px)));margin:0 auto;display:flex;flex-direction:column;gap:8px;color:var(--g-block-puzzle-text);font-family:var(--mg-font);position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.g-block-puzzle-app [hidden]{display:none!important}.g-block-puzzle-status{display:flex;align-items:center;gap:6px;padding:4px 8px 0;min-height:44px;box-sizing:border-box}.g-block-puzzle-stat{display:flex;flex-direction:column;min-width:0;flex:1 1 0}.g-block-puzzle-stat:nth-child(3){flex:1.4 1 0}.g-block-puzzle-stat-label{font:500 .75rem/1.2 var(--mg-font);color:var(--g-block-puzzle-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-block-puzzle-stat-value{font:700 1.125rem/1.25 var(--mg-font);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-block-puzzle-stat:nth-child(3) .g-block-puzzle-stat-value{font-size:.9375rem}.g-block-puzzle-btn,.g-block-puzzle-foot-size-btn{min-height:44px;min-width:44px;padding:0 12px;box-sizing:border-box;border:1px solid var(--g-block-puzzle-line);border-radius:var(--mg-radius);background:var(--g-block-puzzle-surface);color:var(--g-block-puzzle-text);font:600 .9375rem/1 var(--mg-font);cursor:pointer;white-space:nowrap;flex:none;touch-action:manipulation}.g-block-puzzle-btn:disabled{color:var(--g-block-puzzle-muted);cursor:default;opacity:.75}.g-block-puzzle-new{min-width:64px}.g-block-puzzle-btn--primary{background:var(--g-block-puzzle-accent);border-color:var(--g-block-puzzle-accent);color:var(--g-block-puzzle-on-accent)}.g-block-puzzle-btn:focus-visible,.g-block-puzzle-slot:focus-visible{outline:3px solid var(--g-block-puzzle-accent);outline-offset:2px}.g-block-puzzle-stage{position:relative;width:100%;border-radius:var(--mg-radius);touch-action:none;outline:none}.g-block-puzzle-stage.is-kbd:focus-visible,.g-block-puzzle-stage.is-kbd:focus{outline:3px solid var(--g-block-puzzle-accent);outline-offset:3px}.g-block-puzzle-stage.is-over{touch-action:manipulation}.g-block-puzzle-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);aspect-ratio:1;width:100%;box-sizing:border-box;padding:4px;border-radius:var(--mg-radius);background:var(--g-block-puzzle-surface);border:0;box-shadow:inset 0 0 0 1px var(--g-block-puzzle-line);position:relative}.g-block-puzzle-cell{position:relative;min-width:0;min-height:0;background:var(--g-block-puzzle-cell);box-shadow:inset 0 0 0 .5px var(--g-block-puzzle-gridline)}.g-block-puzzle-cell.is-alt{background:var(--g-block-puzzle-cell-alt)}.g-block-puzzle-cell:nth-child(9n+4),.g-block-puzzle-cell:nth-child(9n+7){border-left:1px solid var(--g-block-puzzle-boxline)}.g-block-puzzle-cell:nth-child(n+28):nth-child(-n+36),.g-block-puzzle-cell:nth-child(n+55):nth-child(-n+63){border-top:1px solid var(--g-block-puzzle-boxline)}.g-block-puzzle-cell:after{content:"";position:absolute;inset:1.5px;border-radius:4px;background:var(--k, transparent);opacity:0}.g-block-puzzle-k1,.g-block-puzzle-g1{--k: var(--g-block-puzzle-c1)}.g-block-puzzle-k2,.g-block-puzzle-g2{--k: var(--g-block-puzzle-c2)}.g-block-puzzle-k3,.g-block-puzzle-g3{--k: var(--g-block-puzzle-c3)}.g-block-puzzle-k4{--k: var(--g-block-puzzle-c4)}.g-block-puzzle-k5{--k: var(--g-block-puzzle-c5)}.g-block-puzzle-cell.is-f:after{opacity:1;background-image:linear-gradient(135deg,#ffffff45 0 12%,transparent 12% 77%,#07182f65 77%),linear-gradient(45deg,transparent 47%,#ffffff18 48% 51%,transparent 52%);box-shadow:inset 2px 2px #ffffff7a,inset -3px -3px #00000052}.g-block-puzzle-cell.is-ghost:after{opacity:1;background:transparent;box-shadow:inset 0 0 0 2px var(--g-block-puzzle-accent);outline:1px dashed var(--g-block-puzzle-accent);outline-offset:-5px}.g-block-puzzle-cell.is-ghost-bad:after{opacity:1;background:transparent;border:2px dashed var(--g-block-puzzle-bad);inset:3px}.g-block-puzzle-cell.is-line:after{opacity:1;background:color-mix(in srgb,var(--k, var(--g-block-puzzle-accent)) 62%,#fff);box-shadow:0 0 0 2px var(--g-block-puzzle-ring),inset 0 2px #ffffff59}.g-block-puzzle-cell.is-line.is-ghost:after{background:color-mix(in srgb,var(--k, var(--g-block-puzzle-accent)) 45%,#fff)}.g-block-puzzle-cell.is-flash:after{opacity:1;background:var(--g-block-puzzle-highlight)}.g-block-puzzle-cell.is-dim{opacity:.4}.g-block-puzzle-cell.is-done:after{opacity:1;background:color-mix(in srgb,var(--g-block-puzzle-good) 28%,transparent)}.g-block-puzzle-cell.is-done.is-f:after{background:color-mix(in srgb,var(--k) 70%,var(--g-block-puzzle-good))}.g-block-puzzle-fx{position:absolute;left:0;top:0;pointer-events:none}.g-block-puzzle-floats{position:absolute;inset:0;pointer-events:none;overflow:visible}.g-block-puzzle-float{position:absolute;transform:translate(-50%,-50%);font:800 1.0625rem/1 var(--mg-font);font-variant-numeric:tabular-nums;color:var(--g-block-puzzle-text);white-space:nowrap;text-shadow:0 0 3px var(--g-block-puzzle-surface),0 0 6px var(--g-block-puzzle-surface);pointer-events:none}.g-block-puzzle-float.is-big{font-size:1.5rem}.g-block-puzzle-float.is-combo{font-size:1.625rem;color:var(--g-block-puzzle-text);padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--g-block-puzzle-surface) 88%,transparent);box-shadow:0 0 0 2px var(--g-block-puzzle-ring);text-shadow:none}.g-block-puzzle-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;touch-action:none;contain:layout style}.g-block-puzzle-tray.is-over{touch-action:manipulation}.g-block-puzzle-slot{position:relative;aspect-ratio:1;max-height:150px;min-height:44px;width:100%;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--g-block-puzzle-line);border-radius:var(--mg-radius);background:var(--g-block-puzzle-surface);color:var(--g-block-puzzle-text);cursor:grab;touch-action:none;overflow:visible;transition:transform .12s ease-out,box-shadow .12s ease-out,background-color .12s}.g-block-puzzle-slot.is-empty{cursor:default;background:transparent;border-style:dashed}.g-block-puzzle-slot.is-sel{box-shadow:0 0 0 3px var(--g-block-puzzle-accent);background:var(--g-block-puzzle-highlight)}.g-block-puzzle-slot.is-sel .g-block-puzzle-piece{transform:translateY(-4px);filter:drop-shadow(0 6px 6px rgb(0 0 0 / .22))}.g-block-puzzle-slot.is-press .g-block-puzzle-piece{transform:scale(.94)}.g-block-puzzle-slot.is-lifted .g-block-puzzle-piece{opacity:.18;transform:none;filter:none}.g-block-puzzle-slot.is-stuck:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--g-block-puzzle-bad) 55%,transparent) 0 3px,transparent 3px 9px);pointer-events:none}.g-block-puzzle-slot.is-stuck{border-color:var(--g-block-puzzle-bad)}.g-block-puzzle-slot.is-stuck .g-block-puzzle-piece{opacity:.55}.g-block-puzzle-piece{position:relative;pointer-events:none;transition:transform .12s ease-out,opacity .12s}.g-block-puzzle-pc{position:absolute;box-sizing:border-box;border:1.5px solid transparent;background-clip:padding-box;background-color:var(--k);background-image:linear-gradient(135deg,#ffffff45 0 12%,transparent 12% 77%,#07182f65 77%),linear-gradient(45deg,transparent 47%,#ffffff18 48% 51%,transparent 52%);border-radius:4px;box-shadow:inset 2px 2px #ffffff7a,inset -3px -3px #00000052}.g-block-puzzle-tray.is-idle .g-block-puzzle-slot:not(.is-empty):not(.is-stuck) .g-block-puzzle-piece{animation:g-block-puzzle-breathe 2.4s ease-in-out infinite}.g-block-puzzle-tray.is-idle .g-block-puzzle-slot:nth-child(2) .g-block-puzzle-piece{animation-delay:.3s}.g-block-puzzle-tray.is-idle .g-block-puzzle-slot:nth-child(3) .g-block-puzzle-piece{animation-delay:.6s}@keyframes g-block-puzzle-breathe{0%,to{transform:none}50%{transform:translateY(-3px) scale(1.03)}}.g-block-puzzle-drag{position:fixed;left:0;top:0;z-index:60;pointer-events:none;will-change:transform;filter:var(--g-block-puzzle-lift)}.g-block-puzzle-drag-piece{position:relative;transform-origin:50% 50%}.g-block-puzzle-slot.is-lifted{cursor:grabbing}.g-block-puzzle-foot{display:grid;min-height:44px;padding:4px 8px 8px;box-sizing:border-box;contain:layout style}.g-block-puzzle-foot>*{grid-area:1 / 1}.g-block-puzzle-foot-row,.g-block-puzzle-foot-size{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.g-block-puzzle-foot-size{visibility:hidden;pointer-events:none}.g-block-puzzle-foot-size-text{margin:0;flex:1 1 auto;min-width:0;font:500 .875rem/1.35 var(--mg-font)}.g-block-puzzle-foot-size.is-end .g-block-puzzle-foot-size-text{font-weight:700;font-size:1rem}.g-block-puzzle-foot-text{margin:0;flex:1 1 auto;min-width:0;text-align:center;font:500 .875rem/1.35 var(--mg-font);color:var(--g-block-puzzle-muted)}.g-block-puzzle-foot.is-end .g-block-puzzle-foot-text{font-weight:700;font-size:1rem;color:var(--g-block-puzzle-text)}.g-block-puzzle-foot.is-end.is-wait .g-block-puzzle-foot-text{text-align:left}.g-block-puzzle-foot.is-end.is-long .g-block-puzzle-foot-text{font-size:.875rem;font-weight:500}.g-block-puzzle-dlg-wrap{position:absolute;inset:0;z-index:1100;display:flex;justify-content:center;align-items:flex-start;padding-top:90px;background:color-mix(in srgb,var(--g-block-puzzle-ground) 62%,transparent)}.g-block-puzzle-dlg{width:min(340px,calc(100% - 16px));box-sizing:border-box;padding:18px;background:var(--g-block-puzzle-surface);border:1px solid var(--g-block-puzzle-line);border-radius:var(--mg-radius);box-shadow:0 14px 40px #00000040}.g-block-puzzle-dlg-title{margin:0 0 6px;font:700 1.125rem/1.3 var(--mg-font)}.g-block-puzzle-dlg-text{margin:0 0 16px;font:400 .9375rem/1.45 var(--mg-font);color:var(--g-block-puzzle-muted)}.g-block-puzzle-dlg-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.g-block-puzzle-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.g-block-puzzle-warm{position:absolute;left:0;top:0;width:1px;height:1px;overflow:clip;opacity:0;pointer-events:none}.g-block-puzzle-warm>*{width:360px}@media(max-width:519px){.g-block-puzzle-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.g-block-puzzle-status .g-block-puzzle-stat-value{font-size:clamp(.875rem,4vw,1rem)}.g-block-puzzle-undo{grid-column:1 / 3;grid-row:2}.g-block-puzzle-new{grid-column:3;grid-row:2}}@media(max-width:359px){.g-block-puzzle-btn,.g-block-puzzle-foot-size-btn{padding:0 8px}.g-block-puzzle-stat-value{font-size:1rem}}@media(prefers-reduced-motion:reduce){.g-block-puzzle-slot,.g-block-puzzle-piece{transition-duration:.1s;transition-property:background-color,opacity,box-shadow}.g-block-puzzle-slot.is-sel .g-block-puzzle-piece,.g-block-puzzle-slot.is-press .g-block-puzzle-piece{transform:none}.g-block-puzzle-tray.is-idle .g-block-puzzle-piece{animation:none!important}}.g-block-puzzle-difficulty{display:flex;gap:4px;padding:4px 8px 0;min-height:44px}.g-block-puzzle-difficulty .g-block-puzzle-btn{flex:1;padding:0 4px;border-radius:4px}.g-block-puzzle-difficulty [aria-pressed=true]{background:var(--g-block-puzzle-accent);color:var(--g-block-puzzle-on-accent);border-color:var(--g-block-puzzle-accent);box-shadow:inset 0 -3px 0 var(--g-block-puzzle-on-accent)}.g-block-puzzle-difficulty-label{margin:auto 0;font-weight:600}.g-block-puzzle-progression{display:flex;gap:10px;align-items:center;padding:0 8px;font-size:.75rem;min-height:16px}.g-block-puzzle-phase-band{display:flex;gap:4px;flex:1}.g-block-puzzle-phase-band span{height:4px;flex:1;background:var(--g-block-puzzle-line)}.g-block-puzzle-phase-band .is-lit{background:var(--g-block-puzzle-c2)}.g-block-puzzle-elements{padding:0 8px;display:grid;grid-template-columns:1fr auto 44px;align-items:center;gap:2px 6px;font-size:.75rem;min-height:62px}.g-block-puzzle-element-hint{grid-column:1/-1;min-height:30px;margin:0;color:var(--g-block-puzzle-muted);line-height:1.25}.g-block-puzzle-help{font-size:.75rem;padding:0 4px;border-radius:4px}.g-block-puzzle-elements [data-multiplier="2"]{border-top:2px double var(--g-block-puzzle-ring)}.g-block-puzzle-elements [data-multiplier="3"]{border-block:3px double var(--g-block-puzzle-ring)}.g-block-puzzle-cell.is-marked>.g-block-puzzle-mark,.g-block-puzzle-pc.is-marked>.g-block-puzzle-mark{display:block;z-index:3;content:"";position:absolute;inset:25%;border:2px solid #10233b;outline:1px solid #fff;background:radial-gradient(circle,#fff 0 15%,transparent 18%);pointer-events:none}.g-block-puzzle-target-fx{position:absolute;box-sizing:border-box;border:3px dashed var(--g-block-puzzle-ring);pointer-events:none}.g-block-puzzle-app{width:min(100%,520px,max(288px,calc(100svh - 470px)));gap:6px}.g-block-puzzle-foot:not(.is-end){min-height:38px}.g-block-puzzle-app{width:min(100%,520px,max(288px,calc(100svh - 520px)))}.g-block-puzzle-progression{flex:none}.g-block-puzzle-foot:not(.is-end) .g-block-puzzle-foot-size{display:none}.g-block-puzzle-foot:not(.is-end){min-height:40px}.g-block-puzzle-elements{min-height:60px;grid-template-columns:1fr auto 44px}.g-block-puzzle-element-hint{min-height:30px}.g-block-puzzle-preparing{padding:16px;color:var(--g-block-puzzle-text)}.g-block-puzzle-app.is-v2 .g-block-puzzle-foot:not(.is-end){display:none}.g-block-puzzle-mark{display:none}.g-block-puzzle-app.is-v2 .g-block-puzzle-feedback{display:grid}.g-block-puzzle-app.is-v2 .g-block-puzzle-feedback>*{grid-area:1/1}.g-block-puzzle-app.is-v2 .g-block-puzzle-foot:not(.is-end){display:grid;visibility:hidden;pointer-events:none}.g-block-puzzle-app.is-v2 .g-block-puzzle-foot:not(.is-end) .g-block-puzzle-foot-size{display:grid}.g-block-puzzle-app.is-v2 .g-block-puzzle-feedback.is-end .g-block-puzzle-elements{visibility:hidden;pointer-events:none}.g-block-puzzle-tray.is-over .g-block-puzzle-slot{touch-action:manipulation}.g-block-puzzle-app.is-v2 .g-block-puzzle-floats{overflow:clip}.g-block-puzzle-app.is-v2{gap:4px}.g-block-puzzle-app.is-v2 .g-block-puzzle-foot-row,.g-block-puzzle-app.is-v2 .g-block-puzzle-foot-size{grid-template-columns:1fr 1fr;gap:4px 8px}.g-block-puzzle-app.is-v2 .g-block-puzzle-foot-text,.g-block-puzzle-app.is-v2 .g-block-puzzle-foot-size-text{grid-column:1/-1;font-size:.75rem;line-height:1.25}.g-block-puzzle-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.g-block-puzzle-status .g-block-puzzle-stat-value{font-size:1rem}.g-block-puzzle-undo{grid-column:1/3;grid-row:2}.g-block-puzzle-new{grid-column:3;grid-row:2}
