.platform-youtube { --primary:#FF0000; --primary-tint:#FFE5E5; background:#F9F9F9; }
html[data-theme="dark"] .platform-youtube { --primary-tint:#3a1414; background: var(--bg); }
.btn-youtube { background:#FF0000; color:#fff; border:none; padding:8px 18px; border-radius:4px; font-weight:600; cursor: pointer; }
.yt-subnav { display:flex; gap: 6px; margin-bottom: 14px; }
.yt-subnav a { padding: 6px 12px; border-radius: 4px; background:var(--card-bg); border:1px solid var(--border); color:var(--text); }
.yt-subnav a.active { background:#FF0000; color:#fff; border-color:#FF0000; }
.yt-grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.yt-card { background:var(--card-bg); border-radius:8px; overflow: hidden; border:1px solid var(--border); color: var(--text); }
.yt-card:hover { text-decoration: none; }
.yt-thumb { position: relative; }
.yt-thumb img { display:block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.yt-duration { position: absolute; right: 6px; bottom: 6px; background: rgba(0,0,0,0.8); color:#fff; font-size: 0.75rem; padding: 2px 6px; border-radius: 4px; }
.yt-play { position: absolute; inset: 0; display:flex; align-items:center; justify-content:center; color:#fff; font-size: 2.5rem; opacity: 0; transition: opacity 0.15s; text-shadow: 0 2px 6px rgba(0,0,0,0.6); }
.yt-thumb:hover .yt-play { opacity: 1; }
.yt-badge { position: absolute; left: 6px; top: 6px; background: rgba(255,0,0,0.9); color:#fff; font-size: 0.7rem; padding: 2px 8px; border-radius: 4px; font-weight: 600; }
.yt-meta { display:flex; gap: 10px; padding: 10px; }
.yt-title { font-weight: 600; font-size: 0.95rem; }
.yt-watch { max-width: 900px; margin: 0 auto; }
.yt-player { position: relative; background:#000; border-radius: 8px; overflow: hidden; }
.yt-player img { width: 100%; display:block; opacity: 0.85; }
.yt-play-big { position: absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size: 5rem; color:#fff; text-shadow: 0 4px 14px rgba(0,0,0,0.7); }
.yt-novideo { position: absolute; bottom: 8px; left: 12px; color: #ddd; background: rgba(0,0,0,0.5); padding: 4px 8px; border-radius: 4px; }
.yt-watch-title { margin: 14px 0 8px; }
.yt-watch-meta { display:flex; justify-content:space-between; align-items:center; padding: 8px 0; border-top:1px solid var(--border); border-bottom: 1px solid var(--border); }
.channel-row { display:flex; gap: 10px; align-items: center; color: inherit; }
.yt-watch-actions { display:flex; gap: 8px; }
.yt-desc { padding: 10px 0; }
.yt-banner { height: 200px; border-radius: 8px; background:#ddd center/cover no-repeat; margin-bottom: 14px; }
.yt-comment { display:flex; gap: 10px; padding: 8px 0; }
.upload-form { max-width: 640px; margin: 0 auto; }
.earnings table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.earnings th, .earnings td { padding: 8px; border-bottom: 1px solid var(--border); text-align: left; }
.earnings .total td { background: var(--primary-tint); color: var(--text); font-weight: 600; }
.badge-ok { background: #d1f4d1; padding: 2px 8px; border-radius: 4px; color: #1a6a1a; }
.badge-warn { background: #fff3cd; padding: 2px 8px; border-radius: 4px; color: #6b5300; }
