.bs-path-hub{padding-bottom:24px}.bs-path-hero{margin:0 4px 20px;padding:4px 2px 0}.bs-path-hero-title{font-family:var(--bs-zh);letter-spacing:.02em;margin:0;font-size:28px;font-weight:900}.bs-path-hero-sub{color:var(--bs-green-700);margin:6px 0 0;font-size:13px;font-weight:600}.bs-path-theme{color:var(--bs-muted);margin:4px 0 0;font-size:12px}.bs-path-trail{flex-direction:column;gap:0;margin:0 4px;display:flex}.bs-path-node-wrap{position:relative}.bs-path-line{background:var(--bs-line);z-index:0;border-radius:99px;width:3px;position:absolute;top:52px;bottom:-8px;left:27px}.bs-path-node{z-index:1;border:1px solid var(--bs-line);background:var(--bs-card);width:100%;box-shadow:var(--bs-shadow);cursor:pointer;text-align:left;border-radius:18px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;font-family:inherit;transition:transform .15s,opacity .2s,border-color .2s;display:flex;position:relative}.bs-path-node:active{transform:scale(.98)}.bs-path-node--completed{border-color:var(--bs-green-100);background:var(--bs-green-50)}.bs-path-node--current{border-color:var(--bs-green);box-shadow:var(--bs-shadow), 0 0 0 2px #1fb85a26}.bs-path-node--upcoming{opacity:.72}.bs-path-node-icon{background:var(--bs-green-50);border:1px solid var(--bs-green-100);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.bs-path-node--completed .bs-path-node-icon{background:var(--bs-green);color:#fff;border-color:var(--bs-green);font-size:18px;font-weight:800}.bs-path-node--current .bs-path-node-icon{background:var(--bs-green);border-color:var(--bs-green-700)}.bs-path-node-body{flex:1;min-width:0}.bs-path-node-label{color:var(--bs-ink);font-size:14px;font-weight:700;display:block}.bs-path-node-hint{color:var(--bs-muted);margin-top:2px;font-size:11.5px;display:block}.bs-path-node--current .bs-path-node-hint{color:var(--bs-green-700);font-weight:600}.bs-path-node-go{color:var(--bs-muted);flex:none;font-size:18px}.bs-path-node--current .bs-path-node-go{color:var(--bs-green-700)}.bs-path-active{flex-direction:column;min-height:calc(100dvh - 16px);padding-bottom:0;display:flex}.bs-path-stage-header{flex:none;align-items:flex-start;gap:10px;padding:6px 4px 12px;display:flex}.bs-path-stage-title{flex:1;min-width:0}.bs-path-finish-chip{font-family:var(--bs-ui);letter-spacing:.02em;color:var(--bs-muted);background:var(--bs-card);border:1px solid var(--bs-line);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;margin-top:2px;margin-left:auto;padding:6px 11px;font-size:11px;font-weight:700;transition:color .15s,border-color .15s,background .15s}.bs-path-finish-chip:hover,.bs-path-finish-chip:focus-visible{color:var(--bs-ink-2);background:#fff;border-color:#d0d0cb;outline:none}.bs-path-finish-chip:active{transform:scale(.97)}.bs-path-stage-name{color:var(--bs-ink);font-size:14px;font-weight:700;display:block}.bs-path-dots{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.bs-path-dot{background:var(--bs-line);border-radius:99px;width:8px;height:8px}.bs-path-dot--done{background:var(--bs-green)}.bs-path-dot--active{background:var(--bs-green);transform:scale(1.15);box-shadow:0 0 0 3px #1fb85a40}.bs-path-skip-hint{color:var(--bs-ink-2);background:var(--bs-amber-50);border:1px solid var(--bs-amber-100);border-radius:12px;margin:0 8px 10px;padding:8px 12px;font-size:12px}.bs-path-stage-content{flex:1;padding-bottom:12px;overflow-y:auto}.bs-path-active .bs-path-stage-content .bs-cta:not(.bs-path-footer-cta):not(.bs-path-visible-cta){display:none}.bs-path-footer{background:linear-gradient(180deg, transparent 0%, var(--bs-bg) 24%, var(--bs-bg) 100%);flex:none;padding:12px 8px 20px;position:sticky;bottom:0}.bs-path-footer-cta{margin-top:0!important}.bs-path-practice-footer-cta:disabled{opacity:.45;cursor:not-allowed;transform:none}.bs-path-footer--practice .bs-path-practice-footer-cta:not(.bs-path-practice-footer-cta--finish){background:var(--bs-green);color:#fff;box-shadow:0 8px 20px #1fb85a47}.bs-path-warmup-block{margin-top:16px;padding-top:4px}.bs-path-warmup-block p{color:var(--bs-ink-2);margin:0;font-size:13.5px;line-height:1.55}.bs-path-complete-toast{z-index:50;background:var(--bs-green);color:#fff;pointer-events:none;border-radius:16px;padding:14px 22px;font-size:15px;font-weight:700;animation:.65s cubic-bezier(.2,.8,.2,1) both bs-path-check-pop;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 32px #1fb85a59}@keyframes bs-path-check-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}40%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.bs-path-quiz-done{text-align:center}.bs-path-quiz-score{color:var(--bs-green-700);margin:0 0 8px;font-size:22px;font-weight:800}.bs-path-summary{flex-direction:column;gap:0;display:flex}.bs-path-summary-lead{color:var(--bs-ink-2);margin:0;font-size:15px}.bs-path-summary-n{color:var(--bs-green-700);margin-right:4px;font-size:28px;font-weight:800}.bs-path-summary-save-all{margin-top:14px!important}.bs-path-summary-next{text-align:center;margin:8px 4px 20px;text-decoration:none;display:block}.bs-path-summary-toast{color:var(--bs-green-700);background:var(--bs-green-50);border:1px solid var(--bs-green-100);border-radius:14px;margin:0 8px 12px;padding:10px 14px;font-size:13px;font-weight:600}.bs-path-reflection-list{flex-direction:column;gap:14px;display:flex}.bs-path-reflection-item{flex-direction:column;gap:6px;display:flex}.bs-path-reflection-q{color:var(--bs-ink);font-size:13.5px;font-weight:600;line-height:1.45}.bs-path-reflection-input{border:1px solid var(--bs-line);resize:vertical;background:var(--bs-card);width:100%;min-height:72px;color:var(--bs-ink);border-radius:14px;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5}.bs-path-reflection-input:focus{border-color:var(--bs-green);outline:none;box-shadow:0 0 0 3px #1fb85a1f}.bs-path-celebration{z-index:60;pointer-events:none;place-items:center;font-size:56px;animation:1s ease-out both bs-path-sparkle;display:grid;position:fixed;inset:0}@keyframes bs-path-sparkle{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.4)}}@media (max-width:380px){.bs-path-hero-title{font-size:24px}.bs-path-node{padding:9px 10px}}
