.bf-app .cv2-people{--ring:64px;margin:var(--bf-space-1) 0 var(--bf-space-1)}.bf-app .cv2-rings{gap:var(--bf-space-2);margin:0 calc(var(--bf-gutter) * -1);padding:2px var(--bf-gutter) var(--bf-space-2);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;scroll-padding-inline:var(--bf-gutter);list-style:none;display:flex;overflow-x:auto}.bf-app .cv2-rings::-webkit-scrollbar{display:none}.bf-app .cv2-rings>li{scroll-snap-align:start;animation:cv2-ring-in var(--m-dur-4,.48s) var(--m-ease,ease-out) both;animation-delay:calc(min(var(--m-i,0), 8) * var(--m-stagger,45ms));flex:none;margin:0;padding:0;display:block}@keyframes cv2-ring-in{0%{opacity:0;transform:translate(12px)}}@media (width>=600px){.bf-app .cv2-rings{margin-inline:0;padding-inline:0}}.bf-app .cv2-ring-item{align-content:start;justify-items:center;gap:var(--bf-space-1h);width:72px;min-width:0;color:var(--bf-ink);-webkit-tap-highlight-color:transparent;transition:scale var(--m-dur-3,.32s) var(--m-bounce,ease);text-decoration:none;display:grid}.bf-app a.cv2-ring-item:active{transition-duration:var(--m-dur-1,.12s);scale:.94}.bf-app .cv2-ring{width:var(--ring);height:var(--ring);background:var(--bf-line-strong);border-radius:50%;padding:1px;display:block}.bf-app .cv2-ring-gap{background:var(--bf-bg);border-radius:50%;width:100%;height:100%;padding:3.5px;display:block}.bf-app .cv2-ring-item.is-today .cv2-ring{background:var(--bf-ring);padding:2.5px}.bf-app .cv2-ring-item.is-today .cv2-ring-gap{padding:2.5px}.bf-app .cv2-ring-face{background:var(--bf-soft-strong);width:100%;height:100%;color:var(--bf-ink);font:700 var(--bf-fs-22)/1 var(--bf-font);border-radius:50%;place-items:center;display:grid;overflow:hidden}.bf-app .cv2-ring-face[data-tone="0"]{background:var(--bf-learn-soft);color:var(--bf-learn-ink)}.bf-app .cv2-ring-face[data-tone="1"]{background:var(--bf-jobs-soft);color:var(--bf-jobs-ink)}.bf-app .cv2-ring-face[data-tone="2"]{background:var(--bf-me-soft);color:var(--bf-me-ink)}.bf-app .cv2-ring-face[data-tone="3"]{background:var(--bf-butter-soft);color:var(--bf-butter-ink)}.bf-app .cv2-ring-face[data-tone="4"]{background:var(--bf-pair-2-soft);color:var(--bf-pair-2)}.bf-app .cv2-ring-face[data-tone="5"]{background:var(--bf-pair-4-soft);color:var(--bf-pair-4)}.bf-app .cv2-ring-face>.v3-profile-avatar{border-radius:inherit;width:100%;height:100%;box-shadow:none;color:inherit;font:inherit;background:0 0;border:0;place-items:center;margin:0;display:grid;overflow:hidden}.bf-app .cv2-ring-face>.v3-profile-avatar img{object-fit:cover;opacity:1;width:100%;height:100%;display:block}.bf-app .cv2-ring-label{width:100%;font:var(--bf-t-micro);letter-spacing:var(--bf-track-micro);color:var(--bf-ink-soft);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.bf-app .cv2-ring-item.is-today .cv2-ring-label{color:var(--bf-ink);font-weight:600}.bf-app .cv2-ring-item:focus-visible{outline-offset:2px;border-radius:var(--bf-radius-sm)}@media (hover:hover) and (pointer:fine){.bf-app a.cv2-ring-item:hover .cv2-ring-label{color:var(--bf-ink)}}.bf-app .cv2-ring-item.is-talk .cv2-ring{padding:var(--bf-space-1);background:0 0}.bf-app .cv2-ring-item.is-talk .cv2-ring-face{border-radius:var(--bf-radius-sm);background:var(--bf-learn-soft);color:var(--bf-learn-ink)}.bf-app .cv2-people.is-loading .cv2-ring-item{pointer-events:none}.bf-app .cv2-people.is-loading :is(.cv2-ring-face,.cv2-ring-line){background:linear-gradient(90deg, var(--bf-surface-2) 25%, var(--bf-surface-3) 50%, var(--bf-surface-2) 75%);background-size:200% 100%;animation:1.4s linear infinite cv2-ring-shimmer}.bf-app .cv2-people.is-loading .cv2-ring-line{border-radius:var(--bf-radius-xs);width:48px;height:10px;margin-top:3px;display:block}@keyframes cv2-ring-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.bf-app .cv2-rings>li,.bf-app .cv2-people.is-loading :is(.cv2-ring-face,.cv2-ring-line){animation:none}.bf-app a.cv2-ring-item:active{scale:none}}:root[data-motion=off] .bf-app .cv2-rings>li,:root[data-motion=off] .bf-app .cv2-people.is-loading :is(.cv2-ring-face,.cv2-ring-line),:root[data-motion=lite] .bf-app .cv2-people.is-loading :is(.cv2-ring-face,.cv2-ring-line){animation:none}:root[data-motion=off] .bf-app a.cv2-ring-item:active{scale:none}.cv2-story-card{border-radius:var(--bf-radius-media);background:var(--bf-surface-2);isolation:isolate;min-width:0;display:block;position:relative;overflow:hidden}.cv2-story-card:focus-visible{outline-offset:3px}.cv2-story-card svg,.cv2-story-label svg{color:currentColor;background:0 0}.cv2-story-thumbnail{position:relative;overflow:hidden}.cv2-story-thumbnail>img,.cv2-story-thumbnail>.cv2-image-unavailable{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;min-height:0}.cv2-story-card-copy{z-index:1;gap:var(--bf-space-1);padding:var(--bf-space-8) var(--bf-space-3) var(--bf-space-3);background:var(--bf-stage-scrim);color:var(--bf-stage-ink);display:grid;position:absolute;inset:auto 0 0}.cv2-story-card-copy :is(h2,h3){-webkit-line-clamp:2;font:700 var(--bf-fs-15)/1.3 var(--bf-font);letter-spacing:0;color:var(--bf-stage-ink);text-wrap:balance;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cv2-story-card-copy p{align-items:center;gap:var(--bf-space-1);font:var(--bf-t-micro);letter-spacing:var(--bf-track-micro);color:var(--bf-stage-ink);opacity:.9;font-weight:500;display:inline-flex}.cv2-story-grid{gap:var(--bf-space-3) var(--bf-space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cv2-story-gallery .cv2-page-heading{margin-bottom:var(--bf-space-5)}.cv2-story-gallery .cv2-page-heading h1{font:var(--bf-t-title);letter-spacing:-.015em}.cv2-story-gallery .cv2-page-heading>p{font:var(--bf-t-callout);color:var(--bf-ink-soft);margin-top:var(--bf-space-1)}.cv2-story-source{font-size:var(--bf-fs-12);color:var(--cv2-muted);line-height:1.6;margin-top:var(--bf-space-5)!important}.cv2-story-source a{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.cv2-story-reader{max-width:1050px;margin:auto}.cv2-story-toolbar{justify-content:space-between;align-items:center;gap:var(--bf-space-2);margin-bottom:var(--bf-space-2);display:flex}.cv2-story-reader .cv2-back-link{margin-bottom:0}.cv2-story-heading{margin-bottom:var(--bf-space-5)}.cv2-story-label{align-items:center;gap:var(--bf-space-1h);border-radius:var(--bf-radius-pill);padding:var(--bf-space-1) var(--bf-space-2h);font-size:var(--bf-fs-12);font-weight:600;display:inline-flex}.cv2-story-heading h1{letter-spacing:-.7px;font-size:clamp(24px,3vw,34px)}.cv2-story-heading>p{color:var(--cv2-muted);font-size:var(--bf-fs-14);margin-top:var(--bf-space-2);line-height:1.6}.cv2-story-columns{gap:var(--bf-space-4);min-width:0;display:grid}.cv2-story-scene{border-radius:var(--bf-radius);background:var(--bf-surface-2);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;align-self:start;position:relative;overflow:hidden}.cv2-story-scene:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--bf-stage) 42%, transparent), transparent);height:56px;position:absolute;inset:0 0 auto}.cv2-story-scene>img,.cv2-story-scene>.cv2-image-unavailable{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.cv2-story-scene figcaption{z-index:1;max-width:calc(100% - 20px);padding:var(--bf-space-1) var(--bf-space-2h);border-radius:var(--bf-radius-pill);background:var(--bf-stage-glass);color:var(--bf-stage-ink);font:var(--bf-t-micro);letter-spacing:var(--bf-track-micro);backdrop-filter:var(--bf-blur-thin);font-weight:500;position:absolute;bottom:10px;left:10px}.cv2-story-reading{min-width:0}.cv2-story-position{margin:var(--bf-space-1) 0 var(--bf-space-2h);font:var(--bf-t-meta);color:var(--bf-mist);font-variant-numeric:tabular-nums}.cv2-story-segments{z-index:2;gap:var(--bf-space-1);pointer-events:none;display:flex;position:absolute;top:10px;left:10px;right:10px}.cv2-story-segments span{background:color-mix(in srgb, var(--bf-stage-ink) 38%, transparent);border-radius:2px;flex:1;height:3px;transition:background-color .24s}.cv2-story-segments .is-read{background:var(--bf-stage-ink)}.cv2-story-context{margin-bottom:var(--bf-space-3);font-size:var(--bf-fs-12);color:var(--cv2-muted);line-height:1.6}.cv2-story-context p>span{color:var(--bf-ink-soft);font-weight:600;display:block}.cv2-story-context q{quotes:none;display:block}.cv2-dialogue-bubble{max-width:94%;padding:var(--bf-space-4) var(--bf-space-4);border-radius:var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-6);background:var(--bf-soft-strong);animation:.2s ease-out both cv2-story-arrive}.cv2-speaker-client{background:var(--bf-surface-2);border-radius:var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-6) var(--bf-radius-20)}.cv2-story-current .cv2-speaker-client{margin-left:auto}.cv2-dialogue-role{align-items:center;gap:var(--bf-space-2);font-size:var(--bf-fs-12);font-weight:600;display:flex;margin-bottom:var(--bf-space-3)!important}.cv2-dialogue-role>span{border-radius:var(--bf-radius-12);width:29px;height:29px;color:var(--bf-title);background:var(--bf-soft-strong);box-shadow:inset 0 1px 1px color-mix(in srgb, var(--bf-surface) 60%, transparent);place-items:center;display:grid}.cv2-speaker-client .cv2-dialogue-role>span{color:var(--bf-butter-ink);background:var(--bf-butter-soft)}.cv2-story-thread{gap:var(--bf-space-2);margin:0 0 var(--bf-space-2h);padding:0;list-style:none;display:grid}.cv2-thread-turn{max-width:85%;padding:var(--bf-space-2h) var(--bf-space-3h);border-radius:var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-6);background:var(--bf-soft);justify-self:start}.cv2-thread-turn.cv2-speaker-client{border-radius:var(--bf-radius-20) var(--bf-radius-20) var(--bf-radius-6) var(--bf-radius-20);background:var(--bf-surface-2);justify-self:end}.cv2-thread-turn p[lang]{font:600 var(--bf-fs-15)/1.4 var(--bf-font);color:var(--bf-ink)}.cv2-thread-turn p:not([lang]){font:var(--bf-t-meta);color:var(--bf-ink-soft);margin-top:2px!important}.cv2-dialogue-english{font:700 var(--bf-fs-18)/1.4 var(--bf-font);letter-spacing:-.01em}.cv2-dialogue-vietnamese{font:400 var(--bf-fs-15)/1.5 var(--bf-font);color:var(--bf-ink-soft);margin-top:var(--bf-space-2)!important}.cv2-story-controls{gap:var(--bf-space-3);margin-top:var(--bf-space-4);grid-template-columns:48px minmax(0,1fr);display:grid}.cv2-story-controls button{min-height:48px}.cv2-story-controls button:disabled{opacity:.42;cursor:default}.cv2-story-audio{margin-top:var(--bf-space-3h);padding:var(--bf-space-3);border-radius:var(--bf-radius-sm);background:var(--bf-surface-2)}.cv2-story-audio-buttons{align-items:center;gap:var(--bf-space-2);flex-wrap:wrap;display:flex}.bf-app .cv2-story-listen{justify-content:center;align-items:center;gap:var(--bf-space-2);min-height:44px;padding:var(--bf-space-2) var(--bf-space-3);border-radius:var(--bf-radius-16);color:var(--bf-on-accent);background:var(--bf-accent);font:inherit;font-size:var(--bf-fs-14);border:0;flex:158px;font-weight:600;display:inline-flex}.cv2-story-listen:disabled{opacity:.55;cursor:default}.cv2-story-speed{border-radius:var(--bf-radius-14);background:var(--bf-surface);padding:2px;display:flex}.cv2-story-speed button{min-height:44px;padding:var(--bf-space-2) var(--bf-space-2h);border-radius:var(--bf-radius-12);color:var(--cv2-ink);font:inherit;font-size:var(--bf-fs-13);background:0 0;border:0}.cv2-story-speed button[aria-pressed=true]{background:var(--bf-soft-strong);box-shadow:inset 0 -2px 0 rgb(var(--bf-shadow-rgb) / .145);font-weight:600}.cv2-story-audio>p{margin-top:var(--bf-space-2);color:var(--bf-ink-soft);font-size:var(--bf-fs-12);line-height:1.6}.cv2-story-audio .cv2-story-playback-status{align-items:center;gap:var(--bf-space-2);min-height:20px;margin-top:var(--bf-space-1);display:flex}.cv2-dialogue-bubble.is-speaking{outline:2px solid var(--bf-accent);outline-offset:3px}.cv2-story-speaking{align-items:center;gap:3px;height:13px;display:inline-flex}.cv2-story-speaking i{background:var(--bf-accent);border-radius:50%;width:4px;height:4px;animation:.8s ease-in-out infinite alternate cv2-story-speech}.cv2-story-speaking i:nth-child(2){animation-delay:.15s}.cv2-story-speaking i:nth-child(3){animation-delay:.3s}@keyframes cv2-story-speech{to{opacity:.4;transform:translateY(-3px)}}.cv2-story-previous{background:var(--bf-surface-2);width:48px;color:var(--cv2-ink);border:0;border-radius:50%;place-items:center;display:grid}.cv2-story-finish{align-items:flex-start;gap:var(--bf-space-2h);padding:var(--bf-space-3h);margin-top:var(--bf-space-4);border-radius:var(--bf-radius-20);background:var(--bf-success-soft);font-size:var(--bf-fs-14);animation:.25s ease-out cv2-story-arrive;display:flex}.cv2-story-finish svg{color:var(--bf-success);margin-top:3px}.cv2-story-tip{gap:var(--bf-space-2h);margin-top:var(--bf-space-4);padding:var(--bf-space-4);border-radius:var(--bf-radius-20);border:1px solid var(--bf-line-strong);background:var(--bf-soft);font-size:var(--bf-fs-13);line-height:1.6;display:flex}.cv2-story-tip>svg{color:var(--bf-accent);margin-top:2px}.cv2-story-tip strong{color:var(--bf-title);font-size:var(--bf-fs-13);margin-bottom:3px;display:block}.cv2-story-transcript{margin-top:var(--bf-space-6);padding:0 var(--bf-space-4);border:1px solid var(--bf-line);border-radius:var(--bf-radius-sm);background:var(--bf-surface)}.cv2-story-transcript summary{justify-content:space-between;align-items:center;gap:var(--bf-space-3);cursor:pointer;min-height:58px;font-weight:600;font-size:var(--bf-fs-14);border-radius:var(--bf-radius-12);display:flex}.cv2-story-transcript summary::-webkit-details-marker{display:none}.cv2-story-transcript ol{margin:0 0 var(--bf-space-4);gap:var(--bf-space-3);padding:0;list-style:none;display:grid}.cv2-story-transcript li{padding:var(--bf-space-4);border-radius:var(--bf-radius-16);background:var(--bf-soft)}.cv2-story-transcript .cv2-transcript-client{background:var(--bf-butter-soft)}.cv2-story-transcript li>span{font-size:var(--bf-fs-12);color:var(--cv2-muted);font-weight:600}.cv2-story-transcript li p[lang]{font-size:var(--bf-fs-16);margin-top:var(--bf-space-1);font-weight:600}.cv2-story-transcript li p:last-child{font-size:var(--bf-fs-15);margin-top:var(--bf-space-1);color:var(--bf-ink-soft)}.cv2-story-next-actions{gap:var(--bf-space-3);margin-top:var(--bf-space-5);display:grid}.cv2-story-next-actions .cv2-lesson-link{margin:0}.cv2-story-next{gap:var(--bf-space-3);padding:var(--bf-space-3h) var(--bf-space-4);border:1px solid var(--bf-line-strong);border-radius:var(--bf-radius-20);font-size:var(--bf-fs-14);justify-content:space-between;align-items:center;min-height:52px;display:flex}@keyframes cv2-story-arrive{0%{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=680px){.cv2-story-grid{gap:var(--bf-space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.cv2-story-card-copy :is(h2,h3){font-size:var(--bf-fs-16)}}@media (width<=1099px){.cv2-story-scene>img,.cv2-story-scene>.cv2-image-unavailable{aspect-ratio:16/9;max-height:34vh}.bf-app .cv2-story-controls{z-index:5;bottom:calc(var(--shell-tabbar-height,calc(var(--bf-nav-height) + env(safe-area-inset-bottom))) + 8px);padding:var(--bf-space-1h);border-radius:var(--bf-radius-pill);background:var(--bf-glass);box-shadow:var(--bf-elev-2);backdrop-filter:var(--bf-blur-bar);margin-inline:-6px;position:sticky}.bf-app .cv2-story-current{scroll-margin-bottom:calc(var(--shell-tabbar-height,calc(var(--bf-nav-height) + env(safe-area-inset-bottom))) + 96px);scroll-margin-top:calc(var(--bf-topbar-h) + 16px)}}@media (width>=1100px){.cv2-story-columns{gap:var(--bf-space-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.cv2-story-scene{position:sticky;top:20px}.cv2-story-transcript ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){@media (hover:hover) and (pointer:fine){.cv2-story-card:hover{transform:none}}.cv2-dialogue-bubble,.cv2-story-finish,.cv2-story-speaking i{animation:none}}
