/* Fansoci YouTube Music v1.0: scope all changes to music components. */
.fm-page{max-width:1100px;margin:0 auto}.fm-page .page-heading{margin-bottom:12px}.fm-filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #e4e9f4;margin:0 0 18px;padding:0 0 10px}.fm-filters a{padding:10px 13px;color:#61708e;text-decoration:none;border-radius:9px;font-weight:600;font-size:13px}.fm-filters a.selected{color:#742dff;background:#f3efff}.fm-form{padding:16px;margin:0 0 18px}.fm-form label{font-weight:700;color:#17203c;display:block;margin-bottom:9px}.fm-form-line{display:flex;gap:9px;margin-bottom:8px}.fm-form input{min-width:0;flex:1;width:100%;background:#fff;border:1px solid #d8dfed;border-radius:10px;padding:12px;color:#1a2945;font:inherit}.fm-form .primary-btn{white-space:nowrap}.fm-form .muted{font-size:12px;margin:7px 0 0}.fm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fm-card{padding:0;overflow:hidden;border-radius:13px;min-width:0}.fm-play,.fm-card iframe{width:100%;aspect-ratio:16/9;display:block;border:0}.fm-play{cursor:pointer;background:#070e1c;position:relative;padding:0}.fm-play img{width:100%;height:100%;object-fit:cover}.fm-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:#6f29f2;color:white;font-size:22px;box-shadow:0 6px 20px #1118}.fm-card-detail{padding:12px 14px}.fm-card h3{font-size:15px;margin:0 0 5px;overflow-wrap:anywhere}.fm-card-detail>p{margin:0 0 7px;color:#6a758e;font-size:13px}.fm-byline{font-size:12px;color:#8b95a9}.fm-byline a{font-weight:600}.fm-actions{display:flex;align-items:center;gap:15px;margin-top:12px;flex-wrap:wrap}.fm-actions form{margin:0}.fm-actions button{background:none;border:0;cursor:pointer;padding:5px 0;color:#5b6880;font:inherit;font-size:12px}.fm-actions button.fm-like.is-liked{color:#c1296a}.fm-actions button.fm-delete{color:#bf3349}.fm-comments{margin-top:11px;border-top:1px solid #e4e9f4;padding-top:10px}.fm-comments p{font-size:12px;margin:7px 0}.fm-comments form{display:flex;gap:7px}.fm-comments input{flex:1;min-width:0;padding:9px;border:1px solid #d8dfed;border-radius:8px}.fm-empty{padding:22px;text-align:center;color:#6d778c}.fm-widget .fm-video-frame{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#0b0e1a}.fm-widget iframe{border:0;width:100%;height:100%;display:block}.fm-widget-title{font-size:13px;display:block;text-align:center;margin:12px 4px 3px;overflow-wrap:anywhere}.fm-widget-artist{display:block;text-align:center;color:#78859e;font-size:12px}.fm-profile-music .fm-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.fm-profile-music .fm-form{margin-bottom:12px}html[data-tz-theme="dark"] .fm-form label,html[data-tz-theme="dark"] .fm-card h3{color:#f0eeff}html[data-tz-theme="dark"] .fm-form input,html[data-tz-theme="dark"] .fm-comments input{background:#1b2333;color:#f0eeff;border-color:#485270}html[data-tz-theme="dark"] .fm-filters a.selected{background:#3b2d68;color:#e6d5ff}html[data-tz-theme="dark"] .fm-comments{border-color:#485270}
@media(max-width:680px){.fm-grid{grid-template-columns:1fr}.fm-form-line{flex-direction:column}.fm-form .primary-btn{width:100%}}
.fm-actions .fm-views{color:#77839b;font-size:12px;margin-left:auto;white-space:nowrap}.fm-actions button:disabled{opacity:.6;cursor:wait}

/* Plugin-only page shell; no existing Fansoci CSS or JS files are changed. */
.fm-standalone-body{background:#f3f6fd;color:#182644;min-height:100vh;margin:0;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
.fm-standalone-body *{box-sizing:border-box}
.fm-shell-header{height:64px;background:#101827;color:#fff;display:flex;align-items:center;gap:20px;padding:0 max(22px,calc((100vw - 1350px)/2));position:sticky;top:0;z-index:10}
.fm-shell-header .fm-brand{font-size:21px;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:8px}
.fm-brand-mark{display:inline-grid;place-items:center;background:linear-gradient(125deg,#006dfb,#7938fb);width:33px;height:33px;border-radius:12px;color:white;font-size:20px}
.fm-header-links{display:flex;gap:20px;align-items:center;margin-left:auto}.fm-header-links a{color:#eef1ff;font-size:13px;text-decoration:none}.fm-header-links a:hover{text-decoration:underline}
.fm-shell-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:22px;max-width:1350px;margin:auto;min-height:calc(100vh - 64px)}
.fm-shell-side{background:#12192b;padding:20px 12px;min-height:100%;color:#fff}
.fm-shell-side a{display:block;text-decoration:none;color:#dde5f7;padding:14px 16px;border-radius:9px;font-size:14px;font-weight:600;margin:2px 0}
.fm-shell-side a:hover,.fm-shell-side a.current{color:white;background:linear-gradient(95deg,#4b5cf9,#9831e7)}
.fm-shell-content{min-width:0;padding:24px 24px 48px 0}
.fm-intro{margin:0 0 16px}.fm-intro h1{font-size:28px;margin:0 0 7px}.fm-intro p{color:#73829e;margin:0;font-size:14px}
.fm-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:18px;align-items:start}
.fm-profile-hero{background:white;border:1px solid #ebedf4;border-radius:13px;overflow:hidden;margin-bottom:18px}
.fm-profile-cover{height:140px;background:linear-gradient(125deg,#122552,#5f32ba 60%,#ff8490)}
.fm-profile-info{padding:20px 24px}.fm-profile-info h1{margin:0;font-size:24px}.fm-profile-info p{margin:4px 0;color:#71809d;font-size:13px}
.fm-profile-info .fm-navig{display:flex;gap:14px;margin-top:15px}
.fm-profile-info .fm-navig a{text-decoration:none;color:#6e30eb;font-weight:600;font-size:13px}
.fm-profile-grid .fm-widget{padding:14px;margin:0;border-radius:13px}.fm-profile-grid .fm-widget .tz-profile-side-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px}.fm-profile-grid .fm-widget .tz-profile-side-heading a{font-size:12px}
.fm-standalone-body .card{background:#fff;border:1px solid #e6eaf3;border-radius:13px;box-shadow:0 2px 8px rgba(17,32,61,.03)}
.fm-standalone-body button.primary-btn,.fm-standalone-body .primary-btn{background:linear-gradient(120deg,#5368fb,#852cff);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}
.fm-standalone-body .fm-form input{font-size:13px}
.fm-standalone-body .fm-page{max-width:none}.fm-standalone-body .fm-card iframe{background:black}
.fm-standalone-body .fm-form .muted{color:#8290a8}
.fm-standalone-body .fm-notice{padding:12px;background:#ebf5ff;border-radius:9px;margin-bottom:15px;font-size:13px}
.fm-standalone-body .fm-notice.error{background:#ffeeee;color:#a62626}
.fm-standalone-body .fm-profile-music>.fm-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}
.fm-shell-side .fm-site-links{border-top:1px solid #ffffff20;margin-top:20px;padding-top:12px}
@media(max-width:820px){.fm-shell-layout{grid-template-columns:1fr}.fm-shell-side{display:flex;min-height:auto;overflow:auto;gap:4px;white-space:nowrap;padding:8px}.fm-shell-side a{padding:9px;font-size:12px}.fm-shell-side .fm-site-links{display:contents}.fm-shell-content{padding:20px 12px}.fm-profile-grid{grid-template-columns:1fr}.fm-shell-header{padding:0 14px}.fm-header-links{gap:10px}.fm-header-links a{font-size:12px}}
@media(max-width:520px){.fm-header-links a:not(:last-child){display:none}}


/* v3.2.23: native Fansoci navigation and wide Music library */
body.fm-music-root .layout{grid-template-columns:252px minmax(0,1fr)!important;max-width:1460px!important;width:100%;}
body.fm-music-root .layout>.right-panel{display:none!important}
body.fm-music-root .layout>.center-panel{min-width:0;width:100%;padding:25px 24px 60px}
body.fm-music-root .layout>.center-panel>.center-inner{max-width:1160px;width:100%;margin:0 auto}
body.fm-music-root .fm-page{max-width:1160px;width:100%;margin:0 auto}
body.fm-music-root .fm-page>.page-heading{margin:6px 0 23px;gap:12px;align-items:center}
body.fm-music-root .fm-page>.page-heading h1{font-size:29px;letter-spacing:-.7px;line-height:1.2}
body.fm-music-root .fm-page>.page-heading .muted{font-size:13px}
body.fm-music-root .fm-filters{margin-bottom:18px;gap:8px}
body.fm-music-root .fm-filters a{font-size:13px}
body.fm-music-root .fm-form{border-radius:15px;padding:20px;margin-bottom:22px}
body.fm-music-root .fm-grid{gap:18px}
body.fm-music-root .fm-card{box-shadow:0 6px 18px rgba(17,32,61,.05)}
body.fm-music-root .fm-card .fm-play{aspect-ratio:16/9;height:auto}
body.fm-music-root .fm-card .fm-card-detail{padding:15px 17px}
body.fm-music-root .fm-card .fm-play img{display:block}
body.fm-music-root .fm-empty{margin-top:16px;padding:30px 18px;border-radius:13px}
body.fm-music-root .fm-profile-grid{grid-template-columns:minmax(0,1fr) 290px}
body.fm-music-root .fm-profile-hero{margin-bottom:20px}
body.fm-music-root .fm-profile-grid .fm-intro h1{font-size:23px}
html[data-tz-theme="dark"] body.fm-music-root .fm-form,html[data-tz-theme="dark"] body.fm-music-root .fm-card,html[data-tz-theme="dark"] body.fm-music-root .fm-empty,html[data-tz-theme="dark"] body.fm-music-root .fm-profile-hero{background:#1c263b;border-color:#35405b;color:#e5ebff}
html[data-tz-theme="dark"] body.fm-music-root .fm-filters{border-color:#35405b}
html[data-tz-theme="dark"] body.fm-music-root .fm-form label{color:#e5ebff}
html[data-tz-theme="dark"] body.fm-music-root .fm-card .fm-byline,html[data-tz-theme="dark"] body.fm-music-root .fm-card-detail>p{color:#a4b1ce}
html[data-tz-theme="dark"] body.fm-music-root .fm-profile-info p{color:#a4b1ce}
@media(max-width:1080px){body.fm-music-root .layout{grid-template-columns:210px minmax(0,1fr)!important}body.fm-music-root .fm-profile-grid{grid-template-columns:1fr}}
@media(max-width:720px){body.fm-music-root .layout{display:block!important}body.fm-music-root .layout>.center-panel{padding:15px 12px 42px}body.fm-music-root .fm-grid{grid-template-columns:1fr}body.fm-music-root .fm-page>.page-heading{display:block}body.fm-music-root .fm-page>.page-heading .muted{display:block;margin-top:8px}body.fm-music-root .fm-form{padding:15px}body.fm-music-root .fm-form-line{flex-direction:column}}
