.tp-page{max-width:var(--ki-page-w);margin:0 auto;padding:20px 16px 0;display:flex;flex-direction:column;gap:20px}.tp-card{overflow:hidden;border-radius:16px;background:var(--ki-surface);box-shadow:var(--ki-item-shadow)}.tp-band{display:flex;align-items:center;gap:8px;margin:0;padding:10px 20px;background:var(--ki-band-bg);color:var(--ki-band-ink);border-bottom:1px solid var(--ki-band-line);font-weight:500;line-height:1.6}.tp-band-icon{flex-shrink:0}.tp-body{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}@media(min-width:1024px){.tp-body{grid-template-columns:minmax(0,47rem) minmax(18rem,1fr);gap:28px;align-items:start}}.tp-player{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:10px;background:var(--ki-tag-bg);box-shadow:var(--ki-thumb-shadow)}.tp-player:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ki-img-ring);pointer-events:none;transition:box-shadow .16s ease-out}.tp-facade,.tp-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tp-facade{display:block}.tp-facade img{width:100%;height:100%;object-fit:cover;filter:var(--ki-img-filter);transition:filter .16s ease-out}.tp-play{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:999px;background:var(--ki-surface);color:var(--ki-ink);box-shadow:0 2px 4px #14110e1f,0 10px 28px -8px #14110e66;transition:background-color .18s ease-out,color .18s ease-out,transform .22s cubic-bezier(.16,1,.3,1)}.tp-play svg{margin-left:3px}.tp-facade:hover .tp-play,.tp-facade:focus-visible .tp-play{background:var(--ki-accent);color:var(--ki-on-accent);transform:scale(1.08)}.tp-facade:hover img{filter:none}.tp-player:has(.tp-facade:hover):after{box-shadow:inset 0 0 0 2px var(--ki-accent)}.sg .tp-facade:focus-visible{outline-offset:-4px;border-radius:10px}.tp-info{display:flex;flex-direction:column;min-width:0}.tp-title{margin:0;font-size:22px;font-weight:700;line-height:1.4;letter-spacing:.01em;text-wrap:balance}.tp-video-title:hover{text-decoration:underline;text-decoration-color:var(--ki-accent);text-decoration-thickness:2px;text-underline-offset:4px}.tp-artist{margin:4px 0 0;font-size:14px;color:var(--ki-sub)}.tp-source{display:flex;align-items:flex-start;gap:12px;margin-top:16px}.tp-source .sg-channel-avatar{margin-top:3px}.tp-source .sg-channel-avatar img.rounded-full{border:0;box-shadow:0 0 0 2px var(--ki-surface);filter:var(--ki-img-filter)}.tp-source-text{display:flex;flex-direction:column;min-width:0}.tp-video-title{font-size:14px;font-weight:500;line-height:1.6;text-wrap:pretty}.tp-out{display:inline;margin-left:4px;vertical-align:-1px;color:var(--ki-sub)}.tp-channel-name{font-size:13px;color:var(--ki-sub)}.tp-comment{margin-top:16px;font-size:14.5px;line-height:1.85;padding:12px 16px}.tp-notice{display:flex;justify-content:center;padding:8px 20px 12px}.tp-notice>*{max-width:100%}.tp-profile{padding:22px 24px 24px;border-radius:16px;background:var(--ki-surface);box-shadow:var(--ki-item-shadow)}.tp-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;margin:0;font-size:22px;font-weight:700;line-height:1.4;letter-spacing:.02em}.tp-name-latin{font-size:14px;font-weight:400;letter-spacing:.04em;color:var(--ki-sub)}.tp-links{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tp-links a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 16px;border:1px solid var(--ki-line);border-radius:999px;background:var(--ki-surface-2);font-size:14px;font-weight:500;transition:background-color .16s ease-out}.tp-links a:hover{background:var(--ki-hover)}.tp-links svg{color:var(--ki-sub)}.tp-about{max-width:var(--ki-measure);margin:18px 0 0;font-size:14px;line-height:1.8;color:var(--ki-sub)}@media(max-width:640px){.tp-page{gap:16px}.tp-band{padding:10px 16px}.tp-body{padding:16px;gap:14px}.tp-title{font-size:20px}.tp-play{width:56px;height:56px;margin:-28px 0 0 -28px}.tp-profile{padding:18px 16px 20px}}@media(prefers-reduced-motion:reduce){.tp *,.tp *:after{transition:none!important}.tp-facade:hover .tp-play,.tp-facade:focus-visible .tp-play{transform:none}}
