dialog.loop{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--night);color:var(--cream);overflow:hidden}dialog.loop::backdrop{background:var(--night)}html.loop-open{overflow:hidden}.loop-stage{position:absolute;inset:0 0 56px}.loop-cv{position:absolute;left:0;top:0;width:100%;height:100%;display:block;image-rendering:pixelated;outline:none;touch-action:manipulation}.loop-cv:focus-visible{outline:none}.loop-x{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;font:22px/1 var(--ui);color:var(--cream);background:var(--ink-3);border:3px solid var(--night);box-shadow:0 3px 0 var(--night);cursor:pointer}.loop-x:hover{background:var(--line)}.loop-bar{position:absolute;left:0;right:0;bottom:0;height:56px;display:flex;gap:14px;align-items:center;justify-content:center;padding:0 16px;background:var(--night)}.loop-hint{margin:0;font:12px/1.4 var(--ui);color:var(--muted);letter-spacing:.04em;text-align:center}.loop-step{font-size:16px;padding:6px 12px}.loop-star{position:absolute;left:21%;top:13%;z-index:2;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.loop-star svg{width:20px;height:20px;image-rendering:pixelated}.loop-star .arm{animation:loop-twinkle 1.6s steps(1) infinite}@keyframes loop-twinkle{0%,50%{opacity:1}51%,to{opacity:0}}.loop-star:hover svg,.loop-star:focus-visible svg{filter:drop-shadow(0 0 4px #ffd166aa)}@media(prefers-reduced-motion:reduce){.loop-star .arm{animation:none}}
