
/* V186 source: tn-music-v1.css */
/* Truong Nguyen Music — native BeMusic theme. All rules scoped to web-player. */
web-player.tn-music-v1{--tn-bg:#00152c;--tn-panel:#031d36;--tn-line:rgba(0,170,255,.35);--tn-text:#f3f7ff;--tn-muted:#b7cce6;--tn-side:clamp(180px,17vw,232px);--tn-head:64px;--tn-player:100px;--be-background:#031b34;--be-background-alternative:#00152c;--be-text:#f3f7ff;--be-secondary-text:#b7cce6;--be-divider-default:rgba(52,149,213,.2);--be-divider-lighter:rgba(52,149,213,.15);--be-accent-default:#00bcff;--be-accent-contrast:#fff;--be-hover:rgba(0,149,255,.16);--be-chip:#072b4b;--be-accent-emphasis:#063f72;display:block!important;height:100%!important;isolation:isolate;background:radial-gradient(ellipse at 0 95%,#06aaff60,transparent 25%),radial-gradient(ellipse at 98% 85%,#008bdb35,transparent 35%),#00152c!important;color:var(--tn-text)!important;font-family:Arial,"Helvetica Neue",sans-serif;font-size:14px;line-height:1.5}
web-player.tn-music-v1 *,web-player.tn-music-v1 *:before,web-player.tn-music-v1 *:after{box-sizing:border-box}
web-player.tn-music-v1 a{color:inherit}
web-player.tn-music-v1 button{font-family:inherit}
web-player.tn-music-v1 .tn-header{height:var(--tn-head);display:flex;align-items:center;gap:22px;padding:0 24px 0 20px;position:relative;z-index:8;background:linear-gradient(180deg,#001124,#00182d);border-bottom:1px solid #0a80b83b}
.tn-music-v1 .tn-brand{display:flex;align-items:center;gap:10px;flex:0 0 calc(var(--tn-side) - 20px);font-size:17px;font-weight:750;line-height:1.1;text-decoration:none;color:#fff;letter-spacing:-.3px}
.tn-music-v1 .tn-brand svg{width:43px;height:43px;flex-shrink:0;filter:drop-shadow(0 0 6px #00b6ff65);color:#00cfff}
.tn-music-v1 .tn-header form{display:flex;align-items:center;border:1px solid #087cb6;border-radius:28px;max-width:590px;flex:1;min-width:0;height:38px;background:linear-gradient(#052b50,#00203c);box-shadow:inset 0 0 9px #009fff20;padding:0 12px;gap:9px}
.tn-music-v1 .tn-header input{width:100%;min-width:0;background:none;border:0;color:#fff;outline:0;font-size:13px;height:34px}
.tn-music-v1 .tn-header input::placeholder{color:#a5bbd6}
.tn-music-v1 .tn-header button,.tn-music-v1 .tn-header .tn-notifications{background:none;border:0;color:#eef7ff;cursor:pointer;display:grid;place-items:center;padding:8px;flex-shrink:0}
.tn-music-v1 .tn-header svg{width:21px;height:21px}
.tn-music-v1 .tn-header .tn-brand svg{width:43px;height:43px}
.tn-music-v1 .tn-head-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.tn-music-v1 .tn-header .tn-login,.tn-music-v1 .tn-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:linear-gradient(110deg,#00d9f8,#008eff 65%,#0047c7);border:1px solid #51dcff;border-radius:24px;color:#fff;text-decoration:none;font-weight:700;box-shadow:inset 0 0 9px #65f5ff,0 0 14px #00adff70;padding:9px 20px}
.tn-music-v1 .tn-header .tn-login{font-size:13px;padding:7px 17px}
.tn-music-v1 .tn-header .tn-menu-button{display:none}
web-player.tn-music-v1 .player-content,web-player.tn-music-v1 .player-content.mobile{display:flex!important;flex-direction:row!important;height:calc(100% - var(--tn-head) - var(--tn-player))!important;min-height:0!important;width:100%!important;background:none!important;overflow:hidden!important}
web-player.tn-music-v1 nav-sidebar{flex:0 0 var(--tn-side)!important;width:var(--tn-side)!important;min-width:0!important;background:transparent!important;border:0!important;color:var(--tn-text)!important}
web-player.tn-music-v1 nav-sidebar .content{height:100%!important;padding:14px 0 24px!important;overflow:auto!important}
web-player.tn-music-v1 nav-sidebar .logo-container,web-player.tn-music-v1 nav-sidebar .search-bar-container{display:none!important}
web-player.tn-music-v1 nav-sidebar .sidebar-nav{margin:0 9px!important}
web-player.tn-music-v1 nav-sidebar .sidebar-nav .custom-menu-item,web-player.tn-music-v1 nav-sidebar .sidebar-nav-item{display:flex!important;align-items:center!important;gap:10px!important;border:1px solid transparent!important;border-radius:11px!important;padding:10px 12px!important;min-height:42px;font-size:14px!important;font-weight:400!important;color:var(--tn-text)!important;text-transform:none!important;line-height:1.3!important;margin:2px 0!important}
web-player.tn-music-v1 nav-sidebar .sidebar-nav .mat-icon{width:20px!important;height:20px!important;margin:0!important;flex-shrink:0;color:#c6def8}
web-player.tn-music-v1 nav-sidebar .sidebar-nav .active{background:linear-gradient(110deg,#008eff,#003b78)!important;border-color:#00b9ff!important;box-shadow:inset 0 0 12px #00baff80,0 0 12px #008cff50;font-weight:700!important}
web-player.tn-music-v1 nav-sidebar .sidebar-nav a:hover{background:#006cb83d!important}
web-player.tn-music-v1 nav-sidebar .separator{margin:18px 18px!important;background:#1197cd30!important}
web-player.tn-music-v1 nav-sidebar .auth-container{padding:6px 0!important;margin:0 18px!important}
web-player.tn-music-v1 nav-sidebar .auth-container:not(:has(.current-user)){display:none!important}
web-player.tn-music-v1 nav-sidebar .your-music-container .title,web-player.tn-music-v1 nav-sidebar .playlists-container .header{font-size:11px!important;color:var(--tn-muted)!important;letter-spacing:.5px;padding:0 20px!important}
web-player.tn-music-v1 nav-sidebar .playlists-container .header{margin-top:10px!important}
web-player.tn-music-v1 nav-sidebar .current-track{position:fixed!important;left:24px;bottom:24px;width:calc(var(--tn-side) + 95px);height:56px!important;border:0!important;padding:0!important;background:none!important;z-index:11;color:var(--tn-text)!important}
web-player.tn-music-v1 nav-sidebar .current-track media-image{width:55px!important;height:55px!important}
web-player.tn-music-v1 nav-sidebar .current-track img{border-radius:7px}
web-player.tn-music-v1 nav-sidebar .current-track .meta{font-size:13px}
web-player.tn-music-v1 nav-sidebar .current-track .artist-name{font-size:12px!important;color:var(--tn-muted)!important}
web-player.tn-music-v1 .page-content{flex:1 1 0!important;min-width:0!important;height:100%!important;width:auto!important;background:transparent!important;border:1px solid var(--tn-line)!important;border-radius:18px 0 0 0!important;box-shadow:inset 0 0 32px #009dff18}
web-player.tn-music-v1 .page-content>mat-drawer-content{width:100%!important;height:100%!important;min-width:0!important;background:none!important;color:inherit!important}
web-player.tn-music-v1 .page-wrapper{height:100%!important;width:100%!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#0867a1 transparent}
web-player.tn-music-v1 .space-wrapper{height:auto!important;min-height:100%;max-width:1440px!important;width:100%!important;padding:18px 24px 36px!important;margin:auto!important}
.tn-music-v1 .tn-hero{position:relative;isolation:isolate;display:flex;align-items:center;aspect-ratio:2.58;min-height:240px;max-height:460px;overflow:hidden;border-radius:17px;border:1px solid #56dcff;background:radial-gradient(ellipse at 27% 25%,#59b9ff80,transparent 60%),linear-gradient(130deg,#006cc6,#193f95 70%,#007ab5);box-shadow:inset 0 0 14px #35baff,0 0 17px #009eff70;margin:0 0 24px}
.tn-music-v1 .tn-hero:before{content:"";position:absolute;inset:0 0 0 38%;z-index:-2;background:url('tn-music-portrait.png') right center/cover no-repeat}
.tn-music-v1 .tn-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0069c0ef 0%,#0069c0b5 32%,#0069c000 61%),radial-gradient(ellipse at 12% 100%,#061f79a0,transparent 60%)}
.tn-music-v1 .tn-hero-copy{width:62%;padding:28px clamp(24px,3.5vw,58px);text-shadow:0 2px 8px #00184570}
.tn-music-v1 .tn-script{font-family:"Segoe Script","Brush Script MT",Georgia,serif;font-style:italic;font-size:clamp(34px,3.4vw,58px);line-height:1.15;font-weight:400;color:white}
.tn-music-v1 .tn-hero h1{color:white!important;font-size:clamp(28px,3.1vw,48px)!important;font-weight:750;line-height:1.15;letter-spacing:-1px;margin:4px 0 12px!important}
.tn-music-v1 .tn-hero p{max-width:350px;margin:0 0 18px;font-size:14px;line-height:1.55;color:#fff}
.tn-music-v1 .tn-cta{font-size:15px;padding:11px 24px}
.tn-music-v1 .tn-cta svg{width:20px;height:20px}
web-player.tn-music-v1.tn-home channel-show>.header-container{display:none!important}
web-player.tn-music-v1 channel-content .sub-channel>h2{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px!important;font-size:23px!important;font-weight:700!important;line-height:1.25!important;color:var(--tn-text)!important;letter-spacing:-.6px}
web-player.tn-music-v1 channel-content .sub-channel>h2>a{color:inherit!important;text-decoration:none}
web-player.tn-music-v1 channel-content .sub-channel>h2 .mat-icon{color:#32dfff;width:22px;height:22px}
web-player.tn-music-v1 media-grid{width:100%!important;margin:0!important}
web-player.tn-music-v1 media-grid .media-grid-content{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px!important}
web-player.tn-music-v1 media-grid .media-grid-item{width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;flex:initial!important}
web-player.tn-music-v1 media-grid.carousel .media-grid-content{display:flex!important;flex-wrap:nowrap!important;transform:none!important;width:100%!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px!important;padding:3px 0 5px!important}
web-player.tn-music-v1 media-grid.carousel .media-grid-item{flex:0 0 calc((100% - 72px)/5)!important;scroll-snap-align:start}
web-player.tn-music-v1 media-grid.carousel .nav-arrows{display:none!important}
web-player.tn-music-v1 media-grid .carousel-track{overflow:visible!important}
web-player.tn-music-v1 media-grid .img-container{border-radius:12px;overflow:hidden;box-shadow:0 0 10px #0083ff25}
web-player.tn-music-v1 media-grid .img-container img{border-radius:12px!important}
web-player.tn-music-v1 media-grid .footer{text-align:left!important;white-space:normal!important;padding:9px 0 0!important;font-size:13px!important;line-height:1.35}
web-player.tn-music-v1 media-grid .primary-text{font-weight:600;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;color:var(--tn-text)!important}
web-player.tn-music-v1 media-grid .secondary-text{font-size:12px!important;margin-top:4px!important;color:var(--tn-muted)!important}
web-player.tn-music-v1 media-grid:has(artist-item) .media-grid-content{grid-template-columns:repeat(8,minmax(0,1fr))}
web-player.tn-music-v1 media-grid.carousel artist-item{flex-basis:calc((100% - 126px)/8)!important}
web-player.tn-music-v1 artist-item .img-container,web-player.tn-music-v1 artist-item .img-container img{border-radius:50%!important}
web-player.tn-music-v1 artist-item .footer{text-align:center!important;font-size:12px!important}
web-player.tn-music-v1 artist-item .primary-text{font-weight:400!important}
web-player.tn-music-v1 .media-page-header{padding:12px 0 24px!important;margin:0!important;border:0!important;background:radial-gradient(ellipse at 80% 30%,#00559438,transparent 70%)}
web-player.tn-music-v1 .media-page-header .flex-container{display:flex;align-items:center;gap:28px}
web-player.tn-music-v1 .media-page-header .header-image{flex:0 0 clamp(160px,18vw,240px)!important;width:clamp(160px,18vw,240px)!important;height:auto!important;aspect-ratio:1;border-radius:12px!important;overflow:hidden;box-shadow:0 0 17px #009cff40;margin:0!important}
web-player.tn-music-v1 .media-page-header .header-image img{width:100%!important;height:100%!important;object-fit:cover;border-radius:12px}
web-player.tn-music-v1 .media-page-header .header-content{min-width:0;flex:1}
web-player.tn-music-v1 .media-page-header .title{font-size:clamp(24px,2.6vw,38px)!important;line-height:1.2!important;font-weight:700;color:var(--tn-text)!important;margin:0 0 14px!important}
web-player.tn-music-v1 .media-page-header .subtitle{font-size:14px!important;color:var(--tn-muted)!important;line-height:1.7}
web-player.tn-music-v1 .media-page-header .action-buttons{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px!important}
web-player.tn-music-v1 .action-buttons .mat-stroked-button{border:1px solid #137db3!important;background:linear-gradient(#093454,#062744)!important;border-radius:22px!important;color:#fff!important}
web-player.tn-music-v1 header-play-button button,web-player.tn-music-v1 .mat-raised-button.mat-accent{background:linear-gradient(110deg,#00d9f8,#0095ff 60%,#0053cc)!important;border:1px solid #56dfff!important;border-radius:24px!important;color:white!important;box-shadow:inset 0 0 9px #71eeff,0 0 12px #00aaff55!important}
web-player.tn-music-v1 track-table{display:block;border:1px solid #0775b04a;border-radius:12px;overflow:hidden;background:#001c3380}
web-player.tn-music-v1 track-table .material-table{width:100%;background:none!important;color:var(--tn-text)!important;font-size:14px!important}
web-player.tn-music-v1 track-table .material-table td,web-player.tn-music-v1 track-table .material-table th{border-color:#198dc52b!important;color:inherit!important;height:54px;padding-top:5px!important;padding-bottom:5px!important}
web-player.tn-music-v1 track-table .material-table tr{background:transparent!important}
web-player.tn-music-v1 track-table .material-table tr:hover,web-player.tn-music-v1 track-table .material-table tr.playing,web-player.tn-music-v1 track-table .material-table tr.selected{background:#004d9570!important}
web-player.tn-music-v1 track-table .album-column{display:none!important}
web-player.tn-music-v1 track-table .track-image{width:38px!important;height:38px!important;border-radius:6px;overflow:hidden}
web-player.tn-music-v1 track-table .name-column{max-width:450px}
web-player.tn-music-v1 track-table .name-column>span{overflow:hidden;text-overflow:ellipsis}
web-player.tn-music-v1 track-table .number-column{width:42px!important;padding-left:14px!important;padding-right:5px!important}
web-player.tn-music-v1 player-controls{position:absolute!important;bottom:10px;left:8px;right:8px;display:flex!important;align-items:center!important;justify-content:flex-end;height:90px!important;padding:0 24px!important;border:1px solid #33d5ff!important;border-radius:20px!important;color:var(--tn-text)!important;background:linear-gradient(110deg,#06395cdd,#002140e8 40%,#07375ae8)!important;box-shadow:inset 0 0 16px #009aff55,0 0 19px #00baff70;z-index:10}
web-player.tn-music-v1 player-controls>main-playback-buttons{position:absolute;top:12px;left:50%;transform:translateX(-50%);gap:18px}
web-player.tn-music-v1 main-playback-buttons .play-track,web-player.tn-music-v1 main-playback-buttons .pause-track{border:1px solid #54eaff!important;border-radius:50%!important;background:linear-gradient(130deg,#04dafc,#0082ff 70%,#0651c7)!important;box-shadow:inset 0 0 8px #60e4ff,0 0 15px #00c3ff66;color:white!important;width:48px!important;height:48px!important;padding:9px!important}
web-player.tn-music-v1 main-playback-buttons .play-track mat-icon,web-player.tn-music-v1 main-playback-buttons .pause-track mat-icon{width:28px!important;height:28px!important}
web-player.tn-music-v1 player-controls>player-seekbar{position:absolute!important;bottom:8px;left:33%;width:34%!important;margin:0!important;min-width:0!important;font-size:10px!important}
web-player.tn-music-v1 player-seekbar .inner-track{background:#115596!important}
web-player.tn-music-v1 player-seekbar .progress-track{background:linear-gradient(90deg,#19aaff,#69eeff)!important}
web-player.tn-music-v1 player-seekbar .progress-handle{background:#91f8ff!important;box-shadow:0 0 6px #00baff}
web-player.tn-music-v1 player-controls>.shuffle-button{position:absolute;left:calc(50% - 136px);top:20px}
web-player.tn-music-v1 player-controls>repeat-button{position:absolute;left:calc(50% + 97px);top:20px}
web-player.tn-music-v1 player-controls>.lyrics,web-player.tn-music-v1 player-controls>.lyrics-button-separator{display:none!important}
web-player.tn-music-v1 player-controls>volume-controls{margin:0 0 0 5px!important;max-width:145px}
web-player.tn-music-v1 .tn-empty-player{margin-right:auto;color:var(--tn-muted);font-size:13px;max-width:27%}
web-player.tn-music-v1 .tn-mobile-drawer{display:none}
web-player.tn-music-v1.tn-soft{--tn-bg:#062c4b;--tn-panel:#0a395a;filter:brightness(1.15)}
/* V193: Removed old generic #78edff focus outline. Search field uses rounded container focus; keyboard focus on other controls remains available through the public palette. */
@media(min-width:1600px){web-player.tn-music-v1 media-grid .media-grid-content{grid-template-columns:repeat(6,minmax(0,1fr))}web-player.tn-music-v1 media-grid.carousel .media-grid-item{flex-basis:calc((100% - 90px)/6)!important}}
@media(max-width:1100px) and (min-width:769px){web-player.tn-music-v1{--tn-side:185px}web-player.tn-music-v1 .space-wrapper{padding:16px!important}web-player.tn-music-v1 .tn-header{gap:12px}web-player.tn-music-v1 media-grid .media-grid-content{gap:14px!important}web-player.tn-music-v1 media-grid.carousel .media-grid-item{flex-basis:calc((100% - 42px)/4)!important}web-player.tn-music-v1 media-grid.carousel artist-item{flex-basis:calc((100% - 84px)/7)!important}web-player.tn-music-v1 nav-sidebar .current-track{width:260px}web-player.tn-music-v1 player-controls>volume-controls{max-width:100px}web-player.tn-music-v1 player-controls>.player-action:not(.shuffle-button){display:none!important}}
@media(max-width:768px){
web-player.tn-music-v1{--tn-head:58px;--tn-player:137px;font-size:13px}
web-player.tn-music-v1 .tn-header{padding:0 14px;gap:12px}
web-player.tn-music-v1 .tn-brand{font-size:13px;flex:1;gap:6px}
web-player.tn-music-v1 .tn-header .tn-brand svg{width:32px;height:32px}
web-player.tn-music-v1 .tn-header .tn-menu-button{display:grid}
web-player.tn-music-v1 .tn-head-actions{gap:2px;margin-left:0}
web-player.tn-music-v1 .tn-header .tn-notifications,web-player.tn-music-v1 .tn-header .tn-login,web-player.tn-music-v1 .tn-theme{display:none}
web-player.tn-music-v1 .tn-header form{display:none;position:absolute;top:55px;left:12px;right:12px;height:42px;max-width:none;background:#032745;box-shadow:0 8px 18px #0008}
web-player.tn-music-v1 .tn-header.tn-search-open form{display:flex}
web-player.tn-music-v1 .page-content{border:0!important;border-radius:0!important;box-shadow:none}
web-player.tn-music-v1 .space-wrapper{padding:8px 14px 24px!important;max-width:650px!important}
web-player.tn-music-v1 .tn-hero{aspect-ratio:1.55;min-height:218px;max-height:360px;border-radius:12px;margin-bottom:20px}
web-player.tn-music-v1 .tn-hero:before{inset:0 0 0 24%;background-position:57% center}
web-player.tn-music-v1 .tn-hero:after{background:linear-gradient(90deg,#005cadf2,#0065bb80 42%,transparent 77%)}
web-player.tn-music-v1 .tn-hero-copy{width:68%;padding:18px 16px}
web-player.tn-music-v1 .tn-script{font-size:32px}
web-player.tn-music-v1 .tn-hero h1{font-size:26px!important;letter-spacing:-.6px;margin:5px 0 9px!important}
web-player.tn-music-v1 .tn-hero p{font-size:10px;line-height:1.45;margin-bottom:13px;max-width:210px}
web-player.tn-music-v1 .tn-cta{font-size:11px;padding:8px 13px}
web-player.tn-music-v1 .tn-cta svg{width:14px;height:14px}
web-player.tn-music-v1 channel-content .sub-channel>h2{font-size:18px!important;margin:22px 0 12px!important}
web-player.tn-music-v1 media-grid .media-grid-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important}
web-player.tn-music-v1 media-grid.carousel .media-grid-item{flex-basis:calc((100% - 24px)/3)!important}
web-player.tn-music-v1 media-grid.carousel artist-item{flex-basis:calc((100% - 36px)/4)!important}
web-player.tn-music-v1 media-grid:has(artist-item) .media-grid-content{grid-template-columns:repeat(4,minmax(0,1fr))}
web-player.tn-music-v1 media-grid .footer{font-size:11px!important;padding-top:7px!important}
web-player.tn-music-v1 media-grid .secondary-text{font-size:10px!important}
web-player.tn-music-v1 media-grid .img-container,web-player.tn-music-v1 media-grid .img-container img{border-radius:8px!important}
web-player.tn-music-v1 .media-page-header{padding:10px 0 22px!important}
web-player.tn-music-v1 .media-page-header .flex-container{flex-direction:column;gap:16px;align-items:stretch}
web-player.tn-music-v1 .media-page-header .header-image{flex:auto!important;width:56%!important;height:auto!important;max-width:235px!important;margin:0 auto!important}
web-player.tn-music-v1 .media-page-header .title{font-size:24px!important;margin-bottom:10px!important}
web-player.tn-music-v1 .media-page-header .subtitle{font-size:12px!important}
web-player.tn-music-v1 .media-page-header .action-buttons{margin-top:13px!important}
web-player.tn-music-v1 track-table .material-table{font-size:12px!important}
web-player.tn-music-v1 track-table .material-table td{height:60px!important}
web-player.tn-music-v1 track-table .track-image{width:38px!important;height:38px!important}
web-player.tn-music-v1 mobile-player-controls{color:var(--tn-text)!important;background:linear-gradient(#063557,#001a32)!important;border-top:1px solid #1ba9e6!important;height:137px!important;position:absolute!important;bottom:0!important;left:0;right:0;z-index:10}
web-player.tn-music-v1 mobile-player-controls .controls{background:none!important;min-height:66px!important;padding:8px 12px!important}
web-player.tn-music-v1 mobile-player-controls .track-name{font-size:13px!important}
web-player.tn-music-v1 mobile-player-controls .artist-name{font-size:11px!important;color:var(--tn-muted)!important}
web-player.tn-music-v1 mobile-player-controls .nav{height:58px!important;color:#c4d9ee!important;background:#001b32!important;border-top:1px solid #11618f}
web-player.tn-music-v1 mobile-player-controls .nav-item.active{color:#fff!important;filter:drop-shadow(0 0 5px #00b7ff)}
web-player.tn-music-v1 mobile-player-controls .nav-item .text{font-size:10px!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons .play-track,web-player.tn-music-v1 mobile-player-controls main-playback-buttons .pause-track{width:42px!important;height:42px!important;padding:6px!important}
web-player.tn-music-v1 .tn-mobile-drawer.tn-open{position:absolute;display:flex;flex-direction:column;gap:4px;right:12px;top:56px;min-width:220px;max-height:70%;overflow:auto;background:#032340f5;border:1px solid #199fde;box-shadow:0 12px 30px #0009;border-radius:12px;padding:12px;z-index:20}
web-player.tn-music-v1 .tn-mobile-drawer a{padding:10px 14px;border-radius:6px;text-decoration:none}
web-player.tn-music-v1 .tn-mobile-drawer a:hover{background:#006fb84f}
web-player.tn-music-v1 fullscreen-overlay.maximized{background:radial-gradient(ellipse at 50% 10%,#064a7b,#00172d 70%)!important;color:var(--tn-text)!important}
}
@media(prefers-reduced-motion:reduce){web-player.tn-music-v1 *{scroll-behavior:auto!important;transition:none!important}}
/* Keep the complete portrait and place the seek bar below playback controls. */
web-player.tn-music-v1 .tn-hero:before{background-size:auto 100%;background-position:right center}
web-player.tn-music-v1 nav-sidebar{z-index:11!important}
web-player.tn-music-v1 player-controls>player-seekbar{height:18px!important;top:auto!important;line-height:18px!important}
web-player.tn-music-v1 player-controls>player-seekbar .elapsed-time,web-player.tn-music-v1 player-controls>player-seekbar .track-length{height:auto!important;line-height:18px!important}
web-player.tn-music-v1 media-grid.carousel artist-item.media-grid-item{flex-basis:calc((100% - 126px)/8)!important}
web-player.tn-music-v1 media-grid artist-item.media-grid-item .img-container,web-player.tn-music-v1 media-grid artist-item.media-grid-item .img-container img{border-radius:50%!important}
/* The original seekbar fills its parent; constrain it in the compact player. */
@media(max-width:768px){
web-player.tn-music-v1 player-controls{display:none!important}
web-player.tn-music-v1 media-grid.carousel artist-item.media-grid-item{flex-basis:calc((100% - 36px)/4)!important}
web-player.tn-music-v1 mobile-player-controls>player-seekbar{position:absolute!important;top:0;left:0;right:0;height:4px!important;width:100%!important;margin:0!important}
web-player.tn-music-v1 mobile-player-controls>.controls{position:absolute!important;left:0;right:0;top:5px;height:72px!important}
web-player.tn-music-v1 mobile-player-controls>.nav{position:absolute!important;bottom:0;left:0;right:0;height:58px!important;padding:8px 10px!important}
web-player.tn-music-v1 .media-page-header .header-content{width:100%!important;text-align:left!important;padding:0!important}
web-player.tn-music-v1 .media-page-header .subtitle{white-space:normal!important;overflow-wrap:anywhere}
web-player.tn-music-v1 .media-page-header .action-buttons button{min-height:36px!important;line-height:34px!important;padding:0 14px!important}
}
web-player.tn-music-v1 artist-page-header{display:block;background:radial-gradient(ellipse at 50% 5%,#114a7d70,transparent 75%);border-radius:16px;padding:20px 0!important;color:var(--tn-text)!important}
web-player.tn-music-v1 artist-page-header .flex-container{display:flex;align-items:center;gap:28px}
web-player.tn-music-v1 artist-page-header .header-image{display:block;width:180px!important;height:180px!important;border-radius:50%;overflow:hidden;margin:0!important}
web-player.tn-music-v1 artist-page-header .header-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}
web-player.tn-music-v1 artist-page-header .title{font-size:36px!important;color:var(--tn-text)!important;line-height:1.2}
web-player.tn-music-v1 artist-page-header .nav-links-wrapper{background:transparent!important;border-color:var(--tn-line)!important;margin-top:20px}
web-player.tn-music-v1 artist-page-header .nav-link{color:var(--tn-muted)!important;border-radius:20px;padding:8px 16px!important;font-size:13px!important}
web-player.tn-music-v1 artist-page-header .nav-link.active{color:white!important;background:#0079c0!important}
web-player.tn-music-v1 fullscreen-overlay.maximized{background:radial-gradient(ellipse at 50% 5%,#084576,#00162b 75%)!important;color:var(--tn-text)!important}
web-player.tn-music-v1 fullscreen-overlay.maximized .video-container{border:1px solid #29bbef70;border-radius:16px;overflow:hidden;box-shadow:0 0 25px #00adff35}
web-player.tn-music-v1 fullscreen-overlay.maximized main-playback-buttons{gap:24px}
@media(max-width:768px){
web-player.tn-music-v1 artist-page-header .flex-container{flex-direction:column;gap:12px}
web-player.tn-music-v1 artist-page-header .header-content{width:100%;text-align:center}
web-player.tn-music-v1 artist-page-header .header-image{width:130px!important;height:130px!important}
web-player.tn-music-v1 artist-page-header .title{font-size:25px!important;margin:6px 0 10px!important}
web-player.tn-music-v1 artist-page-header .action-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
web-player.tn-music-v1 artist-page-header .nav-links{display:flex;overflow:auto;gap:6px;padding:8px 0!important}
web-player.tn-music-v1 artist-page-header .nav-link{white-space:nowrap}
}
/* Rebuilt homepage catalogue. Hidden native home remains mounted for router compatibility. */
web-player.tn-music-v1 .tn-home-ready>channel-show,web-player.tn-music-v1 .tn-home-ready>homepage-host{display:none!important}
.tn-music-v1 .tn-catalog-section{margin:0 0 28px}
.tn-music-v1 .tn-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}
.tn-music-v1 .tn-catalog-heading h2{font-size:23px;line-height:1.25;font-weight:700;margin:0;color:#f5f8ff;letter-spacing:-.6px}
.tn-music-v1 .tn-catalog-heading>a{font-size:13px;color:#40e3ff;text-decoration:none;white-space:nowrap}
.tn-music-v1 .tn-catalog-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/5);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 6px}
.tn-music-v1 .tn-catalog-card{min-width:0;scroll-snap-align:start}
.tn-music-v1 .tn-catalog-art{position:relative;aspect-ratio:1;overflow:hidden;border-radius:11px;border:1px solid #2da8e446;background:#083452;box-shadow:0 0 12px #009fff18}
.tn-music-v1 .tn-catalog-art>a{display:block;width:100%;height:100%}
.tn-music-v1 .tn-catalog-art img{display:block;width:100%;height:100%;object-fit:cover}
.tn-music-v1 .tn-catalog-art>button{position:absolute;bottom:9px;right:9px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:1px solid #6bf1ff;background:linear-gradient(130deg,#00d9ee,#0065f3);color:white;opacity:0;transform:translateY(8px);transition:opacity .16s,transform .16s;cursor:pointer;box-shadow:0 0 13px #009dff80}
.tn-music-v1 .tn-catalog-card:hover .tn-catalog-art>button,.tn-music-v1 .tn-catalog-card:focus-within .tn-catalog-art>button{opacity:1;transform:none}
.tn-music-v1 .tn-catalog-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#f5f8ff;text-decoration:none;font-size:13px;font-weight:600;line-height:1.35;margin-top:9px}
.tn-music-v1 .tn-catalog-title:hover{text-decoration:underline}
.tn-music-v1 .tn-catalog-subtitle{font-size:12px;color:#b7cce6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.tn-music-v1 .tn-artists-row{grid-auto-columns:calc((100% - 126px)/8)}
.tn-music-v1 .tn-round .tn-catalog-art{border-radius:50%}
.tn-music-v1 .tn-round .tn-catalog-title{text-align:center;font-size:12px;font-weight:400}
.tn-music-v1 .tn-cover-placeholder{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle at 25% 20%,#1eb5e9,transparent 70%),linear-gradient(135deg,#075680,#233582);font-size:48px;color:#a7efff;text-shadow:0 0 20px #00c8ff}
.tn-music-v1 .tn-catalog-empty{padding:22px;background:#072c4590;border:1px solid #1a6d9440;border-radius:10px;color:#b7cce6}
/* Banner is composed in one background stack, without a blue veil over the portrait. */
web-player.tn-music-v1 .tn-hero{background:linear-gradient(90deg,#006bc0 0%,#006bc0c0 32%,#006bc000 65%),url('tn-music-portrait.png') right center/auto 100% no-repeat,linear-gradient(125deg,#149de4,#043a87)!important}
web-player.tn-music-v1 .tn-hero:before,web-player.tn-music-v1 .tn-hero:after{display:none!important}
@media(max-width:768px){
.tn-music-v1 .tn-catalog-heading h2{font-size:18px}
.tn-music-v1 .tn-catalog-heading>a{font-size:11px}
.tn-music-v1 .tn-catalog-row{grid-auto-columns:calc((100% - 24px)/3);gap:12px}
.tn-music-v1 .tn-artists-row{grid-auto-columns:calc((100% - 36px)/4)}
.tn-music-v1 .tn-catalog-title{font-size:11px;margin-top:7px}
.tn-music-v1 .tn-catalog-subtitle{font-size:10px}
.tn-music-v1 .tn-catalog-art{border-radius:8px}
.tn-music-v1 .tn-catalog-art>button{width:28px;height:28px;font-size:11px;opacity:1;transform:none;bottom:5px;right:5px}
.tn-music-v1 .tn-catalog-section{margin-bottom:23px}
web-player.tn-music-v1 .tn-hero{background:linear-gradient(90deg,#0060b4e6 0%,#0062b5a0 30%,#006bc000 78%),url('tn-music-portrait.png') right center/auto 100% no-repeat,#076dbe!important}
}
.tn-music-v1 .tn-catalog-expanded .tn-catalog-row{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-columns:unset;overflow:visible}
.tn-music-v1 .tn-catalog-expanded .tn-artists-row{grid-template-columns:repeat(8,minmax(0,1fr))}
.tn-music-v1 .tn-back-home{display:inline-flex;padding:9px 17px;border:1px solid #188bb8;border-radius:22px;color:#5deaff;margin:8px 0}
@media(max-width:768px){.tn-music-v1 .tn-catalog-expanded .tn-catalog-row{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-music-v1 .tn-catalog-expanded .tn-artists-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
web-player.tn-music-v1 nav-sidebar custom-menu[position="sidebar-primary"]{display:none!important}
.tn-music-v1 .tn-sidebar-nav{display:flex;flex-direction:column;margin:0 9px;gap:2px}
.tn-music-v1 .tn-nav-item{display:flex;align-items:center;gap:12px;min-height:41px;padding:9px 12px;border:1px solid transparent;border-radius:10px;background:none;color:#d7e6fa;font-size:14px;text-decoration:none;text-align:left;cursor:pointer;line-height:1.35}
.tn-music-v1 .tn-nav-item svg{width:20px;height:20px;flex-shrink:0}
.tn-music-v1 .tn-nav-item:hover{background:#0064a930}
.tn-music-v1 .tn-nav-item.active{background:linear-gradient(100deg,#008cfd,#00366b);border-color:#00b6ff;box-shadow:inset 0 0 12px #00baff90,0 0 13px #00aaff45;color:#fff;font-weight:700}
.tn-music-v1 .tn-bottom-nav{display:none}
.tn-ui-message{position:fixed;z-index:10000;bottom:155px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 18px;border:1px solid #1fc5ff;border-radius:10px;background:#07304c;color:white;box-shadow:0 4px 20px #0008;font-size:14px}
@media(max-width:768px){
.tn-music-v1 .tn-bottom-nav{display:flex;position:absolute;bottom:0;left:0;right:0;height:58px;align-items:center;justify-content:space-around;background:#001a31;border-top:1px solid #1484b7;z-index:15;padding-bottom:env(safe-area-inset-bottom,0px)}
.tn-music-v1 .tn-bottom-nav>a{display:flex;flex-direction:column;gap:4px;align-items:center;color:#cde2f8;font-size:10px;text-decoration:none}
.tn-music-v1 .tn-bottom-nav svg{width:21px;height:21px}
web-player.tn-music-v1 mobile-player-controls>.nav{visibility:hidden}
web-player.tn-music-v1 .tn-mobile-drawer .tn-nav-item{font-size:13px;min-height:38px;padding:8px 12px}
web-player.tn-music-v1 fullscreen-overlay.maximized.strategy-html5 .video-container{aspect-ratio:1!important;height:auto!important;width:calc(100% - 40px)!important;max-width:380px}
}
.web-player-theme .mat-dialog-container,.web-player-theme .mat-bottom-sheet-container,.web-player-theme .mat-menu-panel{background:linear-gradient(145deg,#073454,#001c34)!important;color:#f0f7ff!important;border:1px solid #1a8bbe;box-shadow:0 10px 45px #0008;border-radius:14px!important}
.web-player-theme .mat-menu-item{color:#e7f4ff!important}
.web-player-theme .mat-form-field-label{color:#a9cae7!important}
.web-player-theme .mat-dialog-container a{color:#52dfff}
.tn-music-v1 .tn-load-more{display:inline-flex;padding:9px 17px;border:1px solid #188bb8;border-radius:22px;background:#064871;color:white;margin:8px 12px 8px 0;cursor:pointer}
.tn-music-v1 .tn-load-more:disabled{opacity:.6;cursor:wait}
@media(max-width:360px){
web-player.tn-music-v1 .tn-hero{min-height:236px}
web-player.tn-music-v1 .tn-hero-copy{width:74%;padding:18px 14px}
web-player.tn-music-v1 .tn-hero h1{font-size:23px!important}
web-player.tn-music-v1 .tn-script{font-size:29px}
}
web-player.tn-music-v1 fullscreen-overlay:not(.maximized){bottom:110px}
@media(max-width:768px){
web-player.tn-music-v1 .media-page-header .title,web-player.tn-music-v1 .media-page-header .subtitle{text-align:left!important;max-width:100%!important}
web-player.tn-music-v1 .media-page-header .subtitle{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
web-player.tn-music-v1 track-table .material-table.mobile{display:block!important}
web-player.tn-music-v1 track-table .material-table.mobile tbody{display:block;width:100%}
web-player.tn-music-v1 track-table .material-table.mobile tr{display:grid!important;grid-template-columns:48px minmax(0,1fr) 36px;grid-template-rows:26px 22px;width:100%;padding:6px 10px;border-bottom:1px solid #1881b32b}
web-player.tn-music-v1 track-table .material-table.mobile td{border:0!important;height:auto!important;min-width:0;max-width:100%;font-size:12px;position:static}
web-player.tn-music-v1 track-table .material-table.mobile .name-column{grid-column:1/3;grid-row:1/3;display:block!important;position:relative!important;padding:2px 0 22px!important;overflow:hidden}
web-player.tn-music-v1 track-table .material-table.mobile .name-column>media-image{position:absolute;left:0;top:3px;width:38px!important;height:38px!important;margin:0!important}
web-player.tn-music-v1 track-table .material-table.mobile .name-column>span{display:block;padding-left:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
web-player.tn-music-v1 track-table .material-table.mobile .artist-column{grid-column:2;grid-row:2;display:block!important;padding:0!important;font-size:10px!important;color:#a9c5e1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1;align-self:center}
web-player.tn-music-v1 track-table .material-table.mobile .options-column{grid-column:3;grid-row:1/3;display:flex;align-items:center;justify-content:center;padding:0!important}
}
web-player.tn-music-v1 .tn-home-tracks{margin:28px 0 20px}
web-player.tn-music-v1 .tn-home-tracks h2{font-size:23px;font-weight:700;margin:0 0 15px;color:#f4f8ff}
/* Suppress notice only; this does not write a consent flag. */
cookie-notice{display:none!important}
@media(max-width:768px){web-player.tn-music-v1 .tn-home-tracks h2{font-size:18px}}
web-player.tn-music-v1 nav-sidebar .tn-limit-playlists:not(.tn-playlists-expanded)>a.sidebar-nav-item:nth-of-type(n+6){display:none!important}
.tn-music-v1 .tn-my-playlists-toggle{display:block;margin:8px 20px;padding:7px 12px;border:1px solid #1885b4;border-radius:18px;background:#063553;color:#55dfff;font-size:12px;cursor:pointer}
/* Fill the content column even when a large desktop reaches the hero height cap. */
web-player.tn-music-v1 .tn-hero{width:100%!important;max-width:none!important;flex-shrink:0;aspect-ratio:auto!important;height:clamp(260px,28vw,460px)!important}
@media(max-width:768px){web-player.tn-music-v1 .tn-hero{height:auto!important;aspect-ratio:1.55!important;min-height:218px!important;max-height:none!important}}
@media(max-width:360px){web-player.tn-music-v1 .tn-hero{min-height:236px!important}}
web-player.tn-music-v1 .tn-hero.tn-custom-banner{display:block!important;height:auto!important;aspect-ratio:auto!important;min-height:0!important;max-height:none!important;padding:0;background:#042441!important}
web-player.tn-music-v1 .tn-custom-banner>div,web-player.tn-music-v1 .tn-custom-banner>a{display:block;width:100%}
web-player.tn-music-v1 .tn-custom-banner img{display:block;max-width:100%;height:auto}
.tn-music-v1 .tn-catalog-expanded>.tn-home-tracks{display:none}
/* Ads admin: keep the original Angular submit button in view at 100% zoom. */
ads-page form.panel{padding-bottom:96px!important}
ads-page .save-button{position:fixed!important;right:28px!important;bottom:24px!important;bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;z-index:1000!important;display:inline-flex!important;align-items:center;justify-content:center;min-width:136px!important;min-height:46px!important;padding:0 22px!important;border-radius:9px!important;background:#0878d1!important;color:#fff!important;font-size:14px!important;line-height:46px!important;box-shadow:0 4px 22px #0007,0 0 0 1px #68d7ff80!important}
ads-page .save-button:disabled{background:#48546a!important;color:#d8e2ed!important;cursor:wait}
@media(max-width:600px){ads-page .save-button{right:16px!important;bottom:16px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;min-width:125px!important}}
/* Mobile expanded player: reserve a separate toolbar below the site header. */
@media(max-width:768px){
web-player.tn-music-v1 fullscreen-overlay.maximized{top:var(--tn-head,58px)!important;bottom:var(--tn-player,137px)!important;left:0!important;right:0!important;width:100%!important;height:calc(100% - var(--tn-head,58px) - var(--tn-player,137px))!important;box-sizing:border-box!important;padding:60px 0 12px!important;justify-content:flex-start!important;overflow-y:auto!important;z-index:7!important}
web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav{position:absolute!important;top:0!important;left:0!important;right:0!important;display:flex!important;align-items:center!important;width:100%!important;min-height:56px!important;height:56px!important;padding:6px 14px!important;margin:0!important;flex:none!important;background:#032039!important;z-index:20!important;visibility:visible!important;opacity:1!important}
web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-width:122px!important;height:44px!important;padding:0 14px!important;border:1px solid #24bbed!important;border-radius:24px!important;background:#074970!important;color:white!important;touch-action:manipulation;cursor:pointer}
web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize:after{content:'Thu nhỏ';font-size:14px;font-weight:600;white-space:nowrap}
web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize>mat-icon{width:24px!important;height:24px!important;flex-shrink:0}
web-player.tn-music-v1 fullscreen-overlay.maximized>.carousel{flex:0 0 auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:8px 16px 0!important;overflow:visible!important}
web-player.tn-music-v1 fullscreen-overlay.maximized .carousel .current{flex:1 1 auto!important;width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:16/9}
web-player.tn-music-v1 fullscreen-overlay.maximized.strategy-html5 .carousel .current{aspect-ratio:1}
web-player.tn-music-v1 fullscreen-overlay.maximized>.current-track-meta{flex:none!important;max-width:100%!important;margin:18px 12px!important}
web-player.tn-music-v1 fullscreen-overlay.maximized>.current-track-meta .names{min-width:0;max-width:calc(100vw - 110px);margin:0 14px!important}
web-player.tn-music-v1 fullscreen-overlay.maximized>.current-track-meta .track-name{font-size:15px!important;line-height:1.45;overflow-wrap:anywhere}
web-player.tn-music-v1 fullscreen-overlay.maximized>.controls{flex:none!important;margin-bottom:20px!important}
}

/* Compact playlist actions on phones. Keep the native buttons and handlers. */
@media(max-width:768px){
web-player.tn-music-v1 playlist .media-page-header .action-buttons{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;margin:16px 0 0!important;padding:0!important}
web-player.tn-music-v1 playlist .action-buttons>header-play-button{display:block!important;flex:1.3 1 110px!important;min-width:0!important;margin:0!important}
web-player.tn-music-v1 playlist .action-buttons>button{flex:1 1 80px!important;min-width:0!important;margin:0!important}
web-player.tn-music-v1 playlist .media-page-header .action-buttons button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:42px!important;min-height:42px!important;max-width:100%!important;padding:0 10px!important;font-size:13px!important;font-weight:600!important;line-height:normal!important;letter-spacing:0!important;border-radius:14px!important;white-space:nowrap!important;box-sizing:border-box!important}
web-player.tn-music-v1 playlist .action-buttons header-play-button button{width:100%!important;min-width:0!important;margin:0!important}
web-player.tn-music-v1 playlist .action-buttons .mat-button-wrapper{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}
web-player.tn-music-v1 playlist .action-buttons mat-icon{width:19px!important;height:19px!important;font-size:19px!important;line-height:19px!important;margin:0!important}
web-player.tn-music-v1 playlist .track-list-header{display:flex!important;justify-content:stretch!important;margin:16px 0 12px!important;padding:0 0 12px!important;width:100%!important}
web-player.tn-music-v1 playlist .track-list-header .right-column,web-player.tn-music-v1 playlist .track-list-header datatable-header-search-input{display:block!important;flex:1!important;width:100%!important;min-width:0!important;margin:0!important}
web-player.tn-music-v1 playlist .track-list-header input{width:100%!important;max-width:100%!important;height:42px!important;box-sizing:border-box!important;border-radius:12px!important;font-size:16px!important}
}

/* V177: suppress the legacy static hero outside the REAL homepage.
   The V146 per-zone slider uses #tn-v146-slider and is intentionally unaffected. */
html[data-tn-hero-zone="off"] web-player.tn-music-v1 .tn-hero {
  display: none !important;
  visibility: hidden !important;
}


/* V186 source: tn-mobile-detail.css */
/* Approved navy/cyan mobile playlist and album layout. */
.tn-description-toggle,.tn-song-list-title,.tn-row-number,.tn-row-duration,.tn-mini-cover{display:none}
@media(max-width:768px){
web-player.tn-music-v1{--tn-player:128px}
web-player.tn-music-v1 playlist,web-player.tn-music-v1 album{display:block!important;padding:16px!important;box-sizing:border-box!important}
web-player.tn-music-v1 .media-page-header{padding:0 0 16px!important;text-align:left!important}
web-player.tn-music-v1 .media-page-header .flex-container{display:flex!important;align-items:flex-start!important;gap:14px!important;flex-direction:row!important}
web-player.tn-music-v1 .media-page-header .header-image{display:block!important;flex:0 0 104px!important;width:104px!important;height:104px!important;aspect-ratio:1!important;border-radius:12px!important;box-shadow:0 5px 22px #0005!important}
web-player.tn-music-v1 .media-page-header .header-content{flex:1!important;min-width:0!important;width:auto!important;text-align:left!important}
web-player.tn-music-v1 .media-page-header .title{font-size:20px!important;line-height:1.28!important;margin:0 0 8px!important;overflow-wrap:anywhere!important}
web-player.tn-music-v1 .media-page-header .subtitle,web-player.tn-music-v1 .media-page-header .details{font-size:12px!important;line-height:1.5!important;justify-content:flex-start!important;flex-wrap:wrap!important;color:#a8bfd4!important}
web-player.tn-music-v1 playlist-editors-widget{margin:0 0 7px!important;font-size:12px!important}
web-player.tn-music-v1 .media-page-header .playlist-description{font-size:12px!important;line-height:1.6!important;margin:6px 0 0!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;text-align:left!important}
web-player.tn-music-v1 .playlist-description.tn-description-open{-webkit-line-clamp:unset!important;display:block!important}
web-player.tn-music-v1 .tn-description-toggle{display:inline-block;background:none;border:0;color:#21d3f4;font-size:12px;padding:5px 0;cursor:pointer}
web-player.tn-music-v1 .media-page-header .action-buttons{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:14px 0 0!important}
web-player.tn-music-v1 album track-actions-bar{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important}
web-player.tn-music-v1 .media-page-header .action-buttons button{height:40px!important;min-height:40px!important;min-width:40px!important;padding:0 12px!important;border-radius:20px!important;font-size:12px!important;line-height:38px!important;box-shadow:none!important}
web-player.tn-music-v1 .media-page-header .action-buttons header-play-button{flex:1 1 120px!important}
web-player.tn-music-v1 .media-page-header .action-buttons header-play-button button{width:100%!important;background:linear-gradient(120deg,#06d4ed,#009bfa)!important}
web-player.tn-music-v1 .track-list-header{padding-bottom:0!important;margin:0 0 16px!important;border:0!important}
web-player.tn-music-v1 .tn-song-list-title{display:block;font-size:18px;font-weight:700;margin:16px 0 12px;color:#f6fbff}
web-player.tn-music-v1 playlist track-table,web-player.tn-music-v1 album track-table{border:0!important;border-radius:0!important;background:none!important;overflow:visible!important}
web-player.tn-music-v1 track-table .material-table,web-player.tn-music-v1 track-table tbody{display:block!important;width:100%!important}
web-player.tn-music-v1 track-table tr.track-list-row{display:block!important;position:relative!important;box-sizing:border-box!important;height:66px!important;min-height:66px!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #18394d80!important;border-radius:8px!important}
web-player.tn-music-v1 track-table tr.track-list-row td{height:auto!important;min-height:0!important;border:0!important;margin:0!important;padding:0!important}
web-player.tn-music-v1 track-table tr.track-list-row .name-column{position:absolute!important;left:28px!important;right:70px!important;top:12px!important;width:auto!important;max-width:none!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;overflow:visible!important;padding-left:52px!important}
web-player.tn-music-v1 track-table .name-column>span{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-weight:600!important}
web-player.tn-music-v1 track-table .track-image,web-player.tn-music-v1 .tn-row-cover{display:block!important;position:absolute!important;left:0!important;top:0!important;width:42px!important;height:42px!important;margin:0!important;border-radius:7px!important;object-fit:cover!important;overflow:hidden!important}
web-player.tn-music-v1 track-table .track-image img{width:100%!important;height:100%!important;object-fit:cover!important}
web-player.tn-music-v1 track-table tr.track-list-row .artist-column{display:block!important;position:absolute!important;left:80px!important;right:70px!important;top:35px!important;width:auto!important;max-width:none!important;font-size:11px!important;line-height:16px!important;color:#99b2c8!important;overflow:hidden!important;white-space:nowrap!important}
web-player.tn-music-v1 track-table .artist-column artists-links-list{max-width:100%!important}
web-player.tn-music-v1 track-table tr.track-list-row .options-column{display:flex!important;position:absolute!important;right:0!important;top:11px!important;width:30px!important;height:44px!important;align-items:center!important}
web-player.tn-music-v1 track-table .track-options-button{visibility:visible!important;width:30px!important;height:44px!important;line-height:44px!important;padding:0!important;color:#a7c8e0!important}
web-player.tn-music-v1 track-table .number-column,web-player.tn-music-v1 track-table .like-column,web-player.tn-music-v1 track-table .popularity-column{display:none!important}
web-player.tn-music-v1 .tn-row-number{display:block;position:absolute;left:0;top:24px;width:22px;text-align:center;color:#8ea9c0;font-size:11px}
web-player.tn-music-v1 .tn-row-duration,web-player.tn-music-v1 track-table tr.track-list-row .duration-column{display:block!important;position:absolute!important;right:33px!important;top:24px!important;width:34px!important;font-size:10px!important;line-height:16px!important;color:#a8bfd4!important;text-align:right!important}
web-player.tn-music-v1 track-table tr.playing{background:#07384c!important;color:#26d9fa!important}
web-player.tn-music-v1 mobile-player-controls>.controls{left:8px!important;right:8px!important;top:4px!important;height:62px!important;padding:0 8px!important;border:1px solid #225b77!important;border-radius:14px!important;background:linear-gradient(120deg,#103950,#082035)!important}
web-player.tn-music-v1 mobile-player-controls .controls .maximize{width:24px!important;order:2!important}
web-player.tn-music-v1 mobile-player-controls .controls .maximize .mat-icon{width:22px!important;height:22px!important}
web-player.tn-music-v1 mobile-player-controls .controls .track-info{order:1!important;text-align:left!important;padding:0 6px!important;position:relative!important}
web-player.tn-music-v1 mobile-player-controls .track-info:has(.tn-mini-cover){padding-left:48px!important}
web-player.tn-music-v1 .tn-mini-cover{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);width:40px;height:40px;object-fit:cover;border-radius:7px}
web-player.tn-music-v1 mobile-player-controls .track-name{font-size:12px!important;font-weight:600!important}
web-player.tn-music-v1 mobile-player-controls .artist-name{display:block!important;font-size:10px!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons{order:3!important;flex:0 0 86px!important;width:86px!important;gap:2px!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons .play-track,web-player.tn-music-v1 mobile-player-controls main-playback-buttons .pause-track{width:36px!important;height:36px!important;padding:7px!important;box-shadow:none!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons mat-icon{width:22px!important;height:22px!important}
web-player.tn-music-v1 mobile-player-controls>player-seekbar{left:20px!important;right:20px!important;width:calc(100% - 40px)!important;z-index:2!important;height:3px!important}
}
/* Center native Material button contents, including Safari SVG layout. */
@media(max-width:768px){
web-player.tn-music-v1 mobile-player-controls main-playback-buttons{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 100px!important;width:100px!important;gap:3px!important;min-width:100px!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons button:not(.hidden){display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;flex-shrink:0!important;box-sizing:border-box!important;vertical-align:middle!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.hidden,web-player.tn-music-v1 mobile-player-controls main-playback-buttons .buffering.hidden{display:none!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons .mat-button-wrapper{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons .previous-track,web-player.tn-music-v1 mobile-player-controls main-playback-buttons .next-track{width:28px!important;height:40px!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons .play-track,web-player.tn-music-v1 mobile-player-controls main-playback-buttons .pause-track{width:38px!important;height:38px!important;background:#08bce9!important;border:1px solid #6be5ff!important;box-shadow:none!important}
web-player.tn-music-v1 mobile-player-controls main-playback-buttons mat-icon,web-player.tn-music-v1 mobile-player-controls main-playback-buttons mat-icon svg{display:block!important;width:22px!important;height:22px!important;margin:0!important;position:static!important;transform:none!important;vertical-align:middle!important}
web-player.tn-music-v1 playlist .media-page-header,web-player.tn-music-v1 album .media-page-header{background:transparent!important}
web-player.tn-music-v1 .media-page-header .title{font-size:19px!important;line-height:1.3!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
web-player.tn-music-v1 playlist-editors-widget{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important}
web-player.tn-music-v1 playlist-editors-widget media-image{width:20px!important;height:20px!important;flex:0 0 20px!important;margin:0!important}
web-player.tn-music-v1 .media-page-header .subtitle{background:transparent!important}
}
/* Two-line track labels with reserved duration and menu columns. */
.tn-row-artist{display:none}
@media(max-width:768px){
html body web-player.tn-music-v1 track-table tr.track-list-row td.name-column{position:absolute!important;left:28px!important;right:72px!important;top:12px!important;width:auto!important;max-width:none!important;padding:0 0 0 52px!important;min-width:0!important;box-sizing:border-box!important;overflow:visible!important}
html body web-player.tn-music-v1 track-table tr.track-list-row td.name-column>span{display:block!important;width:calc(50vw - 16px)!important;max-width:100%!important;min-width:0!important;font-size:13px!important;font-weight:600!important;line-height:20px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 track-table tr.track-list-row td.artist-column,html body web-player.tn-music-v1 track-table tr.track-list-row td.duration-column{display:none!important}
html body web-player.tn-music-v1 track-table tr.track-list-row .tn-row-artist{display:block!important;position:absolute!important;left:80px!important;right:76px!important;top:35px!important;width:auto!important;max-width:calc(50vw - 16px)!important;font-size:11px!important;font-weight:400!important;line-height:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#a9bfd2!important;pointer-events:none}
html body web-player.tn-music-v1 track-table tr.track-list-row .tn-row-duration{display:block!important;position:absolute!important;right:34px!important;top:25px!important;width:36px!important;text-align:right!important;font-size:11px!important;line-height:16px!important;color:#b7ccdd!important;font-variant-numeric:tabular-nums}
html body web-player.tn-music-v1 track-table tr.track-list-row td.options-column{left:auto!important;right:0!important;top:11px!important;width:30px!important;min-width:30px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body web-player.tn-music-v1 track-table .track-options-button mat-icon{transform:rotate(90deg);width:20px!important;height:20px!important}
}
/* Anchor the glyph to the actual circular button, not the Material baseline. */
@media(max-width:768px){
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.play-track,
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.pause-track{position:relative!important;padding:0!important;line-height:0!important;overflow:hidden!important}
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.play-track .mat-button-wrapper,
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.pause-track .mat-button-wrapper{position:static!important;display:block!important;width:auto!important;height:auto!important;line-height:0!important;margin:0!important;padding:0!important;transform:none!important}
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.play-track .mat-button-wrapper mat-icon,
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.pause-track .mat-button-wrapper mat-icon{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;display:block!important;width:24px!important;height:24px!important;min-width:24px!important;line-height:0!important;margin:0!important;padding:0!important}
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.play-track .mat-button-wrapper mat-icon svg,
html body web-player.tn-music-v1 mobile-player-controls main-playback-buttons button.pause-track .mat-button-wrapper mat-icon svg{position:static!important;display:block!important;width:24px!important;height:24px!important;transform:none!important;margin:0!important;padding:0!important;vertical-align:top!important}
}
.tn-home-favorite{display:none}
.tn-favorite-status{position:fixed;bottom:150px;left:16px;right:16px;z-index:1900;padding:12px 16px;background:#103249;color:#f3f8ff;border:1px solid #236384;border-radius:12px;font:14px/1.5 Arial}
@media(max-width:768px){
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.name-column{left:28px!important;right:102px!important;width:auto!important;max-width:none!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.name-column>span{width:100%!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 .tn-home-tracks .tn-row-artist{left:80px!important;right:102px!important;width:auto!important;max-width:none!important}
html body web-player.tn-music-v1 .tn-home-tracks .tn-row-duration{right:66px!important;width:34px!important}
html body web-player.tn-music-v1 .tn-home-tracks .tn-home-favorite{display:flex!important;align-items:center;justify-content:center;position:absolute;right:30px;top:11px;width:34px;height:44px;min-width:0;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#a9bfd2;cursor:pointer;z-index:1}
html body web-player.tn-music-v1 .tn-home-tracks .tn-home-favorite svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;width:19px;height:19px}
html body web-player.tn-music-v1 .tn-home-tracks .tn-home-favorite.active{color:#21c9ff}
html body web-player.tn-music-v1 .tn-home-tracks .tn-home-favorite.active svg{fill:currentColor}
html body web-player.tn-music-v1 .tn-home-tracks .tn-row-number{display:block!important}
}
/* Homepage rows use explicit columns so text, duration and heart cannot overlap. */
@media(max-width:768px){
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row{display:grid!important;grid-template-columns:22px 28px 38px minmax(0,1fr) 38px 26px!important;grid-template-rows:20px 16px!important;column-gap:5px!important;row-gap:2px!important;align-content:center!important;align-items:center!important;height:66px!important;padding:8px 0!important;margin:0!important;box-sizing:border-box!important;min-width:0!important;width:100%!important;overflow:hidden!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.name-column{display:contents!important;position:static!important;padding:0!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.name-column>span{grid-column:4!important;grid-row:1!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:13px!important;line-height:20px!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .track-image,html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-row-cover{grid-column:3!important;grid-row:1/3!important;position:static!important;display:block!important;width:38px!important;height:38px!important;margin:0!important;transform:none!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-row-number{grid-column:1!important;grid-row:1/3!important;position:static!important;width:22px!important;margin:0!important;align-self:center!important;text-align:center!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-home-favorite{grid-column:2!important;grid-row:1/3!important;position:static!important;inset:auto!important;width:28px!important;height:44px!important;padding:0!important;margin:0!important;transform:none!important;align-self:center!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-row-artist{grid-column:4!important;grid-row:2!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:16px!important;margin:0!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-row-duration{grid-column:5!important;grid-row:1/3!important;position:static!important;width:38px!important;margin:0!important;align-self:center!important;font-size:11px!important;text-align:right!important;white-space:nowrap!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.options-column{grid-column:6!important;grid-row:1/3!important;position:static!important;inset:auto!important;width:26px!important;min-width:0!important;height:44px!important;padding:0!important;margin:0!important;align-self:center!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table .track-options-button{width:26px!important;min-width:26px!important}
}
/* The title and artist share the same left edge in homepage grid rows. */
@media(max-width:768px){
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row td.name-column>span{margin:0!important;padding:0!important;text-align:left!important;text-indent:0!important;justify-self:stretch!important;align-self:center!important;transform:none!important;left:auto!important;right:auto!important;float:none!important;box-sizing:border-box!important}
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row .tn-row-artist{margin:0!important;padding:0!important;text-align:left!important;text-indent:0!important;justify-self:stretch!important;transform:none!important;box-sizing:border-box!important}
}

/* Video shortcut under the mobile mini-player title; use native maximize action. */
.tn-mini-video-action{display:none}
@media(max-width:768px){
html body web-player.tn-music-v1 mobile-player-controls .controls.tn-video-action-ready>.maximize{display:none!important}
html body web-player.tn-music-v1 mobile-player-controls .tn-video-action-ready .track-info{display:flex!important;flex:1 1 0!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;overflow:hidden!important}
html body web-player.tn-music-v1 mobile-player-controls .tn-video-action-ready .track-name{display:block!important;max-width:100%!important;width:100%!important;min-width:0!important;margin:0!important;line-height:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;order:0!important}
html body web-player.tn-music-v1 mobile-player-controls .tn-video-action-ready .artist-name{order:2!important;max-width:100%!important;line-height:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 mobile-player-controls .tn-mini-video-action{display:inline-flex!important;order:1!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:24px!important;height:24px!important;margin:0!important;padding:0 6px!important;border:1px solid #2481a0!important;border-radius:6px!important;background:#09364e!important;color:#55ddff!important;font:600 10px/1 Arial,sans-serif!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer;touch-action:manipulation}
html body web-player.tn-music-v1 mobile-player-controls .tn-mini-video-action svg{display:block!important;flex:0 0 14px!important;width:14px!important;height:14px!important;margin:0!important}
html body web-player.tn-music-v1 mobile-player-controls .tn-mini-video-action:focus-visible{outline:2px solid #78eaff!important;outline-offset:2px}
}

/* Compact mobile close control, preserving the native minimize click handler. */
@media(max-width:768px){
html body web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:auto!important;min-width:72px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0 10px!important;border:1px solid #2481a0!important;border-radius:9px!important;background:#09364e!important;color:#eaf8ff!important;line-height:1!important;box-shadow:none!important}
html body web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize>mat-icon{display:none!important}
html body web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize:before{content:'×';display:block;font:400 21px/1 Arial,sans-serif;color:#55ddff}
html body web-player.tn-music-v1 fullscreen-overlay.maximized>.top-nav>.minimize:after{content:'Đóng'!important;font:600 12px/1 Arial,sans-serif!important;white-space:nowrap!important}
}


/* V186 source: tn-album-layout.css */
/* Album detail follows the playlist shell, keeping native actions and playback. */
html body web-player.tn-music-v1 album .media-page-header .header-content{text-align:left!important;min-width:0!important}
html body web-player.tn-music-v1 album .media-page-header .artist{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;margin:0 0 8px!important;padding:0!important;font:400 14px/1.5 Arial,sans-serif!important;text-align:left!important}
html body web-player.tn-music-v1 album .media-page-header .artist-image{display:none!important}
html body web-player.tn-music-v1 album .media-page-header .artist-name{font:inherit!important;color:#b7cce6!important}
html body web-player.tn-music-v1 album .media-page-header .subtitle{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px 14px!important;margin:0!important;text-align:left!important}
html body web-player.tn-music-v1 album .media-page-header .meta-item{display:inline-block!important;flex:0 0 auto!important;margin:0!important;padding:0!important;width:auto!important;line-height:1.5!important}
html body web-player.tn-music-v1 album .media-page-header .meta-item:before,html body web-player.tn-music-v1 album .media-page-header .meta-item:after{content:none!important}
html body web-player.tn-music-v1 album .media-page-header .meta-item:empty{display:none!important}
html body web-player.tn-music-v1 album .action-buttons,html body web-player.tn-music-v1 album track-actions-bar,html body web-player.tn-music-v1 album track-actions-bar>.buttons{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important;margin-left:0!important}
html body web-player.tn-music-v1 album track-actions-bar{width:100%!important}
html body web-player.tn-music-v1 album track-actions-bar>.info{display:none!important}
html body web-player.tn-music-v1 album .action-buttons button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 16px!important;line-height:normal!important;font-size:13px!important;white-space:nowrap!important}
html body web-player.tn-music-v1 album .action-buttons .mat-button-wrapper{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}
html body web-player.tn-music-v1 album .action-buttons mat-icon{width:20px!important;height:20px!important;margin:0!important;line-height:20px!important}
html body web-player.tn-music-v1 album .tn-song-list-title{display:block!important;margin:20px 0 12px!important;font-size:23px!important;color:#f3f7ff!important}
html body web-player.tn-music-v1 album .tn-album-search{display:flex;align-items:center;gap:9px;margin:20px 0 0;padding:0 12px;height:44px;border:1px solid #225b77;border-radius:12px;background:#042139;color:#a8c9df;max-width:100%;box-sizing:border-box}
html body web-player.tn-music-v1 album .tn-album-search input{display:block;width:100%;min-width:0;height:42px;border:0;outline:0;background:transparent;color:#edf6ff;font:400 16px/1.4 Arial,sans-serif}
html body web-player.tn-music-v1 album .tn-album-search input::placeholder{color:#90a9be}
html body web-player.tn-music-v1 album .tn-album-search:focus-within{border-color:#21c9ed}
html body web-player.tn-music-v1 album track-table{display:block!important;width:100%!important;overflow:hidden!important;border:1px solid #15415d!important;border-radius:12px!important;background:transparent!important}
html body web-player.tn-music-v1 album track-table .material-table,html body web-player.tn-music-v1 album track-table tbody,html body web-player.tn-music-v1 album track-table thead{display:block!important;width:100%!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row,html body web-player.tn-music-v1 album track-table tr.header-row{display:grid!important;grid-template-columns:28px 30px 42px minmax(0,1fr) 64px 36px!important;column-gap:10px!important;row-gap:2px!important;align-items:center!important;width:100%!important;box-sizing:border-box!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row{position:relative!important;grid-template-rows:20px 16px!important;align-content:center!important;height:68px!important;min-height:68px!important;margin:0!important;padding:8px 12px!important;border-radius:0!important;border-bottom:1px solid #18394d80!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td{position:static!important;inset:auto!important;height:auto!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:0!important;border:0!important;margin:0!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.name-column{display:contents!important;padding:0!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.name-column>span{grid-column:4!important;grid-row:1!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;text-indent:0!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:14px!important;line-height:20px!important}
html body web-player.tn-music-v1 album track-table .track-image,html body web-player.tn-music-v1 album track-table .tn-row-cover{grid-column:3!important;grid-row:1!important;display:block!important;position:static!important;inset:auto!important;transform:none!important;width:42px!important;height:42px!important;margin:0!important;border-radius:7px!important;object-fit:cover!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-artist{display:block!important;grid-column:4!important;grid-row:2!important;position:static!important;inset:auto!important;max-width:100%!important;width:100%!important;font:400 12px/16px Arial,sans-serif!important;color:#a9bfd2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.number-column{grid-column:1!important;grid-row:1!important;display:block!important;text-align:center!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.like-column{grid-column:2!important;grid-row:1!important;display:block!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.duration-column{display:block!important;grid-column:5!important;grid-row:1!important;white-space:nowrap!important;text-align:right!important;font-size:12px!important;font-variant-numeric:tabular-nums}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.options-column{display:flex!important;grid-column:6!important;grid-row:1!important;align-items:center!important;justify-content:center!important;width:36px!important;height:44px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-duration,html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-number,html body web-player.tn-music-v1 album track-table .popularity-column,html body web-player.tn-music-v1 album track-table .artist-column{display:none!important}
html body web-player.tn-music-v1 album track-table .track-options-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:44px!important;padding:0!important;visibility:visible!important}
html body web-player.tn-music-v1 album track-table tr.header-row{height:40px!important;padding:0 12px!important;color:#a9bfd2!important;border-bottom:1px solid #18394d80}
html body web-player.tn-music-v1 album track-table tr.header-row th{min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
html body web-player.tn-music-v1 album track-table tr.header-row .number-column{grid-column:1!important}
html body web-player.tn-music-v1 album track-table tr.header-row .like-column{grid-column:2!important}
html body web-player.tn-music-v1 album track-table tr.header-row .name-column{grid-column:4!important}
html body web-player.tn-music-v1 album track-table tr.header-row .duration-column{grid-column:5!important;text-align:right!important}
html body web-player.tn-music-v1 album track-table tr.header-row .options-column{grid-column:6!important;grid-row:1!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row.tn-album-filter-hidden{display:none!important}
@media(max-width:768px){
html body web-player.tn-music-v1 album .media-page-header .artist{font-size:12px!important;margin-bottom:6px!important}
html body web-player.tn-music-v1 album .media-page-header .subtitle{font-size:12px!important;gap:4px 10px!important}
html body web-player.tn-music-v1 album .action-buttons{width:100%!important;margin:14px 0 0!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons{display:grid!important;grid-template-columns:minmax(110px,1fr) repeat(3,40px)!important;gap:8px!important;width:100%!important}
html body web-player.tn-music-v1 album track-actions-bar .repost-button{display:none!important}
html body web-player.tn-music-v1 album .action-buttons header-play-button{min-width:0!important;width:100%!important;margin:0!important}
html body web-player.tn-music-v1 album .action-buttons header-play-button button{width:100%!important;padding:0 10px!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>button.action-button{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;font-size:0!important;border-radius:50%!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>button.action-button span[trans]{display:none!important}
html body web-player.tn-music-v1 album .tn-song-list-title{font-size:18px!important}
html body web-player.tn-music-v1 album track-table{border:0!important;border-radius:0!important}
html body web-player.tn-music-v1 album track-table thead{display:none!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row{grid-template-columns:22px 42px minmax(0,1fr) 38px 28px!important;column-gap:7px!important;height:66px!important;min-height:66px!important;padding:8px 0!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.name-column>span,html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-artist{grid-column:3!important}
html body web-player.tn-music-v1 album track-table .track-image,html body web-player.tn-music-v1 album track-table .tn-row-cover{grid-column:2!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-number{display:block!important;grid-column:1!important;grid-row:1!important;position:static!important;inset:auto!important;width:22px!important;margin:0!important;text-align:center!important;font-size:11px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row .tn-row-duration{display:block!important;grid-column:4!important;grid-row:1!important;position:static!important;inset:auto!important;width:38px!important;font-size:11px!important;text-align:right!important;white-space:nowrap!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.duration-column,html body web-player.tn-music-v1 album track-table tr.track-list-row td.number-column,html body web-player.tn-music-v1 album track-table tr.track-list-row td.like-column{display:none!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row td.options-column{grid-column:5!important;width:28px!important}
}

/* Keep title, artwork and singer inside one real cell (Safari-safe table layout). */
html body web-player.tn-music-v1 album .media-page-header h2.artist{width:100%!important;justify-content:flex-start!important;text-align:left!important}
html body web-player.tn-music-v1 album .media-page-header h2.artist>*{margin:0!important;float:none!important;text-align:left!important;flex:0 1 auto!important}
html body web-player.tn-music-v1 album .tn-album-artist-fallback{font:400 14px/1.5 Arial,sans-serif!important;color:#b7cce6!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row,html body web-player.tn-music-v1 album track-table tr.header-row{grid-template-columns:28px 30px minmax(0,1fr) 64px 36px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column{grid-column:3!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;position:relative!important;inset:auto!important;align-self:stretch!important;height:52px!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;padding:0 0 0 52px!important;overflow:hidden!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>img.tn-track-art{display:block!important;position:absolute!important;inset:auto!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;margin:0!important;grid-column:auto!important;grid-row:auto!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>span:not(.tn-row-artist){display:block!important;position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;font-size:14px!important;line-height:20px!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>.tn-row-artist{display:block!important;position:static!important;inset:auto!important;transform:none!important;float:none!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font:400 12px/16px Arial,sans-serif!important;color:#a9bfd2!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.duration-column{grid-column:4!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.options-column{grid-column:5!important}
html body web-player.tn-music-v1 album track-table tr.header-row>.name-column{grid-column:3!important}
html body web-player.tn-music-v1 album track-table tr.header-row>.duration-column{grid-column:4!important}
html body web-player.tn-music-v1 album track-table tr.header-row>.options-column{grid-column:5!important}
@media(max-width:768px){
html body web-player.tn-music-v1 album .tn-album-artist-fallback{font-size:12px!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons{justify-content:stretch!important;grid-template-columns:minmax(0,1fr) repeat(3,40px)!important;width:100%!important;margin:0!important;padding:0!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>header-play-button{grid-column:1!important;width:100%!important;min-width:0!important;max-width:100%!important;justify-self:stretch!important;margin:0!important;padding:0!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>header-play-button button.action-button{width:100%!important;max-width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;border-radius:22px!important;font-size:13px!important;padding:0 12px!important;line-height:normal!important;box-sizing:border-box!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>header-play-button button.action-button span[trans]{display:inline!important;font-size:13px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row{grid-template-columns:22px minmax(0,1fr) 38px 28px!important;column-gap:7px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column{grid-column:2!important;height:50px!important;padding-left:52px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>span:not(.tn-row-artist){font-size:13px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>.tn-row-artist{font-size:11px!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>.tn-row-duration{grid-column:3!important;align-self:center!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.options-column{grid-column:4!important;align-self:center!important}
}

html body web-player.tn-music-v1 album track-table tr.track-list-row{grid-template-rows:minmax(0,1fr)!important}

/* Mobile table cells use explicit positions; no table/grid flattening on Safari. */
@media(max-width:768px){
html body web-player.tn-music-v1 album .media-page-header .title{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;overflow-wrap:anywhere!important;text-align:left!important}
html body web-player.tn-music-v1 album .media-page-header .flex-container{align-items:flex-start!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>header-play-button{display:block!important;flex:1 1 0!important;width:auto!important;min-width:0!important;margin:0!important}
html body web-player.tn-music-v1 album track-actions-bar>.buttons>button.action-button{flex:0 0 40px!important;width:40px!important;min-width:40px!important;margin:0!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row{display:block!important;position:relative!important;height:68px!important;min-height:68px!important;width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:8px!important;box-sizing:border-box!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column{display:flex!important;position:absolute!important;left:28px!important;right:76px!important;top:9px!important;bottom:auto!important;width:auto!important;height:50px!important;margin:0!important;padding:0 0 0 52px!important;box-sizing:border-box!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;min-width:0!important;overflow:hidden!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>img.tn-track-art{position:absolute!important;left:0!important;top:4px!important;right:auto!important;bottom:auto!important;transform:none!important;width:42px!important;height:42px!important;min-width:42px!important;margin:0!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>span:not(.tn-row-artist){position:static!important;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:20px!important;line-height:20px!important;margin:0!important;padding:0!important;text-indent:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.name-column>.tn-row-artist{position:static!important;display:block!important;max-width:100%!important;width:100%!important;height:16px!important;line-height:16px!important;margin:0!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>.tn-row-number{display:block!important;position:absolute!important;left:0!important;top:26px!important;right:auto!important;bottom:auto!important;width:22px!important;height:16px!important;line-height:16px!important;margin:0!important;text-align:center!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>.tn-row-duration{display:block!important;position:absolute!important;left:auto!important;right:34px!important;top:26px!important;bottom:auto!important;width:38px!important;height:16px!important;line-height:16px!important;margin:0!important;text-align:right!important}
html body web-player.tn-music-v1 album track-table tr.track-list-row>td.options-column{display:flex!important;position:absolute!important;left:auto!important;right:0!important;top:12px!important;bottom:auto!important;width:28px!important;height:44px!important;padding:0!important;margin:0!important;align-items:center!important;justify-content:center!important}
}

/* Dedicated metadata container: artwork never shares the text box. */
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row>td.name-column{
 display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:1fr!important;column-gap:10px!important;align-items:center!important;align-content:center!important;justify-content:normal!important;padding:0!important;text-indent:0!important;overflow:hidden!important;
}
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row>td.name-column>img.tn-track-art{
 display:block!important;position:static!important;inset:auto!important;transform:none!important;float:none!important;grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:start!important;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;margin:0!important;
}
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row>td.name-column>.tn-album-song-meta{
 display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;grid-column:2!important;grid-row:1!important;position:static!important;inset:auto!important;transform:none!important;min-width:0!important;width:100%!important;max-width:100%!important;height:40px!important;margin:0!important;padding:0!important;overflow:hidden!important;text-align:left!important;
}
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row .tn-album-song-meta>span{
 display:block!important;position:static!important;inset:auto!important;transform:none!important;float:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;text-indent:0!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important;
}
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row .tn-album-song-meta>span:not(.tn-row-artist){font:600 14px/20px Arial,sans-serif!important;height:20px!important;color:inherit!important}
html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row .tn-album-song-meta>.tn-row-artist{font:400 12px/16px Arial,sans-serif!important;height:16px!important;color:#a9bfd2!important}
@media(max-width:768px){
 html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row>td.name-column{position:absolute!important;left:28px!important;right:76px!important;top:9px!important;bottom:auto!important;width:auto!important;max-width:none!important;height:50px!important;min-height:0!important;padding:0!important}
 html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row .tn-album-song-meta>span:not(.tn-row-artist){font-size:13px!important}
 html body web-player.tn-music-v1 album track-table table.material-table tr.track-list-row.tn-album-track-row .tn-album-song-meta>.tn-row-artist{font-size:11px!important}
}


/* V186 source: tn-slides.css */
.tn-managed-slides{position:relative;overflow:hidden;padding:0!important;min-height:0!important;background:#062543!important}.tn-managed-slides .tn-slide-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:3/1;min-height:190px;max-height:460px}.tn-managed-slides .tn-slide-img{width:100%;height:100%;object-fit:cover;display:block}.tn-slide-caption{position:absolute;z-index:3;left:5%;bottom:11%;color:#fff;max-width:65%;text-shadow:0 2px 12px #001}.tn-slide-caption h2{font-size:clamp(20px,3vw,42px);margin:0 0 6px;font-weight:800}.tn-slide-caption p{font-size:clamp(13px,1.4vw,18px);margin:0}.tn-slide-click{position:absolute;inset:0;z-index:2}.tn-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;border:1px solid #fff8;color:#fff;background:#001a32aa;border-radius:50%;width:36px;height:36px;font-size:26px;cursor:pointer}.tn-slide-arrow.prev{left:12px}.tn-slide-arrow.next{right:12px}.tn-slide-dots{position:absolute;z-index:5;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.tn-slide-dots button{padding:0;width:8px;height:8px;border:0;border-radius:10px;background:#ffffff77;cursor:pointer}.tn-slide-dots button.active{width:25px;background:#00d9fa}@media(max-width:700px){.tn-managed-slides .tn-slide-stage{aspect-ratio:16/9;min-height:140px}.tn-slide-caption{max-width:78%;bottom:15%}.tn-slide-caption h2{font-size:18px}.tn-slide-caption p{font-size:12px}.tn-slide-arrow{width:28px;height:28px;font-size:20px}}

/* V12: slider is the image only, no dark overlay or duplicated text. */
.tn-managed-slides .tn-slide-stage::before,.tn-managed-slides .tn-slide-stage::after{content:none!important;display:none!important;background:none!important}
.tn-managed-slides .tn-slide-caption{display:none!important}

/* V13: keep the outside hero and inner image at one responsive height.
   Banner assets use the wide 3:1 ratio. Do not inherit BeMusic's fixed hero height. */
web-player.tn-music-v1 .tn-hero.tn-managed-slides {
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin-bottom:0!important;
  overflow:hidden!important;
}
web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-stage {
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:3/1!important;
  overflow:hidden!important;
}
web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-img {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-dots {
  position:absolute!important;
  left:50%!important;
  bottom:9px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
}
@media(max-width:700px) {
  web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-stage {
    aspect-ratio:3/1!important;
    min-height:0!important;
    max-height:none!important;
  }
  web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-arrow {
    width:30px;
    height:30px;
    font-size:20px;
  }
  web-player.tn-music-v1 .tn-hero.tn-managed-slides .tn-slide-dots {bottom:6px!important;}
}


/* V186 source: tn-home-more.css */
html body web-player.tn-music-v1 .tn-home-tracks track-table tr.track-list-row.tn-home-track-hidden{display:none!important}
.tn-home-more{display:flex;flex-direction:column;align-items:center;gap:9px;margin:18px 0 24px}
.tn-home-more>button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:42px;padding:0 24px;border:1px solid #23b9df;border-radius:22px;background:linear-gradient(110deg,#075474,#07314c);color:#79e8ff;font:600 14px/1.4 Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.tn-home-more>button[hidden]{display:none!important}
.tn-home-more>button:disabled{opacity:.65;cursor:wait}
.tn-home-more>button:focus-visible{outline:2px solid #7aeaff;outline-offset:3px}
.tn-home-more-status{font:400 12px/1.5 Arial,sans-serif;color:#adc8dd;text-align:center}
.tn-home-more-status:empty{display:none}

.tn-home-more{flex-direction:row;flex-wrap:wrap;justify-content:center}
.tn-home-more-status{flex-basis:100%}
.tn-home-more>.tn-home-collapse{background:#062b43;color:#c0dced;border-color:#28627d}


/* V186 source: tn-public-palette.css */
/* Shared public-site palette: navy surfaces, cyan accents, readable text. */
html.tn-public-palette,html.tn-public-palette body,html.tn-public-palette web-player,html.tn-public-palette .cdk-overlay-container,html.tn-public-palette .web-player-theme{
 --tn-bg:#031728!important;--tn-panel:#0a253b!important;--tn-line:#22516c!important;--tn-text:#f3f8ff!important;--tn-muted:#a9bfd2!important;
 --be-background:#0a253b!important;--be-background-alternative:#031728!important;--be-foreground-base:#102f47!important;--be-text:#f3f8ff!important;--be-secondary-text:#a9bfd2!important;--be-hint-text:#91aabe!important;--be-divider-default:#24465e!important;--be-divider-lighter:#17384f!important;--be-accent-default:#21c9ff!important;--be-accent-contrast:#001b2c!important;--be-accent-emphasis:#104e70!important;--be-accent-lighter:#103c55!important;--be-primary-default:#0b83c9!important;--be-primary-lighter:#103c55!important;--be-hover:#123c55!important;--be-chip:#12374f!important;--be-link:#58d6ff!important;--be-raised-button:#123b56!important;
 color-scheme:dark;
}
html.tn-public-palette body{background-color:#031728;color:#f3f8ff}
html.tn-public-palette .context-menu,html.tn-public-palette .mat-menu-panel,html.tn-public-palette .mat-select-panel,html.tn-public-palette .mat-autocomplete-panel,html.tn-public-palette .mat-dialog-container,html.tn-public-palette .mat-bottom-sheet-container,html.tn-public-palette .mat-datepicker-content,html.tn-public-palette .notification-panel{background:#0a253b!important;color:#f3f8ff!important;border:1px solid #22516c!important;border-radius:14px!important;box-shadow:0 16px 48px #0008!important}
html.tn-public-palette .context-menu .context-menu-panel,html.tn-public-palette .context-menu .panel-body,html.tn-public-palette context-menu-playlist-panel,html.tn-public-palette .mat-menu-content{background:transparent!important;color:inherit!important}
html.tn-public-palette .context-menu>.header,html.tn-public-palette .context-menu .panel-header{background:#0d2c43!important;border-color:#24465e!important;color:#f3f8ff!important}
html.tn-public-palette .context-menu .primary-name{color:#f3f8ff!important}
html.tn-public-palette .context-menu .secondary-name{color:#a9bfd2!important}
html.tn-public-palette .context-menu-item,html.tn-public-palette .mat-menu-item,html.tn-public-palette .mat-option,html.tn-public-palette .mat-list-item{color:#e8f3ff!important;background:transparent}
html.tn-public-palette .context-menu-item:hover,html.tn-public-palette .context-menu-item:focus-visible,html.tn-public-palette .mat-menu-item:hover,html.tn-public-palette .mat-menu-item.cdk-keyboard-focused,html.tn-public-palette .mat-option:hover,html.tn-public-palette .mat-option.mat-active{background:#123c55!important;color:#65ddff!important}
html.tn-public-palette .mat-option.mat-selected:not(.mat-option-disabled){background:#104461!important;color:#65ddff!important}
html.tn-public-palette .context-menu mat-icon,html.tn-public-palette .mat-menu-item mat-icon{color:#75cee9!important}
html.tn-public-palette .context-menu hr,html.tn-public-palette .mat-divider,html.tn-public-palette .mat-dialog-actions{border-color:#24465e!important}
html.tn-public-palette .cdk-overlay-dark-backdrop{background:#00101b99!important}
html.tn-public-palette .mat-tooltip{background:#123b53!important;color:#f3f8ff!important;border:1px solid #2e6280;border-radius:8px}
html.tn-public-palette .mat-snack-bar-container{background:#103249!important;color:#f3f8ff!important;border:1px solid #2b607d;border-radius:12px!important;box-shadow:0 8px 30px #0006}
html.tn-public-palette .mat-simple-snackbar-action{color:#62dcff!important}
html.tn-public-palette .mat-form-field-label,html.tn-public-palette .mat-select-arrow,html.tn-public-palette .mat-input-element::placeholder,html.tn-public-palette input::placeholder,html.tn-public-palette textarea::placeholder{color:#91aabe!important;opacity:1}
html.tn-public-palette .mat-input-element,html.tn-public-palette .mat-select-value,html.tn-public-palette .mat-dialog-container input,html.tn-public-palette .mat-dialog-container textarea{color:#f3f8ff!important;caret-color:#21c9ff}
html.tn-public-palette .mat-form-field-appearance-outline .mat-form-field-outline,html.tn-public-palette .mat-form-field-underline{color:#2d5974!important}
html.tn-public-palette .mat-form-field.mat-focused .mat-form-field-label,html.tn-public-palette .mat-form-field.mat-focused .mat-form-field-outline-thick{color:#21c9ff!important}
html.tn-public-palette .mat-form-field-ripple{background:#21c9ff!important}
html.tn-public-palette .mat-dialog-container .mat-raised-button:not(.mat-warn),html.tn-public-palette .mat-dialog-container .mat-flat-button:not(.mat-warn),html.tn-public-palette .mat-bottom-sheet-container .mat-raised-button:not(.mat-warn){background:#00bde9!important;color:#002236!important;box-shadow:none!important}
html.tn-public-palette .mat-stroked-button:not(.mat-warn){border-color:#2b6585!important;color:#e8f6ff}
html.tn-public-palette .mat-button.mat-accent,html.tn-public-palette .mat-icon-button.mat-accent{color:#33d3ff!important}
html.tn-public-palette .mat-button.mat-warn,html.tn-public-palette .mat-icon-button.mat-warn,html.tn-public-palette .mat-error{color:#ff8796!important}
html.tn-public-palette .mat-raised-button.mat-warn,html.tn-public-palette .mat-flat-button.mat-warn{background:#b82f4b!important;color:white!important}
html.tn-public-palette .mat-menu-item[disabled],html.tn-public-palette .context-menu-item[disabled],html.tn-public-palette button[disabled],html.tn-public-palette .mat-option-disabled{color:#71899c!important;opacity:.65!important}
html.tn-public-palette .mat-checkbox-frame,html.tn-public-palette .mat-radio-outer-circle{border-color:#7b9db5!important}
html.tn-public-palette .mat-checkbox-checked:not(.mat-checkbox-disabled) .mat-checkbox-background,html.tn-public-palette .mat-checkbox-indeterminate .mat-checkbox-background,html.tn-public-palette .mat-radio-inner-circle,html.tn-public-palette .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background:#21c9ff!important}
html.tn-public-palette .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background:#16739b!important}
html.tn-public-palette .mat-tab-label,html.tn-public-palette .mat-tab-link{color:#a9bfd2!important}
html.tn-public-palette .mat-tab-label-active,html.tn-public-palette .mat-tab-link-active{color:#45d5ff!important;opacity:1}
html.tn-public-palette .mat-ink-bar,html.tn-public-palette .mat-progress-bar-fill::after{background:#21c9ff!important}
html.tn-public-palette .mat-chip:not(.mat-chip-selected){background:#12374f!important;color:#d8edf9!important}
html.tn-public-palette .mat-calendar-body-selected,html.tn-public-palette .mat-chip-selected{background:#21c9ff!important;color:#002236!important}
html.tn-public-palette .mat-progress-spinner circle,html.tn-public-palette .mat-spinner circle{stroke:#21c9ff!important}
html.tn-public-palette .mat-paginator,html.tn-public-palette .mat-table,html.tn-public-palette .mat-expansion-panel,html.tn-public-palette .mat-card{background:#0a253b!important;color:#f3f8ff!important}
html.tn-public-palette :focus-visible{outline:2px solid #45d5ff;outline-offset:3px}
html.tn-public-palette ::selection{background:#1376a2;color:#fff}
html.tn-public-palette *{scrollbar-color:#236384 #061d30}
html.tn-public-palette *::-webkit-scrollbar-thumb{background:#236384;border-radius:8px}
html.tn-public-palette *::-webkit-scrollbar-track{background:#061d30}
@media(max-width:768px){
html.tn-public-palette .context-menu{max-width:calc(100vw - 24px)!important;max-height:75vh!important;overflow:auto!important}
html.tn-public-palette .context-menu-item,html.tn-public-palette .mat-menu-item{min-height:44px!important;line-height:44px!important;font-size:14px!important}
html.tn-public-palette .context-menu .header{padding:12px!important}
html.tn-public-palette .context-menu .header media-image{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:8px;overflow:hidden}
html.tn-public-palette .context-menu .primary-name{font-size:14px!important}
html.tn-public-palette .context-menu .secondary-name{font-size:12px!important}
}
/* Context overlays are mounted outside web-player. */
html.tn-public-palette .context-menu-overlay .context-menu{background:#0a253b!important;color:#f3f8ff!important;border:1px solid #22516c!important;border-radius:14px!important}
html.tn-public-palette .context-menu-overlay .context-menu .header{background:#0d2c43!important;border-bottom:1px solid #24465e!important;display:flex;align-items:center;gap:12px}
html.tn-public-palette .context-menu-overlay .meta{min-width:0;flex:1}
html.tn-public-palette .context-menu-overlay .primary-name{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;line-height:1.4!important}
@media(max-width:768px){
html.tn-public-palette .context-menu-overlay{max-width:calc(100vw - 24px)!important}
html.tn-public-palette .context-menu-overlay .context-menu{width:min(320px,calc(100vw - 24px))!important;max-height:70vh!important;max-height:70dvh!important;overflow:auto!important}
html.tn-public-palette .context-menu-overlay .context-menu-item{padding:0 14px!important;font-size:14px!important;min-height:44px!important;height:auto!important;line-height:1.5!important;display:flex!important;align-items:center!important;padding-top:10px!important;padding-bottom:10px!important}
html.tn-public-palette .context-menu-overlay .header media-image{width:44px!important;height:44px!important;flex:0 0 44px!important}
}


/* V186 source: tn-desktop-video-close.css */
.tn-desktop-video-close{display:none!important}
@media(min-width:769px){
web-player.tn-music-v1 fullscreen-overlay.maximized .video-container.current{position:relative!important;overflow:visible!important}
web-player.tn-music-v1 fullscreen-overlay.maximized .video-container.current>.tn-desktop-video-close{position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;top:10px!important;right:10px!important;width:38px!important;height:38px!important;min-width:38px!important;padding:9px!important;margin:0!important;border:1px solid #62dbff!important;border-radius:50%!important;background:#05263fee!important;color:#fff!important;box-shadow:0 3px 14px #0007!important;cursor:pointer!important;z-index:100!important;pointer-events:auto!important;line-height:1!important}
web-player.tn-music-v1 fullscreen-overlay.maximized .tn-desktop-video-close:hover{background:#0a5b7f!important}
web-player.tn-music-v1 fullscreen-overlay.maximized .tn-desktop-video-close:focus-visible{outline:2px solid #b2f5ff!important;outline-offset:3px!important}
web-player.tn-music-v1 .tn-desktop-video-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;pointer-events:none}
}


/* V186 source: tn-artist-studio-v23.css */
/* Trường Nguyễn Music — Artist Studio V23. Single scoped stylesheet.
   Real BeMusic nodes; no synthetic play/follow data or duplicated buttons. */
html body artist-page#tn-artist-studio {
  --artist-cyan:#0bd1f2; --artist-blue:#087de7; --artist-line:rgba(30,181,235,.25);
  --artist-muted:#a9c8e4; --artist-glass:linear-gradient(145deg,rgba(3,37,66,.97),rgba(1,23,45,.94));
  display:block!important; width:100%!important; max-width:1480px!important;
  min-width:0!important; box-sizing:border-box!important;
  margin-inline:auto!important; padding:20px 24px 170px!important;
  color:#f1f8ff;
}
html body artist-page#tn-artist-studio *,html body artist-page#tn-artist-studio *::before,html body artist-page#tn-artist-studio *::after {box-sizing:border-box;}
html body artist-page#tn-artist-studio artist-page-header.media-page-header,
html body artist-page#tn-artist-studio artist-page-header {
  display:block!important; position:relative!important; width:100%!important;
  margin:0 0 20px!important;padding:0!important; height:auto!important; min-height:0!important;
  border:0!important; background:none!important; overflow:visible!important;
}
html body artist-page#tn-artist-studio artist-page-header > div {
  display:block!important; min-height:0!important; height:auto!important; width:100%!important;
  padding:0!important; margin:0!important; border:0!important; background:none!important;
}
/* Three genuine DOM zones: image, identity and original native Angular controls. */
html body artist-page#tn-artist-studio artist-page-header .flex-container {
  display:grid!important; position:relative!important; isolation:isolate!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:'portrait identity' 'portrait actions'!important;
  align-content:center!important; align-items:center!important; justify-items:stretch!important;
  gap:10px 27px!important;
  min-height:276px!important; height:auto!important; max-height:none!important;
  padding:30px 35px!important; margin:0!important; width:100%!important;
  border-radius:19px!important;border:1px solid var(--artist-line)!important;
  background:linear-gradient(115deg,#001831,#042e51)!important;
  box-shadow:0 13px 35px rgba(0,0,0,.27)!important;
  overflow:hidden!important; text-align:left!important;
}
html body artist-page#tn-artist-studio artist-page-header .flex-container::before {
  content:''; position:absolute; inset:-26px;z-index:-2;pointer-events:none;
  background-image:var(--tn-artist-photo,none);
  background-position:center 34%;background-size:cover;background-repeat:no-repeat;
  filter:blur(15px) saturate(.9);opacity:.55;
}
html body artist-page#tn-artist-studio artist-page-header .flex-container::after {
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,13,31,.95),rgba(0,24,50,.87) 45%,rgba(0,30,55,.58));
}
html body artist-page#tn-artist-studio artist-page-header .image-container {
  grid-area:portrait!important;align-self:center!important;justify-self:center!important;
  position:relative!important;inset:auto!important;transform:none!important;
  width:185px!important;height:185px!important;min-width:0!important;max-width:185px!important;
  min-height:0!important;max-height:185px!important;
  padding:0!important;margin:0!important;z-index:1!important;
}
html body artist-page#tn-artist-studio artist-page-header media-image.header-image {
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;
  min-width:0!important;max-height:100%!important;
  border-radius:50%!important;aspect-ratio:1!important;
  overflow:hidden!important;border:3px solid rgba(225,252,255,.96)!important;
  box-shadow:0 0 0 5px rgba(0,210,248,.23),0 14px 26px #0007!important;
  position:relative!important;inset:auto!important;transform:none!important;margin:0!important;
}
html body artist-page#tn-artist-studio artist-page-header media-image.header-image img {
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:50%!important;
}
html body artist-page#tn-artist-studio artist-page-header .header-content {
  grid-area:identity!important;display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:flex-end!important;
  align-self:end!important;position:relative!important;inset:auto!important;transform:none!important;
  width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
  padding:0!important;margin:0!important;text-align:left!important;overflow:visible!important;
}
html body artist-page#tn-artist-studio artist-page-header .header-content h1.title {
  display:block!important;position:static!important;inset:auto!important;transform:none!important;
  width:auto!important;max-width:100%!important;min-height:0!important;height:auto!important;
  margin:0 0 9px!important;padding:0!important;
  color:#fff!important;font-weight:800!important;font-size:clamp(25px,2.7vw,39px)!important;
  line-height:1.2!important;letter-spacing:-.02em!important;white-space:normal!important;
  overflow:visible!important;overflow-wrap:anywhere!important;text-align:left!important;
}
html body artist-page#tn-artist-studio artist-page-header .header-content .subtitle,
html body artist-page#tn-artist-studio artist-page-header profile-follower-info,
html body artist-page#tn-artist-studio artist-page-header profile-description {
  display:block!important;position:static!important;min-width:0!important;max-width:100%!important;
  height:auto!important;margin:3px 0!important;padding:0!important;
  font-size:13px!important;line-height:1.5!important;color:var(--artist-muted)!important;
  text-align:left!important;white-space:normal!important;
}
html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls {
  grid-area:actions!important;display:block!important;align-self:start!important;justify-self:stretch!important;
  position:relative!important;z-index:3!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  padding:0!important;margin:2px 0 0!important;height:auto!important;
}
html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls .action-buttons {
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;
  position:static!important;inset:auto!important;transform:none!important;
  margin:0!important;padding:0!important;gap:10px!important;
}
html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls .action-buttons > * {
  display:inline-flex!important;position:relative!important;min-width:0!important;
  flex:0 0 auto!important;max-width:100%!important;width:auto!important;
  margin:0!important;padding:0!important;transform:none!important;inset:auto!important;
}
html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  position:relative!important;inset:auto!important;transform:none!important;
  width:auto!important;min-width:0!important;max-width:100%!important;
  height:42px!important;min-height:42px!important;line-height:1.2!important;
  padding:0 18px!important;margin:0!important;gap:7px!important;
  border-radius:24px!important;border:1px solid rgba(37,168,225,.5)!important;
  background:#073652cc!important;color:#eef9ff!important;
  font-size:14px!important;white-space:nowrap!important;box-shadow:none!important;
}
html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls header-play-button button {
  min-width:155px!important;background:linear-gradient(105deg,#06cbe8,#058af9)!important;
  border-color:rgba(162,248,255,.85)!important;font-weight:700!important;
  box-shadow:0 4px 15px rgba(0,181,255,.23)!important;
}
html body artist-page#tn-artist-studio artist-page-header .nav-links-wrapper {
  display:flex!important;position:relative!important;align-items:center!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:52px!important;max-height:none!important;
  padding:6px!important;margin:12px 0 0!important;
  border:1px solid var(--artist-line)!important;border-radius:13px!important;
  background:#04223cf0!important;box-shadow:none!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;
}
html body artist-page#tn-artist-studio artist-page-header .nav-links {
  display:flex!important;position:static!important;flex-wrap:nowrap!important;align-items:center!important;
  width:max-content!important;min-width:100%!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;gap:5px!important;
}
html body artist-page#tn-artist-studio artist-page-header a.nav-link {
  display:inline-flex!important;position:relative!important;flex:0 0 auto!important;
  align-items:center!important;justify-content:center!important;
  width:auto!important;height:38px!important;min-height:38px!important;
  margin:0!important;padding:0 16px!important;border:0!important;
  border-radius:22px!important;background:transparent!important;
  font-size:13px!important;line-height:1!important;color:#c3d9ed!important;
  white-space:nowrap!important;text-decoration:none!important;
}
html body artist-page#tn-artist-studio artist-page-header a.nav-link.active {
  color:#fff!important;background:linear-gradient(100deg,#008ecf,#0873df)!important;
  box-shadow:0 3px 13px #03b8ed35!important;font-weight:700!important;
}
/* Native tab contents (no invented data). */
html body artist-page#tn-artist-studio > .tab,
html body artist-page#tn-artist-studio artist-overview-tab,
html body artist-page#tn-artist-studio similar-artists-tab,
html body artist-page#tn-artist-studio artist-bio-tab {display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;}
html body artist-page#tn-artist-studio artist-overview-tab .first-section {
  display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(235px,.9fr)!important;
  align-items:start!important;gap:16px!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;
}
html body artist-page#tn-artist-studio artist-overview-tab .left-col,
html body artist-page#tn-artist-studio artist-overview-tab .right-col {
  display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;float:none!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks,
html body artist-page#tn-artist-studio artist-overview-tab section.albums,
html body artist-page#tn-artist-studio artist-overview-tab .similar-artists,
html body artist-page#tn-artist-studio similar-artists-tab,
html body artist-page#tn-artist-studio artist-bio-tab,
html body artist-page#tn-artist-studio paginated-album-list,
html body artist-page#tn-artist-studio paginated-track-list {
  display:block!important;width:100%!important;min-width:0!important;
  margin:0 0 16px!important;padding:16px!important;
  background:var(--artist-glass)!important;border:1px solid var(--artist-line)!important;
  border-radius:16px!important;box-shadow:none!important;overflow:hidden!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks .popular-tracks,
html body artist-page#tn-artist-studio artist-page-popular-tracks track-table {
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
html body artist-page#tn-artist-studio artist-overview-tab .title,
html body artist-page#tn-artist-studio artist-page-popular-tracks .title {
  display:block;color:#fff!important;font-size:18px!important;line-height:1.4!important;
  font-weight:700!important;margin:0 0 14px!important;max-width:100%!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks .title::before {
  content:'♫';color:var(--artist-cyan);font-size:22px;margin-right:10px;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks table.material-table {
  width:100%!important;max-width:100%!important;min-width:0!important;
  table-layout:fixed!important;border-collapse:collapse!important;margin:0!important;
  background:transparent!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks .track-list-row {
  height:auto!important;min-height:56px!important;border-bottom:1px solid rgba(79,144,186,.17)!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td {
  height:56px!important;min-height:56px!important;padding:7px 5px!important;
  border:0!important;vertical-align:middle!important;
  color:#e5f1ff!important;font-size:13px!important;line-height:1.35!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.name-column {
  overflow:hidden!important;text-overflow:ellipsis!important;
  white-space:nowrap!important;max-width:0!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.name-column span {
  display:inline-block!important;max-width:calc(100% - 52px)!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  vertical-align:middle!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.name-column media-image {
  display:inline-block!important;vertical-align:middle!important;
  width:40px!important;height:40px!important;margin:0 8px 0 0!important;
  overflow:hidden!important;border-radius:8px!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.name-column media-image img {
  width:40px!important;height:40px!important;object-fit:cover!important;border-radius:8px!important;
}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.number-column {width:42px!important;text-align:center!important;}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.like-column {width:37px!important;}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.duration-column {width:65px!important;text-align:right!important;}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.options-column {width:42px!important;text-align:center!important;}
html body artist-page#tn-artist-studio artist-page-popular-tracks td.artist-column {width:125px!important;}
html body artist-page#tn-artist-studio artist-page-popular-tracks .dark-button {
  display:inline-flex!important;align-items:center!important;min-height:35px!important;
  margin-top:12px!important;padding:7px 13px!important;
  border:1px solid #1786b2!important;border-radius:9px!important;
  background:#0b3556!important;color:#def3ff!important;
}
html body artist-page#tn-artist-studio artist-overview-tab section.albums {margin-top:16px!important;}
html body artist-page#tn-artist-studio artist-overview-tab section.albums media-grid .media-grid-content,
html body artist-page#tn-artist-studio paginated-album-list media-grid .media-grid-content,
html body artist-page#tn-artist-studio similar-artists-tab media-grid .media-grid-content {
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;width:100%!important;min-width:0!important;
}
html body artist-page#tn-artist-studio album-item,
html body artist-page#tn-artist-studio artist-item {display:block!important;min-width:0!important;max-width:100%!important;}
html body artist-page#tn-artist-studio artist-overview-tab .album,
html body artist-page#tn-artist-studio artist-page-album-list-item {
  max-width:100%!important;min-width:0!important;
}
/* Do not let old synthetic biography blocks from V19/V20 appear. */
html body artist-page#tn-artist-studio .tn-v19-bio,
html body artist-page#tn-artist-studio .tn-v20-bio{display:none!important;}
@media(max-width:1050px) and (min-width:701px){
  html body artist-page#tn-artist-studio artist-overview-tab .first-section {grid-template-columns:minmax(0,1fr)!important;}
  html body artist-page#tn-artist-studio artist-overview-tab section.albums media-grid .media-grid-content {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  html body artist-page#tn-artist-studio {
    padding:12px 12px 180px!important;width:100%!important;max-width:100%!important;
    min-width:0!important;margin:0!important;overflow-x:clip!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .flex-container {
    grid-template-columns:104px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:'portrait identity' 'actions actions'!important;
    gap:14px 15px!important;
    width:100%!important;min-height:0!important;height:auto!important;max-height:none!important;
    padding:22px 17px!important;align-items:center!important;align-content:center!important;
    overflow:hidden!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .flex-container::after {
    background:linear-gradient(90deg,rgba(1,18,36,.93),rgba(2,28,50,.73))!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .image-container {
    width:100px!important;height:100px!important;max-width:100px!important;max-height:100px!important;
    min-width:0!important;grid-area:portrait!important;align-self:center!important;justify-self:center!important;
  }
  html body artist-page#tn-artist-studio artist-page-header media-image.header-image {
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .header-content {
    grid-area:identity!important;align-self:center!important;justify-content:center!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    height:auto!important;margin:0!important;padding:0!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .header-content h1.title {
    font-size:clamp(20px,5.5vw,26px)!important;line-height:1.18!important;
    max-width:100%!important;margin:0 0 5px!important;text-align:left!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .header-content .subtitle,
  html body artist-page#tn-artist-studio artist-page-header .header-content profile-description {
    font-size:11px!important;line-height:1.45!important;text-align:left!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls {
    grid-area:actions!important;width:100%!important;min-width:0!important;
    margin:0!important;align-self:stretch!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls .action-buttons {
    display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto!important;
    gap:7px!important;align-items:stretch!important;width:100%!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls .action-buttons > * {
    display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls button {
    display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;
    height:39px!important;min-height:39px!important;padding:0 9px!important;
    font-size:12px!important;white-space:nowrap!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls header-play-button button {min-width:0!important;}
  html body artist-page#tn-artist-studio artist-page-header .nav-links-wrapper {
    min-height:49px!important;height:auto!important;max-height:none!important;
    margin:10px 0 14px!important;padding:5px!important;
    overflow-x:auto!important;overflow-y:hidden!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .nav-links {
    min-width:max-content!important;width:max-content!important;gap:3px!important;
  }
  html body artist-page#tn-artist-studio artist-page-header a.nav-link {
    height:36px!important;min-height:36px!important;padding:0 12px!important;font-size:12px!important;
  }
  html body artist-page#tn-artist-studio artist-overview-tab .first-section {
    display:block!important;width:100%!important;min-width:0!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks,
  html body artist-page#tn-artist-studio artist-overview-tab section.albums,
  html body artist-page#tn-artist-studio paginated-album-list,
  html body artist-page#tn-artist-studio paginated-track-list {padding:12px!important;}
  html body artist-page#tn-artist-studio artist-page-popular-tracks .title,
  html body artist-page#tn-artist-studio artist-overview-tab .title {font-size:16px!important;margin-bottom:10px!important;}
  html body artist-page#tn-artist-studio artist-page-popular-tracks td {padding:5px 2px!important;font-size:12px!important;}
  html body artist-page#tn-artist-studio artist-page-popular-tracks td.name-column span {
    max-width:calc(100% - 45px)!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks td.artist-column {width:75px!important;}
  html body artist-page#tn-artist-studio artist-page-popular-tracks td.options-column {width:36px!important;}
  html body artist-page#tn-artist-studio artist-overview-tab section.albums media-grid .media-grid-content,
  html body artist-page#tn-artist-studio paginated-album-list media-grid .media-grid-content,
  html body artist-page#tn-artist-studio similar-artists-tab media-grid .media-grid-content {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
  }
}
@media(max-width:355px){
  html body artist-page#tn-artist-studio artist-page-header .flex-container {
    grid-template-columns:83px minmax(0,1fr)!important;padding:15px 10px!important;gap:10px!important;
  }
  html body artist-page#tn-artist-studio artist-page-header .image-container {width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;}
  html body artist-page#tn-artist-studio artist-page-header .tn-artist-native-controls button {font-size:11px!important;padding:0 6px!important;}
}
/* Mobile track-table: the shared tn-mobile-detail.css otherwise absolutely
   positions cells and clips the title. This override affects ARTIST only. */
@media(max-width:700px) {
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tbody {
    display:block!important;width:100%!important;max-width:100%!important;
    min-width:0!important;table-layout:auto!important;border-collapse:collapse!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row {
    display:grid!important;position:relative!important;
    grid-template-columns:42px minmax(0,1fr) 32px!important;
    grid-template-rows:23px 18px!important;
    align-content:center!important;align-items:center!important;
    column-gap:9px!important;row-gap:1px!important;
    width:100%!important;min-width:0!important;height:63px!important;min-height:63px!important;
    margin:0!important;padding:7px 6px!important;
    border:0!important;border-bottom:1px solid rgba(77,142,182,.20)!important;
    border-radius:0!important;overflow:hidden!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.name-column {
    display:contents!important;position:static!important;inset:auto!important;
    width:auto!important;max-width:none!important;min-width:0!important;
    height:auto!important;padding:0!important;margin:0!important;
    overflow:visible!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.name-column > media-image.track-image,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.name-column > img.tn-track-art,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row .tn-row-cover {
    grid-column:1!important;grid-row:1/3!important;display:block!important;
    position:static!important;inset:auto!important;transform:none!important;
    width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
    max-height:40px!important;margin:0!important;padding:0!important;
    overflow:hidden!important;border-radius:7px!important;object-fit:cover!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.name-column > span:not(.tn-row-artist) {
    grid-column:2!important;grid-row:1!important;
    display:block!important;position:static!important;inset:auto!important;
    transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;
    height:auto!important;line-height:22px!important;padding:0!important;margin:0!important;
    font-size:12px!important;font-weight:650!important;color:#edf8ff!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    text-align:left!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.artist-column {
    grid-column:2!important;grid-row:2!important;display:block!important;
    position:static!important;inset:auto!important;transform:none!important;
    align-self:center!important;width:100%!important;min-width:0!important;max-width:100%!important;
    height:18px!important;line-height:18px!important;
    padding:0!important;margin:0!important;color:#a8c6e1!important;
    font-size:11px!important;font-weight:400!important;
    text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.options-column {
    grid-column:3!important;grid-row:1/3!important;display:flex!important;
    position:static!important;inset:auto!important;transform:none!important;
    align-items:center!important;justify-content:center!important;
    width:32px!important;min-width:32px!important;max-width:32px!important;
    height:43px!important;padding:0!important;margin:0!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.number-column,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.like-column,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.duration-column,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row .tn-row-artist,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row .tn-row-duration,
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row .tn-row-number {
    display:none!important;
  }
}
@media(max-width:700px){
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.artist-column {
    min-height:0!important;max-height:18px!important;
  }
  html body artist-page#tn-artist-studio artist-page-popular-tracks track-table table.material-table.mobile tr.track-list-row > td.options-column {
    min-height:0!important;max-height:43px!important;
  }
}


/* V186 source: tn-track-studio-v24.css */
/* Trường Nguyễn Music — Track Studio V24 · production-scoped. */
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page,
html.tn24-track-route body web-player track-page.tn24-page {
  display:block!important; box-sizing:border-box!important;
  width:calc(100% - 38px)!important; max-width:1480px!important;
  min-width:0!important; margin:0 auto 135px!important;
  padding:0 0 24px!important; overflow:visible!important;
  color:#ecf7ff!important; background:transparent!important;
  font-family:inherit;
}
html.tn24-track-route body web-player track-page.tn24-page *,
html.tn24-track-route body web-player track-page.tn24-page *::before,
html.tn24-track-route body web-player track-page.tn24-page *::after { box-sizing:border-box; }
/* Native header, exactly one hero; no duplicated banner. */
html.tn24-track-route body web-player track-page.tn24-page > header.media-page-header.tn24-hero {
  position:relative!important; isolation:isolate!important; width:100%!important;
  min-height:344px!important; padding:20px 24px!important;
  margin:0!important; overflow:hidden!important;
  border:1px solid rgba(29,170,219,.34)!important; border-radius:17px!important;
  background:#03192e!important; box-shadow:0 15px 42px rgba(0,9,25,.25)!important;
  color:#f8fcff!important;text-align:left!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero::before {
  content:''!important;position:absolute!important;inset:-26px!important;z-index:-2!important;
  background-image:var(--tn24-cover,linear-gradient(105deg,#053451,#060b2a))!important;
  background-position:center 35%!important;background-size:cover!important;
  filter:blur(24px) saturate(1.18) brightness(.78)!important;
  transform:scale(1.1)!important;opacity:.92!important;pointer-events:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero::after {
  content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;
  background:linear-gradient(90deg,rgba(0,15,36,.73) 0%,rgba(0,22,45,.60) 52%,rgba(0,11,32,.62) 100%),linear-gradient(0deg,rgba(0,20,38,.92),transparent 60%)!important;
  pointer-events:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero > .flex-container {
  display:grid!important;grid-template-columns:clamp(255px,23vw,310px) minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;gap:14px clamp(24px,2.4vw,40px)!important;
  align-items:center!important;max-width:none!important;width:100%!important;
  padding:0!important;margin:0!important;min-height:298px!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-image {
  grid-column:1!important;grid-row:1/3!important;align-self:center!important;
  position:relative!important;display:block!important;overflow:hidden!important;
  width:100%!important;height:auto!important;aspect-ratio:1!important;
  min-width:0!important;max-width:none!important;min-height:0!important;
  margin:0!important;padding:0!important;flex:none!important;
  border-radius:15px!important;border:1px solid rgba(152,213,255,.34)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.37)!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-image img {
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;object-fit:cover!important;
  aspect-ratio:1!important;border-radius:inherit!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-content {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;grid-column:2!important;grid-row:1!important;
  min-width:0!important;min-height:0!important;max-width:none!important;width:100%!important;
  padding:0!important;margin:0!important;flex:none!important;
  text-align:left!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-badges {
  display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 11px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-badges[hidden]{display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-genre-badge {
  font-size:12px!important;font-weight:600!important;padding:5px 9px!important;
  line-height:1.25!important;border-radius:7px!important;display:inline-block!important;
  color:#4fe7ff!important;background:rgba(1,112,152,.28)!important;
  border:1px solid #12b7eb!important;max-width:100%!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h1.title {
  display:block!important;max-width:100%!important;min-width:0!important;
  margin:0 0 11px!important;padding:0!important;line-height:1.2!important;
  font-size:clamp(24px,2.25vw,36px)!important;font-weight:750!important;
  letter-spacing:-.025em!important;text-transform:none!important;text-align:left!important;
  white-space:normal!important;overflow-wrap:anywhere!important;color:#fff!important;
  max-height:none!important;overflow:visible!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h2.artist {
  display:flex!important;align-items:center!important;gap:11px!important;
  width:auto!important;max-width:100%!important;min-height:42px!important;
  margin:0 0 11px!important;padding:0!important;
  font-size:15px!important;line-height:1.45!important;font-weight:500!important;
  color:#f5fcff!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-image {
  display:block!important;flex:0 0 38px!important;width:38px!important;height:38px!important;
  min-width:38px!important;max-width:38px!important;border-radius:50%!important;
  border:2px solid #03d8fc!important;overflow:hidden!important;background:#02405e!important;
  margin:0!important;padding:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-image img {
  width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-name,
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-name a {
  font-size:15px!important;font-weight:550!important;color:#ebf7ff!important;
  max-width:100%!important;overflow-wrap:anywhere!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle {
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;
  gap:9px 17px!important;margin:0!important;padding:0!important;
  max-width:100%!important;font-size:13px!important;line-height:1.5!important;
  color:#b9d0e9!important;background:transparent!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle .meta-item {
  display:inline-flex!important;align-items:center!important;min-width:0!important;
  width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;
  color:#b9d0e9!important;font-size:13px!important;font-weight:400!important;
  background:transparent!important;border:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle .meta-item:empty {display:none!important}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle .genre {color:#71dcff!important}
/* Buttons remain native Angular track-actions-bar and retain all handlers. */
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions {
  grid-column:2!important;grid-row:2!important;align-self:start!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;display:block!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar {
  display:block!important;max-width:100%!important;min-width:0!important;
  width:100%!important;margin:0!important;padding:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar > .buttons {
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;
  justify-content:flex-start!important;gap:9px!important;
  width:100%!important;max-width:100%!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar .action-button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;height:45px!important;min-height:45px!important;max-width:100%!important;
  min-width:auto!important;line-height:1.1!important;padding:0 17px!important;
  border:1px solid rgba(8,155,219,.6)!important;border-radius:25px!important;
  background:rgba(0,30,58,.64)!important;color:#f4fbff!important;
  box-shadow:none!important;font-size:13px!important;font-weight:600!important;
  text-transform:none!important;margin:0!important;white-space:nowrap!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .play-button {
  height:48px!important;min-height:48px!important;min-width:165px!important;
  padding:0 20px!important;font-size:14px!important;color:#fff!important;
  background:linear-gradient(105deg,#00d4e6,#0094ff)!important;
  border:1px solid #00d6ff!important;box-shadow:0 8px 26px rgba(0,195,244,.27)!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .action-button mat-icon {
  flex:0 0 auto!important;width:20px!important;height:20px!important;
  font-size:20px!important;line-height:20px!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .like-button.active {color:#ff558c!important}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar > .info {
  display:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero waveform {max-width:100%!important;width:100%!important}
/* Desktop two-column layout, visually identical hierarchy to reference image. */
html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout {
  display:grid!important;grid-template-columns:minmax(0,1.32fr) minmax(310px,1fr)!important;
  align-items:start!important;gap:15px!important;width:100%!important;min-width:0!important;
  max-width:100%!important;margin:13px 0 0!important;padding:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-main,
html.tn24-track-route body web-player track-page.tn24-page .tn24-side {
  display:flex!important;flex-direction:column!important;gap:12px!important;
  min-width:0!important;width:100%!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-card {
  display:block!important;overflow:hidden!important;position:relative!important;min-width:0!important;
  width:100%!important;max-width:100%!important;
  padding:20px 22px!important;margin:0!important;
  border-radius:14px!important;border:1px solid rgba(4,115,174,.58)!important;
  background:linear-gradient(125deg,rgba(0,36,64,.95),rgba(0,25,47,.94))!important;
  color:#bfd3ed!important;box-shadow:0 6px 22px rgba(0,4,25,.12)!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-card-top {
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:9px!important;min-width:0!important;margin:0 0 16px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-card-title {
  display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;
  margin:0!important;padding:0!important;font-size:17px!important;line-height:1.3!important;
  font-weight:750!important;color:#f4fbff!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-card-icon {
  color:#00d8ff!important;font-size:24px!important;line-height:1!important;flex:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-small-btn {
  cursor:pointer!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;
  border:1px solid #0086c0!important;border-radius:10px!important;
  font:inherit!important;font-size:12px!important;line-height:1.4!important;
  background:rgba(1,44,77,.72)!important;color:#e6f5ff!important;
  padding:8px 12px!important;min-height:35px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-small-btn[hidden]{display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body {
  max-height:193px!important;overflow:hidden!important;font-size:14px!important;
  line-height:1.65!important;white-space:pre-line!important;overflow-wrap:anywhere!important;
  color:#b8cee8!important;min-height:66px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics.tn24-expanded .tn24-lyrics-body {
  max-height:none!important;overflow:visible!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body truncated-description {
  display:block!important;max-width:100%!important;width:100%!important;
  font:inherit!important;white-space:pre-line!important;background:transparent!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body truncated-description .content-wrapper {
  max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body truncated-description .content,
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body truncated-description .content * {
  font-size:inherit!important;line-height:inherit!important;color:inherit!important;
  white-space:pre-line!important;overflow-wrap:anywhere!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body truncated-description .more-button {display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-empty {
  font-size:14px!important;line-height:1.6!important;color:#a7bed8!important;margin:0!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-no-related[hidden]{display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-details {
  display:grid!important;grid-template-columns:minmax(125px,175px) minmax(0,1fr)!important;
  gap:7px 14px!important;max-width:100%!important;
  margin:0 0 0 32px!important;padding:0!important;
  font-size:13.5px!important;line-height:1.45!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-details dt {color:#a6bed8!important;margin:0!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-details dd {
  margin:0!important;color:#e0eefa!important;overflow-wrap:anywhere!important;
}
/* Native Angular album track-table: not a cloned list. Play/like/context menu
   and Hammer touch gestures keep their original framework event handlers. */
html.tn24-track-route body web-player track-page.tn24-page .tn24-native-track-host {
  display:block!important;min-width:0!important;width:100%!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-native-track-host > .album-header {
  display:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-native-track-host track-table.tn24-album-table {
  display:block!important;width:100%!important;max-width:100%!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table table.material-table,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tbody {
  display:block!important;width:100%!important;min-width:0!important;
  max-width:100%!important;background:transparent!important;border:0!important;
  margin:0!important;padding:0!important;overflow:visible!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table thead {display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tr.track-list-row {
  display:grid!important;grid-template-columns:minmax(0,1fr) 52px 34px!important;
  grid-template-rows:auto!important;align-items:center!important;gap:8px!important;
  position:relative!important;min-width:0!important;width:100%!important;max-width:100%!important;
  height:auto!important;min-height:60px!important;
  margin:0!important;padding:7px 0!important;
  background:transparent!important;border:0!important;border-bottom:1px solid rgba(91,153,188,.18)!important;
  border-radius:0!important;box-shadow:none!important;overflow:hidden!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tr.track-list-row:last-child {border-bottom:0!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tr.track-list-row:hover {background:rgba(1,100,146,.11)!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tr.track-list-row td {
  position:static!important;inset:auto!important;display:block!important;
  min-width:0!important;max-width:none!important;width:auto!important;height:auto!important;
  padding:0!important;margin:0!important;border:0!important;transform:none!important;
  text-align:left!important;line-height:1.3!important;vertical-align:middle!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.number-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.like-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.popularity-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.created-at-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.album-column {
  display:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.name-column {
  grid-column:1!important;grid-row:1!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:11px!important;padding:0!important;max-width:100%!important;
  min-height:46px!important;overflow:hidden!important;
  white-space:normal!important;cursor:pointer!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.name-column > span:not(.tn24-placeholder-art):not(.tn-row-artist):not(.tn-row-duration) {
  display:-webkit-box!important;-webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;flex:1 1 auto!important;min-width:0!important;
  width:auto!important;max-width:none!important;height:auto!important;
  padding:0!important;margin:0!important;font-size:12.6px!important;
  line-height:1.38!important;font-weight:650!important;color:#f2faff!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  text-overflow:ellipsis!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn24-placeholder-art,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .track-image,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table img.tn-track-art {
  position:static!important;inset:auto!important;transform:none!important;
  display:flex!important;flex:0 0 48px!important;width:48px!important;height:48px!important;
  min-width:48px!important;max-width:48px!important;
  border-radius:8px!important;object-fit:cover!important;
  padding:0!important;margin:0!important;overflow:hidden!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn24-placeholder-art {
  align-items:center!important;justify-content:center!important;
  font-size:24px!important;line-height:1!important;
  color:#33d2f5!important;background:linear-gradient(145deg,#104f74,#071c3c)!important;
  border:1px solid #16638a!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .track-image img {
  display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.artist-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn-row-artist {
  display:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.duration-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn-row-duration {
  position:static!important;grid-column:2!important;grid-row:1!important;
  display:block!important;width:auto!important;max-width:none!important;
  text-align:right!important;color:#a7bfd9!important;
  font-size:11.5px!important;white-space:nowrap!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.options-column {
  display:flex!important;grid-column:3!important;grid-row:1!important;
  justify-content:center!important;align-items:center!important;
  width:34px!important;height:43px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .track-options-button {
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:32px!important;min-width:32px!important;height:39px!important;
  border:0!important;background:transparent!important;color:#d2eaff!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .track-options-button mat-icon {
  width:20px!important;height:20px!important;transform:rotate(90deg)!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-related:not(.tn24-expanded) .tn24-album-table tr.track-list-row:nth-child(n+8) {
  display:none!important;
}
/* preserve comment component below cards, without injecting duplicated layouts */
html.tn24-track-route body web-player track-page.tn24-page > comment-list,
html.tn24-track-route body web-player track-page.tn24-page > new-comment-form {display:block!important;margin-top:16px!important}
html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout ~ .album-header,
html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout ~ track-table,
html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout ~ truncated-description {display:none!important}
/* Mobile inline controls are functional proxies to the native BeMusic player. */
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-playback {display:none!important}
/* medium: portrait tablets */
@media(max-width:1050px) and (min-width:761px) {
  html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout {grid-template-columns:minmax(0,1fr) minmax(270px,.82fr)!important}
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero > .flex-container {grid-template-columns:240px minmax(0,1fr)!important}
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar > .buttons{gap:7px!important}
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar .action-button{padding:0 12px!important}
}
@media(max-width:760px) {
  html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page,
  html.tn24-track-route body web-player track-page.tn24-page {
    width:calc(100% - 20px)!important;max-width:100%!important;
    margin:0 auto 160px!important;padding:0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.media-page-header.tn24-hero {
    display:block!important;min-height:0!important;height:auto!important;
    padding:12px 12px 15px!important;border-radius:15px!important;
    overflow:hidden!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero::before {
    inset:-15px!important;filter:blur(24px) saturate(1.1) brightness(.62)!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero > .flex-container {
    display:grid!important;grid-template-columns:minmax(0,44%) minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;align-items:center!important;
    column-gap:12px!important;row-gap:14px!important;min-height:0!important;
    padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-image {
    grid-column:1!important;grid-row:1!important;width:100%!important;
    height:auto!important;min-height:0!important;aspect-ratio:1!important;
    margin:0!important;border-radius:12px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-content {
    grid-column:2!important;grid-row:1!important;display:flex!important;
    flex-direction:column!important;align-items:flex-start!important;
    justify-content:center!important;margin:0!important;padding:0!important;
    width:100%!important;min-width:0!important;min-height:0!important;
    text-align:left!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-badges {gap:5px!important;margin:0 0 8px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-genre-badge {
    font-size:10.5px!important;padding:4px 6px!important;max-width:100%!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h1.title {
    font-size:clamp(17px,4vw,26px)!important;line-height:1.21!important;
    margin:0 0 9px!important;letter-spacing:-.015em!important;
    overflow-wrap:anywhere!important;word-break:normal!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h2.artist {
    font-size:11.5px!important;gap:6px!important;margin:0 0 9px!important;
    min-height:29px!important;line-height:1.2!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-image {
    width:29px!important;height:29px!important;min-width:29px!important;
    max-width:29px!important;flex-basis:29px!important;border-width:1px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-name,
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .artist-name a {
    font-size:11.5px!important;line-height:1.35!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle {
    display:flex!important;gap:4px 8px!important;flex-wrap:wrap!important;
    font-size:10px!important;line-height:1.3!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .subtitle .meta-item {
    font-size:10px!important;line-height:1.3!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions {
    grid-column:1 / -1!important;grid-row:2!important;align-self:start!important;
    margin:0!important;padding:0!important;display:block!important;
    width:100%!important;min-width:0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar .buttons {
    display:grid!important;grid-template-columns:1.24fr 1fr 1fr .8fr!important;
    gap:6px!important;width:100%!important;min-width:0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .action-button {
    min-width:0!important;max-width:100%!important;width:100%!important;
    min-height:41px!important;height:41px!important;padding:0 5px!important;
    font-size:11px!important;line-height:1.1!important;gap:4px!important;
    white-space:nowrap!important;overflow:hidden!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .play-button {
    min-width:0!important;min-height:42px!important;height:42px!important;
    padding:0 5px!important;font-size:11.5px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .action-button mat-icon {
    width:16px!important;height:16px!important;font-size:16px!important;line-height:16px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-playback {
    display:flex!important;flex-direction:column!important;
    gap:6px!important;width:100%!important;margin:14px 0 0!important;
    padding:0 7px!important;background:transparent!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-seek {width:100%!important;min-width:0!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-bar {
    position:relative!important;display:block!important;
    width:100%!important;height:5px!important;min-height:5px!important;
    border-radius:8px!important;background:#395873!important;
    cursor:pointer!important;margin:7px 0!important;
    --tn24-progress:0%;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-fill {
    position:absolute!important;left:0!important;top:0!important;bottom:0!important;
    width:var(--tn24-progress)!important;
    background:linear-gradient(90deg,#02bfe6,#18d6ff)!important;border-radius:8px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-knob {
    position:absolute!important;left:var(--tn24-progress)!important;top:50%!important;
    width:12px!important;height:12px!important;border-radius:50%!important;
    transform:translate(-50%,-50%)!important;background:#f4fdff!important;
    box-shadow:0 0 7px #21d2ff!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-times {
    display:flex!important;justify-content:space-between!important;
    align-items:center!important;font-size:10.5px!important;color:#b0c7df!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons {
    display:flex!important;align-items:center!important;justify-content:space-around!important;
    gap:8px!important;padding:5px 0 1px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control {
    appearance:none!important;background:transparent!important;border:0!important;
    color:#d7f4ff!important;font-size:22px!important;font-weight:650!important;
    padding:0!important;margin:0!important;width:39px!important;height:40px!important;
    min-width:0!important;min-height:0!important;border-radius:50%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    cursor:pointer!important;line-height:1!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play {
    width:52px!important;height:52px!important;
    background:linear-gradient(135deg,#00d4e7,#00a7fc)!important;
    border:1px solid #37e2ff!important;font-size:25px!important;color:#fff!important;
  }

  html.tn24-track-route body web-player track-page.tn24-page .tn24-control .tn24-control-icon {
    position:relative!important;display:block!important;flex:0 0 auto!important;
    width:24px!important;height:24px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play .tn24-control-icon {
    width:28px!important;height:28px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-play::before {
    content:''!important;position:absolute!important;left:8px!important;top:4px!important;
    width:0!important;height:0!important;
    border-top:10px solid transparent!important;border-bottom:10px solid transparent!important;
    border-left:16px solid #ffffff!important;
    filter:drop-shadow(0 0 3px rgba(255,255,255,.18))!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing .tn24-control-icon-play::before,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing .tn24-control-icon-play::after {
    content:''!important;position:absolute!important;top:4px!important;width:6px!important;height:20px!important;
    border-radius:2px!important;background:#ffffff!important;
    box-shadow:0 0 3px rgba(255,255,255,.14)!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing .tn24-control-icon-play::before {left:7px!important;border:0!important;width:6px!important;height:20px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing .tn24-control-icon-play::after {left:16px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-previous::before,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-next::before {
    content:''!important;position:absolute!important;top:5px!important;width:0!important;height:0!important;
    border-top:7px solid transparent!important;border-bottom:7px solid transparent!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-previous::after,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-next::after {
    content:''!important;position:absolute!important;top:4px!important;width:4px!important;height:16px!important;
    border-radius:2px!important;background:#dff7ff!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-previous::before {left:3px!important;border-right:12px solid #dff7ff!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-previous::after {left:17px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-next::before {right:3px!important;border-left:12px solid #dff7ff!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-next::after {right:17px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-shuffle::before,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-shuffle::after {
    content:''!important;position:absolute!important;height:2px!important;background:#dff7ff!important;border-radius:2px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-shuffle::before {
    left:3px!important;top:8px!important;width:17px!important;transform:rotate(26deg)!important;transform-origin:left center!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-shuffle::after {
    left:3px!important;top:15px!important;width:17px!important;transform:rotate(-26deg)!important;transform-origin:left center!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-shuffle {
    background:
      linear-gradient(45deg,transparent 0 65%,#dff7ff 65% 100%) right 1px top 5px/7px 7px no-repeat,
      linear-gradient(-45deg,transparent 0 65%,#dff7ff 65% 100%) right 1px bottom 5px/7px 7px no-repeat;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-repeat {
    border:2px solid transparent!important;border-top-color:#dff7ff!important;border-right-color:#dff7ff!important;
    border-radius:50%!important;transform:rotate(45deg)!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-control-icon-repeat::after {
    content:''!important;position:absolute!important;right:-1px!important;top:-1px!important;width:0!important;height:0!important;
    border-left:6px solid #dff7ff!important;border-top:4px solid transparent!important;border-bottom:4px solid transparent!important;
    transform:rotate(-45deg)!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout {
    grid-template-columns:minmax(0,1fr)!important;gap:11px!important;
    margin:12px 0 0!important;padding:0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-main,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-side {
    gap:11px!important;min-width:0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-card {
    padding:16px 15px!important;border-radius:13px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-card-top {margin-bottom:12px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-card-title {font-size:15px!important;gap:7px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-card-icon {font-size:20px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-small-btn {
    font-size:11px!important;min-height:32px!important;padding:7px 10px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-lyrics-body {
    font-size:13px!important;line-height:1.56!important;
    max-height:135px!important;min-height:64px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-details {
    margin:0!important;grid-template-columns:minmax(100px,39%) minmax(0,1fr)!important;
    gap:7px 10px!important;font-size:12px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table tr.track-list-row {
    grid-template-columns:minmax(0,1fr) 26px!important;
    min-height:61px!important;gap:7px!important;
    padding:6px 0!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.name-column {
    min-height:50px!important;gap:9px!important;grid-column:1!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn24-placeholder-art,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .track-image,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table img.tn-track-art {
    width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;flex-basis:46px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.name-column > span:not(.tn24-placeholder-art):not(.tn-row-artist):not(.tn-row-duration) {
    font-size:12px!important;font-weight:650!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.options-column {
    grid-column:2!important;width:26px!important;height:40px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table td.duration-column,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-album-table .tn-row-duration {display:none!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-related:not(.tn24-expanded) .tn24-album-table tr.track-list-row:nth-child(n+4) {display:none!important}
}
@media(max-width:365px) {
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero > .flex-container {
    grid-template-columns:minmax(0,42%) minmax(0,1fr)!important;column-gap:9px!important;
  }
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h1.title {font-size:16px!important}
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .action-button {font-size:10px!important}
  html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions .action-button mat-icon {width:14px!important;height:14px!important}
  html.tn24-track-route body web-player track-page.tn24-page .tn24-card{padding:13px 11px!important}
}
/* Specificity firewall: the old tn-mobile-detail.css uses selectors such as
   web-player.tn-music-v1 track-table tr.track-list-row td.name-column !important.
   Override only our Track's real table, never tables on home/album/playlist. */
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.name-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.name-column {
  display:flex!important;position:static!important;left:auto!important;right:auto!important;
  top:auto!important;bottom:auto!important;grid-column:1!important;grid-row:1!important;
  align-items:center!important;flex-direction:row!important;gap:10px!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
  height:auto!important;min-height:50px!important;padding:0!important;margin:0!important;
  overflow:hidden!important;white-space:normal!important;
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.number-column,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.like-column,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.popularity-column,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.created-at-column,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.album-column,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.artist-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.number-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.like-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.popularity-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.artist-column {
  display:none!important;
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.options-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.options-column {
  display:flex!important;position:static!important;left:auto!important;top:auto!important;
  grid-column:3!important;grid-row:1!important;align-items:center!important;justify-content:center!important;
  width:30px!important;height:42px!important;min-width:30px!important;min-height:0!important;
  padding:0!important;margin:0!important;
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.duration-column,
html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.duration-column {
  display:block!important;position:static!important;inset:auto!important;grid-column:2!important;grid-row:1!important;
  min-width:0!important;width:auto!important;max-width:100%!important;height:auto!important;
  margin:0!important;padding:0!important;font-size:11px!important;
  text-align:right!important;white-space:nowrap!important;
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.name-column > span:not(.tn24-placeholder-art):not(.tn-row-artist):not(.tn-row-duration) {
  display:-webkit-box!important;position:static!important;left:auto!important;top:auto!important;
  width:auto!important;max-width:100%!important;min-width:0!important;
  flex:1 1 auto!important;padding:0!important;margin:0!important;
  font-size:12.5px!important;font-weight:650!important;line-height:1.38!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  -webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row .tn-row-artist,
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row .tn-row-duration {
  display:none!important;
}
@media(max-width:760px) {
  html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.options-column,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.options-column {
    grid-column:2!important;width:27px!important;min-width:27px!important;
  }
  html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.duration-column,
  html.tn24-track-route body web-player track-page.tn24-page .tn24-related .tn24-album-table tr.track-list-row td.duration-column {display:none!important}
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-control:disabled {
  opacity:.36!important;cursor:not-allowed!important;
}
/* The original .subtitle remains in the DOM for real metadata, while the
   user-facing hero statistics follow the approved screenshot layout. */
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .header-content > .subtitle {
  display:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-stats {
  display:flex!important;align-items:center!important;gap:8px 20px!important;
  flex-wrap:wrap!important;margin:3px 0 0!important;padding:0!important;
  color:#c3dbf0!important;font-size:13.5px!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-stats[hidden]{display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-stat {white-space:nowrap!important;color:#c2d8ed!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-stat-like {color:#ff719e!important}
@media(max-width:760px){
 html.tn24-track-route body web-player track-page.tn24-page .tn24-stats {gap:3px 9px!important;font-size:10px!important;line-height:1.4!important}
}
/* Responsive when a desktop sidebar reduces available width on tablets. */
@media(min-width:761px) and (max-width:1150px){
 html.tn24-track-route body web-player track-page.tn24-page > .tn24-layout {grid-template-columns:minmax(0,1fr)!important}
 html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero > .flex-container {grid-template-columns:minmax(180px,42%) minmax(0,1fr)!important;gap:12px 18px!important}
 html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero h1.title {font-size:clamp(22px,3vw,30px)!important}
 html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions track-actions-bar .buttons {gap:7px!important}
 html.tn24-track-route body web-player track-page.tn24-page .tn24-card-title {font-size:16px!important}
}
html.tn24-track-route body web-player.tn-music-v1 track-page.tn24-page > header.tn24-hero .tn24-actions header-play-button button.play-button.action-button,
html.tn24-track-route body web-player track-page.tn24-page > header.tn24-hero .tn24-actions header-play-button button.play-button.action-button {
  color:#fff!important;border:1px solid #15d2f9!important;
  background:linear-gradient(105deg,#02d2ed,#058cf5)!important;
  box-shadow:0 8px 25px rgba(0,186,239,.30)!important;
  font-weight:700!important;text-transform:none!important;
}


/* V186 source: tn-home-v28.css */
/* Home V28: eight artist cards on desktop, responsive grid, no blank portrait requirement. */
web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-artists-row {
 display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;
 gap:13px!important;overflow:visible!important;scroll-snap-type:none!important;grid-auto-flow:row!important;grid-auto-columns:unset!important;
 width:100%!important;min-width:0!important;
}
web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-catalog-card {
 width:auto!important;max-width:none!important;min-width:0!important;flex:none!important;
}
web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-catalog-art {
 width:100%!important;aspect-ratio:1!important;min-width:0!important;
}
web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-catalog-title {
 display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
 white-space:normal!important;line-height:1.3!important;text-align:center;font-size:12px!important;
}
.tn-artists-data-warning {font-size:12px;color:#9bc8dd;margin:9px 0 0;}
.tn-home-tracks-v27 button.tn-latest-name {background:transparent;border:0;text-align:left;color:inherit;padding:0;cursor:pointer;font:inherit;max-width:100%;}
.tn-home-tracks-v27 button.tn-latest-cover{border:0;cursor:pointer;padding:0;background:transparent;}
.tn-home-tracks-v27 .tn-latest-text{position:relative;padding-right:23px}.tn-home-tracks-v27 .tn-latest-details{position:absolute;right:0;top:2px;color:#6ad9fb;font-size:16px;padding:2px;text-decoration:none;}
@media(max-width:420px){
 web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-row:not(.tn-artists-row){
  display:grid!important;grid-auto-flow:row!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-columns:unset!important;gap:10px!important;min-width:0!important;width:100%!important;overflow-x:clip!important;
 }
 web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-row:not(.tn-artists-row) .tn-catalog-card{min-width:0!important;width:auto!important;}
}
@media(max-width:1150px){web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-artists-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:359px){web-player.tn-home .tn-home-sections [data-tn-kind="artist"] .tn-artists-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* V30: visually reset ONLY the custom latest-tracks list, not native tables.
   Important: BeMusic/Material can style generic <button> with ButtonFace backgrounds.
   Target the new list with higher specificity and reset the play title explicitly. */
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 {
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-list {
  display:block!important;width:100%!important;min-width:0!important;
  background:rgba(2,29,52,.74)!important;border:1px solid rgba(22,165,219,.27)!important;
  border-radius:15px!important;overflow:hidden!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-row {
  display:grid!important;grid-template-columns:26px 48px minmax(0,1fr) 50px 38px!important;
  align-items:center!important;column-gap:13px!important;row-gap:0!important;
  min-height:72px!important;padding:10px 14px!important;margin:0!important;
  width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;
  position:relative!important;box-sizing:border-box!important;
  border:0!important;border-bottom:1px solid rgba(97,173,210,.14)!important;
  background:transparent!important;color:#f1f8ff!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-row:last-child{border-bottom:0!important;}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-index{
  display:block!important;position:static!important;text-align:center!important;
  font-size:13px!important;color:#93b6cb!important;line-height:1.3!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-cover{
  appearance:none!important;display:block!important;position:static!important;
  width:48px!important;height:48px!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:9px!important;
  background:#0a3554!important;box-shadow:none!important;overflow:hidden!important;
  transform:none!important;opacity:1!important;cursor:pointer!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-cover img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;border:0!important;border-radius:inherit!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-text{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  justify-content:center!important;gap:4px!important;
  position:relative!important;min-width:0!important;max-width:100%!important;
  width:100%!important;min-height:40px!important;height:auto!important;
  margin:0!important;padding:0 28px 0 0!important;
  text-align:left!important;background:transparent!important;overflow:hidden!important;
  box-sizing:border-box!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-name{
  appearance:none!important;display:block!important;position:static!important;
  flex:none!important;float:none!important;width:100%!important;min-width:0!important;
  max-width:100%!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;background-image:none!important;
  box-shadow:none!important;outline-offset:3px!important;
  color:#f5f9ff!important;opacity:1!important;
  font-family:inherit!important;font-size:14px!important;font-weight:600!important;
  line-height:1.35!important;letter-spacing:0!important;text-transform:none!important;
  text-align:left!important;text-indent:0!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  cursor:pointer!important;transform:none!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-name:hover{
  color:#67dfff!important;text-decoration:underline!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-artist{
  display:block!important;position:static!important;float:none!important;
  color:#a5c2d7!important;font-size:12px!important;font-weight:400!important;
  line-height:1.35!important;text-align:left!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important;
  height:auto!important;max-width:100%!important;margin:0!important;padding:0!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 a.tn-latest-details{
  display:grid!important;place-items:center!important;position:absolute!important;
  top:50%!important;right:1px!important;left:auto!important;bottom:auto!important;
  transform:translateY(-50%)!important;z-index:1!important;
  width:23px!important;height:23px!important;min-height:0!important;
  margin:0!important;padding:0!important;background:transparent!important;
  border:0!important;border-radius:50%!important;box-shadow:none!important;
  color:#58cfea!important;font-size:17px!important;text-decoration:none!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-duration{
  display:block!important;position:static!important;margin:0!important;padding:0!important;
  color:#b0cee0!important;text-align:right!important;white-space:nowrap!important;
  font-size:12px!important;font-variant-numeric:tabular-nums!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-play{
  appearance:none!important;display:grid!important;place-items:center!important;
  position:static!important;width:36px!important;height:36px!important;min-width:36px!important;
  min-height:36px!important;max-height:36px!important;line-height:1!important;
  margin:0!important;padding:0!important;border:1px solid rgba(0,191,245,.65)!important;
  border-radius:50%!important;box-shadow:none!important;
  background:rgba(2,67,104,.65)!important;color:#18d3f5!important;
  font-size:14px!important;cursor:pointer!important;opacity:1!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-play:hover{
  background:#087fc0!important;color:white!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-skeleton{
  display:grid!important;gap:0!important;min-height:180px!important;background:transparent!important;
}
html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-skeleton>span{
  display:block!important;min-height:60px!important;border-bottom:1px solid rgba(97,173,210,.09)!important;
  background:linear-gradient(90deg,transparent 10%,rgba(30,90,123,.14) 45%,transparent 85%)!important;
}
@media(max-width:760px){
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-row{
  grid-template-columns:17px 44px minmax(0,1fr) 34px!important;
  column-gap:9px!important;min-height:66px!important;padding:9px 10px!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-cover{
  width:44px!important;height:44px!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-name{
  font-size:13px!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-duration{
  display:none!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-play{
  width:33px!important;height:33px!important;min-width:33px!important;min-height:33px!important;
 }
}
@media(max-width:359px){
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-row{
  grid-template-columns:16px 40px minmax(0,1fr) 30px!important;gap:7px!important;padding:8px!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 button.tn-latest-cover{
  width:40px!important;height:40px!important;
 }
 html body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-latest-text{
  padding-right:22px!important;
 }
}


/* V186 source: tn-playlist-desktop-v29.css */
/* V29: desktop playlist table uses BeMusic's native media-image and row layout. */
@media(min-width:769px){
 web-player.tn-music-v1 playlist track-table .name-column{position:relative!important;min-width:0!important;max-width:none!important;}
 web-player.tn-music-v1 playlist track-table .name-column>.tn-row-cover,
 web-player.tn-music-v1 playlist track-table .name-column>img.tn-track-art,
 web-player.tn-music-v1 playlist track-table .tn-row-artist,
 web-player.tn-music-v1 playlist track-table .tn-row-duration,
 web-player.tn-music-v1 playlist track-table .tn-row-number{display:none!important;}
 web-player.tn-music-v1 playlist track-table .name-column>.track-image{display:inline-block!important;vertical-align:middle!important;position:relative!important;width:42px!important;height:42px!important;margin:0 12px 0 0!important;}
 web-player.tn-music-v1 playlist track-table .name-column>.track-image img{object-fit:cover!important;width:100%!important;height:100%!important;}
 web-player.tn-music-v1 playlist track-table .name-column>span{display:inline-block!important;vertical-align:middle!important;min-width:0!important;max-width:calc(100% - 65px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
 web-player.tn-music-v1 playlist track-table .track-list-row{min-height:64px!important;}
 web-player.tn-music-v1 playlist track-table .artist-column,web-player.tn-music-v1 playlist track-table .duration-column{white-space:nowrap!important;}
}

/* Prevent catalogue overflow; 10 playlist/album cards in two desktop rows,
   three per mobile row, 4 per tablet row. */
web-player.tn-home .tn-home-sections {box-sizing:border-box;max-width:100%;min-width:0;}
@media (min-width:1025px) {
 web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-row:not(.tn-artists-row) {display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;min-width:0!important;width:100%!important;overflow:visible!important;}
}
@media (min-width:768px) and (max-width:1024px) {
 web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-row:not(.tn-artists-row) {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;min-width:0!important;width:100%!important;overflow:visible!important;}
}
@media (max-width:767px) {
 web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-row:not(.tn-artists-row) {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;min-width:0!important;width:100%!important;overflow:visible!important;}
}
web-player.tn-home .tn-home-sections .tn-catalog-card{min-width:0!important;max-width:100%!important;width:auto!important;}
web-player.tn-home .tn-home-sections .tn-catalog-art{width:100%!important;min-width:0!important;aspect-ratio:1!important;height:auto!important;}
web-player.tn-home .tn-home-sections .tn-catalog-art img{width:100%!important;height:100%!important;object-fit:cover!important;}
web-player.tn-home .tn-home-sections .tn-latest-row{min-width:0;max-width:100%;}
web-player.tn-home .tn-home-sections .tn-latest-text{min-width:0;overflow:hidden;}
web-player.tn-home .tn-home-sections .tn-latest-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}


/* V186 source: tn-home-layout-v40.css */
/* V153 deduplicated V40 visual rules; structural rules moved into V153. */
/* Trường Nguyễn Music – Home V39: ONE home layout stylesheet.
   Unified typography, stable geometry and Ocean Blue first-paint/Angular handoff.
   Scope is deliberately limited to public homepage sections. */
:root{--tn38-ink:#f4f9ff;--tn38-sub:#93cbe9;--tn38-panel:#00233e;--tn38-line:rgba(22,171,223,.38);--tn38-gap:12px;--tn38-header:48px;--tn38-frame:742px}
/* Title bars: icon + text on Ocean Blue background. No responsive font animation. */
html body #tn-instant-home .tn-i-latest>h2,
html body #tn-instant-home .tn-i-section-header,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:10px!important;width:100%!important;
  height:var(--tn38-header)!important;min-height:var(--tn38-header)!important;
  max-height:var(--tn38-header)!important;margin:0 0 10px!important;padding:0 13px!important;
  border:1px solid #166c90!important;border-radius:12px!important;
  background:linear-gradient(105deg,#104769 0%,#0b3859 100%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.07)!important;
}
html body #tn-instant-home .tn-i-latest>h2,
html body #tn-instant-home .tn-i-section-header>h2,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;
  height:100%!important;min-height:0!important;overflow:visible!important;
  justify-content:flex-start!important;white-space:nowrap!important;text-overflow:clip!important;
  padding:0!important;margin:0!important;gap:10px!important;
  font-size:17px!important;line-height:1.3!important;font-weight:650!important;
  letter-spacing:-.28px!important;color:#f4fcff!important;
  font-family:"Segoe UI Variable Display","Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-icon{
  flex:0 0 30px!important;display:inline-grid!important;place-items:center!important;
  width:30px!important;height:30px!important;min-width:30px!important;
  background:rgba(4,116,166,.19)!important;color:#34d4f5!important;
  border:1px solid rgba(55,210,248,.42)!important;border-radius:9px!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-label{
  display:inline-block!important;min-width:0!important;max-width:100%!important;
  white-space:nowrap!important;text-overflow:clip!important;overflow:visible!important;
}
html body #tn-instant-home .tn-i-section-header>a,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>a{
  display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;
  margin:0!important;padding:0!important;white-space:nowrap!important;
  color:#b3eaff!important;font-size:12px!important;font-weight:600!important;
  text-decoration:none!important;
}
/* Both first-paint and hydrated home are two EQUAL columns, same baseline/height. */


/* Track list occupies the remaining matched panel height. */

html body #tn-instant-home .tn-i-feature-v35 .tn-i-track,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-row{
  box-sizing:border-box!important;height:100%!important;min-height:0!important;min-width:0!important;
  padding:6px 10px!important;gap:8px!important;align-items:center!important;
  border-bottom:1px solid rgba(32,107,149,.28)!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-cover,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-cover{
  width:46px!important;height:46px!important;min-width:46px!important;
  flex:0 0 46px!important;border-radius:9px!important;overflow:hidden!important;
  background:#04456d!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-cover img,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-cover img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-song,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-text{
  min-width:0!important;max-width:100%!important;overflow:hidden!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-song>button,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 button.tn-latest-name{
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
  overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;
  color:#f5faff!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;
  text-align:left!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-song-artist,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-artist{
  display:block!important;min-width:0!important;overflow:hidden!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;
  color:var(--tn38-sub)!important;font-size:11.5px!important;
}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-feedback{
  margin:0!important;height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-more,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-actions{
  box-sizing:border-box!important;height:44px!important;min-height:44px!important;max-height:44px!important;
  flex:0 0 44px!important;display:flex!important;align-items:flex-end!important;
  justify-content:center!important;padding:0!important;margin:0!important;
}
/* Album card markup is identical in shape on Laravel and Angular: cover + metadata panel. */

html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-grid-v35>.tn-i-album-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-v35-feature-albums .tn-v35-album-grid>.tn-catalog-card{
  box-sizing:border-box!important;display:grid!important;position:relative!important;
  grid-template-columns:minmax(0,46%) minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;align-items:center!important;
  gap:12px!important;padding:11px!important;margin:0!important;
  min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
  height:100%!important;width:100%!important;
  background:linear-gradient(135deg,#072f4b,#002139)!important;
  border:1px solid var(--tn38-line)!important;border-radius:14px!important;
  overflow:hidden!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-art-wrap-v36,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-card>.tn-catalog-art{
  display:block!important;position:relative!important;grid-column:1!important;grid-row:1!important;
  width:100%!important;height:auto!important;max-height:100%!important;
  aspect-ratio:1/1!important;align-self:center!important;
  min-width:0!important;min-height:0!important;overflow:hidden!important;
  border-radius:11px!important;background:#063554!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-art-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-card .tn-catalog-art>a{
  display:block!important;width:100%!important;height:100%!important;
  border:0!important;aspect-ratio:1!important;margin:0!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-art-v35 img,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-card .tn-catalog-art img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;aspect-ratio:1!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-details-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta{
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;gap:8px!important;align-self:stretch!important;
  grid-column:2!important;grid-row:1!important;width:100%!important;height:100%!important;
  max-width:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;
  padding:2px 0!important;margin:0!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-title-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-catalog-title{
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
  color:#f9fcff!important;font-weight:700!important;font-size:13px!important;line-height:1.4!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  max-width:100%!important;max-height:2.8em!important;min-width:0!important;
  text-align:left!important;align-self:stretch!important;padding:0!important;margin:0!important;
  text-decoration:none!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-artist-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-catalog-subtitle{
  display:block!important;flex:0 1 auto!important;max-width:100%!important;min-width:0!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:var(--tn38-sub)!important;font-size:11.5px!important;line-height:1.3!important;
  padding:0!important;margin:0!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn37-album-genre,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn37-album-genre{
  box-sizing:border-box!important;display:inline-flex!important;flex:0 0 auto!important;
  align-items:center!important;justify-content:center!important;align-self:flex-start!important;
  width:max-content!important;max-width:100%!important;min-height:22px!important;
  padding:3px 9px!important;border-radius:30px!important;
  border:1px solid rgba(44,170,225,.44)!important;
  background:rgba(4,101,156,.26)!important;color:#9de3ff!important;
  font-size:10.5px!important;line-height:1!important;font-weight:600!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-bottom-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v38-album-foot{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:4px!important;
  width:100%!important;min-height:36px!important;max-width:100%!important;
  margin-top:auto!important;padding:0!important;
  color:#c6deeb!important;font-size:11px!important;white-space:nowrap!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-bottom-v35>span,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v35-album-count{
  display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;
  min-width:0!important;max-width:100%!important;color:#c6deeb!important;
}
html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-play-v36,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v38-album-play{
  position:static!important;display:grid!important;flex:0 0 35px!important;place-items:center!important;
  width:35px!important;height:35px!important;min-width:35px!important;
  border:1px solid #028ed1!important;background:#003d61!important;color:#00e5ff!important;
  font-size:14px!important;border-radius:50%!important;padding:0!important;margin:0!important;
  cursor:pointer!important;box-shadow:none!important;
}
/* Initial six ONLY regardless of how many were selected in Admin. */
html body #tn-instant-home .tn-i-album-grid-v35>.tn-i-album-v35:nth-child(n/**/+7),
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v35-album-grid>.tn-catalog-card:nth-child(n/**/+7){display:none!important}
html body :is(#tn-instant-home,web-player.tn-home) .tn-v35-album-sentinel{display:none!important}
/* Keep the other homepage sections in the same visual language, without changing grids. */
html body #tn-instant-home .tn-i-section.tn-i-catalog{min-width:0!important}
/* Mobile: cards stay two columns (2+2+2), artwork on top to avoid tiny text. */
@media(max-width:1180px){
 
 
 
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-track,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-row{
  height:65px!important;min-height:65px!important;
 }
 
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-grid-v35>.tn-i-album-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-v35-feature-albums .tn-v35-album-grid>.tn-catalog-card{
  display:flex!important;flex-direction:column!important;
  gap:7px!important;padding:9px!important;min-height:0!important;height:100%!important;
  grid-template-columns:none!important;grid-template-rows:none!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-art-wrap-v36,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-card>.tn-catalog-art{
  width:100%!important;height:auto!important;max-height:none!important;
  aspect-ratio:1!important;align-self:stretch!important;flex:0 0 auto!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-details-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta{
  width:100%!important;height:auto!important;flex:1 1 auto!important;
  justify-content:flex-start!important;gap:6px!important;padding:0!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-title-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-catalog-title{
  min-height:2.7em!important;max-height:2.7em!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-bottom-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v38-album-foot{
  margin-top:auto!important;
 }
}
/* Tablet / small desktop: two columns of compact horizontal album cards,
   rather than enormous square art occupying the entire half-screen. */
@media (min-width:700px) and (max-width:1180px){
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-grid-v35>.tn-i-album-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-v35-feature-albums .tn-v35-album-grid>.tn-catalog-card{
   display:grid!important;grid-template-columns:minmax(0,43%) minmax(0,1fr)!important;
   grid-template-rows:minmax(0,1fr)!important;align-items:center!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-art-wrap-v36,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-card>.tn-catalog-art{
   grid-column:1!important;grid-row:1!important;width:100%!important;
   max-height:100%!important;align-self:center!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-details-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta{
   grid-column:2!important;grid-row:1!important;align-self:stretch!important;
   height:100%!important;justify-content:center!important;
 }
}
@media(max-width:560px){
 :root{--tn38-header:46px;--tn38-gap:9px}
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-cover,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-cover{
  width:42px!important;height:42px!important;min-width:42px!important;flex-basis:42px!important;
 }
 html body #tn-instant-home .tn-i-latest>h2,
 html body #tn-instant-home .tn-i-section-header,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading{
  padding:0 9px!important;gap:6px!important;
 }
 html body #tn-instant-home .tn-i-latest>h2,
 html body #tn-instant-home .tn-i-section-header>h2,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
  font-size:15px!important;gap:6px!important;
 }
 html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-icon{
  flex-basis:26px!important;width:26px!important;height:26px!important;min-width:26px!important;
 }
 html body #tn-instant-home .tn-i-section-header>a,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>a{font-size:10.5px!important}
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-grid-v35>.tn-i-album-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-v35-feature-albums .tn-v35-album-grid>.tn-catalog-card{
  padding:8px!important;gap:6px!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-title-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-catalog-title{font-size:12px!important}
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-artist-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-catalog-subtitle{font-size:10.5px!important}
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-bottom-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v38-album-foot{
  min-height:29px!important;font-size:10px!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-album-play-v36,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-v38-album-meta .tn-v38-album-play{
  width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important;font-size:12px!important;
 }
 html body #tn-instant-home .tn-i-feature-v35 .tn-i-song-details,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 .tn-latest-duration{display:none!important}
}
/* Expanded list must be allowed to grow while album cards remain fixed-size. */
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded .tn-home-tracks-v27{
 height:auto!important;min-height:var(--tn38-frame)!important;
}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded .tn-home-tracks-v27 .tn-latest-list{
 display:block!important;flex:none!important;
}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded .tn-home-tracks-v27 .tn-latest-row{
 height:66px!important;min-height:66px!important;
}
/* No width/height transitions on panels: prevents contracting on load. */
html body #tn-instant-home .tn-i-feature-v35 *,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-feature-v35 *{
 transition-property:color,background-color,border-color,opacity,box-shadow!important;
}

/* V39: FIRST-PAINT FRAME MATCHES NATIVE BeMusic GEOMETRY.
   These SSR styles load with the original home CSS, so no post-hydration reflow. */
html.tn-home-route body #tn-instant-home{
  --tn39-sidebar:clamp(180px,17vw,232px);
  background:#00152c!important;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;
  font-size:14px!important;
  line-height:1.5!important;
  scrollbar-gutter:auto;
}
html.tn-home-route body #tn-instant-home .tn-i-header{
  height:64px!important;min-height:64px!important;max-height:64px!important;
  padding:0 24px 0 20px!important;
  background:linear-gradient(180deg,#001124,#00182d)!important;
}
html.tn-home-route body #tn-instant-home .tn-i-sidebar{
  width:var(--tn39-sidebar)!important;top:64px!important;
  padding:14px 8px!important;
}
html.tn-home-route body #tn-instant-home .tn-i-main{
  box-sizing:border-box!important;
  margin-left:var(--tn39-sidebar)!important;
  padding:19px 24px 100px!important;
  height:calc(100vh - 64px)!important;
  height:calc(100dvh - 64px)!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto;
  scrollbar-width:none;
}
html.tn-home-route body #tn-instant-home .tn-i-main::-webkit-scrollbar{display:none!important}
html.tn-home-route body #tn-instant-home .tn-i-container{
  box-sizing:border-box!important;max-width:1392px!important;
  width:100%!important;min-width:0!important;margin-inline:auto!important;
}
html.tn-home-route body #tn-instant-home .tn-i-slider{
  box-sizing:border-box!important;aspect-ratio:3 / 1!important;
  width:100%!important;height:auto!important;
  min-height:0!important;margin:0 0 24px!important;
}
html.tn-home-route body #tn-instant-home .tn-i-section{
  box-sizing:border-box!important;
}
@media (min-width:769px) and (max-width:1100px){
 html.tn-home-route body #tn-instant-home{--tn39-sidebar:185px}
 html.tn-home-route body #tn-instant-home .tn-i-main{padding:16px 16px 100px!important}
}
@media (max-width:768px){
 html.tn-home-route body #tn-instant-home .tn-i-header{
   height:58px!important;min-height:58px!important;max-height:58px!important;
   padding:0 14px!important;gap:12px!important;
 }
 html.tn-home-route body #tn-instant-home .tn-i-sidebar{display:none!important}
 html.tn-home-route body #tn-instant-home .tn-i-brand svg{width:32px!important;height:32px!important}
 html.tn-home-route body #tn-instant-home .tn-i-brand span{font-size:13px!important;line-height:1.14!important}
 html.tn-home-route body #tn-instant-home .tn-i-main{
   margin-left:0!important;padding:8px 14px 137px!important;
   height:calc(100vh - 58px)!important;height:calc(100dvh - 58px)!important;
 }
 html.tn-home-route body #tn-instant-home .tn-i-container{max-width:622px!important}
 html.tn-home-route body #tn-instant-home .tn-i-slider{margin-bottom:20px!important;border-radius:12px!important}
 html.tn-home-route body #tn-instant-home .tn-i-bottom{height:58px!important}
}

/* Prevent the section h2 (also its own title bar) from inheriting the nested-h2
   height:100% override. Previously it was 28px before Angular, 46px after. */
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title{
 height:var(--tn38-header)!important;min-height:var(--tn38-header)!important;
 max-height:var(--tn38-header)!important;
 width:100%!important;padding:0 13px!important;margin:0 0 10px!important;
 flex:0 0 var(--tn38-header)!important;
}

/* Hard layout guard against legacy global CSS or late-loaded fonts. */

html.tn-home-route body #tn-instant-home .tn-i-feature-v35 .tn-i-album-v35,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v38-album-card{
  transition:none!important;animation:none!important;
}
html.tn-home-route body #tn-instant-home .tn-i-slider picture,
html.tn-home-route body #tn-instant-home .tn-i-slider img{
  width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;
}


/* V40 : unified small Ocean Blue section chips. A title is a CHIP, not a full-width panel.
   The *wrapper* occupies the row, the h2 occupies only its icon+text. */
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  max-width:calc(100% - 3px)!important;
  min-width:0!important;
  height:var(--tn38-header)!important;
  min-height:var(--tn38-header)!important;
  max-height:var(--tn38-header)!important;
  margin:0!important;
  padding:0 15px!important;
  border:1px solid #1775a1!important;
  border-radius:12px!important;
  background:linear-gradient(100deg,#104769 0%,#0a395a 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
  white-space:nowrap!important;
  font:600 15.5px/1.25 "Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif!important;
  letter-spacing:.01em!important;
  color:#f7fcff!important;
}
html body #tn-instant-home .tn-i-latest>h2.tn37-section-title{
  flex:0 0 auto!important;
  margin-bottom:12px!important;
}
html body #tn-instant-home .tn-i-section-header,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  height:var(--tn38-header)!important;
  min-height:var(--tn38-header)!important;
  max-height:var(--tn38-header)!important;
  padding:0!important;
  margin:0 0 12px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
  max-width:calc(100% - 85px)!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-icon{
  flex:0 0 29px!important;width:29px!important;height:29px!important;min-width:29px!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-label{
  min-width:0!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;
}
/* Both render paths reserve the same breathing room below the slider. */
html.tn-home-route body #tn-instant-home .tn-i-slider{
  margin-bottom:34px!important;
}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-hero{
  margin-bottom:34px!important;
}

/* Prevent unintended width interpolations during the Angular handoff. */
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) :is(.tn-i-section,.tn-catalog-heading,.tn-i-section-header,.tn-catalog-card,.tn-v38-album-card){
  transition-property:color,background-color,border-color,box-shadow!important;
  animation:none!important;
}
@media(max-width:768px){
 html.tn-home-route body #tn-instant-home .tn-i-slider,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-hero{margin-bottom:26px!important}
 html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
 html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
    font-size:14.5px!important;padding:0 10px!important;max-width:calc(100% - 4px)!important;
 }
 html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2{
    max-width:calc(100% - 69px)!important;
 }
}
/* Equal chip widths on first paint and native Angular: prevents the title itself resizing during hydration. */
html body #tn-instant-home .tn-i-latest>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-tracks-v27 .tn-catalog-heading>h2{
  width:210px!important;min-width:210px!important;max-width:210px!important;
}
html body #tn-instant-home .tn-i-featured-albums-v35 .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-v35-feature-albums .tn-catalog-heading>h2{
  width:186px!important;min-width:186px!important;max-width:186px!important;
}
html body #tn-instant-home .tn-i-catalog .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections>.tn-catalog-heading>h2{
  width:195px!important;min-width:195px!important;max-width:195px!important;
}
@media(max-width:330px){
 html body #tn-instant-home .tn-i-catalog .tn-i-section-header>h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections>.tn-catalog-heading>h2{width:186px!important;min-width:186px!important;max-width:186px!important}
}
/* Higher-specificity final constraint against inherited V35–V39 title width rules. */
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading>h2{
  width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;
}
html body #tn-instant-home .tn-i-feature-v35>.tn-i-featured-albums-v35 .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading>h2{
  width:186px!important;min-width:186px!important;max-width:186px!important;flex:0 0 186px!important;
}

/* V41: the instant and Angular lists share one geometry, even while old V28 CSS is cached. */

html.tn-home-route body #tn-instant-home .tn-i-feature-v35 .tn-i-track,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35 .tn-home-tracks-v27 .tn-latest-row{
 height:100%!important;min-height:0!important;padding:6px 10px!important;gap:8px!important;
}
/* Expansion is explicit; hidden preloaded rows must never change the initial layout. */
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded>.tn-home-tracks-v27{height:auto!important;min-height:var(--tn38-frame)!important}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded .tn-home-tracks-v27 .tn-latest-list{display:block!important}
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35.tn-v41-expanded .tn-home-tracks-v27 .tn-latest-row{height:66px!important;min-height:66px!important}
/* Native scrolling used a 10px gutter while the server frame hid its scrollbar. */
html.tn-home-route body web-player.tn-music-v1.tn-home .page-wrapper{scrollbar-width:none!important}
html.tn-home-route body web-player.tn-music-v1.tn-home .page-wrapper::-webkit-scrollbar{width:0!important}
html.tn-home-route body #tn-instant-home{font-family:Arial,"Helvetica Neue",sans-serif!important}


/* V186 source: tn-v52-play-icons.css */
/* Force geometric blue play/pause glyph on iOS, avoid colored emoji U+25B6. */
html:not(.tn51-admin) web-player track-table button.tn52-vector-play,html:not(.tn51-admin) .tn-home-instant-track-row button.tn52-vector-play{position:relative!important;color:transparent!important;font-size:0!important;font-family:Arial,sans-serif!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important}
html:not(.tn51-admin) web-player track-table button.tn52-vector-play::after,html:not(.tn51-admin) .tn-home-instant-track-row button.tn52-vector-play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #00cafa;pointer-events:none}
html:not(.tn51-admin) button.tn52-vector-play[data-tn52-glyph="pause"]::after{width:10px;height:14px;border:0;transform:translate(-50%,-50%);background:linear-gradient(to right,#00cafa 0 35%,transparent 35% 65%,#00cafa 65% 100%)}


/* V186 source: tn-v62-home-layers.css */
/* TN Music V62: Home-only layers; NO native BeMusic DOM relocation.
   Native web-player structure is identical to Track/Album/Playlist pages.
   web-player > .player-content = scrollable application region
   web-player > player-controls/mobile-player-controls = native footer
   Within home content: 3 separate rows (latest/albums | featured | suggestions).
*/
:root {--tn62-header-top:0px;--tn62-home-gap:16px}
/* Only the home route is affected. Never override native player-content,
   page-wrapper heights, or header display on Track/Album/Playlist/Admin. */
html.tn62-home web-player.tn-home {
 position:relative!important; isolation:isolate;
}
html.tn62-home web-player.tn-home .page-wrapper {
 overscroll-behavior-y:contain;
 scroll-padding-top:78px;
 scroll-padding-bottom:100px;
}
/* Homepage content wrapper must grow with the document, otherwise sticky
   header stops at the 100%-viewport height of the BeMusic .space-wrapper. */
html.tn62-home web-player.tn-home .page-wrapper .space-wrapper {
 height:auto!important;min-height:100%!important;overflow:visible!important;
}
/* In the original scroll container, keep the original header in place.
   No appendChild, cloneNode, portal, or manual element replacement. */
html.tn62-home web-player.tn-home .page-wrapper .tn-header,
html.tn62-home web-player.tn-home .page-wrapper .tn-site-header,
html.tn62-home web-player.tn-home .page-wrapper .tn-global-header,
html.tn62-home web-player.tn-home .page-wrapper .tn-topbar {
 position:-webkit-sticky!important;
 position:sticky!important;
 top:var(--tn62-header-top)!important;
 z-index:50!important;
 transform:none!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
/* Server first-paint snapshot: same scroll-native sticky header, never a
   second fixed header above the Angular one. */
html.tn62-home #tn-instant-home .tn-i-header {
 position:sticky!important;top:0!important;z-index:50!important;
 transform:none!important;
}
/* These are not application-shell layers: just ordered homepage sections. */
html.tn62-home web-player.tn-home .tn59-layer-stack,
html.tn62-home #tn-instant-home .tn59-layer-stack {
 position:relative!important;z-index:auto!important;isolation:isolate;
}
html.tn62-home .tn59-layer-stack > .tn-home-feature-v35,
html.tn62-home .tn59-layer-stack > .tn-i-feature-v35 {position:relative!important;z-index:1!important;}
html.tn62-home .tn59-layer-stack > .tn59-features {position:relative!important;z-index:2!important;}
html.tn62-home .tn59-features .tn59-layer-2,
html.tn62-home .tn59-features .tn59-layer-3 {position:relative!important;z-index:0!important;}
/* Do not give the carousel, covers or text a higher z-index than the header. */
html.tn62-home .tn58-track,html.tn62-home .tn58-carousel,
html.tn62-home .tn58-viewport {z-index:auto!important;}
/* Native footer continues as a sibling of .player-content. Desktop is
   the BeMusic fixed bottom region; mobile includes both controls and nav. */
html.tn62-home web-player.tn-home > player-controls,
html.tn62-home web-player.tn-home > mobile-player-controls {
 z-index:60!important;
}
/* Route back to homepage / after the pre-render HTML has been removed:
   never leave the hydrated Angular app invisible. Activation is guarded in JS. */
html.tn62-native-ready web-player.tn-home {
 visibility:visible!important;opacity:1!important;display:block!important;
}
/* Any old V60/V61 class left behind by a stale navigation must not create
   an extra fixed/empty header. This stylesheet doesn't hide any elements. */
@media(max-width:700px){
 html.tn62-home web-player.tn-home .page-wrapper {scroll-padding-top:68px;scroll-padding-bottom:150px;}
 html.tn62-home .tn59-features {max-width:100%!important;min-width:0!important;}
}

/* Keep the Laravel snapshot visible until its own V41 atomic handoff. */
html.tn62-home:not(.tn-instant-hydrated) #tn-instant-home {visibility:visible!important;opacity:1!important;}

/* V65 compatibility entry for cached V62 views. */
/* V65: one viewport shell, one content scroller. No Angular node relocation. */
@media (max-width:768px), (max-width:1024px) and (max-height:500px) {
 html.tn65-mobile-shell, html.tn65-mobile-shell body {
  width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;overflow:hidden!important;overscroll-behavior:none;
 }
 html.tn65-mobile-shell body {position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;}
 html.tn65-mobile-shell {--tn65-height:100vh;--tn65-top:0px;--tn65-head:58px;--tn65-footer:calc(137px + env(safe-area-inset-bottom,0px));}
 @supports(height:100svh){html.tn65-mobile-shell{--tn65-height:100svh}}
 html.tn65-mobile-shell body app-root,
 html.tn65-mobile-shell body .app-content,
 html.tn65-mobile-shell body .app-content > homepage-host {
  display:block!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 {
  --tn-head:var(--tn65-head);--tn-player:var(--tn65-footer);
  position:fixed!important;top:var(--tn65-top)!important;left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;max-width:none!important;height:var(--tn65-height)!important;min-height:0!important;max-height:none!important;
  padding:0!important;margin:0!important;overflow:hidden!important;transform:none!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > .tn-header {
  position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;height:var(--tn65-head)!important;min-height:var(--tn65-head)!important;
  max-height:var(--tn65-head)!important;margin:0!important;transform:none!important;z-index:70!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > .player-content {
  position:absolute!important;top:var(--tn65-head)!important;bottom:var(--tn65-footer)!important;left:0!important;right:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .player-content > .page-content,
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-content > mat-drawer-content {
  height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-wrapper {
  height:100%!important;min-height:0!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;scroll-padding-top:12px;scroll-padding-bottom:16px;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-wrapper .space-wrapper {
  height:auto!important;min-height:100%!important;max-height:none!important;overflow:visible!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > mobile-player-controls {
  position:absolute!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;
  height:var(--tn65-footer)!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;transform:none!important;z-index:80!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .tn-bottom-nav,
 html.tn65-mobile-shell body web-player.tn-music-v1 > mobile-player-controls > .nav {
  display:flex!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;
  box-sizing:border-box!important;height:calc(58px + env(safe-area-inset-bottom,0px))!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;margin:0!important;transform:none!important;z-index:90!important;
 }
 html.tn65-mobile-shell.tn65-desktop-footer body web-player.tn-music-v1 > player-controls {
  position:absolute!important;bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:none!important;z-index:80!important;
 }
 /* The server snapshot gets the same three bounded regions before handoff. */
 html.tn65-mobile-shell body #tn-instant-home {
  top:var(--tn65-top)!important;bottom:auto!important;height:var(--tn65-height)!important;
  min-height:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-header {
  position:absolute!important;top:0!important;left:0!important;right:0!important;
  height:var(--tn65-head)!important;min-height:var(--tn65-head)!important;max-height:var(--tn65-head)!important;z-index:70!important;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-main {
  position:absolute!important;top:var(--tn65-head)!important;bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;
  left:0!important;right:0!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding-bottom:24px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-bottom {
  position:absolute!important;bottom:0!important;left:0!important;right:0!important;
  height:calc(58px + env(safe-area-inset-bottom,0px))!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;
 }
}


/* V186 source: tn-v56-home.css */
/* V56 · Ocean Blue Glass · mounted above native Playlist nổi bật; no impact on player. */
html.tn-home-route .tn56-features{--tn56-bg:linear-gradient(125deg,rgba(6,37,72,.97),rgba(4,22,47,.95));--tn56-border:rgba(13,179,241,.59);display:flex;flex-direction:column;gap:28px;width:100%;max-width:100%;margin:25px 0 28px;box-sizing:border-box;min-width:0;clear:both;color:#ecfbff}
html.tn-home-route .tn56-features *{box-sizing:border-box}
html.tn-home-route .tn56-featured,html.tn-home-route .tn56-suggestions{border:1px solid var(--tn56-border);border-radius:20px;background:var(--tn56-bg);box-shadow:0 14px 45px rgba(0,14,39,.3),inset 0 1px rgba(255,255,255,.05);padding:22px 24px;min-width:0}
html.tn-home-route .tn56-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}
html.tn-home-route .tn56-section-head h2{display:flex;align-items:center;gap:12px;font-size:clamp(19px,2vw,28px);font-weight:800;line-height:1.2;margin:0!important;color:#ecfaff!important}
html.tn-home-route .tn56-title-mark{display:inline-block;flex:0 0 4px;width:4px;height:29px;background:#03c5f5;border-radius:6px;box-shadow:0 0 12px #14bce9}
html.tn-home-route .tn56-counter{font-size:12px;font-weight:700;color:#8dd9ff;white-space:nowrap}
html.tn-home-route .tn56-carousel{position:relative;display:flex;align-items:center;gap:11px;min-width:0}
html.tn-home-route .tn56-viewport{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-width:0;border-radius:13px}
html.tn-home-route .tn56-viewport::-webkit-scrollbar{display:none}
html.tn-home-route .tn56-track{display:flex;align-items:stretch;gap:12px;padding:3px 1px 7px;min-width:100%}
html.tn-home-route .tn56-playlist-card{flex:0 0 calc((100% - 24px)/3);min-width:0;scroll-snap-align:start}
html.tn-home-route .tn56-playlist-link{display:flex;align-items:stretch;gap:13px;min-height:154px;overflow:hidden;padding:12px;border-radius:12px;text-decoration:none!important;color:#fff!important;background:linear-gradient(130deg,rgba(10,67,112,.88),rgba(7,41,79,.95));border:1px solid rgba(30,171,221,.44);box-shadow:inset 0 1px rgba(255,255,255,.08);transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
html.tn-home-route .tn56-playlist-link:hover,html.tn-home-route .tn56-playlist-link:focus-visible{transform:translateY(-3px);border-color:#38d8fb;background:linear-gradient(120deg,rgba(14,88,148,.98),rgba(7,50,104,.95));box-shadow:0 8px 26px rgba(0,160,224,.24)}
html.tn-home-route .tn56-cover{position:relative;flex:0 0 130px;width:130px;height:130px;display:grid;place-items:center;border-radius:9px;background:#0a456d;overflow:hidden}
html.tn-home-route .tn56-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s,filter .35s}
html.tn-home-route .tn56-playlist-link:hover .tn56-cover img,html.tn-home-route .tn56-playlist-link:focus-visible .tn56-cover img{transform:scale(1.08);filter:brightness(.68)}
html.tn-home-route .tn56-no-art{font-size:40px;color:#60d8f9}
html.tn-home-route .tn56-hover-play{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .22s}
html.tn-home-route .tn56-hover-play svg{width:46px;height:46px;border:2px solid #c7f3ff;fill:#d4f9ff;padding:9px;border-radius:50%;background:rgba(0,27,55,.67);filter:drop-shadow(0 0 12px rgba(0,195,244,.7))}
html.tn-home-route .tn56-playlist-link:hover .tn56-hover-play,html.tn-home-route .tn56-playlist-link:focus-visible .tn56-hover-play{opacity:1}
html.tn-home-route .tn56-copy{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px}
html.tn-home-route .tn56-chip{font-style:italic;font-size:10px;font-weight:800;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:6px 9px;background:linear-gradient(140deg,#0c83be,#06487d);border-radius:999px;color:#dbf8ff}
html.tn-home-route .tn56-copy strong{color:#f6fcff;font-size:clamp(13px,1.2vw,18px);font-weight:800;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.tn-home-route .tn56-copy small{color:#9bc3e3;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html.tn-home-route .tn56-arrow{flex:0 0 35px;width:35px;height:35px;border:1px solid #22cafa!important;background:#063b6b!important;border-radius:50%!important;color:#e9faff!important;font-size:27px!important;line-height:1!important;cursor:pointer;display:grid;place-items:center;padding:0!important;box-shadow:0 0 10px rgba(8,178,230,.21)}
html.tn-home-route .tn56-arrow:hover{background:#096a9e!important}
html.tn-home-route .tn56-refresh{display:flex;align-items:center;gap:8px;border-radius:999px;border:1px solid #13bce8!important;color:#f0fdff!important;background:linear-gradient(110deg,#087eb5,#07518b)!important;padding:9px 16px;font-weight:800;white-space:nowrap;font-size:12px;cursor:pointer;box-shadow:0 0 13px rgba(2,174,238,.17)}
html.tn-home-route .tn56-refresh:hover{background:#0b9ccc!important}
html.tn-home-route .tn56-song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 28px}
html.tn-home-route .tn56-song{min-width:0;display:flex;align-items:center;gap:12px;padding:4px 0;color:#f6fcff!important;text-decoration:none!important}
html.tn-home-route .tn56-song-art{width:62px;height:62px;flex:0 0 62px;border-radius:8px;overflow:hidden;background:#0d405d;display:grid;place-items:center;color:#80e7ff;font-size:24px}
html.tn-home-route .tn56-song-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
html.tn-home-route .tn56-song:hover img{transform:scale(1.06)}
html.tn-home-route .tn56-song-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
html.tn-home-route .tn56-song-copy strong{font-size:14px;color:#f3fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.tn-home-route .tn56-song-copy small{font-size:12px;color:#a1c6e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.tn-home-route .tn56-empty{margin:12px;padding:12px;font-size:13px;color:#a9d6e7}
@media(max-width:1180px){html.tn-home-route .tn56-playlist-card{flex-basis:calc((100% - 12px)/2)}html.tn-home-route .tn56-cover{flex-basis:112px;width:112px;height:112px}html.tn-home-route .tn56-playlist-link{min-height:136px}}
@media(max-width:700px){html.tn-home-route .tn56-features{gap:16px;margin:18px 0 22px}html.tn-home-route .tn56-featured,html.tn-home-route .tn56-suggestions{padding:16px 12px;border-radius:15px}html.tn-home-route .tn56-playlist-card{flex-basis:100%}html.tn-home-route .tn56-cover{flex:0 0 113px;width:113px;height:113px}html.tn-home-route .tn56-playlist-link{min-height:133px;padding:9px;gap:10px}html.tn-home-route .tn56-copy strong{font-size:14px}html.tn-home-route .tn56-chip{font-size:9px}html.tn-home-route .tn56-arrow{flex-basis:28px;width:28px;height:28px;font-size:23px}html.tn-home-route .tn56-carousel{gap:6px}html.tn-home-route .tn56-section-head h2{font-size:19px}html.tn-home-route .tn56-song-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}html.tn-home-route .tn56-song-art{width:52px;height:52px;flex-basis:52px}html.tn-home-route .tn56-song-copy strong{font-size:12px}html.tn-home-route .tn56-song-copy small{font-size:11px}html.tn-home-route .tn56-song{gap:8px}html.tn-home-route .tn56-refresh{padding:7px 9px;font-size:10px}}
@media(max-width:390px){html.tn-home-route .tn56-song-grid{grid-template-columns:1fr}html.tn-home-route .tn56-song-copy strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){html.tn-home-route .tn56-features *,html.tn-home-route .tn56-features *::before,html.tn-home-route .tn56-features *::after{transition:none!important;animation:none!important}}


/* V186 source: tn-v58-home.css */
/* V58 – Ocean Blue preview, built on V56; one seamless infinite slider */
html.tn-home-route .tn58-features{gap:12px;margin:23px 0 24px;clear:both;--tn58-cyan:#08caff;--tn58-line:rgba(18,190,245,.55)}
html.tn-home-route .tn58-featured,html.tn-home-route .tn58-suggestions{border:1px solid var(--tn58-line);border-radius:22px;padding:17px 19px 14px;background:radial-gradient(ellipse at 95% 0,rgba(10,90,154,.37),transparent 55%),linear-gradient(115deg,#032544,#041b37 72%,#05274c);box-shadow:inset 0 1px rgba(132,230,255,.17),0 8px 24px rgba(0,16,44,.31),0 0 12px rgba(10,140,214,.14)}
html.tn-home-route .tn58-section-head{margin:0 0 14px;min-height:35px}
html.tn-home-route .tn58-heading{display:inline-flex!important;align-items:center;gap:10px;font-size:clamp(17px,1.7vw,24px)!important;font-weight:800!important;margin:0!important;color:#f4fcff!important;line-height:1.25!important}
html.tn-home-route .tn58-heading-icon{display:inline-grid;place-items:center;flex:0 0 37px;width:37px;height:37px;background:linear-gradient(130deg,#0a80af,#053f75);border:1px solid #16c4f3;border-radius:11px;box-shadow:0 0 13px rgba(0,197,246,.27)}
html.tn-home-route .tn58-heading-icon svg{display:block;width:21px;height:21px;stroke:#14d6ff;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
html.tn-home-route .tn58-heading-icon svg path{fill:none}
html.tn-home-route .tn58-featured{padding-bottom:12px}
html.tn-home-route .tn58-carousel{gap:9px;align-items:center}
html.tn-home-route .tn58-viewport{overflow:hidden!important;scroll-snap-type:none!important;scroll-behavior:auto!important;border-radius:12px}
html.tn-home-route .tn58-track{display:flex!important;align-items:stretch!important;gap:12px!important;padding:2px 0 5px!important;transition:transform .48s cubic-bezier(.22,.72,.2,1);will-change:transform}
html.tn-home-route .tn58-playlist-card,html.tn-home-route .tn58-track>.tn56-playlist-card{flex:0 0 calc((100% - 24px)/3)!important;max-width:calc((100% - 24px)/3)!important;scroll-snap-align:none!important}
html.tn-home-route .tn58-track .tn56-playlist-link{height:100%;min-height:144px;gap:12px;padding:9px;background:linear-gradient(125deg,#084c80,#042c55 70%,#065991);border-color:rgba(13,162,237,.5);box-shadow:inset 0 1px rgba(255,255,255,.12)}
html.tn-home-route .tn58-track .tn56-cover{width:126px;height:126px;flex:0 0 126px}
html.tn-home-route .tn58-track .tn56-copy{gap:8px}
html.tn-home-route .tn58-chip{color:#e0f8ff;background:linear-gradient(120deg,#086fba,#034c83);padding:5px 12px;border:1px solid rgba(72,195,244,.2);border-radius:999px;font-size:10px;line-height:1.2;font-weight:800}
html.tn-home-route .tn58-track .tn56-copy strong{font-size:clamp(13px,1.25vw,18px)}
html.tn-home-route .tn58-track .tn56-copy small{font-size:12px;color:#a5c6e9}
html.tn-home-route .tn58-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin:8px 0 0;min-height:12px}
html.tn-home-route .tn58-dots button{cursor:pointer;appearance:none;width:13px;height:7px;padding:0!important;border:0!important;border-radius:99px;background:#165e90!important;opacity:.9;transition:width .25s,background .25s;box-shadow:none!important}
html.tn-home-route .tn58-dots button.is-active{width:28px;background:#01d4f8!important;box-shadow:0 0 8px rgba(0,210,255,.35)!important}
html.tn-home-route .tn58-suggestions{padding-bottom:17px}
html.tn-home-route .tn58-song-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}
html.tn-home-route .tn58-song-grid>.tn56-song{min-height:83px;gap:12px;padding:10px 3px;border-bottom:1px solid rgba(38,144,198,.22)}
html.tn-home-route .tn58-song-grid>.tn56-song:nth-last-child(-n+3){border-bottom-color:transparent}
html.tn-home-route .tn58-song-grid .tn56-song-art{width:57px;height:57px;flex:0 0 57px}
html.tn-home-route .tn58-song-grid .tn56-song-copy{flex:1;min-width:0;gap:6px}
html.tn-home-route .tn58-song-grid .tn56-song-copy strong{font-size:14px;line-height:1.35}
html.tn-home-route .tn58-song-grid .tn56-song-copy small{font-size:12px}
html.tn-home-route .tn58-song-play{flex:0 0 31px;width:31px;height:31px;border-radius:50%;border:1px solid #04c4f6;background:#053e65;display:grid;place-items:center;margin-left:auto}
html.tn-home-route .tn58-song-play svg{width:17px;height:17px;fill:#14ccf4}
html.tn-home-route .tn58-refresh{text-transform:none!important;font-size:13px!important;padding:8px 13px!important}
html.tn-home-route .tn58-refresh svg{width:17px;height:17px}
@media(max-width:1180px){html.tn-home-route .tn58-track>.tn56-playlist-card{flex-basis:calc((100% - 12px)/2)!important;max-width:calc((100% - 12px)/2)!important}html.tn-home-route .tn58-song-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html.tn-home-route .tn58-song-grid>.tn56-song:nth-last-child(-n+3){border-bottom-color:rgba(38,144,198,.22)}html.tn-home-route .tn58-song-grid>.tn56-song:nth-last-child(-n+1){border-bottom-color:transparent}}
@media(max-width:700px){html.tn-home-route .tn58-features{margin:16px 0 20px;gap:14px}html.tn-home-route .tn58-featured,html.tn-home-route .tn58-suggestions{padding:14px 11px;border-radius:16px}html.tn-home-route .tn58-track>.tn56-playlist-card{flex-basis:100%!important;max-width:100%!important}html.tn-home-route .tn58-track .tn56-playlist-link{min-height:119px;gap:10px}html.tn-home-route .tn58-track .tn56-cover{height:99px;width:99px;flex-basis:99px}html.tn-home-route .tn58-track .tn56-copy strong{font-size:13px}html.tn-home-route .tn58-heading{font-size:17px!important}html.tn-home-route .tn58-heading-icon{width:33px;height:33px;flex-basis:33px}html.tn-home-route .tn58-carousel{gap:5px}html.tn-home-route .tn58-carousel .tn56-arrow{width:26px;flex-basis:26px;height:30px;font-size:21px!important}html.tn-home-route .tn58-song-grid{grid-template-columns:1fr;gap:0}html.tn-home-route .tn58-song-grid>.tn56-song{min-height:72px;padding:9px 2px;border-bottom:1px solid rgba(38,144,198,.22)!important}html.tn-home-route .tn58-song-grid>.tn56-song:last-child{border-bottom-color:transparent!important}html.tn-home-route .tn58-song-grid .tn56-song-art{width:48px;height:48px;flex-basis:48px}html.tn-home-route .tn58-song-grid .tn56-song-copy strong{font-size:13px}html.tn-home-route .tn58-refresh{font-size:11px!important;padding:7px 9px!important}}
@media(prefers-reduced-motion:reduce){html.tn-home-route .tn58-track{transition:none!important}}


/* V186 source: tn-v59-home.css */
/* V59: EXACT THREE HOMEPAGE ROWS. Root cause in V58: injecting both feature
 * sections into an existing multi-column layout, beside the latest tracks.
 * Force the actual parent of the FIRST row to stack its children, while the
 * existing first row continues to own its 50/50 inner grid. */
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-layer-stack {
 display:flex!important; flex-direction:column!important; align-items:stretch!important;
 grid-template-columns:none!important; grid-auto-flow:row!important;
 gap:0!important; width:100%!important; max-width:100%!important;
 min-width:0!important; box-sizing:border-box!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-layer-stack > * {
 box-sizing:border-box!important; min-width:0!important;
 max-width:100%!important; width:100%!important;
 flex:0 0 auto!important; grid-column:1/-1!important;
}
/* ROW 1: Bài hát mới nhất (left) + Album nổi bật (right). The original
   v41/v47 grid and original data/player controls remain intact. */
@media(min-width:1181px){
 html.tn-home-route body #tn-instant-home .tn59-layer-stack > .tn-i-feature-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn59-layer-stack > .tn-home-feature-v35 {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important; gap:16px!important;
 }
}
/* ROW 2 + ROW 3: independent, full-width sections below both first-row panels. */
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-layer-stack > .tn59-features {
 display:flex!important; flex-direction:column!important; align-items:stretch!important;
   padding:0!important;
 width:100%!important; max-width:100%!important; min-width:0!important;
 clear:both!important; float:none!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-features > :is(.tn59-layer-2,.tn59-layer-3) {
 width:100%!important;max-width:100%!important;min-width:0!important;
 flex:0 0 auto!important; grid-column:1/-1!important; box-sizing:border-box!important;
 margin:0!important;
}
/* Match home title chips, labels, typographic hierarchy and icon sizes. */
html.tn-home-route body .tn59-features {font-family:"Segoe UI Variable Display","Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;}
html.tn-home-route body .tn59-features .tn58-section-head {display:flex!important; align-items:center!important; justify-content:space-between!important;gap:10px!important;margin:0 0 14px!important;}
html.tn-home-route body .tn59-features .tn58-heading {
 display:inline-flex!important;flex:0 1 auto!important;align-items:center!important;gap:9px!important;
 margin:0!important;padding:5px 12px 5px 6px!important;
 border:1px solid rgba(25,160,213,.72)!important;border-radius:12px!important;
 background:linear-gradient(115deg,#104769,#0b3859)!important;
 font:650 17px/1.35 "Segoe UI Variable Display","Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;
 letter-spacing:-.25px!important;color:#f4fcff!important;
}
html.tn-home-route body .tn59-features .tn58-heading-icon{width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:9px!important;}
html.tn-home-route body .tn59-features .tn58-heading-icon svg{width:18px!important;height:18px!important;}
html.tn-home-route body .tn59-features .tn58-track .tn56-copy strong{font-weight:700!important;line-height:1.34!important;letter-spacing:-.1px!important;}
html.tn-home-route body .tn59-features .tn58-song-grid .tn56-song-copy strong{font-weight:700!important;}
html.tn-home-route body .tn59-features .tn58-song-grid{gap:0 28px!important;}
html.tn-home-route body .tn59-features .tn58-song-grid>.tn56-song{padding-block:11px!important;min-height:86px!important;}
html.tn-home-route body .tn59-features .tn58-track>.tn56-playlist-card{min-width:0!important;}
html.tn-home-route body .tn59-features .tn58-track .tn56-playlist-link{overflow:hidden!important;}
@media(max-width:1180px){
 html.tn-home-route body .tn59-layer-stack > .tn59-features{}
 html.tn-home-route body .tn59-features .tn58-song-grid{gap:0 20px!important;}
}
@media(max-width:700px){
 html.tn-home-route body .tn59-layer-stack > .tn59-features{}
 html.tn-home-route body .tn59-features .tn58-heading{font-size:16px!important; padding:4px 9px 4px 5px!important;}
 html.tn-home-route body .tn59-features .tn58-song-grid{grid-template-columns:1fr!important;gap:0!important;}
 html.tn-home-route body .tn59-features .tn58-song-grid>.tn56-song{min-height:75px!important;padding:9px 2px!important;}
 html.tn-home-route body .tn59-features .tn58-track>.tn56-playlist-card{flex-basis:100%!important;max-width:100%!important;}
}
/* Preserve the original V41 responsive first row on phone and tablet:
   two equal panels only on desktop; stack tracks and albums below 1180px. */
@media(max-width:1180px){
 html.tn-home-route body #tn-instant-home .tn59-layer-stack > .tn-i-feature-v35,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn59-layer-stack > .tn-home-feature-v35{
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   gap:22px!important;
 }
 html.tn-home-route body #tn-instant-home .tn59-layer-stack > .tn-i-feature-v35 > *,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn59-layer-stack > .tn-home-feature-v35 > *{
   width:100%!important;max-width:100%!important;min-width:0!important;
 }
}


/* V186 source: tn-v60-suggestions.css */

/* V60 - recommended tracks ALWAYS use their actual cover when present. */
html.tn-home-route .tn59-features .tn56-song-art img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:inherit!important;}
html.tn-home-route .tn59-features .tn56-song-art .tn60-missing-art{display:flex;align-items:center;justify-content:center;font-size:9px;line-height:1.2;text-align:center;padding:2px;color:#b7e6fa;background:linear-gradient(145deg,#0e4468,#052940);width:100%;height:100%;}


/* V186 source: tn-v65-mobile-shell.css */
/* V65: one viewport shell, one content scroller. No Angular node relocation. */
@media (max-width:768px), (max-width:1024px) and (max-height:500px) {
 html.tn65-mobile-shell, html.tn65-mobile-shell body {
  width:100%!important;height:100%!important;min-height:0!important;
  margin:0!important;overflow:hidden!important;overscroll-behavior:none;
 }
 html.tn65-mobile-shell body {position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;}
 html.tn65-mobile-shell {--tn65-height:100vh;--tn65-top:0px;--tn65-head:58px;--tn65-footer:calc(137px + env(safe-area-inset-bottom,0px));}
 @supports(height:100svh){html.tn65-mobile-shell{--tn65-height:100svh}}
 html.tn65-mobile-shell body app-root,
 html.tn65-mobile-shell body .app-content,
 html.tn65-mobile-shell body .app-content > homepage-host {
  display:block!important;height:100%!important;min-height:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 {
  --tn-head:var(--tn65-head);--tn-player:var(--tn65-footer);
  position:fixed!important;top:var(--tn65-top)!important;left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;max-width:none!important;height:var(--tn65-height)!important;min-height:0!important;max-height:none!important;
  padding:0!important;margin:0!important;overflow:hidden!important;transform:none!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > .tn-header {
  position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
  width:100%!important;height:var(--tn65-head)!important;min-height:var(--tn65-head)!important;
  max-height:var(--tn65-head)!important;margin:0!important;transform:none!important;z-index:70!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > .player-content {
  position:absolute!important;top:var(--tn65-head)!important;bottom:var(--tn65-footer)!important;left:0!important;right:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .player-content > .page-content,
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-content > mat-drawer-content {
  height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-wrapper {
  height:100%!important;min-height:0!important;max-height:100%!important;
  overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;scroll-padding-top:12px;scroll-padding-bottom:16px;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .page-wrapper .space-wrapper {
  height:auto!important;min-height:100%!important;max-height:none!important;overflow:visible!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 > mobile-player-controls {
  position:absolute!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;
  height:var(--tn65-footer)!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;transform:none!important;z-index:80!important;
 }
 html.tn65-mobile-shell body web-player.tn-music-v1 .tn-bottom-nav,
 html.tn65-mobile-shell body web-player.tn-music-v1 > mobile-player-controls > .nav {
  display:flex!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;
  box-sizing:border-box!important;height:calc(58px + env(safe-area-inset-bottom,0px))!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;margin:0!important;transform:none!important;z-index:90!important;
 }
 html.tn65-mobile-shell.tn65-desktop-footer body web-player.tn-music-v1 > player-controls {
  position:absolute!important;bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:none!important;z-index:80!important;
 }
 /* The server snapshot gets the same three bounded regions before handoff. */
 html.tn65-mobile-shell body #tn-instant-home {
  top:var(--tn65-top)!important;bottom:auto!important;height:var(--tn65-height)!important;
  min-height:0!important;overflow:hidden!important;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-header {
  position:absolute!important;top:0!important;left:0!important;right:0!important;
  height:var(--tn65-head)!important;min-height:var(--tn65-head)!important;max-height:var(--tn65-head)!important;z-index:70!important;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-main {
  position:absolute!important;top:var(--tn65-head)!important;bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;
  left:0!important;right:0!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding-bottom:24px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;
 }
 html.tn65-mobile-shell body #tn-instant-home .tn-i-bottom {
  position:absolute!important;bottom:0!important;left:0!important;right:0!important;
  height:calc(58px + env(safe-area-inset-bottom,0px))!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;
 }
}


/* V186 source: tn-v67-home-fixes.css */
/* Trường Nguyễn Music V67 - unified home section headings.
   Styles only exact home heading text nodes marked by tn-v67-home-fixes.js.
   No player/header/sidebar/card title geometry or Angular structure is changed. */
html.tn-home-route .tn67-home-heading,
html.tn62-home .tn67-home-heading,
#tn-instant-home .tn67-home-heading,
web-player.tn-home .tn67-home-heading {
    font-family: inherit !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    overflow-wrap: break-word;
}
@media (max-width: 768px) {
    html.tn-home-route .tn67-home-heading,
    html.tn62-home .tn67-home-heading,
    #tn-instant-home .tn67-home-heading,
    web-player.tn-home .tn67-home-heading {
        font-size: 12px !important;
        line-height: 1.35 !important;
        letter-spacing: .015em !important;
    }
}


/* V186 source: tn-v68-suggestion-covers.css */
/* V68 – song art in "Gợi ý bài hát". Strictly scoped to verified cover tiles.
   Keep the original icon as a non-image fallback. Never touch play controls. */
#tn-instant-home .tn68-cover-tile,
web-player.tn-home .tn68-cover-tile {
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0;
}
#tn-instant-home .tn68-cover-tile > img.tn68-song-cover,
web-player.tn-home .tn68-cover-tile > img.tn68-song-cover {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
  border-radius: inherit !important;
  pointer-events: none !important;
  z-index: 2 !important;
  background-color: transparent;
}


/* V186 source: tn-v69-playlist-home.css */
/* Trường Nguyễn Music V69 - playlist featured grid and recommendation routes.
   Scoped strictly to the home page and marked by tn-v69-playlist-home.js. */
html.tn62-home [data-tn69-featured-grid],
html.tn-home-route [data-tn69-featured-grid],
#tn-instant-home [data-tn69-featured-grid],
web-player.tn-home [data-tn69-featured-grid] {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 18px 14px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}
[data-tn69-featured-grid] > * {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere;
}
[data-tn69-featured-grid] > * img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  height: auto;
}
[data-tn69-featured-grid] [data-tn69-added] {color:#fff;text-decoration:none;display:block;}
[data-tn69-featured-grid] [data-tn69-added] .tn69-cover {display:block; width:100%;aspect-ratio:1/1; border:1px solid #0a7db3;border-radius:12px;overflow:hidden;background:#073052;}
[data-tn69-featured-grid] [data-tn69-added] .tn69-name {display:-webkit-box; -webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.38;font-size:13px;font-weight:750;margin:8px 0 3px;}
[data-tn69-featured-grid] [data-tn69-added] .tn69-kind {font-size:12px;color:#a8d8ee;}
[data-tn69-featured-grid] [data-tn69-added]:focus-visible {outline:2px solid #00c7f4;outline-offset:4px;}
/* Avoid clipped last cards when a legacy carousel sets a fixed width on the section. */
[data-tn69-featured-section], [data-tn69-featured-section] > div {max-width:100%;min-width:0;box-sizing:border-box;}
@media (min-width:769px) and (max-width:1100px) {
  [data-tn69-featured-grid] {gap:14px 10px !important;}
}
@media (max-width:768px) {
  html.tn62-home [data-tn69-featured-grid],
  html.tn-home-route [data-tn69-featured-grid],
  #tn-instant-home [data-tn69-featured-grid],
  web-player.tn-home [data-tn69-featured-grid] {
    grid-template-rows: repeat(2,minmax(0,auto)) !important;
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - 20px) / 3) !important;
    grid-auto-flow: column !important;
    gap: 12px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px !important;
  }
  [data-tn69-featured-grid] > * {scroll-snap-align:start;}
}



/* V186 source: tn-v72-latest-ten.css */
/* V72: correct latest ten + contain the V41/V59/V70 homepage layers.
   Not applied to any Track/Album/Playlist page or Admin page. */
html.tn62-home web-player.tn-home [data-tn72-latest],
html.tn-home-route web-player.tn-home [data-tn72-latest] {
  min-height:0!important;height:auto!important;max-height:none!important;
  min-width:0!important;box-sizing:border-box!important;
}
html.tn62-home web-player.tn-home [data-tn72-latest] track-table,
html.tn-home-route web-player.tn-home [data-tn72-latest] track-table {
  height:auto!important;max-height:none!important;overflow:visible!important;
}
html.tn62-home web-player.tn-home [data-tn72-latest] tr.track-list-row,
html.tn-home-route web-player.tn-home [data-tn72-latest] tr.track-list-row {
  min-height:42px!important;
}
/* An independent fallback is only shown when native Angular track-table data is unavailable.
   Never hide original data while an API call is pending or fails. */
[data-tn72-superseded="1"] {display:none!important;}
.tn72-track-list{display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box;gap:0;}
.tn72-track{display:flex;align-items:center;gap:9px;min-height:54px;padding:6px 4px;border-bottom:1px solid rgba(60,169,220,.25);color:#e9f7ff;box-sizing:border-box;}
.tn72-index{flex:0 0 21px;text-align:center;color:#a4cfe7;font-size:12px;font-variant-numeric:tabular-nums;}
.tn72-image{flex:0 0 43px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:#104769;border-radius:7px;overflow:hidden;text-decoration:none;color:#4fcbf4;}
.tn72-image img{width:100%;height:100%;object-fit:cover;display:block;}
.tn72-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;line-height:1.25;}
.tn72-song-name{font-size:13px;font-weight:750;color:#fff;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-decoration:none;}
.tn72-artist{font-size:11px;color:#b0d2ea;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.tn72-play{flex:0 0 34px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #08b8ed;border-radius:50%;color:#00c9f4;text-decoration:none;font-size:14px;background:#043254;}
/* V72 fixes an independent legacy catalogue row that stretched under the player.
   The selector is set ONLY on the "Playlist nổi bật" section; it never touches artists. */
html.tn62-home web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row,
html.tn-home-route web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row {
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 grid-auto-flow:row!important;gap:18px 12px!important;width:100%!important;
 min-width:0!important;max-width:100%!important;overflow:visible!important;
 margin:0!important;padding:0!important;box-sizing:border-box!important;transform:none!important;
}
.tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row > * {
  min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important;
  box-sizing:border-box!important;overflow-wrap:anywhere;
}
.tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row > :nth-child(n+11){display:none!important;}
.tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] .tn-catalog-art img {width:100%!important;aspect-ratio:1;object-fit:cover;}
/* Ensure home content can be scrolled clear of the fixed desktop player. */
@media (min-width:769px){
 html.tn62-home web-player.tn-home .page-wrapper,
 html.tn-home-route web-player.tn-home .page-wrapper {
   padding-bottom:112px!important;box-sizing:border-box!important;
 }
}
@media(max-width:768px){
 html.tn62-home web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row,
 html.tn-home-route web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) [data-tn72-featured-playlists] > .tn-catalog-row {
  grid-template-columns:none!important;grid-template-rows:repeat(2,minmax(0,auto))!important;
  grid-auto-flow:column!important;grid-auto-columns:calc((100% - 20px)/3)!important;
  gap:12px 10px!important;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:6px!important;
 }
 .tn72-track{min-height:51px;gap:7px;}
 .tn72-song-name{font-size:12px;}
}


/* V186 source: tn-v71-complete-titles.css */
/* Trường Nguyễn Music V71: read entire titles without ellipsis.
   Standalone overlay, safe with V70 mobile shell. */
html.tn-home-route web-player.tn-music-v1 .tn-catalog-title,
html.tn-home-route .tn-catalog-title,
html.tn-home-route .tn69-feature-card .tn69-name,
html.tn-home-route .tn59-layer-3 .tn-card-title,
html.tn-home-route .tn59-layer-3 .tn-suggestion-title,
html.tn-home-route .tn-home-sections .track-name,
web-player.tn-music-v1 .tn-track-studio h1,
web-player.tn-music-v1 .tn-track-title,
web-player.tn-music-v1 .tn-track-studio-title,
web-player.tn-music-v1 .track-hero h1 {
  white-space:normal !important;
  text-overflow:clip !important;
  overflow:visible !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  max-height:none !important;
  height:auto !important;
}
html.tn-home-route .tn69-feature-card,
html.tn-home-route .tn-catalog-card {min-height:0;height:auto;}
/* Stop mobile title clipping by an inherited one-line child. */
@media(max-width:767px){
 html.tn-home-route .tn69-feature-card .tn69-name,
 html.tn-home-route .tn-catalog-title,
 web-player.tn-music-v1 .tn-track-studio-title{display:block;max-width:100%;}
}


/* V186 source: tn-v85-section-titles.css */
/* Trường Nguyễn Music V85 — public SECTION HEADINGS ONLY.
   Replaces uppercase rounded chips / width hardcoding from V40, V67, V75.
   No changes to album/track names, playlist cards, admin menu, player or navigation. */

/* V75 title on public album/track/playlist and home views. */
html:not(.tn75-admin-route) body .tn75-section-heading,
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain,
html:not(.tn75-admin-route) body .tn85-section-title,
html.tn-home-route body .tn67-home-heading,
html.tn-home-route body .tn83-heading {
  text-transform:none!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:normal!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  min-height:0!important;
  height:auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* No rounding on the title badge or its icon; do not square the entire section/card. */
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain {
  border-radius:0!important;
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  padding:8px 10px!important;
  margin:0 0 10px!important;
  font-size:15px!important;
  line-height:1.35!important;
}
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain::before,
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain .tn37-heading-icon,
html.tn-home-route body .tn83-heading-icon {
  border-radius:0!important;
}

/* First-paint (Laravel) + hydrated (Angular) catalogue title chips.
   Keep the title inside its own available row; remove legacy 186/195/210px caps. */
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
html body #tn-instant-home .tn-i-feature-v35>.tn-i-featured-albums-v35 .tn-i-section-header>h2.tn37-section-title,
html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
html body #tn-instant-home .tn-i-catalog .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading>h2.tn37-section-title {
  display:inline-flex!important;
  flex:0 1 auto!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:40px!important;
  max-height:none!important;
  padding:7px 11px!important;
  margin:0!important;
  border-radius:0!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  -webkit-line-clamp:unset!important;
  box-sizing:border-box!important;
}

/* The header *row* grows if the text needs two lines. No fixed 48px crop. */
html body #tn-instant-home .tn-i-section-header,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading {
  height:auto!important;
  min-height:48px!important;
  max-height:none!important;
  overflow:visible!important;
  align-items:center!important;
  gap:8px!important;
}
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title {
  flex:0 1 auto!important;
  margin-bottom:12px!important;
}

/* Title LABEL often has the ellipsis even when parent h2 allows wrapping. */
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-label,
html.tn-home-route body .tn83-heading > span:not(.tn83-heading-icon) {
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  height:auto!important;
  max-height:none!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-icon{
  border-radius:0!important;
  flex-shrink:0!important;
}

/* V83 home title: icon and complete sentence-case text; no inner rounding. */
html.tn-home-route body .tn83-heading {
  display:flex!important;
  flex:0 1 auto!important;
  max-width:100%!important;
  width:auto!important;
  min-height:0!important;
  font-size:20px!important;
  line-height:1.4!important;
  border-radius:0!important;
}
html.tn-home-route body .tn83-header {height:auto!important;min-height:42px!important;max-height:none!important;}

/* Small screens: keep room for 'Xem thêm' and 'Làm mới'; wrap instead of cutting. */
@media(max-width:768px){
  html:not(.tn75-admin-route) body .tn75-section-heading,
  html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain {
    font-size:14px!important;line-height:1.4!important;
  }
  html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
  html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
  html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title,
  html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading>h2.tn37-section-title,
  html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading>h2.tn37-section-title {
    font-size:14px!important;
    line-height:1.4!important;
    min-height:36px!important;
    padding:6px 8px!important;
    max-width:100%!important;
    width:max-content!important;
    min-width:0!important;
    flex:0 1 auto!important;
  }
  html.tn-home-route body .tn83-heading {font-size:16px!important;line-height:1.35!important;}
  html.tn-home-route body .tn83-heading-icon{flex-shrink:0!important;}
}


/* V186 source: tn-v86-rounded-section-titles.css */
/* TN V086 – Only public SECTION-HEADING chips.
 * Round the V085 square heading badges to the same soft 11px corners as
 * the blue "Trang chủ" navigation button. Leave text wrapping, normal case,
 * album/playlist/song names, navigation, player and admin unchanged.
 * This loads AFTER V085 (which sets border-radius:0!important).
 */

/* Public secondary headings — keep V75's existing blue background/border. */
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain {
  border-radius:11px!important;
}
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain::before,
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain .tn37-heading-icon {
  border-radius:8px!important;
}

/* Main catalogue headings: first-paint Laravel and hydrated Angular. */
html body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
html body #tn-instant-home .tn-i-feature-v35>.tn-i-featured-albums-v35 .tn-i-section-header>h2.tn37-section-title,
html body #tn-instant-home .tn-i-section-header>h2.tn37-section-title,
html body #tn-instant-home .tn-i-catalog .tn-i-section-header>h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading>h2,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading>h2 {
  border-radius:11px!important;
}
html body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn37-heading-icon {
  border-radius:8px!important;
}

/* V83 recommendations' titles need an actual rounded badge, not an invisible
 * radius on a transparent h2. Use the same restrained blue gradient and border
 * family as the Home button; no change to the two content sections. */
html.tn-home-route body .tn83-heading {
  min-width:0!important;
  max-width:100%!important;
  padding:5px 11px!important;
  border:1px solid rgba(14,179,245,.78)!important;
  border-radius:11px!important;
  background:linear-gradient(110deg,rgba(6,123,195,.88),rgba(5,67,125,.75))!important;
  box-shadow:inset 0 1px 0 rgba(223,249,255,.18),0 0 11px rgba(4,160,235,.14)!important;
}
html.tn-home-route body .tn83-heading-icon {
  border-radius:8px!important;
}

/* All the V085 no-truncation properties remain in effect; at narrow widths
 * the recommendation heading can shrink/wrap next to the "Làm mới" button. */
@media(max-width:768px){
 html.tn-home-route body .tn83-heading {padding:5px 8px!important;}
 html.tn-home-route body .tn83-header {flex-wrap:wrap!important;}
}

/* Angular catalogue markup may carry V67's stricter title override. */
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title.tn75-section-heading.tn67-home-heading,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title.tn85-section-title {
 border-radius:11px!important;
}


/* V186 source: tn-v87-home-polish.css */
/* V087 - match heading soft rounded rectangle of Home; V085 complete text stays intact. */
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain,
html.tn-home-route body .tn83-heading,
html.tn-home-route body .tn85-section-title,
html.tn-home-route body .tn67-home-heading,
html body #tn-instant-home h2.tn37-section-title,
html.tn-home-route body web-player.tn-home .tn-catalog-heading > h2.tn37-section-title {
 border-radius:11px!important;
 white-space:normal!important;overflow:visible!important;
 height:auto!important;max-height:none!important;max-width:100%!important;
 text-transform:none!important;text-overflow:clip!important;
}
html.tn-home-route body .tn83-heading-icon,
html body #tn-instant-home .tn37-heading-icon,
html.tn-home-route body web-player.tn-home .tn37-heading-icon {border-radius:8px!important;}
/* Both visible site shells show the current image supplied by BeMusic Appearance. */
#tn-instant-home .tn-i-brand .tn87-brand-img,
web-player .tn-header .tn-brand .tn87-brand-img {
 display:block;box-sizing:border-box;object-fit:contain;object-position:left center;
 width:auto;max-width:min(210px,44vw);height:auto;max-height:46px;
 opacity:0;position:absolute;pointer-events:none;
}
#tn-instant-home .tn-i-brand.tn87-logo-ready .tn87-brand-img,
web-player .tn-header .tn-brand.tn87-logo-ready .tn87-brand-img {opacity:1;position:relative;}
#tn-instant-home .tn-i-brand.tn87-logo-ready > svg,
#tn-instant-home .tn-i-brand.tn87-logo-ready > span,
web-player .tn-header .tn-brand.tn87-logo-ready > svg,
web-player .tn-header .tn-brand.tn87-logo-ready > span {display:none!important;}
#tn-instant-home .tn-i-brand.tn87-logo-ready,
web-player .tn-header .tn-brand.tn87-logo-ready {display:inline-flex;align-items:center;min-width:0;max-width:100%;}
/* V087 playlists: 10 visible on first view, then batches of 10 on actual scroll. */
#tn-instant-home [data-tn87-featured-grid],
web-player.tn-home .tn-home-sections [data-tn87-featured-grid]{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 gap:18px 14px!important;width:100%!important;min-width:0!important;max-width:100%!important;
 height:auto!important;max-height:none!important;overflow:visible!important;
 grid-auto-flow:row!important;grid-template-rows:none!important;transform:none!important;
}
[data-tn87-featured-grid] > .tn87-playlist-card{min-width:0;width:100%;max-width:100%;box-sizing:border-box;}
[data-tn87-featured-grid] .tn-catalog-art{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:1/1;}
[data-tn87-featured-grid] .tn-catalog-art img{display:block;width:100%!important;height:100%!important;object-fit:cover;}
[data-tn87-featured-grid] .tn87-play-btn{position:absolute;right:9px;bottom:9px;z-index:2;cursor:pointer;}
[data-tn87-featured-grid] .tn-catalog-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;}
.tn87-playlist-tools{text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:12px auto 4px;position:relative;}
.tn87-playlist-tools [data-tn87-collapse],.tn87-playlist-tools [data-tn87-more]{cursor:pointer;border:1px solid #00bffc;border-radius:11px;background:linear-gradient(120deg,#0784d4,#065a9d);color:white;padding:9px 20px;font:inherit;font-size:14px;font-weight:700;}
.tn87-playlist-tools button[hidden]{display:none!important;}
.tn87-playlist-tools [data-tn87-status]{font-size:12px;color:#b6d6e7;}
.tn87-playlist-tools [data-tn87-sentinel]{position:absolute;height:1px;width:1px;left:50%;bottom:0;pointer-events:none;}
@media(max-width:768px){
 #tn-instant-home [data-tn87-featured-grid],web-player.tn-home .tn-home-sections [data-tn87-featured-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 10px!important;grid-auto-flow:row!important;grid-template-rows:none!important;overflow:visible!important;}
 #tn-instant-home .tn-i-brand .tn87-brand-img,web-player .tn-header .tn-brand .tn87-brand-img{max-width:min(150px,40vw);max-height:36px;}
}


/* V186 source: tn-v88-layout-album-sidebar.css */
/* Trường Nguyễn Music V088 — sidebar list, catalogue spacing, Album play/hover,
   and matching Ocean Blue title chips. Scoped to public frontend only. */
/* A. Sidebar: hide excess REAL Angular playlist links while preserving handlers. */
html body nav-sidebar .playlists-container>.playlists.sidebar-nav.tn88-sidebar-controlled{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
}
html body nav-sidebar .playlists.sidebar-nav .tn88-sidebar-hidden{display:none!important;}
html body nav-sidebar .tn88-sidebar-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:9px 12px 16px;}
html body nav-sidebar .tn88-sidebar-tools[hidden],
html body nav-sidebar .tn88-sidebar-tools button[hidden]{display:none!important;}
html body nav-sidebar .tn88-sidebar-tools button{
 min-height:34px;max-width:100%;padding:7px 13px;font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;
 color:#eafaff;border:1px solid #159dd4;border-radius:10px;
 background:linear-gradient(120deg,#0778b6,#0a4775);cursor:pointer;
 box-shadow:0 3px 12px #0003;
}
html body nav-sidebar .tn88-sidebar-tools button:hover{border-color:#3fdbff;background:#096fa6;}
/* B. Album header: remove blue filled info strip ONLY, preserve text. */
html body web-player.tn-music-v1 album .media-page-header .artist,
html body web-player.tn-music-v1 album .media-page-header h2.artist.tn75-heading-plain,
html body web-player.tn-music-v1 album .media-page-header .subtitle,
html body web-player.tn-music-v1 album .media-page-header .details,
html body web-player.tn-music-v1 album .media-page-header .tn-album-artist-fallback{
 background:transparent!important;background-image:none!important;
 border:0!important;border-color:transparent!important;box-shadow:none!important;
}
html body web-player.tn-music-v1 album .media-page-header h2.artist.tn75-section-heading.tn75-heading-plain{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;
 width:auto!important;max-width:100%!important;min-height:0!important;
 padding:0!important;margin:4px 0 9px!important;border-radius:0!important;
 font-size:14px!important;font-weight:500!important;color:#afcfe1!important;
}
html body web-player.tn-music-v1 album .media-page-header h2.artist.tn75-section-heading.tn75-heading-plain::before{content:none!important;display:none!important;}
html body web-player.tn-music-v1 album .media-page-header .subtitle,
html body web-player.tn-music-v1 album .media-page-header .details{
 padding:0!important;margin:0 0 10px!important;
 width:auto!important;min-width:0!important;min-height:0!important;
}
/* C. Main section titles: sample dark Ocean Blue background and rounded button edges. */
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain,
html body #tn-instant-home h2.tn37-section-title,
html.tn-home-route body web-player.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title,
html.tn-home-route body .tn83-heading{
 color:#f5fbff!important;text-transform:none!important;letter-spacing:normal!important;
 background:linear-gradient(125deg,#0d4b71,#064067)!important;
 border:1px solid #167cae!important;border-radius:10px!important;
 box-shadow:inset 0 1px 0 rgba(175,239,255,.10)!important;
 width:max-content!important;max-width:100%!important;height:auto!important;
 white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
 padding:7px 11px!important;line-height:1.4!important;
}
html body #tn-instant-home .tn37-heading-icon,
html.tn-home-route body web-player.tn-home .tn37-heading-icon,
html.tn-home-route body .tn83-heading-icon {border-radius:8px!important;background:#0b5a86!important;border:1px solid #168bb8!important;}
/* D. Consistent breathing space across expanded catalogues (playlist, album, artist). */
html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-section{
 margin:0 0 30px!important;padding:0 0 8px!important;min-height:0!important;
}
html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-heading{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 flex-wrap:wrap!important;column-gap:14px!important;row-gap:10px!important;
 padding:0!important;margin:0 0 20px!important;min-height:44px!important;height:auto!important;
}
html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-row{
 row-gap:22px!important;column-gap:16px!important;margin-top:6px!important;
 padding-bottom:14px!important;
}
html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-card{
 margin-bottom:4px!important;min-width:0!important;
}
html body #tn-instant-home .tn-i-section-header{margin-bottom:16px!important;min-height:44px!important;}
html body #tn-instant-home .tn-i-section.tn-i-catalog{margin-bottom:30px!important;}
html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-heading{
 margin-bottom:14px!important;row-gap:10px!important;
}
/* E. Album detail: search field, section badge and table should not touch. */
html body web-player.tn-music-v1 album .media-page-header{margin-bottom:28px!important;}
html body web-player.tn-music-v1 album .tn-album-search{margin:22px 0 17px!important;}
html body web-player.tn-music-v1 album .tn-song-list-title{margin:19px 0 15px!important;}
html body web-player.tn-music-v1 album track-table{margin-top:10px!important;margin-bottom:20px!important;}
html body web-player.tn-music-v1 album track-table tr.header-row{min-height:42px!important;}

/* V095: Album play/zoom consolidated into the unified module. */
/* Album chips, label buttons, tabs: consistent primary Ocean Blue instead of flat gray. */
html body #tn-instant-home .tn-i-featured-albums-v35 .tn37-album-genre,
html.tn-home-route body web-player.tn-home .tn-v35-feature-albums .tn37-album-genre,
html.tn-home-route body [data-tn73-album-section] .tn-catalog-kind,
html.tn-home-route body [data-tn73-album-section] .tn-catalog-badge{
 color:#c8f5ff!important;background:linear-gradient(115deg,#087bb1,#075184)!important;
 border:1px solid #16a6d8!important;border-radius:9px!important;
}

@media(max-width:768px){
 html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-heading{margin-bottom:15px!important}
 html.tn-home-route body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-row{row-gap:17px!important;column-gap:11px!important}
 html body web-player.tn-music-v1 album .media-page-header{margin-bottom:20px!important}
 html body web-player.tn-music-v1 album .tn-album-search{margin:17px 0 15px!important}
 html body web-player.tn-music-v1 album .tn-song-list-title{margin:16px 0 13px!important}
}


/* V186 source: tn-v89-playlist-v81.css */
/* TN V089: restore V081 Featured Playlist appearance WITHOUT touching Albums.
   Desktop: 10 cards in two rows of five. Mobile: 2 rows x 3 visible, swipe horizontally. */
html.tn-home-route body #tn-instant-home .tn-i-section.tn-i-catalog [data-tn89-v81-grid],
html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="playlist"] [data-tn89-v81-grid]{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:auto!important;
  gap:18px 14px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;max-height:none!important;
  overflow:visible!important;
  align-items:start!important;
  padding:0!important;margin:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
html.tn-home-route body [data-tn89-v81-grid] > .tn89-v81-card{
  display:block!important;min-width:0!important;width:100%!important;
  max-width:100%!important;box-sizing:border-box!important;
  margin:0!important;padding:0!important;height:auto!important;
  color:#f6fcff!important;text-decoration:none!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  overflow:visible!important;
}
html.tn-home-route body [data-tn89-v81-grid] .tn89-v81-cover{
  display:grid!important;place-items:center!important;width:100%!important;
  aspect-ratio:1/1!important;overflow:hidden!important;
  background:#064268!important;border:1px solid #1177ac!important;
  border-radius:12px!important;box-sizing:border-box!important;
  color:#0bd6ff!important;font-size:34px!important;
}
html.tn-home-route body [data-tn89-v81-grid] .tn89-v81-cover img{
  display:block!important;object-fit:cover!important;width:100%!important;height:100%!important;
  max-width:100%!important;aspect-ratio:1/1!important;border:0!important;
  border-radius:11px!important;transform:none!important;
}
html.tn-home-route body [data-tn89-v81-grid] .tn89-v81-title{
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
  font-size:13px!important;font-weight:650!important;line-height:1.35!important;
  margin:8px 0 0!important;padding:0!important;max-width:100%!important;
  overflow:hidden!important;overflow-wrap:anywhere!important;
  text-overflow:ellipsis!important;color:#f2faff!important;
}
html.tn-home-route body [data-tn89-v81-grid] .tn89-v81-card:focus-visible{
  outline:2px solid #00c7f4!important;outline-offset:4px!important;
}
html.tn-home-route body [data-tn89-v81-grid] + .tn87-playlist-tools,
html.tn-home-route body .tn-i-catalog:has([data-tn89-v81-grid]) > .tn87-playlist-tools,
html.tn-home-route body .tn-catalog-section[data-tn-kind="playlist"] > .tn87-playlist-tools{
 display:none!important;
}
@media(max-width:768px){
 html.tn-home-route body #tn-instant-home .tn-i-section.tn-i-catalog [data-tn89-v81-grid],
 html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="playlist"] [data-tn89-v81-grid]{
   grid-template-rows:repeat(2,minmax(0,auto))!important;
   grid-template-columns:none!important;
   grid-auto-flow:column!important;
   grid-auto-columns:calc((100% - 20px)/3)!important;
   gap:12px 10px!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   overscroll-behavior-inline:contain;scroll-snap-type:x proximity;
   -webkit-overflow-scrolling:touch;
   padding:0 0 7px!important;
 }
 html.tn-home-route body [data-tn89-v81-grid] > .tn89-v81-card{scroll-snap-align:start;}
 html.tn-home-route body [data-tn89-v81-grid] .tn89-v81-title{font-size:12px!important;line-height:1.4!important;}
}


/* V186 source: tn-v93-catalog-controls.css */
/* V093 -- expanded playlists/albums: 10 at a time and accessible centered controls. */
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn93-catalog-actions {
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex-wrap:wrap!important;gap:12px!important;width:100%!important;
 margin:28px auto 22px!important;padding:8px 12px!important;clear:both!important;
}
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn93-catalog-actions button {
 appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-width:130px!important;min-height:42px!important;padding:9px 20px!important;
 color:#fff!important;font-weight:700!important;font-size:14px!important;
 background:linear-gradient(115deg,#049fe3,#076cbe)!important;
 border:1px solid #15c4f8!important;border-radius:11px!important;
 box-shadow:0 3px 14px rgba(0,155,245,.24)!important;
 cursor:pointer!important;transition:filter .2s ease!important;
}
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn93-catalog-actions button:hover{filter:brightness(1.16)!important;}
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn93-catalog-actions button:focus-visible{outline:2px solid #e5fbff!important;outline-offset:3px!important;}
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn93-catalog-actions button:disabled{opacity:.6!important;cursor:wait!important;}
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-back-home{display:block!important;margin:10px auto 24px!important;text-align:center!important;}


/* V186 source: tn-v95-headings-only.css */
/* V095 section headings: previous V91/V92 heading rules only; no Play selectors. */
/* Trường Nguyễn Music V091 – only public heading badges and centered Album/Playlist play controls.
   Based on V089 and V090. Does not change any player back-end action. */
/* Cyan-on-blue look of the existing "Trang chủ" navigation chip. Exclude album artist info. */
html.tn-home-route body #tn-instant-home h2.tn37-section-title,
html.tn-home-route body #tn-instant-home .tn-i-section-header>h2,
html.tn-home-route body web-player.tn-home .tn-home-sections .tn-catalog-heading>h2,
html.tn-home-route body .tn83-heading,
html:not(.tn75-admin-route) body :is(track-page, playlist, artist-page, album) .tn75-section-heading.tn75-heading-plain:not(.artist):not(.subtitle),
html:not(.tn75-admin-route) body .tn75-section-heading.tn75-heading-plain:not(.artist):not(.subtitle):not(.tn-album-artist-fallback) {
  box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  width:max-content!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:40px!important;max-height:none!important;
  border:1px solid #12b8f4!important;border-radius:11px!important;
  padding:7px 12px!important;margin-bottom:10px!important;
  background:linear-gradient(110deg,#078ed9 0%,#066caf 48%,#064978 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 12px rgba(0,144,255,.22),0 0 10px rgba(0,176,246,.14)!important;
  color:#fff!important;text-transform:none!important;letter-spacing:normal!important;
  font-size:15px!important;font-weight:700!important;line-height:1.35!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:anywhere!important;word-break:normal!important;
}
/* Extra specificity: matching the V67/V75 home heading selectors, without clipping. */
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading>h2.tn37-section-title,
html.tn-home-route body #tn-instant-home .tn-i-feature-v35>.tn-i-latest>h2.tn37-section-title,
html.tn-home-route body #tn-instant-home .tn-i-section-header>h2.tn37-section-title {
 background:linear-gradient(110deg,#078ed9,#066caf 48%,#064978)!important;
 border:1px solid #12b8f4!important;border-radius:11px!important;
 color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 12px rgba(0,144,255,.22)!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-home) .tn37-heading-icon,
html.tn-home-route body .tn83-heading-icon,
html:not(.tn75-admin-route) body .tn75-heading-plain .tn37-heading-icon {
 display:grid!important;place-items:center!important;flex:0 0 auto!important;
 background:linear-gradient(140deg,#0aa3e6,#0874b7)!important;
 border:1px solid #47d5ff!important;border-radius:8px!important;
 box-shadow:inset 0 1px 0 #ffffff38!important;
}
/* Preserve the transparent artist strip on album detail pages, per V088. */
html body web-player.tn-music-v1 album .media-page-header :is(h2.artist.tn75-heading-plain,.artist,.subtitle,.details,.tn-album-artist-fallback) {
 background:transparent!important;background-image:none!important;box-shadow:none!important;
 border:0!important;border-color:transparent!important;
}

/* Trường Nguyễn Music V092 — catalogue titles and real Play centered in artwork.
   Overrides V073/V088/V089/V091 without affecting the player or home V081 grid. */
/* Unified section badges, including expanded ?tn-catalog=playlist/album/artist. */
html body #tn-instant-home :is(.tn-i-section-header,.tn-catalog-heading) > h2,
html body web-player.tn-home .tn-home-sections .tn-catalog-heading > h2,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-section .tn-catalog-heading > h2.tn37-section-title,
html body web-player.tn-home .tn-home-sections .tn-catalog-heading > h2.tn37-section-title,
html body web-player.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-heading > h2,
html:not(.tn75-admin-route) body :is(track-page,playlist,artist-page,album) .tn75-section-heading.tn75-heading-plain:not(.artist):not(.subtitle),
html:not(.tn75-admin-route) body .tn83-heading {
 display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
 box-sizing:border-box!important;gap:8px!important;flex:0 1 auto!important;
 width:max-content!important;max-width:100%!important;min-width:0!important;
 height:auto!important;min-height:40px!important;max-height:none!important;
 padding:7px 12px!important;margin:0 0 10px!important;
 border:1px solid #19bfff!important;border-radius:11px!important;
 background:linear-gradient(110deg,#0799ed 0%,#0874cc 48%,#07539e 100%)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 3px 12px rgba(0,145,255,.27),0 0 10px rgba(0,177,246,.13)!important;
 color:#fff!important;font-size:15px!important;font-weight:700!important;
 font-style:normal!important;line-height:1.4!important;letter-spacing:normal!important;
 text-transform:none!important;white-space:normal!important;
 overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;
 -webkit-line-clamp:unset!important;
}
html body :is(#tn-instant-home,web-player.tn-home) .tn37-heading-icon,
html body .tn83-heading-icon {
 display:grid!important;place-items:center!important;flex:none!important;
 border:1px solid #44d8ff!important;border-radius:8px!important;
 background:linear-gradient(140deg,#0cbef2,#0777c9)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.25)!important;
}
/* Do not color the album detail's singer information. */
html body web-player album .media-page-header :is(.artist,.subtitle,.details,.tn-album-artist-fallback){
 background:transparent!important;background-image:none!important;box-shadow:none!important;
}


/* V186 source: tn-v95-play-unified.css */
/* Trường Nguyễn Music V095 — sole artwork Play geometry, all public contexts.
   No DOM relocation; original delegated buttons stay on their original playback routes. */
html body :is(.tn-catalog-art,.tn-i-album-art-wrap-v36,.tn89-v81-cover).tn95-art {
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
}
html body .tn95-art > a[href] {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important}
html body .tn95-art > a[href] > img {display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .9s cubic-bezier(.22,1,.36,1)!important}
html body .tn95-art:is(:hover,:focus-within) > a[href] > img:not(.tn95-art-fallback){transform:scale(1.045)!important}
html body .tn95-art > .tn95-control-layer {
 position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;inset:0!important;
 width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;
 place-items:center!important;align-items:center!important;justify-items:center!important;
 padding:0!important;margin:0!important;border:0!important;background:transparent!important;
 z-index:12!important;pointer-events:none!important;transform:none!important;box-sizing:border-box!important;
}
html body .tn95-art > .tn95-control-layer > button.tn95-play-btn {
 -webkit-appearance:none!important;appearance:none!important;
 position:static!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
 grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:center!important;
 display:grid!important;place-items:center!important;flex:none!important;
 width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;max-width:50px!important;max-height:50px!important;
 margin:0!important;padding:0!important;border:1px solid #76eaff!important;border-radius:50%!important;
 background:linear-gradient(140deg,#00c9ee,#0676c9)!important;color:#fff!important;
 box-shadow:0 6px 18px rgba(0,23,46,.55),0 0 0 4px rgba(0,181,235,.18)!important;
 font-size:0!important;line-height:0!important;letter-spacing:0!important;text-indent:0!important;
 transform:none!important;translate:none!important;filter:none!important;box-sizing:border-box!important;
 cursor:pointer!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important;
 transition:opacity .25s ease,background .25s ease,box-shadow .25s ease!important;
}
html body .tn95-art > .tn95-control-layer > button.tn95-play-btn::before,
html body .tn95-art > .tn95-control-layer > button.tn95-play-btn::after {content:none!important;display:none!important}
html body .tn95-art .tn95-play-icon {display:block!important;width:24px!important;height:24px!important;fill:#fff!important;color:#fff!important;transform:translateX(1px)!important}
html body .tn95-art .tn95-play-icon path {fill:#fff!important;stroke:none!important}
html body .tn95-art button.tn95-play-btn:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
@media(hover:hover) and (pointer:fine){
 html body .tn95-art>.tn95-control-layer{opacity:0!important;visibility:hidden!important;transition:opacity .3s ease,visibility .3s ease!important}
 html body .tn95-art:is(:hover,:focus-within)>.tn95-control-layer{opacity:1!important;visibility:visible!important}
}
@media(hover:none),(pointer:coarse){
 html body .tn95-art>.tn95-control-layer{opacity:1!important;visibility:visible!important}
 html body .tn95-art>.tn95-control-layer>button.tn95-play-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important}
}
/* Win over V40 highly specific instant-album button sizing without affecting its native click. */
html body #tn-instant-home .tn-i-feature-v35 .tn95-art > .tn95-control-layer > button.tn95-play-btn {
 position:static!important;display:grid!important;place-items:center!important;
 width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
 max-width:50px!important;max-height:50px!important;flex:none!important;
 background:linear-gradient(140deg,#00c9ee,#0676c9)!important;
 border:1px solid #76eaff!important;color:#fff!important;border-radius:50%!important;
 padding:0!important;margin:0!important;opacity:1!important;visibility:visible!important;
 transform:none!important;
}
/* Square TN Music cover with a readable dark-blue tile. */
html body img.tn95-art-fallback{object-fit:contain!important;object-position:center!important;background:linear-gradient(145deg,#061c36,#0c4070 65%,#071c34)!important;color:transparent!important}
html body .tn95-fallback-wrap{background:linear-gradient(145deg,#061c36,#0c4070 65%,#071c34)!important}
/* iOS/Android mobile track controls: strip legacy pseudo-symbols; show only inline SVG. */
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons button.tn24-control{
 -webkit-appearance:none!important;appearance:none!important;
 font-family:Arial,sans-serif!important;font-variant-emoji:text!important;text-shadow:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons .tn24-control-icon{
 display:grid!important;place-items:center!important;position:relative!important;
 width:28px!important;height:28px!important;margin:0!important;padding:0!important;
 font-size:0!important;line-height:0!important;color:#ebfaff!important;
 background:none!important;transform:none!important;filter:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons .tn24-control-icon::before,
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons .tn24-control-icon::after{content:none!important;display:none!important;border:0!important;background:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons svg.tn94-control-svg{
 display:block!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;
 overflow:visible!important;fill:none!important;stroke:currentColor!important;color:#fff!important;
 transform:none!important;filter:none!important;-webkit-filter:none!important;
}
html.tn24-track-route body web-player track-page.tn24-page .tn24-mobile-buttons .tn24-control-play svg.tn94-control-svg {width:31px!important;height:31px!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play svg .tn94-icon-play {fill:#fff!important;stroke:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play svg .tn94-icon-pause {fill:#fff!important;stroke:none!important;display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing svg .tn94-icon-play {display:none!important}
html.tn24-track-route body web-player track-page.tn24-page .tn24-control-play.is-playing svg .tn94-icon-pause {display:block!important}
@media(prefers-reduced-motion:reduce){html body .tn95-art img,html body .tn95-control-layer{transition:none!important}}


/* V186 source: tn-v129-play-stable.css */
/* V129: home artwork Play remains centered during HTML -> Angular hydration.
   Visual-only: no DOM moves, no event interception, no player changes. */
html.tn-home-route body :is(.tn-catalog-art,.tn-i-album-art-wrap-v36,.tn89-v81-cover).tn95-art{position:relative!important;isolation:isolate!important;overflow:hidden!important}
html.tn-home-route body .tn95-art>.tn95-control-layer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;place-items:center!important;padding:0!important;margin:0!important;transform:none!important;translate:none!important;animation:none!important;pointer-events:none!important}
html.tn-home-route body .tn95-art>.tn95-control-layer>button.tn95-play-btn{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:center!important;margin:0!important;transform:none!important;translate:none!important;animation:none!important;pointer-events:auto!important}
html.tn-home-route body .tn95-art>.tn95-control-layer .tn95-play-icon{transform:translateX(1px)!important;animation:none!important}
/* Standard song Play buttons also remain stationary while the server snapshot hands off to Angular. */
html.tn-home-route body :is(.tn-i-play,.tn-latest-play,.tn87-play-btn,.tn-v38-album-play){animation:none!important;translate:none!important;transition-property:opacity,background-color,box-shadow!important}
/* Hide transitional controls under the established three-second loading overlay, not the cards. */
html.tn-home-route:not(.tn-v43-ready) body :is(#tn-instant-home .tn-i-play,web-player.tn-home .tn-latest-play,web-player.tn-home .tn87-play-btn,web-player.tn-home .tn-v38-album-play){visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important}

html.tn-home-route:not(.tn-v43-ready) body #tn-instant-home .tn95-control-layer,
html.tn-home-route:not(.tn-v43-ready) body web-player.tn-home .tn95-control-layer{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html.tn-home-route body .tn95-control-layer,html.tn-home-route body .tn95-play-btn{transition:none!important}}


/* V186 source: tn-v133-focus-idle-player.css */
/* Trường Nguyễn Music V133: only two visual fixes.
 * (1) Prevent the square native input focus ring inside a rounded album search.
 * (2) Free BeMusic's native 137px mobile player reservation until a user plays a track.
 * Preserve native player controls, playback, Angular components, and navigation after Play.
 */
/* Native BeMusic component: datatable-header-search-input > .search-input-container > input.search-input.
   The rounded outer border already indicates the focused field. */
web-player datatable-header-search-input .search-input-container input.search-input:focus,
web-player datatable-header-search-input .search-input-container input.search-input:focus-visible,
web-player input.search-input[placeholder*="album"]:focus,
web-player input.search-input[placeholder*="Album"]:focus {
  outline:none!important;
  outline-offset:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
}
/* Do not replace the rounded search container's existing border or suppress other UI focus states. */
@media (max-width:800px){
  html.tn133-player-idle body web-player .player-content.mobile{
    /* Original BeMusic reserves 137px unconditionally, even with no cued track.
       When idle, leave space only for the four-item navigation bar. */
    height:calc(100% - var(--tn133-bottom-nav-height,78px))!important;
    max-height:calc(100% - var(--tn133-bottom-nav-height,78px))!important;
    min-height:0!important;
  }
  html.tn133-player-idle body web-player mobile-player-controls,
  html.tn133-player-idle body web-player player-controls{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  html.tn133-player-idle body web-player .page-wrapper{
    bottom:var(--tn133-page-bottom,0px)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-padding-bottom:16px!important;
  }
  html.tn133-player-idle body web-player .space-wrapper{min-height:0!important}
  /* Legacy V131 nodes, if still present following a cached Angular SPA transition. */
  html.tn133-player-idle body web-player .tn131-idle-player-host{display:none!important}
  html.tn133-player-idle body web-player #tn-instant-home.tn-v107-recovery{
    bottom:var(--tn133-bottom-nav-height,78px)!important;
  }
}


/* V186 source: tn-v98-artists-panels.css */
/* TN Music V098 — single native artist image + single SVG Play overlay. */
/* Clear only the two PUBLIC recommendation section panels; preserve each card. */
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-features.tn83-mounted,
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-features.tn83-mounted.tn83-host {
 background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-music-v1.tn-home) .tn59-features.tn83-mounted > .tn83-section {
 /* V115: no forced solid panel fill; transparent on either home renderer. */
 background:transparent!important;background-color:transparent!important;background-image:none!important;
 border:0!important;box-shadow:none!important;
}
/* Artist section and artist card shells stay transparent; photos remain visible. */
html body web-player.tn-home .tn-home-sections .tn-catalog-section[data-tn-kind="artist"],
html body web-player.tn-home .tn-home-sections .tn-catalog-section[data-tn-kind="artist"] .tn-artists-row,
html body web-player.tn-home .tn-home-sections .tn-catalog-section[data-tn-kind="artist"] .tn98-artist-card{
 background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;
}
html body web-player.tn-home .tn-home-sections .tn98-artist-card .tn98-artist-art {
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
 width:100%!important;aspect-ratio:1/1!important;border-radius:50%!important;
 background:#00203d!important;box-shadow:none!important;
}
/* Return to V096's <a><img></a> structure; V095 image loading/fallback works. */
html body web-player.tn-home .tn-home-sections .tn98-artist-art > a.tn98-artist-photo{
 display:block!important;position:absolute!important;inset:0!important;z-index:1!important;
 width:100%!important;height:100%!important;margin:0!important;padding:0!important;
 overflow:hidden!important;border-radius:50%!important;background:transparent!important;
 box-shadow:none!important;opacity:1!important;visibility:visible!important;
}
html body web-player.tn-home .tn-home-sections .tn98-artist-art > a.tn98-artist-photo > img{
 display:block!important;width:100%!important;height:100%!important;max-width:none!important;
 opacity:1!important;visibility:visible!important;object-fit:cover!important;object-position:center!important;
 border-radius:50%!important;transition:transform .9s cubic-bezier(.22,1,.36,1)!important;
}
html body web-player.tn-home .tn-home-sections .tn98-artist-art:hover > a.tn98-artist-photo > img{
 transform:scale(1.045)!important;
}
/* The center geometry is provided by the already deployed V095 Play system. */
html body web-player.tn-home .tn-home-sections .tn98-artist-art > .tn95-control-layer.tn98-artist-play-layer {
 position:absolute!important;inset:0!important;z-index:12!important;
 display:grid!important;place-items:center!important;
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;
 transition:opacity .22s ease,visibility .22s ease!important;
}
/* Desktop: exactly as Playlist Featured, reveal on artist image hover/focus. */
@media (hover:hover) and (pointer:fine){
 html body web-player.tn-home .tn-home-sections .tn98-artist-art:is(:hover,:focus-within) > .tn95-control-layer.tn98-artist-play-layer{
  opacity:1!important;visibility:visible!important;
 }
}
/* Touch devices: first tap the portrait to reveal; no permanent Play covering photos. */
@media (hover:none),(pointer:coarse){
 html body web-player.tn-home .tn-home-sections .tn98-artist-art:hover > .tn95-control-layer.tn98-artist-play-layer,
 html body web-player.tn-home .tn-home-sections .tn98-artist-art:focus-within > .tn95-control-layer.tn98-artist-play-layer{
  opacity:0!important;visibility:hidden!important;
 }
 html body web-player.tn-home .tn-home-sections .tn98-artist-art.tn98-artist-revealed > .tn95-control-layer.tn98-artist-play-layer,
 html body web-player.tn-home .tn-home-sections .tn98-artist-art.tn98-artist-revealed:is(:hover,:focus-within) > .tn95-control-layer.tn98-artist-play-layer{
  opacity:1!important;visibility:visible!important;
 }
}
html body web-player.tn-home .tn-home-sections .tn98-artist-art > .tn95-control-layer.tn98-artist-play-layer > button.tn95-play-btn{
 position:static!important;inset:auto!important;display:grid!important;place-items:center!important;
 transform:none!important;translate:none!important;margin:0!important;
 pointer-events:auto!important;opacity:1!important;visibility:visible!important;
}
html body web-player.tn-home .tn-home-sections .tn98-artist-card > button[data-tn-play="artist"]{display:none!important}
@media(prefers-reduced-motion:reduce){
 html body web-player.tn-home .tn-home-sections .tn98-artist-art img{transition:none!important}
}


/* V186 source: tn-v101-home-mobile-covers.css */
/* TN Music V101 | HOME featured Album / Playlist artwork on mobile.
   Desktop Play, hover/zoom, catalogue pages, artist and global player stay untouched.
   The image remains a real clickable link to the record details. */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  /* V081 Playlist featured grid — shared Angular home and instant snapshot. */
  html.tn-home-route body #tn-instant-home [data-tn89-v81-grid] .tn89-v81-cover > .tn95-control-layer,
  html.tn-home-route body #tn-instant-home [data-tn89-v81-grid] button[data-tn95-playlist],
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="playlist"] [data-tn89-v81-grid] .tn95-control-layer,
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="playlist"] .tn-catalog-art > .tn95-control-layer,
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="playlist"] .tn87-play-btn,
  html.tn-home-route body #tn-instant-home [data-tn87-featured-grid] .tn87-play-btn,
  /* Album nổi bật — Angular cards or server-rendered instant-home cards. */
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="album"] .tn-catalog-art > .tn95-control-layer,
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-catalog-section[data-tn-kind="album"] button.tn-v38-album-play,
  html.tn-home-route body web-player.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-v35-feature-albums .tn-catalog-art > .tn95-control-layer,
  html.tn-home-route body #tn-instant-home .tn-i-featured-albums-v35 .tn-i-album-art-wrap-v36 > .tn95-control-layer,
  html.tn-home-route body #tn-instant-home .tn-i-featured-albums-v35 button.tn-i-album-play-v36 {
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* V186 source: tn-v109-play-glyph.css */
/* V109: SVG play artwork is independent of Apple Color Emoji. Scoped to public play glyphs. */
html body .tn109-play-glyph{display:block!important;width:20px!important;height:20px!important;min-width:20px;fill:currentColor!important;color:#eafaff!important;flex-shrink:0;pointer-events:none;position:static!important;transform:none!important;opacity:1!important;visibility:visible!important}
html body :is(.tn-i-play,.tn-latest-play,.tn87-play-btn,.tn-v38-album-play)>svg.tn109-play-glyph{margin:0!important;align-self:center;justify-self:center}
html body :is(.tn-i-play,.tn-latest-play,.tn87-play-btn,.tn-v38-album-play):has(>svg.tn109-play-glyph){display:inline-flex;align-items:center!important;justify-content:center!important;-webkit-appearance:none;appearance:none;line-height:1!important}
html body :is(.tn-i-play,.tn-latest-play,.tn87-play-btn,.tn-v38-album-play):has(>svg.tn109-play-glyph)::before,
html body :is(.tn-i-play,.tn-latest-play,.tn87-play-btn,.tn-v38-album-play):has(>svg.tn109-play-glyph)::after{content:none!important}


/* V186 source: tn-v110-section-titles.css */
/* TN Music V110 — unified badges on the public HOME only.
   V109 had several width:max-content rules; all section title badges now
   match the width/height of the 'Bài hát mới nhất' reference badge.
   Keep the recommendation panels transparent (V099) and preserve all cards. */
html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-featured-albums-v35 .tn-i-section-header > h2.tn37-section-title,
html.tn-home-route body #tn-instant-home .tn-i-section-header > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-section .tn-catalog-heading > h2.tn37-section-title,
html.tn-home-route body .tn83-heading {
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 1 220px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:min(220px,100%)!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:7px 11px!important;
  border:1px solid #19bfff!important;
  border-radius:11px!important;
  background:linear-gradient(110deg,#0799ed 0%,#0874cc 48%,#07539e 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 12px rgba(0,145,255,.22)!important;
  color:#fff!important;
  font-size:15px!important;font-weight:700!important;line-height:1.35!important;
  font-style:normal!important;letter-spacing:normal!important;text-transform:none!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:anywhere!important;word-break:normal!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-home) .tn37-heading-label,
html.tn-home-route body .tn83-heading > span:not(.tn83-heading-icon) {
  flex:1 1 auto!important;min-width:0!important;width:auto!important;
  white-space:normal!important;text-overflow:clip!important;overflow:visible!important;
}
html.tn-home-route body :is(#tn-instant-home,web-player.tn-home) .tn37-heading-icon,
html.tn-home-route body .tn83-heading-icon {
  flex:0 0 auto!important;border-radius:8px!important;
}
/* Keep the two recommendation panel shells transparent: only their headings
   get the rounded blue badge. The 'Làm mới' action stays accessible. */
html.tn-home-route body .tn83-header {min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;gap:10px!important;}
@media(max-width:768px){
 html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
 html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-featured-albums-v35 .tn-i-section-header > h2.tn37-section-title,
 html.tn-home-route body #tn-instant-home .tn-i-section-header > h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading > h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading > h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections:not(.tn-catalog-expanded) .tn-home-feature-v35 .tn-v35-feature-albums .tn-catalog-heading > h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections.tn-catalog-expanded .tn-catalog-section .tn-catalog-heading > h2.tn37-section-title,
 html.tn-home-route body .tn83-heading {
    width:min(220px,100%)!important;min-height:42px!important;
    padding:7px 9px!important;font-size:14px!important;
 }
}


/* TN Music V112 — compact recommendation section badges ONLY.
   Why: V83 defines a 42px icon and 23px title; V110 constrained the outer
   width but not the inner icon's dimensions, causing an oversized badge.
   Match the Bài hát mới nhất V110 badge (220x44 desktop, 220x42 mobile).
   Does not change the recommendation panels, player, cards or admin. */
html.tn-home-route body .tn83-section .tn83-header > h2.tn83-heading {
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex:0 1 220px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:min(220px,100%)!important;
  min-width:0!important;
  max-width:220px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:6px 10px!important;
  margin:0!important;
  font-size:15px!important;
  line-height:20px!important;
  font-weight:700!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  white-space:nowrap!important;
  border-radius:11px!important;
}
html.tn-home-route body .tn83-section .tn83-header > h2.tn83-heading > .tn83-heading-icon {
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  font-size:18px!important;
  line-height:1!important;
  border-radius:8px!important;
}
html.tn-home-route body .tn83-section .tn83-header > h2.tn83-heading > span:not(.tn83-heading-icon) {
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:inherit!important;
  line-height:inherit!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:768px){
  html.tn-home-route body .tn83-section .tn83-header > h2.tn83-heading {
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    width:min(220px,100%)!important;
    padding:6px 9px!important;
    font-size:14px!important;
    line-height:18px!important;
  }
  html.tn-home-route body .tn83-section .tn83-header > h2.tn83-heading > .tn83-heading-icon {
    width:28px!important;min-width:28px!important;max-width:28px!important;
    height:28px!important;min-height:28px!important;max-height:28px!important;
    flex:0 0 28px!important;
    font-size:17px!important;
  }
}


/* V186 source: tn-v113-home-mobile-heading.css */
/* TN Music V113 — mobile latest-title geometry guard.
   V112 legacy CSS can stretch the title when Angular hydrates or inserts a
   temporary latest-list placeholder. The title is a small badge, never a card.
   Only affects the public home latest SONGS title, not Album/Playlist cards,
   all recommendation panels, player, admin, or desktop hover interactions. */
@media (max-width: 768px) {
  html.tn-home-route body #tn-instant-home .tn-i-latest > h2,
  html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2,
  html.tn-home-route body web-player .tn-home-sections .tn-home-tracks-v27 .tn-catalog-heading > h2,
  html.tn-home-route body web-player .tn-home-sections .tn-home-pending-tracks .tn-catalog-heading > h2,
  html.tn-home-route body .tn113-latest-heading {
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    align-self:flex-start!important;
    flex:0 0 auto!important;
    width:min(220px,100%)!important;
    min-width:0!important;
    max-width:220px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    aspect-ratio:auto!important;
    padding:6px 9px!important;
    margin:0!important;
    border-radius:11px!important;
    font-size:14px!important;
    line-height:18px!important;
    text-transform:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    transform:none!important;
  }
  /* The heading row must NOT become a coloured 1:1 card. */
  html.tn-home-route body #tn-instant-home .tn-i-latest > h2 + .tn-i-tracklist,
  html.tn-home-route body web-player .tn-home-sections .tn-home-tracks-v27 > .tn-latest-list {
    margin-top:0!important;
  }
  html.tn-home-route body web-player .tn-home-sections .tn-home-tracks-v27 > .tn-catalog-heading,
  html.tn-home-route body web-player .tn-home-sections .tn-home-pending-tracks > .tn-catalog-heading,
  html.tn-home-route body .tn113-latest-heading-row {
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    align-self:stretch!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0 0 12px!important;
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.tn-home-route body .tn113-latest-heading :is(.tn37-heading-icon, .tn83-heading-icon) {
    box-sizing:border-box!important;
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    border-radius:8px!important;
  }
  html.tn-home-route body .tn113-latest-heading .tn37-heading-label {
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    overflow:hidden!important;
  }
}


/* V186 source: tn-v115-transparent-home-panels.css */
/* Trường Nguyễn Music V115 — single source of truth for the OUTER wrappers only.
   These two home sections are transparent; inner cards and title chips remain styled.
   Overrides older V83/V98 section backgrounds without touching audio, Angular or admin.
*/
html body .tn59-features.tn83-mounted,
html body .tn59-features.tn83-host,
html body .tn59-features.tn83-mounted > section.tn83-section,
html body .tn59-features > section.tn83-playlists,
html body .tn59-features > section.tn83-songs,
html body .tn59-features > section.tn58-featured,
html body .tn59-features > section.tn58-suggestions,
html body .tn59-features > .tn59-layer-2,
html body .tn59-features > .tn59-layer-3,
html body #tn-instant-home .tn83-section.tn83-playlists,
html body #tn-instant-home .tn83-section.tn83-songs,
html body web-player .tn83-section.tn83-playlists,
html body web-player .tn83-section.tn83-songs {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/* Any decorative full-panel layers also become transparent. */
html body .tn59-features.tn83-mounted > section.tn83-section::before,
html body .tn59-features.tn83-mounted > section.tn83-section::after {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* The header row is transparent, while its h2.tn83-heading retains the blue chip. */
html body .tn59-features.tn83-mounted > section.tn83-section > .tn83-header {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* V186 source: tn-v138-stability.css */
/* TN Music V138: render stability, no player height/position/API overrides. */
#tn-instant-home .tn-i-cover, #tn-instant-home .tn-i-album-art-v35,
#tn-instant-home .tn-i-card-cover{aspect-ratio:1/1;overflow:hidden;}
#tn-instant-home .tn-i-cover img, #tn-instant-home .tn-i-album-art-v35 img,
#tn-instant-home .tn-i-card-cover img{width:100%;height:100%;object-fit:cover;}
#tn-instant-home .tn-i-slider{overflow:hidden;}
#tn-instant-home .tn-i-slider picture{display:block;}
#tn-instant-home .tn-i-slider img{display:block;width:100%;height:auto;}
/* Angular home is not re-rendered by this stylesheet; avoid conflicting positioning. */

/* Merged and de-duplicated V137 final heading geometry. */
/* V137 final home heading geometry: LAST stylesheet after all legacy V75–V115 rules.
 * Match the original 220×44 desktop and 220×42 mobile badge. */
html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
html body #tn-instant-home #tn-i-latest-heading.tn37-section-title,
html body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-feature-v35 .tn-home-tracks-v27 .tn-catalog-heading > h2.tn37-section-title,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-catalog-heading > h2.tn37-section-title{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
 flex:0 0 auto!important;align-self:flex-start!important;width:min(220px,100%)!important;max-width:220px!important;
 height:44px!important;min-height:44px!important;max-height:44px!important;aspect-ratio:auto!important;
 padding:6px 10px!important;margin:0 0 12px!important;font-size:15px!important;line-height:20px!important;
 white-space:nowrap!important;overflow:hidden!important;overflow-wrap:normal!important;transform:none!important;}
html body #tn-instant-home #tn-i-latest-heading > .tn37-heading-label,
html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title .tn37-heading-label,
html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-catalog-heading > h2 .tn37-heading-label{
 min-width:0!important;max-width:100%!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 line-height:20px!important;height:auto!important;max-height:20px!important;}
html body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest {align-content:start!important;align-items:start!important;min-width:0!important;}
@media(max-width:768px){
 html.tn-home-route body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
 html body #tn-instant-home #tn-i-latest-heading.tn37-section-title,
html body #tn-instant-home .tn-i-feature-v35 > .tn-i-latest > h2.tn37-section-title,
 html.tn-home-route body web-player.tn-music-v1.tn-home .tn-home-sections .tn-home-tracks-v27 .tn-catalog-heading > h2.tn37-section-title{
 height:42px!important;min-height:42px!important;max-height:42px!important;font-size:14px!important;line-height:18px!important;padding:6px 9px!important;}}

/* V139: Angular-only homepage; V138 dual owner rules retired. */


/* V192: one custom mobile menu/search state; no backdrop and no page reflow. */
@media (max-width: 768px) {
  web-player.tn-music-v1 .tn-mobile-drawer {
    position:absolute;top:56px;right:12px;
    display:flex;flex-direction:column;gap:4px;
    min-width:220px;max-width:calc(100vw - 24px);
    max-height:70vh;
    max-height:min(70dvh,calc(100dvh - 180px - env(safe-area-inset-bottom,0px)));
    overflow:auto;overscroll-behavior:contain;
    background:#032340f5;border:1px solid #199fde;box-shadow:0 12px 30px #0009;
    border-radius:12px;padding:12px;z-index:20;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .14s ease,visibility 0s linear .14s;
  }
  web-player.tn-music-v1 .tn-mobile-drawer.tn-open {
    opacity:1;visibility:visible;pointer-events:auto;
    transition:opacity .14s ease,visibility 0s;
  }
  /* Switching straight from Menu to Search must never expose two overlays in one frame. */
  web-player.tn-music-v1[data-tn-mobile-ui="search-open"] .tn-mobile-drawer {
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:none!important;
  }
  web-player.tn-music-v1 .tn-mobile-drawer a,
  web-player.tn-music-v1 .tn-mobile-drawer .tn-nav-item {color:#e8f6ff!important;}
  web-player.tn-music-v1 .tn-header form[role="search"] {z-index:21;}
  web-player.tn-music-v1 .tn-open-search,
  web-player.tn-music-v1 .tn-open-menu {touch-action:manipulation;}
}
@media (prefers-reduced-motion:reduce) {
  web-player.tn-music-v1 .tn-mobile-drawer {transition:none!important;}
}


/* V193 — Search input focus, desktop AND mobile.
 * The generic palette :focus-visible outline is rectangular, while the search
 * form and native BeMusic search controls already provide a rounded border.
 * Scope only to search inputs: keyboard focus on other controls stays visible.
 */
web-player.tn-music-v1 .tn-header form input:focus,
web-player.tn-music-v1 .tn-header form input:focus-visible,
html.tn-public-palette web-player.tn-music-v1 .tn-header form input:focus,
html.tn-public-palette web-player.tn-music-v1 .tn-header form input:focus-visible,
html.tn-public-palette web-player datatable-header-search-input input.search-input:focus,
html.tn-public-palette web-player datatable-header-search-input input.search-input:focus-visible,
html.tn-public-palette web-player .search-input-container input:focus,
html.tn-public-palette web-player .search-input-container input:focus-visible,
html.tn-public-palette web-player input[type="search"]:focus,
html.tn-public-palette web-player input[type="search"]:focus-visible {
  outline:none!important;
  outline-offset:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
}
/* Visual keyboard focus stays on the already-rounded outer search bar. */
web-player.tn-music-v1 .tn-header form:focus-within {
  border-color:#25bce9;
}
