        #spin-qubit-v2 { padding: 0; height: 100%; }
        #spin-stage { position: absolute; inset: 0; overflow: hidden; user-select: none; }
        #spin-stage canvas { display: block; }
        #spin-stage #label-layer { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
        #spin-stage .object-label {
            position: absolute; left: 0; top: 0; opacity: 0;
            color: #303030; font-size: .32em; font-weight: 700; line-height: 1;
            text-shadow: 0 0 .3em #fff, 0 0 .3em #fff;
            transform: translate(-50%, -50%); white-space: nowrap;
        }
        #spin-stage .dac-label { color: #fff; font-size: .24em; text-shadow: none; }
        #spin-stage .dac-title { color: #4d5966; font-size: .26em; text-shadow: none; }
        #spin-stage .blocked-symbol { font-size: .9em; text-shadow: 0 0 .2em #fff; }
        #spin-stage #spin-caption {
            position: absolute; top: .55em; left: 50%; transform: translateX(-50%);
            z-index: 2; width: max-content; max-width: 88%; padding: .18em .55em;
            color: #262626; background: rgba(255,255,255,.82); border-radius: .25em;
            font-size: .58em; font-weight: 600; line-height: 1.2; pointer-events: none;
        }
        #spin-stage #spin-beat-hint {
            position: absolute; left: 1.6em; bottom: 1.1em; z-index: 2;
            color: #999; font-size: .42em; pointer-events: none;
        }
        .reveal .failure { color: #d0342c; }
    
