.pl{width:100%;height:100%;container-type:size}.pl-in{--board:min(calc(100cqw - 20px), calc(100cqh - 124px), 580px);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:10px;display:flex}.pl-head{width:var(--board);grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.pl-stat{border:2px solid var(--line);background:var(--surface-raised);font:600 clamp(.58rem, 2.2cqmin, .8rem) / 1.15 var(--font-hud);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;min-width:0;margin:0;padding:3px 7px;display:flex}.pl-stat strong{font:400 clamp(.9rem, 4cqmin, 1.45rem) / 1.1 var(--font-display);color:var(--text-main);letter-spacing:0;font-variant-numeric:tabular-nums}.pl-stat:last-child strong{color:var(--primary-lime)}.pl-stage{width:var(--board);height:var(--board);flex:none;position:relative}.pl-grid{--cols:4;--cell:calc((var(--board) - 8px) / var(--cols));grid-template-rows:repeat(var(--cols), 1fr);box-sizing:border-box;background:var(--ink);border:2px solid var(--line);touch-action:manipulation;-webkit-user-select:none;user-select:none;gap:0;width:100%;height:100%;padding:2px;display:grid;box-shadow:0 0 0 2px #000,0 0 24px #b6ff3b1f}.pl-row{grid-template-columns:repeat(var(--cols), 1fr);display:grid}.pl-cell{--pipe:#6e6297;--w:24%;background:var(--night);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #3a2e608c;min-width:0;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.pl-cell:hover{background:var(--surface-raised)}}.pl-cell:focus-visible,[data-mount]:focus .pl-cell.is-cursor{outline:3px solid var(--action);outline-offset:-3px;z-index:2}.pl-cell:active .pl-pipe{scale:.92}.pl-cell[aria-disabled=true]{cursor:default}.pl-pipe{transition:transform .14s var(--ease), scale .1s var(--ease);position:absolute;inset:0}.pl-arm,.pl-hub{background:repeating-linear-gradient(45deg, var(--pipe) 0 3px, #6e629759 3px 6px);position:absolute}.pl-arm-up,.pl-arm-down{left:calc(50% - var(--w) / 2);width:var(--w);height:calc(50% + var(--w) / 2)}.pl-arm-up{top:0}.pl-arm-down{bottom:0}.pl-arm-left,.pl-arm-right{top:calc(50% - var(--w) / 2);height:var(--w);width:calc(50% + var(--w) / 2)}.pl-arm-left{left:0}.pl-arm-right{right:0}.pl-hub{left:calc(50% - var(--w) / 2);top:calc(50% - var(--w) / 2);width:var(--w);height:var(--w)}.pl-pipe.is-end .pl-hub{background:var(--night);border:max(2px, calc(var(--cell) * .07)) solid var(--pipe);box-sizing:border-box;width:42%;height:42%;top:29%;left:29%}.pl-cell.is-on{--pipe:var(--primary-lime)}.pl-cell.is-on .pl-arm,.pl-cell.is-on .pl-hub{background:var(--primary-lime)}.pl-cell.is-on .pl-pipe{filter:drop-shadow(0 0 5px #b6ff3ba6)}.pl-cell.is-on .pl-hub:after{content:"";background:var(--ink);position:absolute;inset:22%;transform:rotate(45deg)}.pl-cell.is-on .pl-pipe.is-end .pl-hub{background:var(--primary-lime);border-color:var(--text-main)}.pl-src{background:var(--volt);border:max(2px, calc(var(--cell) * .05)) solid var(--ink);box-sizing:border-box;pointer-events:none;width:40%;height:40%;position:absolute;top:30%;left:30%;box-shadow:0 0 12px #f2ff3db3}.pl-src:after{content:"";background:var(--ink);clip-path:polygon(55% 0,15% 55%,45% 55%,35% 100%,85% 40%,55% 40%);position:absolute;inset:26%}.pl-cell.is-source{background:var(--surface-hover)}.pl-banner{text-align:center;z-index:3;animation:pl-in .22s var(--ease);background:#0b0814d6;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.pl-banner[hidden]{display:none}.pl-banner-title{font:400 clamp(1.1rem, 6cqmin, 2.2rem) / 1.05 var(--font-display);color:var(--primary-lime);margin:0}.pl-banner-text{max-width:34ch;font:500 clamp(.75rem, 2.8cqmin, 1rem) / 1.35 var(--font-hud);color:var(--text-main);margin:0}@keyframes pl-in{0%{opacity:0}}.pl-foot{width:var(--board);justify-content:space-between;align-items:center;gap:8px;display:flex}.pl-progress{font:600 clamp(.62rem, 2.3cqmin, .85rem) / 1.2 var(--font-hud);color:var(--text-secondary);text-align:right;margin:0}.pl-btn{border:2px solid var(--line);background:var(--ink);min-height:34px;color:var(--text-main);font:600 clamp(.66rem, 2.4cqmin, .85rem) / 1 var(--font-hud);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;white-space:nowrap;padding:0 12px}.pl-btn:disabled{opacity:.45;cursor:not-allowed}.pl-btn:focus-visible{outline:3px solid var(--text-main);outline-offset:2px}.pl-btn-main{background:var(--primary-lime);border-color:var(--primary-lime);min-height:44px;color:var(--ink);box-shadow:4px 4px 0 var(--hot-pink);padding:0 20px}@media (hover:hover) and (pointer:fine){.pl-btn:not(:disabled):hover{border-color:var(--action)}}@container (width<=440px){.pl-in{--board:min(calc(100cqw - 10px), calc(100cqh - 88px));gap:6px;padding:5px}.pl-head{gap:4px}.pl-stat{letter-spacing:0;padding:2px 4px;font-size:.52rem}.pl-stat strong{font-size:.95rem}.pl-foot .pl-btn{letter-spacing:0;min-height:32px;padding:0 8px;font-size:.66rem}.pl-progress{font-size:.66rem}}.pl--snap .pl-pipe,.pl--still .pl-pipe{transition:none}.pl--still .pl-banner{animation:none}@media (prefers-reduced-motion:reduce){.pl-pipe{transition:none}.pl-banner{animation:none}}
