/* NKPN v0.4.2 — scoped frontend: no global theme overrides. */
.nkpn-library,.nkpn-single{--nkpn-accent:#966523;--nkpn-line:#e7dfd1;--nkpn-ink:#322b22;--nkpn-muted:#776e62;color:var(--nkpn-ink)}
.nkpn-library{max-width:1200px;margin:28px auto}.nkpn-library-header{margin-bottom:24px}.nkpn-library-header h2{margin:0 0 8px}.nkpn-library-header p,.nkpn-episode-tags,.nkpn-legacy-views{color:var(--nkpn-muted);font-size:.92rem}
.nkpn-episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nkpn-episode-card{overflow:hidden;border:1px solid var(--nkpn-line);border-radius:13px;background:#fff;transition:box-shadow .18s ease,transform .18s ease}
.nkpn-episode-card:hover{box-shadow:0 7px 26px rgba(63,47,30,.11);transform:translateY(-2px)}.nkpn-episode-cover{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#f7f0e5;overflow:hidden}.nkpn-episode-cover img{width:100%;height:100%;object-fit:cover}.nkpn-cover-placeholder{color:#805e37}.nkpn-episode-cardbody{padding:14px 16px}.nkpn-episode-card h3{font-size:1.1rem;margin:0 0 10px;line-height:1.45}.nkpn-episode-card h3 a{color:inherit;text-decoration:none}.nkpn-episode-tags{margin:0}.nkpn-draft-note{display:block;margin-top:8px;color:#835d17}.nkpn-page-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.nkpn-page-nav a,.nkpn-page-nav strong{display:inline-block;padding:7px 11px;border:1px solid #d0bca3;border-radius:6px}
/* Page wrapper overrides the original standalone template's inline fixed width. */
.nkpn-pilot-template{width:min(1560px,100%);margin:24px auto 55px;padding:0 clamp(12px,2.1vw,32px);box-sizing:border-box}
.nkpn-pilot-template .nkpn-pilot-title{font-size:clamp(1.55rem,2.45vw,2.45rem);line-height:1.25;color:var(--nkpn-ink,#322b22);margin:8px 0 8px}
.nkpn-single{max-width:none;margin:0 auto 30px;font-family:inherit;line-height:1.5}
.nkpn-single *{box-sizing:border-box}.nkpn-single button,.nkpn-single input,.nkpn-single select{font:inherit}.nkpn-single button{cursor:pointer}
.nkpn-viewer-intro{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 20px;color:#7d6541;font-size:.9rem}.nkpn-series-name{font-weight:700}.nkpn-episode-number,.nkpn-preview-badge{border:1px solid var(--nkpn-line);border-radius:100px;padding:3px 11px;background:#faf7f2}.nkpn-preview-badge{background:#fff4d7;border-color:#edd9a4;color:#855c16}
.nkpn-watch-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,335px);gap:22px;align-items:start}.nkpn-watch-main{min-width:0}
.nkpn-mode-nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 14px;border-bottom:1px solid var(--nkpn-line);padding:0 0 12px}.nkpn-mode-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent!important;border-radius:11px;padding:11px 16px!important;min-height:44px;color:#5d5142!important;background:transparent!important;font-weight:700;box-shadow:none!important;line-height:1.2}.nkpn-mode-tab.is-active{color:#fff!important;background:#805822!important;border-color:#805822!important}.nkpn-mode-tab:hover:not(.is-active){background:#f5efe5!important}
.nkpn-mode-tab:focus-visible,.nkpn-single button:focus-visible,.nkpn-playlist-item:focus-visible,.nkpn-playlist-search:focus-visible,.nkpn-single select:focus-visible{outline:3px solid #c1934c;outline-offset:2px}
.nkpn-mode-panel{margin:0 0 18px;min-width:0}.nkpn-single.nkpn-js .nkpn-mode-panel[hidden]{display:none!important}
.nkpn-player-panel{border:1px solid #e1ddd5;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 24px rgba(47,39,30,.055)}
.nkpn-video-frame{background:#111;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.nkpn-video-player{width:100%;height:100%;max-height:80vh;aspect-ratio:16/9;object-fit:contain;display:block;background:#0d0d0d}
.nkpn-video-toolbar{padding:12px 15px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}.nkpn-part-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.nkpn-single-part-label{font-weight:700;color:#5b4b36;font-size:.93rem}
.nkpn-part-btn,.nkpn-theater-button{border:1px solid #d7c8b0!important;color:#604b30!important;background:#fff!important;padding:7px 11px!important;min-height:36px;border-radius:9px!important;box-shadow:none!important;font-weight:600;font-size:.9rem}.nkpn-theater-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.2}.nkpn-theater-icon{font-family:Arial,sans-serif;font-size:1.05em;line-height:1;flex:none}.nkpn-part-btn.is-current{background:#895c25!important;color:#fff!important;border-color:#895c25!important}
.nkpn-play-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-left:auto}.nkpn-speed-label{font-size:.88rem;display:flex;align-items:center;gap:7px;white-space:nowrap;color:#6e6255}.nkpn-playback-speed{font-size:.88rem!important;background:#fff;color:#41382d;border:1px solid #d7c8b0;border-radius:9px;padding:5px 6px;min-height:36px;width:auto;max-width:100px}
.nkpn-autonext-row{border-top:1px solid #f1ede7;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:11px 15px;font-size:.9rem}.nkpn-autonext{display:flex;align-items:center;gap:9px;cursor:pointer;color:#40352b;font-weight:600}.nkpn-autonext input{width:18px;height:18px;margin:0;accent-color:#895c25}.nkpn-autonext-row small{color:var(--nkpn-muted);line-height:1.4}.nkpn-playback-status{margin:0;padding:0 15px;color:#74552b;font-size:.88rem}.nkpn-playback-status:empty{display:none}.nkpn-playback-status:not(:empty){padding-bottom:12px}
.nkpn-audio-panel,.nkpn-reading-panel{border:1px solid var(--nkpn-line);border-radius:16px;background:#fff;padding:clamp(15px,2vw,27px)}.nkpn-audio-panel h2,.nkpn-reading-panel h2{font-size:clamp(1.1rem,1.6vw,1.35rem);margin:0 0 18px}.nkpn-audio-part{display:grid;gap:9px;margin:12px 0 20px;justify-items:center}.nkpn-audio-part span{font-weight:600;color:#574736;width:min(100%,720px)}.nkpn-audio-part audio{display:block;width:min(100%,720px);max-width:720px;margin:0 auto}.nkpn-mode-note{color:var(--nkpn-muted);font-size:.88rem}.nkpn-reading-heading{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px;margin:0 0 20px}.nkpn-reading-heading h2{margin:0;flex:1}.nkpn-reading-heading a{font-size:.89rem;color:#82591e}/* Long-form reading follows the document scroll instead of trapping mobile swipes inside a nested scroll area. */
.nkpn-reading-text{max-height:none;overflow:visible;border-top:1px solid var(--nkpn-line);padding:22px 5px 4px;line-height:1.92;font-size:clamp(1rem,1.1vw,1.1rem);overscroll-behavior:auto;touch-action:auto}/* Justify prose in the Video page's "Đọc văn bản" tab just like standalone reading posts.
   Keep intentional WordPress alignment classes and inline text-align declarations intact.
   Headings, playlist, buttons and other panels remain unchanged. */
.nkpn-reading-panel .nkpn-reading-text p:not(.has-text-align-center):not(.has-text-align-right):not(.has-text-align-left):not([style*="text-align"]) {
  text-align: justify;
  text-justify: inter-word;
  text-align-last: auto;
}
.nkpn-reading-text p{margin:0 0 1.2em}
.nkpn-episode-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:16px 0 12px}.nkpn-episode-neighbors a{display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid var(--nkpn-line);border-radius:12px;background:#fff;padding:13px 14px;text-decoration:none;color:#40382f;min-height:65px;min-width:0}.nkpn-episode-neighbors a:hover{border-color:#b59063;background:#fdfaf5}.nkpn-episode-neighbors a span{color:#966523;font-size:.86rem}.nkpn-episode-neighbors a strong{font-size:.92rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nkpn-neighbor-next{grid-column:2;text-align:right}.nkpn-legacy-views{margin:10px 0 18px;font-size:.84rem}.nkpn-no-media{border:1px solid var(--nkpn-line);padding:22px;border-radius:12px}
/* Episode playlist: sticky on large screens; search and independent scroll. */
.nkpn-playlist{position:sticky;top:24px;overflow:hidden;border:1px solid var(--nkpn-line);border-radius:16px;background:#fff;box-shadow:0 5px 26px rgba(47,39,30,.055);min-width:0}
body.admin-bar .nkpn-playlist{top:56px}.nkpn-playlist-heading{padding:18px 16px 12px;display:flex;justify-content:space-between;align-items:end;gap:12px}.nkpn-playlist-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;color:#9b7750}.nkpn-playlist-heading h2{font-size:1.18rem;margin:3px 0 0;color:#3a3025}.nkpn-playlist-count{font-size:.8rem;color:#826f59;white-space:nowrap}.nkpn-playlist-search-label{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden;white-space:nowrap}.nkpn-playlist-search{display:block;width:calc(100% - 30px);margin:0 15px 13px;padding:11px 12px;border:1px solid #dfd4c6;border-radius:10px;color:#3d352e;background:#fbfaf8;font-size:.92rem;min-height:43px}.nkpn-playlist-list{max-height:min(66vh,740px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--nkpn-line);scrollbar-color:#d1bda1 transparent}.nkpn-playlist-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-left:3px solid transparent;border-bottom:1px solid #f3eee8;color:#42372d;text-decoration:none!important;transition:background .15s ease}.nkpn-playlist-item:hover{background:#faf5ed}.nkpn-playlist-item.is-current{background:#fcf2df;border-left-color:#966523}.nkpn-playlist-num{display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;background:#f3efe8;border-radius:10px;font-weight:800;font-size:.85rem;font-variant-numeric:tabular-nums;color:#83663d}.nkpn-playlist-item.is-current .nkpn-playlist-num{background:#8a5f2a;color:#fff}.nkpn-playlist-text{flex:1;min-width:0}.nkpn-playlist-text strong{display:block;font-size:.87rem;line-height:1.35;overflow-wrap:anywhere}.nkpn-playlist-text small{font-size:.73rem;color:#8c8071;display:block;margin-top:3px}.nkpn-playlist-item.is-current .nkpn-playlist-text small{color:#885c1e;font-weight:700}.nkpn-playlist-feedback{font-size:.83rem;color:#805822;margin:0 15px 10px}
/* One-click theater focus without fullscreen APIs or external player libraries. */
.nkpn-single.is-theater .nkpn-watch-layout{grid-template-columns:minmax(0,1fr)}.nkpn-single.is-theater .nkpn-playlist{display:none}.nkpn-single.is-theater .nkpn-video-frame{max-height:calc(100vh - 155px)}.nkpn-single.is-theater .nkpn-video-player{max-height:calc(100vh - 155px)}
@media(max-width:1040px){.nkpn-watch-layout{grid-template-columns:minmax(0,1fr) minmax(240px,280px);gap:15px}.nkpn-episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.nkpn-watch-layout{grid-template-columns:1fr}.nkpn-playlist{position:static}.nkpn-playlist-list{max-height:340px}.nkpn-episode-neighbors{margin-bottom:22px}.nkpn-video-player{max-height:none}body.admin-bar .nkpn-playlist{top:auto}}
@media(max-width:560px){.nkpn-episode-grid{grid-template-columns:1fr}.nkpn-pilot-template{padding:0 12px;margin-top:16px}.nkpn-mode-nav{gap:5px}.nkpn-mode-tab{padding:10px 11px!important;font-size:.88rem;flex:1}.nkpn-video-toolbar{gap:7px;padding:10px}.nkpn-play-tools{gap:9px}.nkpn-theater-button{font-size:.8rem}.nkpn-autonext-row{padding:10px}.nkpn-autonext-row small{width:100%}.nkpn-episode-neighbors a{padding:10px;min-height:60px}.nkpn-episode-neighbors a strong{font-size:.79rem}.nkpn-playlist-list{max-height:300px}.nkpn-theater-button,.nkpn-fullscreen-button{min-width:44px;padding:7px 10px!important;gap:0}.nkpn-theater-label,.nkpn-fullscreen-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.nkpn-theater-icon,.nkpn-fullscreen-icon{font-size:1.22rem}.nkpn-theater-button,.nkpn-fullscreen-button{justify-content:center}}
@media(prefers-reduced-motion:reduce){.nkpn-episode-card,.nkpn-playlist-item{transition:none}.nkpn-episode-card:hover{transform:none}}
.nkpn-playlist-item[hidden]{display:none!important}
.nkpn-part-list[hidden]{display:none!important}
@media(max-width:560px){.nkpn-mode-tab{padding:10px 6px!important;font-size:.82rem;white-space:nowrap;gap:5px}}
/* Official library homepage for the migrated and newly managed series. */
.tkpn-pt-series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;margin:24px 0}.tkpn-pt-series-card{display:block;text-decoration:none!important;overflow:hidden;border:1px solid #eee2d5;border-radius:12px;background:#fff;color:#3d332b;padding:0 0 13px}.tkpn-pt-series-card img{width:100%;height:150px;object-fit:cover;display:block}.tkpn-pt-series-card strong{display:block;padding:12px 14px 0;line-height:1.45}

/* v1.3.16: muted-autoplay audio consent appears ON the video, not below it.
   Hidden by default; JS reveals it only when muted autoplay succeeds.
   The dark pill is legible in both site themes and does not cover native controls. */
.nkpn-video-frame{position:relative;isolation:isolate}
.nkpn-video-frame .nkpn-unmute-button[hidden]{display:none!important}
.nkpn-video-frame .nkpn-unmute-button:not([hidden]){
 display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
 position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);
 max-width:calc(100% - 24px);min-height:46px;margin:0;padding:11px 20px;
 border:1px solid rgba(255,224,175,.7)!important;border-radius:100px!important;
 background:rgba(24,20,17,.90)!important;color:#fff!important;
 font-size:clamp(.84rem,1.25vw,1rem);font-weight:700;line-height:1.3;
 box-shadow:0 8px 28px rgba(0,0,0,.48)!important;
 white-space:nowrap;cursor:pointer;touch-action:manipulation;
}
.nkpn-video-frame .nkpn-unmute-button:not([hidden]):hover{background:rgba(74,47,25,.95)!important}
.nkpn-video-frame .nkpn-unmute-button:focus-visible{outline:3px solid #ffcb80;outline-offset:3px}
@media(max-width:560px){.nkpn-video-frame .nkpn-unmute-button:not([hidden]){min-height:44px;padding:10px 14px;gap:7px}}


/* TKPN Phap Thoai v1.2.2 — full dark-theme coverage.
   The theme sets html[data-tkpn-theme="dark"] on its own toggle.
   Only style the plugin-owned surfaces; no WordPress admin or theme-wide changes.
   These CSS rules react instantly when the theme attribute changes. */
html[data-tkpn-theme="dark"] .nkpn-library,
html[data-tkpn-theme="dark"] .nkpn-single {
  --nkpn-accent:#edbb7e;
  --nkpn-line:#4a3d36;
  --nkpn-ink:#eee4d7;
  --nkpn-muted:#c6b5a2;
  --nkpn-surface:#292321;
  --nkpn-surface-alt:#332925;
  --nkpn-hover:#3c3029;
  color:var(--nkpn-ink);
  color-scheme:dark;
}
html[data-tkpn-theme="dark"] .nkpn-pilot-template .nkpn-pilot-title,
html[data-tkpn-theme="dark"] .nkpn-library-header h2,
html[data-tkpn-theme="dark"] .nkpn-episode-card h3,
html[data-tkpn-theme="dark"] .nkpn-episode-card h3 a {color:#eee4d7}
html[data-tkpn-theme="dark"] .nkpn-viewer-intro,
html[data-tkpn-theme="dark"] .nkpn-episode-tags,
html[data-tkpn-theme="dark"] .nkpn-legacy-views,
html[data-tkpn-theme="dark"] .nkpn-library-header p {color:var(--nkpn-muted)}
html[data-tkpn-theme="dark"] .nkpn-episode-card,
html[data-tkpn-theme="dark"] .nkpn-player-panel,
html[data-tkpn-theme="dark"] .nkpn-playlist,
html[data-tkpn-theme="dark"] .nkpn-audio-panel,
html[data-tkpn-theme="dark"] .nkpn-reading-panel,
html[data-tkpn-theme="dark"] .nkpn-episode-neighbors a,
html[data-tkpn-theme="dark"] .tkpn-pt-series-card {
  background:#292321;
  border-color:#4a3d36;
  color:#eee4d7;
  box-shadow:0 5px 25px rgba(0,0,0,.18);
}
html[data-tkpn-theme="dark"] .nkpn-episode-cover,
html[data-tkpn-theme="dark"] .nkpn-episode-number {background:#362b26;color:#eee4d7}
html[data-tkpn-theme="dark"] .nkpn-cover-placeholder,
html[data-tkpn-theme="dark"] .nkpn-draft-note {color:#e9b979}
html[data-tkpn-theme="dark"] .nkpn-page-nav a,
html[data-tkpn-theme="dark"] .nkpn-page-nav strong {color:#eee4d7;border-color:#625045}
html[data-tkpn-theme="dark"] .nkpn-page-nav strong {background:#493426}
html[data-tkpn-theme="dark"] .nkpn-preview-badge {background:#493724;border-color:#84602e;color:#ffe0a4}
html[data-tkpn-theme="dark"] .nkpn-mode-nav,
html[data-tkpn-theme="dark"] .nkpn-reading-text,
html[data-tkpn-theme="dark"] .nkpn-autonext-row,
html[data-tkpn-theme="dark"] .nkpn-playlist-list {border-color:#4a3d36}
html[data-tkpn-theme="dark"] .nkpn-mode-tab:not(.is-active) {
  background:transparent!important;color:#dfd2c1!important;border-color:transparent!important;
}
html[data-tkpn-theme="dark"] .nkpn-mode-tab:hover:not(.is-active){background:#40332d!important}
html[data-tkpn-theme="dark"] .nkpn-mode-tab.is-active {background:#8b5f2f!important;color:#fff5e7!important;border-color:#a57945!important}
html[data-tkpn-theme="dark"] .nkpn-single-part-label,
html[data-tkpn-theme="dark"] .nkpn-speed-label,
html[data-tkpn-theme="dark"] .nkpn-autonext,
html[data-tkpn-theme="dark"] .nkpn-audio-part span {color:#eee4d7}
html[data-tkpn-theme="dark"] .nkpn-autonext-row small,
html[data-tkpn-theme="dark"] .nkpn-mode-note {color:#c6b5a2}
html[data-tkpn-theme="dark"] .nkpn-playback-speed,
html[data-tkpn-theme="dark"] .nkpn-part-btn,
html[data-tkpn-theme="dark"] .nkpn-theater-button {
  background:#362c27!important;border-color:#695245!important;color:#efe1d0!important;
}
html[data-tkpn-theme="dark"] .nkpn-part-btn:hover,
html[data-tkpn-theme="dark"] .nkpn-theater-button:hover {background:#48372e!important;border-color:#c39a6d!important}
html[data-tkpn-theme="dark"] .nkpn-part-btn.is-current {background:#8b5f2f!important;color:#fff!important;border-color:#bd9054!important}
html[data-tkpn-theme="dark"] .nkpn-playback-status {color:#e5b77a}
html[data-tkpn-theme="dark"] .nkpn-autonext input {accent-color:#c99b64}
html[data-tkpn-theme="dark"] .nkpn-audio-panel h2,
html[data-tkpn-theme="dark"] .nkpn-reading-panel h2,
html[data-tkpn-theme="dark"] .nkpn-reading-text,
html[data-tkpn-theme="dark"] .nkpn-reading-text p {color:#eee4d7}
html[data-tkpn-theme="dark"] .nkpn-reading-text a,
html[data-tkpn-theme="dark"] .nkpn-reading-heading a {color:#f1bd83}
html[data-tkpn-theme="dark"] .nkpn-episode-neighbors a span {color:#e8ad69}
html[data-tkpn-theme="dark"] .nkpn-episode-neighbors a strong {color:#eee4d7}
html[data-tkpn-theme="dark"] .nkpn-episode-neighbors a:hover {background:#40332b;border-color:#aa8054}
html[data-tkpn-theme="dark"] .nkpn-playlist-heading h2 {color:#f2e7db}
html[data-tkpn-theme="dark"] .nkpn-playlist-eyebrow {color:#ddb182}
html[data-tkpn-theme="dark"] .nkpn-playlist-count {color:#c6b5a2}
html[data-tkpn-theme="dark"] .nkpn-playlist-search {
  background:#342b27!important;color:#f4e7da!important;border-color:#685348!important;
  caret-color:#f1bd83;
}
html[data-tkpn-theme="dark"] .nkpn-playlist-search::placeholder {color:#b4a394;opacity:1}
html[data-tkpn-theme="dark"] .nkpn-playlist-list {scrollbar-color:#8a6e58 #292321}
html[data-tkpn-theme="dark"] .nkpn-playlist-item {
  background:#292321;color:#eee4d7;border-bottom-color:#453932;
}
html[data-tkpn-theme="dark"] .nkpn-playlist-item:hover {background:#40342d}
html[data-tkpn-theme="dark"] .nkpn-playlist-item.is-current {
  background:#473321;color:#fff1db;border-left-color:#e7aa60;
}
html[data-tkpn-theme="dark"] .nkpn-playlist-num {background:#3b312b;color:#e9c28e}
html[data-tkpn-theme="dark"] .nkpn-playlist-item.is-current .nkpn-playlist-num {background:#ae7a3d;color:#fff}
html[data-tkpn-theme="dark"] .nkpn-playlist-text strong {color:inherit}
html[data-tkpn-theme="dark"] .nkpn-playlist-text small {color:#b8a99a}
html[data-tkpn-theme="dark"] .nkpn-playlist-item.is-current .nkpn-playlist-text small {color:#e9bb83}
html[data-tkpn-theme="dark"] .nkpn-playlist-feedback {color:#efc68a}
html[data-tkpn-theme="dark"] .nkpn-no-media {background:#292321;color:#eee4d7}
html[data-tkpn-theme="dark"] .tkpn-pt-series-card strong {color:#eee4d7}
/* The permanent plugin also provides manual episode editing and the series archive. */
html[data-tkpn-theme="dark"] .tkpn-pt-card-art {background:linear-gradient(135deg,#493328,#66422c);color:#efc08b}
html[data-tkpn-theme="dark"] .tkpn-pt-card h2,
html[data-tkpn-theme="dark"] .tkpn-pt-single .tkpn-pt-readtext {color:#eee4d7}

/* Auto-next scroll destination: keep the video below the WordPress admin bar. */
.nkpn-video-frame{scroll-margin-top:80px}
body.admin-bar .nkpn-video-frame{scroll-margin-top:110px}

/* v1.2.4 — four centered Video controls, independent from browser-native controls. */
.nkpn-center-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:9px;max-width:630px;margin:0 auto;padding:12px 14px;border-bottom:1px solid var(--nkpn-line,#e7dfd1)}
.nkpn-center-controls .nkpn-player-action{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:9px 10px!important;background:#faf5ed!important;border:1px solid #e1d1bd!important;border-radius:11px!important;box-shadow:none!important;color:#5c432b!important;text-decoration:none!important;font:inherit;font-weight:700;font-size:.91rem;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.nkpn-center-controls .nkpn-player-action:hover:not(.nkpn-player-action-disabled):not(:disabled){background:#eadccb!important;border-color:#b68d5c!important;color:#452e18!important}
.nkpn-center-controls .nkpn-player-play{background:#95622a!important;border-color:#95622a!important;color:#fff!important}
.nkpn-center-controls .nkpn-player-play:hover:not(:disabled){background:#7b4d1d!important;color:#fff!important}
.nkpn-center-controls .nkpn-player-action:focus-visible{outline:3px solid #c1934c;outline-offset:2px}
.nkpn-center-controls .nkpn-player-action:disabled,.nkpn-center-controls .nkpn-player-action-disabled{opacity:.44;cursor:default;pointer-events:none}
.nkpn-center-controls .nkpn-action-symbol{font-size:1.21em;line-height:1;flex-shrink:0;font-family:Arial,sans-serif}
.nkpn-center-controls .nkpn-action-label{min-width:0;white-space:nowrap}
html[data-tkpn-theme="dark"] .nkpn-center-controls{border-bottom-color:#4a3d36}
html[data-tkpn-theme="dark"] .nkpn-center-controls .nkpn-player-action{background:#362c27!important;border-color:#695245!important;color:#efe1d0!important}
html[data-tkpn-theme="dark"] .nkpn-center-controls .nkpn-player-action:hover:not(.nkpn-player-action-disabled):not(:disabled){background:#4b382d!important;border-color:#be9160!important;color:#fff1df!important}
html[data-tkpn-theme="dark"] .nkpn-center-controls .nkpn-player-play{background:#ae7840!important;border-color:#c0925d!important;color:#fff!important}
html[data-tkpn-theme="dark"] .nkpn-center-controls .nkpn-player-play:hover:not(:disabled){background:#c48d4d!important;color:#fff!important}
@media(max-width:560px){.nkpn-center-controls{gap:6px;padding:9px 8px}.nkpn-center-controls .nkpn-player-action{min-height:54px;flex-direction:column;gap:4px;padding:7px 3px!important;font-size:.71rem}.nkpn-center-controls .nkpn-action-symbol{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.nkpn-center-controls .nkpn-player-action{transition:none}}

/* 1.2.6 — MP3 mode centered player and default auto-next. */
.nkpn-audio-panel .nkpn-audio-controls{margin:10px auto 0;max-width:630px}
.nkpn-audio-panel .nkpn-audio-autonext-row{padding:12px 16px;border-top:1px solid var(--nkpn-line,#e7dfd1)}
.nkpn-audio-panel .nkpn-audio-status{padding:0 16px;font-size:.88rem;min-height:1em;color:var(--nkpn-muted,#81654a)}
.nkpn-audio-unavailable{border-radius:12px;border:1px solid #c7aa80;background:#fff7e9;padding:18px;line-height:1.6;color:#704d25}
html[data-tkpn-theme="dark"] .nkpn-audio-unavailable{background:#362b22;border-color:#786046;color:#f2d4a9}
html[data-tkpn-theme="dark"] .nkpn-audio-panel .nkpn-audio-autonext-row{border-top-color:#4a3d36}
html[data-tkpn-theme="dark"] .nkpn-audio-panel .nkpn-audio-status{color:#ddc5a7}

/* v1.3.0: contextual links back to video-only WordPress categories. */
.tkpn-vcat-episode-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 13px;font-size:.82rem}
.tkpn-vcat-episode-links span{color:var(--nkpn-muted,#81654a);font-weight:600}
.tkpn-vcat-episode-links a{display:inline-flex;padding:5px 10px;border:1px solid var(--nkpn-line,#eadfcf);border-radius:999px;background:#f8f0e5;color:#654829!important;text-decoration:none!important}
.tkpn-vcat-episode-links a:hover{background:#ebdbc6}
html[data-tkpn-theme="dark"] .tkpn-vcat-episode-links a{background:#342921;border-color:#675244;color:#f1d5ad!important}
html[data-tkpn-theme="dark"] .tkpn-vcat-episode-links a:hover{background:#483629}

/* v1.3.7 — shared lotus thumbnails for episode & album cards. */
.nkpn-episode-cover,.tkpn-pt-series-cover {
  background:#f7eadb url('images/lotus-clean-v146.jpg') center / cover no-repeat;
}
.nkpn-episode-cover{position:relative}
.nkpn-episode-cover img{display:block;width:100%;height:100%;object-fit:cover}
.tkpn-pt-series-cover{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.tkpn-pt-series-card .tkpn-pt-series-cover img{display:block;width:100%;height:100%;object-fit:cover}

/* Keep the lotus in dark mode even when imported-frontend.css is loaded last. */
html[data-tkpn-theme="dark"] .tkpn-pt-card-art {background:#3e2c25 url('images/lotus-clean-v146.jpg') center / cover no-repeat;color:transparent}

/* v1.3.9 — Direct links to original MP4/MP3 files, including separate A/B parts. */
.nkpn-downloads{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:12px auto;padding:3px 10px;max-width:100%;}
.nkpn-download-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;max-width:100%;padding:9px 15px;border:1px solid #cba77d;border-radius:10px;background:#fff8ed;color:#68441f!important;font:inherit;font-size:.9rem;font-weight:700;line-height:1.4;text-decoration:none!important;text-align:center;overflow-wrap:anywhere;}
.nkpn-download-link:hover{background:#eddfc9;color:#402910!important;border-color:#ad8052;}
.nkpn-download-link:focus-visible{outline:3px solid #ab763b;outline-offset:3px;}
.nkpn-download-icon{flex:none;font-size:1.15em;line-height:1;}
.nkpn-audio-part .nkpn-audio-downloads{margin:0 auto 8px;padding:0;}
.tkpn-pt-panel .nkpn-downloads{justify-content:flex-start;padding-left:0;}
html[data-tkpn-theme="dark"] .nkpn-download-link{background:#3d3027;color:#f1d6b4!important;border-color:#755b43;}
html[data-tkpn-theme="dark"] .nkpn-download-link:hover{background:#58412e;color:#fff2dd!important;border-color:#aa8256;}
@media(max-width:560px){.nkpn-downloads{gap:7px;padding:3px 4px}.nkpn-download-link{width:100%;padding:9px 11px;}}

/* v1.3.10 — Inline original-video download(s) beside the auto-next checkbox.
   Previous full-width, centered download row left unnecessary vertical whitespace. */
.nkpn-autonext-row .nkpn-autonext-main{
  display:flex;align-items:center;justify-content:flex-start;flex:1 1 auto;
  min-width:0;gap:12px 16px;flex-wrap:wrap;
}
.nkpn-autonext-row .nkpn-video-downloads{
  display:inline-flex;align-items:center;justify-content:flex-start;flex:0 1 auto;
  flex-wrap:wrap;min-width:0;max-width:100%;margin:0;padding:0;gap:8px;
}
.nkpn-autonext-row .nkpn-video-downloads .nkpn-download-link{
  width:auto;max-width:100%;min-height:38px;padding:7px 12px;
}
.nkpn-autonext-row > small{margin-left:auto;}
@media(max-width:560px){
  .nkpn-autonext-row .nkpn-autonext-main{gap:10px;flex-basis:100%;}
  .nkpn-autonext-row .nkpn-video-downloads{width:auto;}
  .nkpn-autonext-row .nkpn-video-downloads .nkpn-download-link{width:auto;white-space:normal;}
  .nkpn-autonext-row > small{margin-left:0;}
}

/* v1.3.11 — Dedicated Video-only fullscreen control beside theater mode. */
.nkpn-fullscreen-button{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:36px;padding:7px 11px!important;border:1px solid #d7c8b0!important;
  border-radius:9px!important;background:#fff!important;color:#604b30!important;
  box-shadow:none!important;font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;
}
.nkpn-fullscreen-icon{font-family:Arial,sans-serif;font-size:1.15em;line-height:1;flex:none;}
.nkpn-fullscreen-button:hover:not(:disabled){background:#f4eade!important;border-color:#bd9a6b!important;}
.nkpn-fullscreen-button:disabled{opacity:.55;cursor:not-allowed;}
html[data-tkpn-theme="dark"] .nkpn-fullscreen-button{
  background:#362c27!important;border-color:#695245!important;color:#efe1d0!important;
}
html[data-tkpn-theme="dark"] .nkpn-fullscreen-button:hover:not(:disabled){
  background:#48372e!important;border-color:#c39a6d!important;
}
/* Remove the regular player 80vh cap only when the video itself is fullscreen. */
.nkpn-video-player:fullscreen,.nkpn-video-player:-webkit-full-screen{
  width:100vw!important;height:100vh!important;max-width:none!important;
  max-height:none!important;aspect-ratio:auto!important;object-fit:contain;background:#000;
}
@media(max-width:560px){
  .nkpn-fullscreen-button{font-size:.8rem;padding:7px 9px!important;}
  .nkpn-play-tools{gap:8px;}
}

/* v1.3.13 — concise episode-view UI: one full title, compact playlist and controls.
   Only plugin-scoped styles. No meta/URLs or media player behavior changed. */
.nkpn-pilot-template .nkpn-pilot-title{margin:0 0 14px;font-size:clamp(1.28rem,2.1vw,2rem)}
.nkpn-watch-layout{gap:16px;grid-template-columns:minmax(0,1fr) minmax(250px,320px)}
.nkpn-mode-nav{margin-bottom:9px;padding-bottom:9px}
.nkpn-player-panel{border-radius:12px}
.nkpn-center-controls{max-width:590px;gap:7px;padding:8px 12px}
.nkpn-center-controls .nkpn-player-action{min-height:42px;padding:7px 9px!important}
.nkpn-video-toolbar{padding:9px 12px;gap:7px}
.nkpn-autonext-row{padding:8px 12px}
.nkpn-playlist-heading{padding:13px 13px 9px;align-items:center}
.nkpn-playlist-heading h2{margin:0;font-size:1.02rem}
.nkpn-playlist-search{width:calc(100% - 26px);margin:0 13px 9px;min-height:38px;padding:8px 10px}
.nkpn-playlist-list{max-height:min(70vh,740px)}
.nkpn-playlist-item{padding:7px 12px;gap:0;min-height:43px}
.nkpn-playlist-text{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;width:100%}
.nkpn-playlist-text strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.9rem}
.nkpn-playlist-text .nkpn-playlist-state{display:none;margin:0;flex:none;font-size:.74rem}
.nkpn-playlist-item.is-current .nkpn-playlist-state,
.nkpn-playlist-item[data-draft="1"] .nkpn-playlist-state{display:inline}
.nkpn-playlist-item.is-current .nkpn-playlist-text strong{font-weight:800}
@media(max-width:820px){.nkpn-watch-layout{grid-template-columns:1fr}.nkpn-playlist-list{max-height:320px}}
@media(max-width:560px){
 .nkpn-pilot-template .nkpn-pilot-title{margin:0 0 10px;font-size:1.28rem}
 .nkpn-center-controls{gap:5px;padding:7px}
 .nkpn-center-controls .nkpn-player-action{min-height:46px}
 .nkpn-video-toolbar{padding:9px}
 .nkpn-playlist-list{max-height:275px}
 .nkpn-playlist-item{min-height:44px}
}

/* v1.3.14 — restore full episode names in the playlist without truncation.
   Scoped to the episode playlist; video/media panels and other archives unchanged. */
.nkpn-watch-layout{grid-template-columns:minmax(0,1fr) minmax(280px,350px)}
.nkpn-playlist-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;width:100%}
.nkpn-playlist-text strong{
 display:block;white-space:normal;overflow:visible;text-overflow:clip;
 overflow-wrap:anywhere;word-break:normal;line-height:1.4;
}
.nkpn-playlist-item{height:auto;min-height:46px;align-items:center}
.nkpn-playlist-text .nkpn-playlist-state{margin:0}
@media(max-width:820px){.nkpn-watch-layout{grid-template-columns:minmax(0,1fr)}}

/* 1.3.15: single, cumulative per-video count and unobtrusive YouTube-like Like button. */
.tkpn-engagement{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin:0 0 12px;min-height:36px;color:var(--nkpn-muted,#796d5c);font-size:.94rem;line-height:1.4}
.tkpn-engagement-views{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}
.tkpn-like-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 13px!important;border-radius:99px!important;border:1px solid var(--nkpn-line,#dbccb8)!important;background:transparent!important;color:inherit!important;font-size:.9rem;font-weight:650;cursor:pointer}
.tkpn-like-button:hover{background:rgba(162,114,54,.09)!important}
.tkpn-like-button.is-liked{border-color:#a47943!important;color:#946326!important;background:rgba(178,134,67,.14)!important}
.tkpn-like-button:disabled{opacity:.65;cursor:wait}
.tkpn-engagement-message:empty{display:none}.tkpn-engagement-message{flex-basis:100%;font-size:.84rem;color:#ad4531}
.tkpn-like-button:focus-visible{outline:3px solid #a97b42;outline-offset:2px}
.tkpn-pt-single .tkpn-engagement{margin:0 0 15px}
html[data-tkpn-theme="dark"] .tkpn-engagement{color:#d3c6b6}
html[data-tkpn-theme="dark"] .tkpn-like-button.is-liked{background:#533c27!important;color:#ffe1ad!important;border-color:#c09a65!important}
@media(max-width:560px){.tkpn-engagement{font-size:.88rem;gap:8px 12px}.tkpn-like-button{min-height:38px}}

/* TKPN Suite 2.0.4 — MP3 mobile layout: prevent a nested download icon/label
   from inheriting the full-width rule meant only for the MP3 section caption. */
.nkpn-audio-panel .nkpn-audio-part{
  display:flex;flex-direction:column;align-items:stretch;gap:12px;
  width:100%;max-width:720px;margin:14px auto 22px;min-width:0;
}
.nkpn-audio-panel .nkpn-audio-part > span{
  width:100%;max-width:none;line-height:1.4;
}
.nkpn-audio-panel .nkpn-audio-part > audio{
  display:block;width:100%;min-width:0;max-width:100%;margin:0;
}
.nkpn-audio-panel .nkpn-audio-part > .nkpn-audio-downloads{
  align-self:flex-start;width:auto;max-width:100%;display:flex;
  flex-wrap:wrap;justify-content:flex-start;align-items:center;
  margin:0;padding:0;gap:8px;
}
.nkpn-audio-panel .nkpn-audio-downloads .nkpn-download-link{
  display:inline-flex;flex:none;width:auto;max-width:100%;
  white-space:nowrap;overflow-wrap:normal;word-break:normal;
  align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:9px 16px;
}
.nkpn-audio-panel .nkpn-audio-downloads .nkpn-download-icon{
  width:auto;flex:0 0 auto;display:inline-block;line-height:1;
}
@media(max-width:560px){
  .nkpn-audio-panel{padding:16px 14px;}
  .nkpn-audio-panel .nkpn-audio-part{gap:10px;margin:10px auto 16px;}
  .nkpn-audio-panel .nkpn-audio-downloads .nkpn-download-link{
    width:auto!important;max-width:100%;padding:9px 14px;
    font-size:.92rem;white-space:nowrap;
  }
  .nkpn-audio-panel .nkpn-audio-controls{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;width:100%;max-width:none;margin:14px 0 0;padding:8px 0;
  }
  .nkpn-audio-panel .nkpn-audio-controls .nkpn-player-action{
    min-width:0;width:100%;padding:9px 2px!important;
  }
  .nkpn-audio-panel .nkpn-audio-controls .nkpn-action-label{
    font-size:.78rem;line-height:1.2;
  }
  .nkpn-audio-panel .nkpn-audio-autonext-row{
    padding:12px 0 2px;border-top:1px solid var(--nkpn-line,#e7dfd1);
  }
  .nkpn-audio-panel .nkpn-audio-status{padding:0;}
}

/* TKPN Suite 2.0.5 — real thumbnails replace numeric tiles in video/MP3 playlists. */
.nkpn-playlist-item{gap:12px;}
.nkpn-playlist-cover{display:block;flex:0 0 66px;width:66px;height:46px;overflow:hidden;border-radius:9px;background:#eee6d8;border:1px solid var(--nkpn-line,#dfd4c6);}
.nkpn-playlist-thumb{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.nkpn-playlist-text{flex:1;min-width:0;}
.nkpn-playlist-item.is-current .nkpn-playlist-cover{border-color:#966523;box-shadow:0 0 0 2px rgba(150,101,35,.18);}
@media(max-width:560px){
  .nkpn-playlist-item{gap:10px;min-height:59px;padding:8px 11px;}
  .nkpn-playlist-cover{flex-basis:72px;width:72px;height:50px;}
}
html[data-tkpn-theme="dark"] .nkpn-playlist-cover{background:#382c26;border-color:#625044;}

/* TKPN Suite 2.0.15: desktop engagement + content tabs on one row.
   Keep a wrap-friendly layout on narrow screens and avoid overflow. */
.nkpn-top-actions{display:flex;flex-direction:column;min-width:0;gap:9px;margin:0 0 12px}
.nkpn-top-actions .tkpn-engagement{margin:0;min-height:44px}
.nkpn-top-actions .nkpn-mode-nav{margin:0;padding:0 0 9px;min-width:0}
@media(min-width:1200px){
 .nkpn-top-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 17px;border-bottom:1px solid var(--nkpn-line,#dbccb8);padding-bottom:9px}
 .nkpn-top-actions .tkpn-engagement{flex:0 0 auto;flex-wrap:nowrap;gap:10px;min-width:0}
 .nkpn-top-actions .nkpn-mode-nav{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-start;border-bottom:0;padding:0;margin:0}
 .nkpn-top-actions .nkpn-mode-tab{white-space:nowrap}
 .nkpn-top-actions .tkpn-engagement-message:not(:empty){flex-basis:auto}
}
@media(max-width:1199px){
 .nkpn-top-actions .nkpn-mode-nav{flex-wrap:wrap}
}

/* 2.0.16: inline tabs + social actions in left half of the Video toolbar. */
@media(min-width:1200px){
 .nkpn-video-toolbar:has(.nkpn-actions-in-toolbar){display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar{display:flex;flex:1 1 570px;min-width:0;align-items:center;flex-direction:row;flex-wrap:wrap;gap:6px 11px;margin:0;padding:0;border:0}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar .nkpn-mode-nav{display:flex;flex:0 1 auto;align-items:center;gap:5px;flex-wrap:wrap;margin:0;padding:0;border:0;min-width:0}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar .nkpn-mode-tab{min-height:38px;padding:7px 10px!important;font-size:.88rem;white-space:nowrap}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar .tkpn-engagement{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;min-height:38px;margin:0;gap:6px 11px;font-size:.84rem}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar .tkpn-like-button{min-height:34px;padding:5px 10px!important;font-size:.84rem}
 .nkpn-video-toolbar .nkpn-play-tools{margin-left:auto;flex:0 0 auto;gap:8px}
 .nkpn-video-toolbar .nkpn-actions-in-toolbar .tkpn-engagement-message:not(:empty){flex-basis:100%}
}

/* TKPN Suite 2.0.18 — show around six playlist episodes on phones.
   Enlarge only the scrollable list, not the entire player or search header. */
@media (max-width: 560px) {
  .nkpn-single .nkpn-playlist-list {
    max-height: 440px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* TKPN Suite 2.0.25: align media and playlist when scrolling the document.
   The playlist remains a bounded list; its own wheel-scroll is opt-in on PC.
   The mobile list keeps its established independent six-episode scroll. */
.nkpn-playlist-scroll-toggle{display:none!important}
@media (min-width:821px){
  .nkpn-single .nkpn-playlist{
    position:static;
    top:auto;
    align-self:start;
  }
  body.admin-bar .nkpn-single .nkpn-playlist{top:auto}
  .nkpn-single .nkpn-playlist-scroll-toggle{
    display:block!important;
    width:auto;
    min-height:31px;
    margin:0 13px 9px auto;
    padding:4px 10px!important;
    border:1px solid var(--nkpn-line,#e7dfd1)!important;
    border-radius:7px!important;
    background:transparent!important;
    color:var(--nkpn-muted,#776e62)!important;
    font:inherit;
    font-size:.77rem!important;
    line-height:1.25;
    font-weight:600!important;
    box-shadow:none!important;
    cursor:pointer;
  }
  .nkpn-single .nkpn-playlist-scroll-toggle:hover,
  .nkpn-single .nkpn-playlist-scroll-toggle[aria-pressed="true"]{
    border-color:#ae7a3d!important;
    color:#805822!important;
    background:#f9f1e6!important;
  }
  .nkpn-single .nkpn-playlist-scroll-toggle:focus-visible{
    outline:2px solid #c1934c!important;
    outline-offset:2px;
  }
  .nkpn-single .nkpn-playlist-list{overscroll-behavior:auto}
  html[data-tkpn-theme="dark"] .nkpn-single .nkpn-playlist-scroll-toggle{
    color:#d5c2af!important;
    border-color:#635047!important;
  }
  html[data-tkpn-theme="dark"] .nkpn-single .nkpn-playlist-scroll-toggle:hover,
  html[data-tkpn-theme="dark"] .nkpn-single .nkpn-playlist-scroll-toggle[aria-pressed="true"]{
    color:#f1d19e!important;
    background:#45342a!important;
    border-color:#bb8645!important;
  }
}


/* TKPN Suite 2.0.28 — Match the entire Video player on desktop, including
   previous/play/pause/next, speed, mode tabs, and download/auto-next controls.
   The playlist header/search/toggle remain fixed within this panel and only
   the episode rows scroll. Never constrain the mobile six-episode list. */
@media (min-width:821px) {
  .nkpn-single .nkpn-playlist[data-match-player="1"] {
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    min-height:0;
    overflow:hidden;
  }
  .nkpn-single .nkpn-playlist[data-match-player="1"] .nkpn-playlist-heading,
  .nkpn-single .nkpn-playlist[data-match-player="1"] .nkpn-playlist-search,
  .nkpn-single .nkpn-playlist[data-match-player="1"] .nkpn-playlist-scroll-toggle,
  .nkpn-single .nkpn-playlist[data-match-player="1"] .nkpn-playlist-feedback:not([hidden]) {
    flex-shrink:0;
  }
  .nkpn-single .nkpn-playlist[data-match-player="1"] .nkpn-playlist-list {
    flex:1 1 0%;
    min-height:0;
    max-height:none!important;
    overflow-y:auto;
  }
}

/* TKPN Suite 2.0.29 — A/B part selectors sit at the left of the primary
   Video controls; neither occupies the tabs/engagement toolbar below.
   Preserve balanced centered playback actions on large desktop widths. */
.nkpn-single .nkpn-player-panel .nkpn-center-controls {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,590px) minmax(0,1fr);
  gap:10px;
  align-items:center;
  width:100%;
  max-width:none;
  margin:0;
  padding:10px 12px;
}
.nkpn-single .nkpn-player-panel .nkpn-center-controls > .nkpn-part-list {
  grid-column:1;
  grid-row:1;
  justify-self:start;
  min-width:0;
  gap:6px;
}
.nkpn-single .nkpn-player-panel .nkpn-center-controls > .nkpn-center-play-actions {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-column:2;
  grid-row:1;
  gap:7px;
  width:100%;
  min-width:0;
  max-width:590px;
  justify-self:center;
}
.nkpn-single .nkpn-player-panel .nkpn-center-controls .nkpn-part-btn {
  min-height:40px;
}
@media (min-width:1200px) and (max-width:1499px) {
  .nkpn-single .nkpn-player-panel .nkpn-center-controls.nkpn-has-parts {
    grid-template-columns:max-content minmax(0,1fr);
  }
  .nkpn-single .nkpn-player-panel .nkpn-center-controls.nkpn-has-parts > .nkpn-center-play-actions {
    grid-column:2;
  }
}
@media (max-width:1199px) {
  .nkpn-single .nkpn-player-panel .nkpn-center-controls.nkpn-has-parts {
    grid-template-columns:minmax(0,1fr);
    row-gap:8px;
  }
  .nkpn-single .nkpn-player-panel .nkpn-center-controls.nkpn-has-parts > .nkpn-part-list {
    grid-column:1;
    grid-row:1;
  }
  .nkpn-single .nkpn-player-panel .nkpn-center-controls.nkpn-has-parts > .nkpn-center-play-actions {
    grid-column:1;
    grid-row:2;
  }
}
@media (max-width:560px) {
  .nkpn-single .nkpn-player-panel .nkpn-center-controls{padding:8px;gap:7px;}
  .nkpn-single .nkpn-player-panel .nkpn-center-controls > .nkpn-center-play-actions{gap:5px;}
  .nkpn-single .nkpn-player-panel .nkpn-center-controls .nkpn-part-btn{min-height:44px;}
}

/* TKPN Suite 2.0.31 — MP3 uses four balanced actions independent of
   Video's A/B selector layout. Mobile preserves 4 compact touch targets. */
.nkpn-single .nkpn-audio-panel .nkpn-audio-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:8px;
  width:min(100%,630px);
  max-width:630px;
  margin:12px auto 0;
  padding:9px 0;
}
.nkpn-single .nkpn-audio-panel .nkpn-audio-controls > .nkpn-player-action{
  grid-column:auto;
  grid-row:auto;
  min-width:0;
  width:100%;
  justify-content:center;
}
@media(max-width:560px){
  .nkpn-single .nkpn-audio-panel .nkpn-audio-controls{gap:6px;margin-top:10px;padding:8px 0;}
}
