.ct-close{border-top:1px solid var(--kf-color-line);flex-direction:column;align-items:center;gap:clamp(28px,3.6vw,44px);padding-top:clamp(28px,4vw,48px);display:flex}.ct-close__head{gap:var(--kf-space-4);text-align:center;flex-direction:column;max-width:44ch;display:flex}.ct-close__title{font-family:var(--kf-font-display);letter-spacing:-.03em;color:var(--kf-color-ink);margin:0;font-size:clamp(26px,3.8vw,40px);font-weight:500;line-height:1.08}.ct-close__title em{color:var(--ps-accent-ink);font-style:normal}.ct-close__player{justify-content:center;width:100%;display:flex}.ct-close__body{font-size:var(--kf-text-base);line-height:var(--kf-line-body);color:var(--kf-color-ink-mid);margin:0}.ct{--ct-ease:cubic-bezier(.23, 1, .32, 1);flex-direction:column;gap:clamp(20px,2.4vw,28px);width:100%;max-width:560px;display:flex}.ct__line{text-align:center;font-size:var(--kf-text-detail);line-height:var(--kf-line-body);color:var(--kf-color-ink-soft);align-self:center;max-width:46ch;margin:0}.ct__num{font-family:var(--kf-font-mono);font-size:var(--kf-text-xs);letter-spacing:var(--kf-tracking-mono);color:var(--kf-color-ink-mid);white-space:nowrap}.ct__thread{gap:var(--kf-space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ct__beat{transition:opacity .3s var(--ct-ease), transform .3s var(--ct-ease);flex-direction:column;display:flex}.ct__beat[data-dir=in]{align-items:flex-start}.ct__beat[data-dir=out]{align-items:flex-end}.ct[data-armed=true] .ct__beat[data-shown=false]{opacity:0;transform:translateY(10px)}.ct__bubble{max-width:86%;font-size:var(--kf-text-base-sm);letter-spacing:var(--kf-tracking-body);border-radius:18px;padding:11px 15px;line-height:1.5}.ct__beat[data-dir=in] .ct__bubble{background:var(--kf-color-card);border:1px solid var(--kf-color-line);color:var(--kf-color-ink);border-bottom-left-radius:6px}.ct__beat[data-dir=out] .ct__bubble{background:var(--ps-accent);border:1px solid var(--ps-accent);color:var(--kf-color-on-connect);border-bottom-right-radius:6px}.ct__meta{font-size:var(--kf-text-xs);color:var(--kf-color-ink-soft);max-width:86%;margin-top:6px;line-height:1.4}.ct__beat--mark{padding:var(--kf-space-2) 0;align-items:center;gap:10px}.ct__mark-rule{background:var(--kf-color-line);width:32px;height:1px}.ct__mark-text{text-align:center;max-width:46ch;font-size:var(--kf-text-detail);line-height:var(--kf-line-body);color:var(--kf-color-ink-soft)}.ct__controls{align-items:center;gap:var(--kf-space-4);flex-direction:column;display:flex}.ct__buttons{align-items:center;gap:var(--kf-space-2);display:flex}.ct__play,.ct__step{font:inherit;cursor:pointer;border-radius:var(--kf-r-pill);transition:transform .16s var(--ct-ease), opacity .16s var(--ct-ease)}.ct__play{min-width:116px;font-size:var(--kf-text-sm);background:var(--kf-color-ink);border:1px solid var(--kf-color-ink);color:var(--kf-color-page);padding:10px 22px}.ct__step{min-width:82px;font-size:var(--kf-text-sm);border:1px solid var(--kf-color-line);color:var(--kf-color-ink);background:0 0;padding:10px 18px}.ct__play:hover,.ct__step:hover:not(:disabled){transform:translateY(-1px)}.ct__step:disabled{color:var(--kf-color-ink-faint);border-color:var(--kf-color-line-soft);cursor:default}.ct__play:focus-visible,.ct__step:focus-visible,.ct__range:focus-visible{outline:2px solid var(--kf-color-ink);outline-offset:3px}.ct__scrub{align-items:center;gap:var(--kf-space-3);width:100%;max-width:380px;display:flex}.ct__range{min-width:0;height:20px;accent-color:var(--kf-color-ink);cursor:pointer;flex:1}.ct__count{font-family:var(--kf-font-mono);font-size:var(--kf-text-micro);letter-spacing:.12em;color:var(--kf-color-ink-soft);font-variant-numeric:tabular-nums;text-align:right;min-width:5ch}@media (max-width:520px){.ct__bubble,.ct__meta{max-width:94%}}@media (pointer:coarse),(max-width:719px){.ct__play,.ct__step{min-height:44px}.ct__range{height:44px}}@media (max-width:359px){.ct__play{min-width:92px}.ct__step{min-width:72px}}@media (prefers-reduced-motion:reduce){.ct__beat,.ct__play,.ct__step{transition:none}.ct__play:hover,.ct__step:hover:not(:disabled){transform:none}}
