.agt-host { position: absolute; inset: 0; overflow: hidden; z-index: 0; isolation: isolate; touch-action: manipulation; }
.agt-host canvas { touch-action: manipulation; }
.agd-start { gap: 1.6cqh; }
.agd-start h1 { font-size: 11cqw; }
.agt-edition { font: 700 3cqw var(--font-mono); letter-spacing: 0.3em; color: var(--gold); margin-top: -1cqh; }
.agt-thumb { width: 30cqw; height: auto; border-radius: 2cqw; transform: perspective(60cqw) rotateX(38deg); box-shadow: 0 3cqw 6cqw rgba(0, 0, 0, 0.6); }
.agd-start a.gt-btn { font-size: 3.4cqw; text-decoration: none; min-width: 64cqw; }
.agd-start .agd-note a { color: var(--primary); }

/* Scanning guide: a ghost of the artwork the camera should see. */
.agt-frame { position: absolute; left: 50%; top: 46%; width: 66cqw; transform: translate(-50%, -50%); opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.agt-frame img { width: 100%; height: auto; display: block; opacity: 0.22; border-radius: 2cqw; }
.agt-frame::before { content: ""; position: absolute; inset: -3cqw; border: 0.8cqw solid rgba(56, 189, 248, 0.9); border-radius: 4cqw; clip-path: polygon(0 0, 22% 0, 22% 6%, 6% 6%, 6% 22%, 0 22%, 0 78%, 6% 78%, 6% 94%, 22% 94%, 22% 100%, 78% 100%, 78% 94%, 94% 94%, 94% 78%, 100% 78%, 100% 22%, 94% 22%, 94% 6%, 78% 6%, 78% 0, 100% 0, 100% 100%, 0 100%); animation: agtPulse 1.6s ease-in-out infinite; }
.agt-frame.show { opacity: 1; }
@keyframes agtPulse { 50% { transform: scale(1.04); opacity: 0.6; } }
