.glass-orb{background:rgba(255,255,255,.45);backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.7),0 0 40px rgba(133,101,205,.12)}.glass-orb:hover{background:rgba(255,255,255,.6)}.dark .glass-orb{background:rgba(255,255,255,.12);backdrop-filter:blur(48px) saturate(1.8);-webkit-backdrop-filter:blur(48px) saturate(1.8);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.14),0 0 50px rgba(133,101,205,.2)}.dark .glass-orb:hover{background:rgba(255,255,255,.18)}.driver-active *,.driver-active .driver-overlay{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:focus,.driver-popover-close-btn:hover{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:focus,.driver-popover-footer button:hover{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start,.driver-popover-arrow-side-top.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end,.driver-popover-arrow-side-top.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center,.driver-popover-arrow-side-top.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}:root{--color-card:hsl(var(--card));--color-foreground:hsl(var(--foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-border:hsl(var(--border));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground))}.dalea-tutorial-popover{background-color:hsl(var(--card))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))!important;border-radius:12px!important;box-shadow:0 8px 32px rgba(0,0,0,.18)!important;min-width:320px!important}.dalea-tutorial-popover .driver-popover-title{font-size:1rem;font-weight:600;line-height:1.4}.dalea-tutorial-popover .driver-popover-description{font-size:.875rem;line-height:1.6;color:hsl(var(--muted-foreground))}.dalea-tutorial-popover .driver-popover-close-btn{color:hsl(var(--muted-foreground))}.dalea-tutorial-popover .driver-popover-close-btn:focus,.dalea-tutorial-popover .driver-popover-close-btn:hover{color:hsl(var(--foreground))}.dalea-tutorial-popover .driver-popover-progress-text{color:hsl(var(--muted-foreground))}.dalea-tutorial-popover .driver-popover-footer{margin-top:12px;gap:8px;row-gap:8px;flex-wrap:wrap}.dalea-tutorial-popover .driver-popover-progress-text{min-width:0}.dalea-tutorial-popover .driver-popover-navigation-btns{flex-wrap:wrap;gap:8px;min-width:0}.dalea-tutorial-popover .driver-popover-footer button{background-color:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));text-shadow:none}.dalea-tutorial-popover .driver-popover-footer button:focus,.dalea-tutorial-popover .driver-popover-footer button:hover{background-color:hsl(var(--muted))}.dalea-tutorial-popover .driver-popover-next-btn,.dalea-tutorial-popover .driver-popover-prev-btn{border-radius:8px;font-size:.8125rem;font-weight:500;padding:6px 16px;white-space:normal;overflow-wrap:anywhere;max-width:100%;min-width:0;text-align:center;line-height:1.25}.dalea-tutorial-popover .driver-popover-next-btn{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));text-shadow:none}.dalea-tutorial-popover .driver-popover-next-btn:focus,.dalea-tutorial-popover .driver-popover-next-btn:hover{background-color:hsl(var(--primary)/.9)}.dalea-tutorial-popover .driver-popover-prev-btn{color:hsl(var(--muted-foreground))}.dalea-tutorial-popover~.driver-popover-arrow-side-left{border-left-color:hsl(var(--card))}.dalea-tutorial-popover~.driver-popover-arrow-side-right{border-right-color:hsl(var(--card))}.dalea-tutorial-popover~.driver-popover-arrow-side-top{border-top-color:hsl(var(--card))}.dalea-tutorial-popover~.driver-popover-arrow-side-bottom{border-bottom-color:hsl(var(--card))}.dalea-tutorial-wide{max-width:440px!important;min-width:400px!important}.dalea-tutorial-wide .driver-popover-description{font-size:.875rem;line-height:1.7}.tutorial-illustration{display:flex;justify-content:center;margin-bottom:16px}.tutorial-illustration svg{width:100%;max-width:180px;height:auto}.tutorial-illustration-scene svg{max-width:300px}.tutorial-badge{display:inline-block;padding:1px 8px;border-radius:6px;font-size:.75rem;font-weight:600;letter-spacing:.01em;vertical-align:middle}.tutorial-badge-container-type,.tutorial-badge-org,.tutorial-badge-placement,.tutorial-badge-state-staged{background-color:hsl(var(--primary)/.12);color:hsl(var(--primary))}.tutorial-badge-state-available,.tutorial-badge-state-created,.tutorial-badge-workspace{background-color:hsl(var(--info)/.12);color:hsl(var(--info))}.tutorial-badge-project,.tutorial-badge-state-placed{background-color:hsl(var(--success)/.14);color:hsl(var(--success))}.tutorial-badge-container,.tutorial-badge-state-checked-out{background-color:hsl(var(--warning)/.16);color:hsl(var(--warning))}.tutorial-badge-item,.tutorial-badge-item-type{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.tutorial-badge-lot{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.tutorial-badge-state-discarded{background-color:hsl(var(--destructive)/.14);color:hsl(var(--destructive))}.tutorial-badge-learn{background-color:hsl(var(--primary)/.1);color:hsl(var(--primary))}.tutorial-welcome-finale{display:flex;justify-content:center;align-items:center;margin:18px 0 4px;text-align:center}.tutorial-welcome-finale-text{display:inline-block;font-size:1.25rem;font-weight:700;letter-spacing:.01em;background:linear-gradient(90deg,#8565cd 0,#c393e2 25%,hsl(var(--primary)) 50%,#c393e2 75%,#8565cd 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:tutorial-welcome-shimmer 3.5s linear infinite,tutorial-welcome-pop .6s ease-out both}@keyframes tutorial-welcome-shimmer{to{background-position:200%}}@keyframes tutorial-welcome-pop{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tutorial-deco-pulse{0%{box-shadow:var(--tutorial-deco-base-shadow,0 0 0 0 transparent),0 0 0 0 hsl(var(--tutorial-deco-pulse-color,var(--primary))/.7),0 0 0 0 hsl(var(--tutorial-deco-pulse-color,var(--primary))/.35);transform:scale(1)}40%{box-shadow:var(--tutorial-deco-base-shadow,0 0 0 0 transparent),0 0 0 calc(8px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-pulse-color,var(--primary))/.18),0 0 calc(16px * var(--tutorial-deco-scale, 1)) calc(4px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-pulse-color,var(--primary))/.4);transform:scale(var(--tutorial-deco-pop,1.07))}to{box-shadow:var(--tutorial-deco-base-shadow,0 0 0 0 transparent),0 0 0 calc(14px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-pulse-color,var(--primary))/0),0 0 0 0 hsl(var(--tutorial-deco-pulse-color,var(--primary))/0);transform:scale(1)}}.dalea-tutorial-popover .driver-popover-next-btn.dalea-tutorial-next-ready{--tutorial-deco-pulse-color:var(--primary);animation:tutorial-deco-pulse 1.2s ease-out 2}.tutorial-deco--gold-ring{box-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--tutorial-gold))/.9),0 0 calc(16px * var(--tutorial-deco-scale, 1)) calc(4px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-color,var(--tutorial-gold))/.35);border-radius:var(--tutorial-deco-radius,12px)}.tutorial-deco--primary-ring{box-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--primary))/.9),0 0 calc(16px * var(--tutorial-deco-scale, 1)) calc(4px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-color,var(--primary))/.35);border-radius:var(--tutorial-deco-radius,12px)}.tutorial-deco--accent-ring{box-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--accent-foreground))/.9),0 0 calc(16px * var(--tutorial-deco-scale, 1)) calc(4px * var(--tutorial-deco-scale, 1)) hsl(var(--tutorial-deco-color,var(--accent-foreground))/.35);border-radius:var(--tutorial-deco-radius,12px)}.tutorial-deco--accent-pulse,.tutorial-deco--gold-pulse,.tutorial-deco--primary-pulse{--tutorial-deco-pop:1;border-radius:var(--tutorial-deco-radius,12px);animation:tutorial-deco-pulse var(--tutorial-deco-duration,2s) ease-out infinite}.tutorial-deco--gold-pulse{--tutorial-deco-pulse-color:var(--tutorial-deco-color,var(--tutorial-gold));--tutorial-deco-base-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--tutorial-gold))/0.9);--tutorial-deco-duration:2s}.tutorial-deco--primary-pulse{--tutorial-deco-pulse-color:var(--tutorial-deco-color,var(--primary));--tutorial-deco-base-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--primary))/0.9);--tutorial-deco-duration:2.8s}.tutorial-deco--accent-pulse{--tutorial-deco-pulse-color:var(--tutorial-deco-color,var(--accent-foreground));--tutorial-deco-base-shadow:0 0 0 3px hsl(var(--tutorial-deco-color,var(--accent-foreground))/0.9);--tutorial-deco-duration:3.2s}.tutorial-deco--speed-slow{--tutorial-deco-duration:3.6s}.tutorial-deco--speed-normal{--tutorial-deco-duration:2s}.tutorial-deco--speed-fast{--tutorial-deco-duration:1.1s}.tutorial-deco--size-sm{--tutorial-deco-scale:0.6}.tutorial-deco--size-md{--tutorial-deco-scale:1}.tutorial-deco--size-lg{--tutorial-deco-scale:1.6}.tutorial-group-decoration{position:fixed;pointer-events:none;z-index:10001}@media (prefers-reduced-motion:reduce){.dalea-tutorial-popover .driver-popover-next-btn.dalea-tutorial-next-ready,.tutorial-deco--accent-pulse,.tutorial-deco--gold-pulse,.tutorial-deco--primary-pulse{animation:none}}.tutorial-flow{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 4px}.tutorial-flow-item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--color-foreground,#1a1a1a)}.tutorial-flow-icon{width:22px;height:22px;padding:4px;border-radius:8px;background-color:var(--color-muted,#f3f4f6);color:var(--color-primary,#6366f1);box-sizing:content-box}.tutorial-flow-arrow{font-size:.875rem;color:var(--color-muted-foreground,#9ca3af);margin-bottom:16px}.dark .tutorial-flow-icon,:root[data-theme=dark] .tutorial-flow-icon{background-color:var(--color-muted,#1f2937)}.tutorial-hierarchy{margin:14px 0;font-size:.8125rem}.tutorial-hierarchy-nest{border-radius:8px;border:1px solid;padding:8px}.tutorial-hierarchy-label{display:flex;align-items:center;gap:6px;margin-bottom:6px}.tutorial-hierarchy-nest.level-item .tutorial-hierarchy-label,.tutorial-hierarchy-nest.level-lot .tutorial-hierarchy-label,.tutorial-hierarchy-nest.level-placement .tutorial-hierarchy-label,.tutorial-hierarchy-nest.level-project .tutorial-hierarchy-label{margin-bottom:0}.tutorial-hierarchy-nest.level-container-type,.tutorial-hierarchy-nest.level-org,.tutorial-hierarchy-nest.level-placement{background-color:hsl(var(--primary)/.08);border-color:hsl(var(--primary)/.4);color:hsl(var(--primary))}.tutorial-hierarchy-nest.level-workspace{background-color:hsl(var(--info)/.08);border-color:hsl(var(--info)/.4);color:hsl(var(--info))}.tutorial-hierarchy-nest.level-project{background-color:hsl(var(--success)/.08);border-color:hsl(var(--success)/.4);color:hsl(var(--success))}.tutorial-hierarchy-nest.level-container{background-color:hsl(var(--warning)/.1);border-color:hsl(var(--warning)/.45);color:hsl(var(--warning))}.tutorial-hierarchy-nest.level-item,.tutorial-hierarchy-nest.level-item-type{background-color:hsl(var(--accent));border-color:hsl(var(--accent)/.6);color:hsl(var(--accent-foreground))}.tutorial-hierarchy-nest.level-lot{background-color:hsl(var(--muted));border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.tutorial-hierarchy-icon{width:18px;height:18px;flex-shrink:0}.tutorial-features{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.tutorial-feature{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-foreground,#1a1a1a)}.tutorial-feature-icon{width:16px;height:16px;flex-shrink:0;color:var(--color-primary,#6366f1)}.driver-overlay:has(~.dalea-tutorial-interactive) .driver-overlay-svg{pointer-events:none}.dalea-tutorial-side.driver-popover{top:50%!important;right:24px!important;bottom:auto!important;transform:translateY(-50%)!important}.dalea-tutorial-corner.driver-popover,.dalea-tutorial-side.driver-popover{position:fixed!important;left:auto!important;max-width:340px!important;min-width:300px!important}.dalea-tutorial-corner.driver-popover{top:auto!important;right:20px!important;bottom:80px!important;transform:none!important;max-height:calc(100vh - 120px)!important;overflow-y:auto!important}.dalea-tutorial-corner .driver-popover-arrow{display:none!important}.driver-overlay:has(~.dalea-tutorial-corner){opacity:0!important;pointer-events:none!important}.dalea-tutorial-side.dalea-tutorial-side-wide.driver-popover{max-width:420px!important;min-width:360px!important;max-height:calc(100vh - 48px)!important;overflow-y:auto!important}.dalea-tutorial-side .driver-popover-arrow{display:none!important}.driver-overlay:has(~.dalea-tutorial-side){opacity:0!important;pointer-events:none!important}.tutorial-schema-card{display:flex;align-items:flex-start;gap:4px;margin:14px 0 8px;font-size:.75rem;overflow-x:auto}.tutorial-schema-table{border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--primary));border-radius:8px;overflow:hidden;min-width:110px;flex-shrink:0;background:hsl(var(--card))}.tutorial-schema-header{padding:5px 8px;font-weight:600;font-size:.75rem;background-color:hsl(var(--muted));color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:5px}.tutorial-schema-col{padding:3px 8px;border-top:1px solid hsl(var(--border));display:flex;justify-content:space-between;gap:6px;align-items:center}.tutorial-schema-name{font-weight:500;color:hsl(var(--foreground))}.tutorial-schema-type{font-size:.625rem;padding:1px 5px;border-radius:4px;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tutorial-schema-ref-row{background-color:hsl(var(--primary)/.04)}.schema-ref-amber{background-color:hsl(var(--warning)/.15)!important;color:hsl(var(--warning))!important;font-weight:600}.schema-ref-emerald{background-color:hsl(var(--success)/.15)!important;color:hsl(var(--success))!important;font-weight:600}.tutorial-schema-edge{flex-shrink:0;width:30px;align-self:stretch;position:relative;z-index:1}.tutorial-schema-edge-svg{display:block;width:100%;height:100%;overflow:visible}.schema-edge-amber{color:hsl(var(--warning))}.schema-edge-emerald{color:hsl(var(--success))}.schema-target-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.schema-target-dot.amber{background-color:hsl(var(--warning))}.schema-target-dot.emerald{background-color:hsl(var(--success))}.dark .tutorial-schema-ref-row{background-color:hsl(var(--primary)/.06)}.tutorial-drag-handle-tgt{animation:tutorial-drag-target-pulse 4s ease-in-out infinite}@keyframes tutorial-drag-target-pulse{0%,60%{fill-opacity:.1}70%,80%{fill-opacity:.5;fill:hsl(var(--warning))}95%,to{fill-opacity:.1}}.tutorial-indicator{position:fixed;top:var(--ti-top,auto);right:var(--ti-right,20px);bottom:var(--ti-bottom,20px);left:var(--ti-left,auto);z-index:99999;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background-color:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:0 4px 12px rgba(0,0,0,.1);font-size:.8125rem;pointer-events:auto!important;transition:top .2s ease,right .2s ease,bottom .2s ease,left .2s ease}.tutorial-indicator[data-placement$=-center]{transform:translateX(-50%)}@media (prefers-reduced-motion:reduce){.tutorial-indicator{transition:none}}.tutorial-indicator *,.tutorial-indicator-dropup,.tutorial-indicator-dropup *{pointer-events:auto!important}.tutorial-indicator-content{display:flex;align-items:center;gap:8px}.tutorial-indicator-icon{width:16px;height:16px;color:var(--color-primary,#6366f1);flex-shrink:0}.tutorial-indicator-name{font-weight:600;color:var(--color-foreground,#1a1a1a);white-space:nowrap}.tutorial-indicator-progress,.tutorial-indicator-step-btn{color:var(--color-muted-foreground,#6b7280);font-size:.75rem;white-space:nowrap}.tutorial-indicator-step-btn{display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;font-weight:500;padding:2px 6px;border-radius:4px;transition:background-color .15s,color .15s}.tutorial-indicator-step-btn:hover{background-color:var(--color-muted,#f3f4f6);color:var(--color-foreground,#1a1a1a)}.tutorial-indicator-step-btn svg{width:12px;height:12px;transition:transform .2s}.tutorial-indicator-step-btn.open svg{transform:rotate(180deg)}.tutorial-indicator-dropup{position:absolute;bottom:calc(100% + 8px);right:0;width:280px;max-height:360px;overflow-y:auto;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px;z-index:100000}.tutorial-indicator-dropup-header{padding:6px 8px 4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.tutorial-indicator-step-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:.75rem;color:var(--color-muted-foreground,#9ca3af);transition:background-color .1s;border:none;background:none;width:100%;text-align:left;cursor:default}.tutorial-indicator-step-item.navigable{cursor:pointer;color:var(--color-foreground,#1a1a1a)}.tutorial-indicator-step-item.navigable:hover{background-color:var(--color-muted,#f3f4f6)}.tutorial-indicator-step-item.active{color:var(--color-primary,#6366f1);font-weight:600}.tutorial-indicator-step-item.disabled{opacity:.45}.tutorial-indicator-step-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background-color:var(--color-border,#e5e7eb)}.tutorial-indicator-step-dot.completed{background-color:#22c55e}.tutorial-indicator-step-dot.current{background-color:var(--color-primary,#6366f1);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary,#6366f1) 25%,transparent)}.tutorial-indicator-step-dot.reached{background-color:transparent;box-shadow:inset 0 0 0 2px var(--color-primary,#6366f1)}.tutorial-indicator-step-num{font-size:.625rem;font-weight:600;min-width:18px;color:inherit}.tutorial-indicator-step-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutorial-indicator-segment-divider{height:1px;background-color:var(--color-border,#e5e7eb);margin:4px 8px}.tutorial-indicator[data-placement^=top-] .tutorial-indicator-dropup{bottom:auto;top:calc(100% + 8px)}.tutorial-indicator[data-placement$=-left] .tutorial-indicator-dropup{right:auto;left:0}.tutorial-indicator[data-placement$=-center] .tutorial-indicator-dropup{right:50%;transform:translateX(50%)}.dark .tutorial-indicator-dropup,:root[data-theme=dark] .tutorial-indicator-dropup{box-shadow:0 8px 24px rgba(0,0,0,.35)}.tutorial-indicator-actions{display:flex;align-items:center;gap:4px;margin-left:4px}.tutorial-indicator-action{display:inline-flex;align-items:center;gap:0;border:none;background-color:var(--color-muted,#f3f4f6);color:var(--color-foreground,#1a1a1a);cursor:pointer;border-radius:999px;padding:4px;font-size:.75rem;font-weight:500;line-height:1;transition:background-color .15s,color .15s,gap .18s ease,padding .18s ease,opacity .15s}.tutorial-indicator-action svg{width:14px;height:14px;flex-shrink:0}.tutorial-indicator-action-label{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .18s ease}.tutorial-indicator-action:hover:not(:disabled){gap:4px;padding:4px 10px 4px 6px}.tutorial-indicator-action:hover:not(:disabled) .tutorial-indicator-action-label{max-width:80px}.tutorial-indicator-action:disabled,.tutorial-indicator-action[aria-disabled=true]{opacity:.4;cursor:default;pointer-events:none}.tutorial-indicator-resume{background-color:var(--color-primary,#6366f1);color:var(--color-primary-foreground,#fff)}.tutorial-indicator-resume:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-primary,#6366f1) 85%,black)}.tutorial-indicator-pause{background-color:var(--color-muted,#f3f4f6);color:var(--color-muted-foreground,#6b7280)}.tutorial-indicator-pause:hover:not(:disabled){background-color:var(--color-muted,#e5e7eb);color:var(--color-foreground,#1a1a1a)}.tutorial-indicator-abort{background-color:var(--color-destructive,#dc2626);color:#fff}.tutorial-indicator-abort:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-destructive,#dc2626) 85%,black)}.dark .tutorial-indicator,:root[data-theme=dark] .tutorial-indicator{box-shadow:0 4px 12px rgba(0,0,0,.3)}.tutorial-list-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.tutorial-list-badge-intro{background-color:#dbeafe;color:#2563eb}.tutorial-list-badge-guided{background-color:#fef3c7;color:#d97706}.tutorial-list-badge-advanced{background-color:#fce7f3;color:#db2777}.dark .tutorial-list-badge-intro,:root[data-theme=dark] .tutorial-list-badge-intro{background-color:#1e3a5f;color:#93c5fd}.dark .tutorial-list-badge-guided,:root[data-theme=dark] .tutorial-list-badge-guided{background-color:#451a03;color:#fcd34d}.dark .tutorial-list-badge-advanced,:root[data-theme=dark] .tutorial-list-badge-advanced{background-color:#4a0e2b;color:#f9a8d4}.tutorial-floating-panel{position:fixed;top:var(--ti-top,auto);right:var(--ti-right,auto);bottom:var(--ti-bottom,70px);left:var(--ti-left,50%);z-index:99999;background-color:var(--color-card,#fff);color:var(--color-foreground,#1a1a1a);border:1px solid var(--color-border,#e5e7eb);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.12);max-width:620px;width:-moz-max-content;width:max-content;pointer-events:auto!important;animation:tutorial-floating-panel-enter .25s ease-out;transition:top .2s ease,right .2s ease,bottom .2s ease,left .2s ease}.tutorial-floating-panel[data-placement$=-center]{transform:translateX(-50%)}@media (prefers-reduced-motion:reduce){.tutorial-floating-panel{transition:none}}.tutorial-floating-panel *,.tutorial-floating-panel-toggle{pointer-events:auto!important}@keyframes tutorial-floating-panel-enter{0%{opacity:0}to{opacity:1}}.tutorial-floating-panel-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 12px;border:none;background:none;cursor:pointer;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-foreground,#6b7280);border-radius:12px}.tutorial-floating-panel-toggle:hover{color:var(--color-foreground,#111)}.tutorial-floating-panel-toggle svg{width:14px;height:14px;margin-left:auto;flex-shrink:0}.tutorial-floating-panel-content{padding:4px 14px 12px;color:var(--color-foreground,#1a1a1a);font-size:.875rem;line-height:1.5}.tutorial-floating-panel.collapsed{width:auto}.tutorial-floating-panel.collapsed .tutorial-floating-panel-toggle{padding:6px 14px}.tutorial-floating-hint{margin:8px 0 0;padding:6px 10px;font-size:.72rem;color:var(--color-muted-foreground,#6b7280);background:var(--color-muted,#f3f4f6);border-radius:6px;text-align:center}.tutorial-floating-hint strong{color:var(--color-primary,#6366f1)}.dark .tutorial-floating-panel,:root[data-theme=dark] .tutorial-floating-panel{background-color:hsl(var(--card));color:hsl(var(--foreground));border-color:hsl(var(--border));box-shadow:0 4px 16px rgba(0,0,0,.35)}.dark .tutorial-floating-panel-content,:root[data-theme=dark] .tutorial-floating-panel-content{color:hsl(var(--foreground))}.dark .tutorial-floating-panel-toggle,:root[data-theme=dark] .tutorial-floating-panel-toggle{color:hsl(var(--muted-foreground))}.dark .tutorial-floating-panel-toggle:hover,:root[data-theme=dark] .tutorial-floating-panel-toggle:hover{color:hsl(var(--foreground))}.dark .tutorial-floating-hint,:root[data-theme=dark] .tutorial-floating-hint{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.tutorial-floating-panel-actions{display:flex;justify-content:center;padding:4px 14px 10px}.tutorial-floating-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:500;color:var(--color-primary,#6366f1);background:var(--color-primary,#6366f1) /.08;background:color-mix(in srgb,var(--color-primary,#6366f1) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary,#6366f1) 25%,transparent);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.tutorial-floating-action-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary,#6366f1) 18%,transparent);border-color:color-mix(in srgb,var(--color-primary,#6366f1) 40%,transparent)}.tutorial-floating-action-btn:disabled{opacity:.6;cursor:wait}.tutorial-floating-action-btn-skip{color:var(--color-muted-foreground,#6b7280);background:color-mix(in srgb,var(--color-muted-foreground,#6b7280) 8%,transparent);border-color:color-mix(in srgb,var(--color-muted-foreground,#6b7280) 22%,transparent)}.tutorial-floating-action-btn-skip:hover:not(:disabled){background:color-mix(in srgb,var(--color-muted-foreground,#6b7280) 16%,transparent);border-color:color-mix(in srgb,var(--color-muted-foreground,#6b7280) 36%,transparent)}.tutorial-completion-backdrop{position:fixed;inset:0;background:var(--modal-backdrop-bg,rgba(15,23,42,.42));z-index:99998;animation:tutorial-completion-backdrop-enter .11s cubic-bezier(.2,.9,.2,1);backdrop-filter:blur(22px) saturate(1.16);-webkit-backdrop-filter:blur(22px) saturate(1.16);cursor:pointer}@keyframes tutorial-completion-backdrop-enter{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}.tutorial-completion-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:99999;display:flex;flex-direction:column;background:radial-gradient(circle at 12% 0,rgb(var(--surface-flair-primary,133 101 205)/.12),transparent 34%),radial-gradient(circle at 100% 18%,rgb(var(--surface-flair-secondary,195 147 226)/.09),transparent 30%),var(--surface-frost-overlay,linear-gradient(135deg,hsl(0 0% 100%/.46),hsl(0 0% 100%/.22) 34%,hsl(0 0% 100%/.08) 68%,hsl(0 0% 100%/.24))),var(--surface-dialog-bg,hsl(var(--card)));border:1px solid hsl(var(--border)/.78);border-radius:14px;box-shadow:0 28px 90px rgb(15 23 42/.32),0 0 120px rgb(var(--surface-flair-primary,133 101 205)/.12),inset 0 1px 0 hsl(0 0% 100%/.24),inset 0 -1px 0 hsl(0 0% 100%/.08);padding:18px 20px 14px;width:min(760px,92vw);max-height:90vh;pointer-events:auto;animation:tutorial-completion-modal-enter .11s cubic-bezier(.2,.9,.2,1);backdrop-filter:blur(88px) saturate(1.72) contrast(1.09);-webkit-backdrop-filter:blur(88px) saturate(1.72) contrast(1.09)}@keyframes tutorial-completion-modal-enter{0%{opacity:0;transform:translate(-50%,calc(-50% + 3px)) scale(.986);filter:blur(10px)}72%{opacity:1;filter:blur(1.5px)}to{opacity:1;transform:translate(-50%,-50%);filter:blur(0)}}@media (prefers-reduced-motion:reduce){.tutorial-completion-backdrop,.tutorial-completion-modal{animation:none}}.tutorial-completion-header{text-align:center;margin-bottom:12px}.tutorial-completion-title{margin:0;font-size:1rem;font-weight:600;color:hsl(var(--foreground));line-height:1.3}.tutorial-completion-subtitle{margin:2px 0 0;font-size:.85rem;color:hsl(var(--muted-foreground));line-height:1.3}.tutorial-completion-body{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,1fr);gap:16px;min-height:320px}@media (max-width:720px){.tutorial-completion-body{grid-template-columns:1fr}}.tutorial-completion-tree{position:relative;min-height:320px;border:1px solid var(--color-border,#e5e7eb);border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--color-muted,#f3f4f6) 30%,transparent)}.tutorial-completion-tree .react-flow,.tutorial-completion-tree .react-flow__pane,.tutorial-completion-tree .react-flow__renderer,.tutorial-completion-tree .react-flow__viewport{background:transparent}.tutorial-completion-details{display:flex;flex-direction:column;padding:6px 4px;min-height:320px}.tutorial-completion-recap{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:16px;color:var(--color-muted-foreground,#6b7280)}.tutorial-completion-recap-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;margin-bottom:12px;background:color-mix(in srgb,var(--color-primary,#6366f1) 12%,transparent);color:var(--color-primary,#6366f1)}.tutorial-completion-recap-icon svg{width:18px;height:18px}.tutorial-completion-recap-title{margin:0 0 6px;font-size:.95rem;font-weight:600;color:var(--color-foreground,#111)}.tutorial-completion-recap-description{margin:0 0 14px;font-size:.82rem;line-height:1.5;color:var(--color-muted-foreground,#6b7280)}.tutorial-completion-recap-prompt{margin:0;font-size:.85rem;font-weight:500;color:var(--color-foreground,#111)}.tutorial-completion-detail{display:flex;flex-direction:column;gap:12px;padding:4px}.tutorial-completion-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tutorial-completion-detail-titles{min-width:0}.tutorial-completion-detail-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-foreground,#111);line-height:1.3}.tutorial-completion-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.72rem;color:var(--color-muted-foreground,#6b7280)}.tutorial-completion-detail-meta-item{display:inline-flex;align-items:center;gap:4px}.tutorial-completion-detail-meta-item svg{width:12px;height:12px}.tutorial-completion-detail-difficulty{text-transform:capitalize;padding:1px 6px;border-radius:4px;background:var(--color-muted,#f3f4f6);color:var(--color-foreground,#111)}.tutorial-completion-detail-branch{font-weight:500}.tutorial-completion-detail-recommended{padding:2px 8px;color:var(--color-primary,#6366f1);background:color-mix(in srgb,var(--color-primary,#6366f1) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-primary,#6366f1) 25%,transparent);border-radius:999px}.tutorial-completion-detail-completed,.tutorial-completion-detail-recommended{flex-shrink:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.tutorial-completion-detail-completed{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;color:#16a34a;background:color-mix(in srgb,#22c55e 14%,transparent);border:1px solid color-mix(in srgb,#22c55e 28%,transparent);border-radius:999px}.tutorial-completion-detail-completed svg{width:12px;height:12px}.dark .tutorial-completion-detail-completed,:root[data-theme=dark] .tutorial-completion-detail-completed{color:#4ade80;background:color-mix(in srgb,#22c55e 22%,transparent)}.tutorial-completion-detail-description{margin:0;font-size:.85rem;line-height:1.55;color:var(--color-foreground,#111)}.tutorial-completion-detail-prereqs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tutorial-completion-detail-prereq{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-foreground,#111)}.tutorial-completion-detail-prereq-icon{position:relative;width:14px;height:14px;flex-shrink:0}.tutorial-completion-detail-prereq-icon .prereq-icon-check,.tutorial-completion-detail-prereq-icon .prereq-icon-lock{position:absolute;inset:0;width:14px;height:14px;transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.tutorial-completion-detail-prereq.is-locking .prereq-icon-lock,.tutorial-completion-detail-prereq.is-shaking .prereq-icon-lock,.tutorial-completion-detail-prereq.is-unmet .prereq-icon-lock{opacity:1;color:var(--color-warning,#d97706);transform:scale(1)}.tutorial-completion-detail-prereq.is-locking .prereq-icon-check,.tutorial-completion-detail-prereq.is-shaking .prereq-icon-check,.tutorial-completion-detail-prereq.is-unmet .prereq-icon-check{opacity:0;transform:scale(.4)}.tutorial-completion-detail-prereq.is-shaking .prereq-icon-lock{animation:prereq-lock-dissolve .8s cubic-bezier(.4,0,.6,1) forwards;transform-origin:50% 60%}@keyframes prereq-lock-dissolve{0%{transform:translateX(0) rotate(0deg) scale(1);opacity:1}10%{transform:translateX(-.4px) rotate(-2deg) scale(1);opacity:1}20%{transform:translateX(.4px) rotate(2deg) scale(1);opacity:1}30%{transform:translateX(-.8px) rotate(-5deg) scale(1.02);opacity:1}40%{transform:translateX(.8px) rotate(5deg) scale(1.05);opacity:1}50%{transform:translateX(-1.2px) rotate(-8deg) scale(1.09);opacity:1}60%{transform:translateX(1.3px) rotate(9deg) scale(1.15);opacity:.95}72%{transform:translateX(-1.1px) rotate(-10deg) scale(1.27);opacity:.7}85%{transform:rotate(-11deg) scale(1.42);opacity:.3}to{transform:rotate(-12deg) scale(1.6);opacity:0}}.tutorial-completion-detail-prereq.is-shaking .prereq-icon-check{color:var(--color-success,#16a34a);animation:prereq-check-emerge .4s cubic-bezier(.34,1.56,.64,1) .4s forwards}@keyframes prereq-check-emerge{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.tutorial-completion-detail-prereq.is-just-unlocked .prereq-icon-lock,.tutorial-completion-detail-prereq.is-met .prereq-icon-lock{opacity:0;transform:scale(1.6) rotate(-12deg)}.tutorial-completion-detail-prereq.is-just-unlocked .prereq-icon-check,.tutorial-completion-detail-prereq.is-met .prereq-icon-check{opacity:1;color:var(--color-success,#16a34a);transform:scale(1)}.tutorial-completion-detail-prereq.is-unmet .tutorial-completion-detail-prereq-name{color:var(--color-warning,#d97706);font-weight:500}@media (prefers-reduced-motion:reduce){.tutorial-completion-detail-prereq-icon .prereq-icon-check,.tutorial-completion-detail-prereq-icon .prereq-icon-lock{transition:none}.tutorial-completion-detail-prereq.is-shaking .prereq-icon-check,.tutorial-completion-detail-prereq.is-shaking .prereq-icon-lock{animation:none}}.tutorial-completion-start-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:10px 16px;font-size:.9rem;font-weight:600;color:#fff;background:var(--color-primary,#6366f1);border:1px solid var(--color-primary,#6366f1);border-radius:8px;cursor:pointer;transition:background .15s,box-shadow .15s,transform .05s;box-shadow:0 1px 3px rgba(0,0,0,.08)}.tutorial-completion-start-btn:hover{background:color-mix(in srgb,var(--color-primary,#6366f1) 88%,#000);box-shadow:0 2px 8px rgba(0,0,0,.14)}.tutorial-completion-start-btn:active{transform:translateY(1px)}.tutorial-completion-footer{display:flex;justify-content:center;gap:8px;margin-top:14px}.tutorial-completion-footer-btn{padding:6px 14px;font-size:.8rem;font-weight:500;color:var(--color-primary,#6366f1);background:transparent;border:1px solid color-mix(in srgb,var(--color-primary,#6366f1) 25%,transparent);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tutorial-completion-footer-btn:hover{background:color-mix(in srgb,var(--color-primary,#6366f1) 8%,transparent);border-color:color-mix(in srgb,var(--color-primary,#6366f1) 45%,transparent)}.tutorial-completion-footer-btn-quiet{color:var(--color-muted-foreground,#6b7280);border-color:transparent}.tutorial-completion-footer-btn-quiet:hover{color:var(--color-foreground,#111);background:var(--color-muted,#f3f4f6);border-color:transparent}.dark .tutorial-completion-backdrop,:root[data-theme=dark] .tutorial-completion-backdrop{background:var(--modal-backdrop-bg,rgba(3,7,18,.68))}.dark .tutorial-completion-modal,:root[data-theme=dark] .tutorial-completion-modal{box-shadow:0 8px 32px rgba(0,0,0,.45)}