.youtube-source-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block:2px 6px; }
.youtube-source-actions button { min-height:36px; padding:6px 0; font-size:13px; }
.youtube-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; color:var(--ink,#243f34); background:var(--paper,#fafbf7); border:1px solid var(--line,#d8ded1); border-radius:16px; overflow-y:auto; }
.youtube-dialog::backdrop { background:rgb(18 37 28 / 55%); }
.youtube-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.youtube-dialog-header h2 { margin:0; max-width:50ch; font-family:inherit; font-size:18px; line-height:1.6; font-weight:700; overflow-wrap:anywhere; }
.youtube-dialog-header button { flex-shrink:0; min-height:44px; padding:8px 0 8px 8px; font-size:13px; }
.youtube-consent { max-width:65ch; padding-block:8px 16px; }
.youtube-consent p,.youtube-status { font-size:14px; line-height:1.8; margin:0 0 12px; }
.youtube-consent .primary { margin-top:8px; }
.youtube-policies { color:var(--muted,#58705f); }
.youtube-policies a,.youtube-dialog-actions a { text-underline-offset:4px; }
.youtube-acknowledgement { display:flex; align-items:flex-start; gap:10px; max-width:65ch; margin-block:20px 8px; font-size:13px; line-height:1.8; cursor:pointer; }
.youtube-acknowledgement input { flex:none; width:18px; height:18px; margin:3px 0 0; accent-color:var(--green,#2b5745); }
.youtube-player-slot:empty { display:none; }
.youtube-player-slot iframe { display:block; width:100%; min-width:200px; min-height:200px; aspect-ratio:16/9; border:0; }
.youtube-player-slot + .youtube-status { margin-top:16px; }
.youtube-status:empty { display:none; }
.youtube-dialog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.youtube-dialog-actions a { font-size:13px; }
.youtube-practice { padding-top:20px; margin-top:20px; border-top:1px solid var(--line,#d8ded1); font-size:13px; }
.youtube-practice summary { cursor:pointer; padding-block:8px; }
.youtube-practice .fine { margin-block:12px; line-height:1.8; max-width:65ch; }
.youtube-practice form { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.75fr); gap:16px; margin-bottom:12px; align-items:end; }
.youtube-practice label { margin:0; font-size:13px; line-height:1.7; }
.youtube-practice input { width:100%; margin-top:6px; }
.youtube-practice form button { justify-self:start; }
.youtube-dialog :is(button,a,summary,input):focus-visible { outline:2px solid var(--green,#2b5745); outline-offset:4px; }
.youtube-policy { margin:0; background:#fafbf7; color:#243f34; font-family:'NanumSquareNeo',system-ui,sans-serif; font-size:15px; line-height:1.9; }
.youtube-policy main { width:min(760px,100%); box-sizing:border-box; margin:32px auto; padding:24px; }
.youtube-policy h1 { margin:24px 0; font-size:26px; line-height:1.5; }
.youtube-policy h2 { margin:32px 0 12px; font-size:19px; line-height:1.6; }
.youtube-policy p,.youtube-policy ul { margin-block:16px; }
.youtube-policy a { color:#2b5745; text-underline-offset:4px; overflow-wrap:anywhere; }
.youtube-policy a:focus-visible { outline:2px solid #2b5745; outline-offset:4px; }
@media(max-width:600px){
 .youtube-dialog { padding:20px; }
 .youtube-dialog-header { gap:16px; margin-bottom:16px; }
 .youtube-dialog-header h2 { font-size:16px; }
 .youtube-practice form { grid-template-columns:1fr; gap:12px; }
}
