.wizard-step{opacity:0;pointer-events:none;transition:opacity .4s var(--ease-emphasized-decel),transform .4s var(--ease-emphasized-decel);scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(40px)}.wizard-step::-webkit-scrollbar{display:none}.wizard-step--active{opacity:1;pointer-events:auto;transform:translate(0)}.wizard-content{padding:var(--sp-4)var(--sp-5);text-align:center;justify-content:center;align-items:center;gap:var(--sp-4);flex-direction:column;flex:auto;display:flex}.wizard-title{font-size:var(--fs-display);letter-spacing:-.02em;color:var(--color-text);animation:titleSlideUp .5s var(--ease-emphasized-decel)backwards;margin:0;font-weight:800}.wizard-title--xl{font-size:32px;font-weight:800;line-height:1.15}.wizard-subtitle{font-size:var(--fs-body-l);color:var(--color-text-muted);max-width:28ch;animation:titleSlideUp .5s var(--ease-emphasized-decel).1s backwards;margin:0;line-height:1.5}.wizard-actions{gap:var(--sp-3);padding:var(--sp-3)var(--sp-5)calc(var(--sp-6) + 16px);flex:none;width:100%;display:flex}.wizard-btn{border-radius:var(--r-pill);height:52px;font-size:var(--fs-body-l);letter-spacing:.01em;cursor:pointer;transition:transform .15s var(--ease-emphasized),background .2s var(--ease-standard),opacity .2s var(--ease-standard),box-shadow .2s var(--ease-standard);justify-content:center;align-items:center;gap:var(--sp-2);-webkit-user-select:none;user-select:none;border:none;flex:1 1 0;font-weight:800;display:flex}.wizard-btn:hover{transform:translateY(-1px)}.wizard-btn:active{transform:scale(.96)}.wizard-btn:disabled{cursor:not-allowed;transform:none}.wizard-btn--primary{background:var(--color-primary);color:var(--color-primary-fg);box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary)30%,transparent)}.wizard-btn--primary:hover:not(:disabled){box-shadow:0 6px 22px color-mix(in srgb,var(--color-primary)42%,transparent)}.wizard-btn--secondary{background:var(--color-surface-3);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-surface-4)}.wizard-btn--secondary:hover:not(:disabled){background:var(--color-surface-4)}.wizard-btn--ghost{color:var(--color-text-muted);background:0 0}.wizard-btn--select{height:44px;padding:0 var(--sp-5);border-radius:var(--r-pill);color:var(--color-primary);border:1.5px solid var(--color-primary);font-size:var(--fs-body);letter-spacing:.01em;align-items:center;gap:var(--sp-2);cursor:pointer;transition:background .18s var(--ease-emphasized),transform .15s var(--ease-emphasized),box-shadow .18s var(--ease-standard);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary)18%,transparent);background:0 0;flex:none;font-weight:800;display:inline-flex}.wizard-btn--select:hover{background:color-mix(in srgb,var(--color-primary)12%,transparent);transform:translateY(-1px)}.wizard-btn--select:active{transform:scale(.97)}.wizard-btn--select svg{flex:none}@keyframes titleSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceDot{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.illustration{justify-content:center;align-items:center;width:200px;height:200px;animation:4s ease-in-out infinite float;display:flex}.illustration--lg{width:240px;height:240px}.illustration svg{width:100%;height:100%;overflow:visible}.illustration--clip svg{overflow:hidden}.bg-orbs{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.bg-orb{filter:blur(40px);opacity:.15;border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.palette-grid{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);width:100%;max-width:280px;display:grid}.palette-card{align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--color-surface-2);cursor:pointer;transition:border-color .2s var(--ease-emphasized),transform .15s var(--ease-emphasized);border:2px solid #0000;flex-direction:column;display:flex}.palette-card:active{transform:scale(.95)}.palette-card--active{border-color:var(--color-primary)}.palette-swatch{border-radius:50%;width:48px;height:48px;box-shadow:0 2px 8px #0000004d}.palette-name{font-size:var(--fs-label);color:var(--color-text-muted);font-weight:600}.palette-card--active .palette-name{color:var(--color-text)}.mode-toggle{gap:var(--sp-1);background:var(--color-surface-2);border-radius:var(--r-pill);width:100%;max-width:280px;padding:4px;display:flex}.mode-btn{justify-content:center;align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);font-size:var(--fs-body-s);color:var(--color-text-muted);cursor:pointer;transition:background .2s var(--ease-emphasized),color .2s var(--ease-emphasized);background:0 0;border:none;flex:1 1 0;padding:10px;font-weight:600;display:flex}.mode-btn--active{background:var(--color-primary);color:var(--color-primary-fg)}.perm-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3)var(--sp-4);border-radius:var(--r-md);background:var(--color-surface-2);width:100%;display:flex}.perm-icon{background:var(--color-surface-3);width:40px;height:40px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.perm-info{text-align:left;flex:auto;min-width:0}.perm-title{font-size:var(--fs-body);color:var(--color-text);margin:0;font-weight:700}.perm-desc{font-size:var(--fs-label);color:var(--color-text-muted);margin:0}.perm-toggle{border-radius:var(--r-pill);cursor:pointer;width:44px;height:26px;transition:background .2s var(--ease-emphasized);background:var(--color-surface-4);border:none;flex:none;position:relative}.perm-toggle--on{background:var(--color-primary)}.perm-toggle:after{content:"";background:var(--color-text);width:20px;height:20px;transition:transform .2s var(--ease-emphasized);border-radius:50%;position:absolute;top:3px;left:3px}.perm-toggle--on:after{background:var(--color-primary-fg);transform:translate(18px)}.stats-grid{gap:var(--sp-3);grid-template-columns:repeat(2,1fr);width:100%;max-width:300px;display:grid}.stat-card{align-items:center;gap:var(--sp-1);padding:var(--sp-4)var(--sp-3);border-radius:var(--r-md);background:var(--color-surface-2);border:1px solid var(--color-surface-4);box-shadow:0 2px 8px #0000002e,inset 0 1px 0 color-mix(in srgb,var(--color-bg)8%,transparent);flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.stat-value{color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1}.stat-label{font-size:var(--fs-label);color:var(--color-text-muted);text-align:center;margin-top:var(--sp-1);font-weight:600}@keyframes statValueIn{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.stat-value--anim{animation:statValueIn .7s var(--ease-emphasized-decel)both}.mock-card{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--color-surface-2);border:1px solid var(--color-surface-4);width:100%;max-width:300px;box-shadow:0 4px 14px #0000002e,inset 0 1px 0 color-mix(in srgb,var(--color-bg)6%,transparent);display:flex}.mock-icon{border-radius:var(--r-sm);background:var(--color-primary-container);width:48px;height:48px;color:var(--color-on-primary-container);flex:none;justify-content:center;align-items:center;display:flex}.mock-info{text-align:left;flex:auto;min-width:0}.mock-title{font-size:var(--fs-body);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.mock-desc{font-size:var(--fs-label);color:var(--color-text-muted);margin:0}@keyframes checkmarkDraw{0%{stroke-dashoffset:50px}to{stroke-dashoffset:0}}.checkmark-circle{stroke-dasharray:120;stroke-dashoffset:120px;animation:checkmarkDraw .6s var(--ease-emphasized-decel).2s forwards}.checkmark-check{stroke-dasharray:50;stroke-dashoffset:50px;animation:checkmarkDraw .4s var(--ease-emphasized-decel).6s forwards}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px)rotate(0)}to{opacity:0;transform:translateY(400px)rotate(720deg)}}.confetti{border-radius:2px;width:8px;height:8px;animation:2s ease-in forwards confettiFall;position:absolute}@keyframes cardEntry{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.scanning-pill{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--color-primary)14%,transparent);color:var(--color-primary);font-size:var(--fs-body-s);letter-spacing:.02em;text-transform:uppercase;padding:8px 16px;font-weight:800;display:inline-flex}.scanning-dots{gap:4px;display:inline-flex}.scanning-dots span{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounceDot}.scanning-dots span:nth-child(2){animation-delay:.2s}.scanning-dots span:nth-child(3){animation-delay:.4s}.finish-badge{align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--color-primary)16%,transparent);color:var(--color-primary);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;font-weight:800;display:inline-flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer{background:linear-gradient(90deg,var(--color-surface-2)25%,var(--color-surface-3)50%,var(--color-surface-2)75%);background-size:200% 100%;animation:1.5s infinite shimmer}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
