.PedagogicalRotationVisualizer-module__23YY_W__container{align-items:center;gap:var(--space-md);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);background:#ffffff0a;border:1px solid #ffffff1a;flex-shrink:0;width:100%;min-height:72px;display:flex;box-shadow:0 4px 20px #0003}.PedagogicalRotationVisualizer-module__23YY_W__graphicBox{flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.PedagogicalRotationVisualizer-module__23YY_W__svgCube{filter:drop-shadow(0 4px 12px #0006);width:100%;height:100%}.PedagogicalRotationVisualizer-module__23YY_W__animatedArrow{stroke-dasharray:100;stroke-dashoffset:100px;animation:1.5s ease-in-out infinite alternate PedagogicalRotationVisualizer-module__23YY_W__drawArrow}@keyframes PedagogicalRotationVisualizer-module__23YY_W__drawArrow{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.PedagogicalRotationVisualizer-module__23YY_W__instruction{flex-direction:column;gap:4px;display:flex}.PedagogicalRotationVisualizer-module__23YY_W__actionBadge{border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;width:fit-content;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.PedagogicalRotationVisualizer-module__23YY_W__kidFriendlyText{color:var(--text-primary);font-size:.9rem;line-height:1.4}.PedagogicalRotationVisualizer-module__23YY_W__fromLabel{color:var(--accent-secondary);text-transform:uppercase;vertical-align:middle;background:#ffffff14;border-radius:4px;margin-right:4px;padding:1px 6px;font-size:.75rem;font-weight:600}.PedagogicalRotationVisualizer-module__23YY_W__kidFriendlyText strong{color:#fff;font-weight:600}
.ScanAssistantOverlay-module__fZYUIq__overlay{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.3s ease-out ScanAssistantOverlay-module__fZYUIq__fadeIn;display:flex;position:absolute;inset:12px}.ScanAssistantOverlay-module__fZYUIq__overlayWarning{background:#ff444426;border:2px solid #f446}.ScanAssistantOverlay-module__fZYUIq__overlaySuccess{animation:ScanAssistantOverlay-module__fZYUIq__successPop .5s var(--transition-spring);background:#44cc4426;border:2px solid #4c46}.ScanAssistantOverlay-module__fZYUIq__content{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.ScanAssistantOverlay-module__fZYUIq__message{font-family:var(--font-heading);color:#fff;text-shadow:0 2px 10px #00000080;font-size:1.4rem;font-weight:800;line-height:1.2}.ScanAssistantOverlay-module__fZYUIq__iconWrapper{font-size:3rem;animation:2s linear infinite ScanAssistantOverlay-module__fZYUIq__rotateIcon}.ScanAssistantOverlay-module__fZYUIq__swatch{border:2px solid #ffffff80;border-radius:6px;width:24px;height:24px}.ScanAssistantOverlay-module__fZYUIq__colorContext{color:#fffc;align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.ScanAssistantOverlay-module__fZYUIq__pulseContainer{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ScanAssistantOverlay-module__fZYUIq__pulseInner{background:var(--accent-secondary);border-radius:50%;width:24px;height:24px;animation:1.2s ease-in-out infinite ScanAssistantOverlay-module__fZYUIq__pulseScale}.ScanAssistantOverlay-module__fZYUIq__checkIcon{animation:ScanAssistantOverlay-module__fZYUIq__checkPop .6s var(--transition-spring);font-size:3.5rem}@keyframes ScanAssistantOverlay-module__fZYUIq__fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes ScanAssistantOverlay-module__fZYUIq__rotateIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ScanAssistantOverlay-module__fZYUIq__successPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes ScanAssistantOverlay-module__fZYUIq__pulseScale{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #00d4aa66}50%{opacity:0;transform:scale(1.8);box-shadow:0 0 0 20px #00d4aa00}}@keyframes ScanAssistantOverlay-module__fZYUIq__checkPop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}
.scan-page{background:radial-gradient(circle at top right, #6c63ff24, transparent 34%), radial-gradient(circle at bottom left, #00d4aa1f, transparent 30%), var(--bg-primary);flex-direction:column;min-height:100dvh;display:flex}.scan-page__panel{gap:var(--space-md);flex-direction:column;flex-grow:1;display:flex}.scan-page__summary{justify-content:space-between;gap:var(--space-md);align-items:flex-start;display:flex}.scan-page__counter{color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:600}.scan-page__face-title{margin-top:var(--space-xs)}.scan-page__instruction{color:var(--text-secondary)}.scan-page__progress{gap:var(--space-sm);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.scan-page__face-chip{border-radius:var(--radius-md);border:1px solid var(--bg-glass-border);min-height:44px;color:var(--text-secondary);transition:transform var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);background:#ffffff0a}.scan-page__face-chip--done{color:var(--text-primary);background:#00d4aa1f;border-color:#00d4aa59}.scan-page__face-chip--active{color:#fff;background:var(--gradient-button);box-shadow:var(--shadow-glow-primary);border-color:#0000}.scan-page__status{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid #0000;font-size:.95rem}.scan-page__status--warn{color:#ffd7a2;background:#ff8c001f;border-color:#ff8c0033}.scan-page__status--soft{color:#d1ceff;background:#6c63ff1f;border-color:#6c63ff33}.scan-page__status--ready{color:#b8fff0;background:#00d4aa1f;border-color:#00d4aa33}.scan-page__actions{gap:var(--space-sm);bottom:calc(var(--safe-area-bottom) + var(--space-sm));z-index:var(--z-sticky);padding:var(--space-sm);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(18px);background:#0f0f1aeb;border:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;margin-top:auto;display:flex;position:sticky;box-shadow:0 14px 40px #0000005c}.scan-page__cameraWrapper{flex-direction:column;flex-grow:1;display:flex;position:relative}.scan-page__captureAssist{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;display:flex}.scan-page__captureAssistHeader{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.scan-page__captureAssistHeader strong{font-size:.95rem}.scan-page__captureAssistHeader span{color:var(--accent-secondary);font-size:.9rem;font-weight:700}.scan-page__autocaptureNotice{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:#b8fff0;background:#00d4aa1f;border:1px solid #00d4aa33;font-size:.92rem}.scan-page__assistCard{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);background:#6c63ff14;border:1px solid #6c63ff38;flex-direction:column;display:flex}.scan-page__assistHeader{justify-content:space-between;gap:var(--space-md);align-items:center;display:flex}.scan-page__assistMeta{border-radius:var(--radius-full);color:#d7d4ff;width:fit-content;font-family:var(--font-mono);background:#0000003d;padding:6px 10px;font-size:.82rem;display:inline-flex}.scan-page__captured-list{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.scan-page__captured-card{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--bg-glass-border);color:var(--text-primary);text-align:left;background:#ffffff08;flex-direction:column;display:flex}.scan-page__captured-header{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.82rem;display:flex}.scan-page__captured-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.scan-page__captured-cell{aspect-ratio:1;border-radius:var(--radius-xs);border:1px solid #ffffff14}.scan-stage{flex-direction:column;flex-grow:1;min-height:0;display:flex;overflow:hidden}.scan-stage__frame{border-radius:calc(var(--radius-lg) - 4px);aspect-ratio:1;background:linear-gradient(#ffffff0a,#00000029),#05050d;justify-content:center;align-items:center;width:100%;max-height:480px;margin:0 auto;display:flex;position:relative;overflow:hidden}.scan-stage__video{object-fit:cover;width:100%;height:100%}.scan-stage__canvas{display:none}.scan-stage__overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.scan-stage__grid--interactive{pointer-events:auto}.scan-stage__grid{aspect-ratio:1;border-radius:calc(var(--radius-lg) + 4px);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0808122e;border:1px solid #ffffff38;grid-template-columns:repeat(3,1fr);gap:8px;width:min(68vw,312px);max-width:78%;padding:12px;display:grid;box-shadow:0 0 0 999px #00000024}.scan-stage__cell{border-radius:var(--radius-md);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #ffffff38}.scan-stage__cell--interactive{cursor:pointer}.scan-stage__cell--interactive:hover{border-color:#ffffff5c;transform:translateY(-1px)}.scan-stage__cell--selected{border-color:#ffffffeb;box-shadow:0 0 0 2px #ffffff2e,0 0 20px #6c63ff38}.scan-stage__cell--unknown{background-image:linear-gradient(135deg,#ffffff05,#ffffff14)}.scan-stage__footer{gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-md);flex-direction:column;display:flex}.scan-stage__status{font-weight:600}.scan-stage__status--pending{color:var(--text-secondary)}.scan-stage__status--ready{color:#b8fff0}.scan-stage__status--error{color:#ffd7a2}.scan-stage__hint,.scan-stage__meta{color:var(--text-secondary);font-size:.9rem}.scan-stage__fallback{gap:var(--space-sm);flex-wrap:wrap;display:flex}.scan-stage__assist{gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-lg);background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;display:flex}.scan-stage__editor{gap:var(--space-sm);flex-direction:column;display:flex}.scan-stage__editorHint{color:var(--text-secondary);font-size:.88rem}.scan-stage__palette{flex-wrap:wrap;gap:6px;display:flex}.scan-stage__paletteButton{border-radius:var(--radius-full);min-height:38px;color:var(--text-primary);transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:0 10px;font-size:.82rem;display:inline-flex}.scan-stage__paletteButton:hover:not(:disabled){border-color:#ffffff38;transform:translateY(-1px)}.scan-stage__paletteButton:disabled{opacity:.45;cursor:not-allowed}.scan-stage__paletteButton--ghost{color:var(--text-secondary);border-style:dashed}.scan-stage__paletteSwatch{border:1px solid #ffffff2e;border-radius:999px;width:16px;height:16px}.scan-stage__assistMessage{color:var(--text-secondary);font-size:.9rem}@media (max-width:560px){.scan-page__panel{gap:var(--space-md)}.scan-page__summary{gap:var(--space-sm);flex-direction:column}.scan-page__progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.scan-page__captureAssist{padding:var(--space-sm) var(--space-md)}.scan-page__captureAssist .route-shell__copy{display:none}.scan-stage__grid{gap:8px;width:min(64vw,252px);padding:10px}.scan-stage__frame{flex-grow:0;max-height:400px}.scan-stage__footer{padding:var(--space-sm)}.scan-stage__palette{gap:4px}.scan-stage__paletteButton{min-height:34px;padding:0 9px;font-size:.76rem}}
