.policy-page{--policy-bg:#fff;--policy-card:#f7f8fa;--policy-text:#20242b;--policy-border:#ddd;--policy-muted:#68707c;min-height:100vh;background:var(--policy-bg);color:var(--policy-text);font-family:"Noto Sans KR",sans-serif}.policy-page[data-theme="dark"],:root[data-theme="dark"] .policy-page{--policy-bg:#0f1117;--policy-card:#191d27;--policy-text:#e8eaf0;--policy-border:#303542;--policy-muted:#aab1c0}.policy-wrap{max-width:1100px;margin:0 auto;padding:48px 28px 80px}.policy-wrap h1{font-size:32px;margin:0 0 28px}.policy-tabs{display:flex;gap:28px;border-bottom:1px solid var(--policy-border);overflow-x:auto}.policy-tabs button{padding:12px 0;color:var(--policy-muted);text-decoration:none;white-space:nowrap}.policy-content pre{white-space:pre-wrap;word-break:keep-all;font:14px/2 "Noto Sans KR",sans-serif;margin:0}.customer-card{max-width:720px;background:var(--policy-card);border:1px solid var(--policy-border);border-radius:12px;padding:24px;line-height:1.8}.site-footer{position:relative;box-sizing:border-box;width:100%;margin-top:40px;padding:28px 20px;text-align:center;border-top:1px solid var(--policy-border);background:var(--policy-bg);color:var(--policy-muted);font-size:12px}.site-footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#087cff}:root[data-theme="dark"] .site-footer{--policy-bg:#000;--policy-border:#303542;--policy-muted:#ccc;background:#000;color:#ccc;border-color:#303542}:root[data-theme="light"] .site-footer{--policy-bg:#fff;--policy-border:#ddd;--policy-muted:#68707c;background:#fff;color:#68707c;border-color:#ddd}.index-page .lobby-container{padding-bottom:0}.index-page .lobby-container>.site-footer{width:calc(100% + 56px);margin-left:-28px;margin-right:-28px}.index-page .lobby-container>.streamer-cta-banner + .site-footer{margin-top:40px}@media(max-width:600px){.policy-wrap{padding:32px 18px 60px}.policy-wrap h1{font-size:26px}.policy-tabs{gap:18px}.index-page .lobby-container>.site-footer{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}}

@media (min-width:901px) {
    .index-page .lobby-container { padding-top:0; }
}

/* Footer text color requested for both themes. */
:root[data-theme] .site-footer, :root .site-footer a, :root .site-footer p { color: #555; }
/* Keep the shared navigation visible while reading long policy documents. */
body.channel-page.policy-page{ margin:0; }
.policy-page .lobby-navbar{position:sticky;top:0;box-sizing:border-box;width:100%;background:var(--theme-surface,#111)}
.policy-page .policy-wrap{box-sizing:border-box;width:100%;margin:0 auto}
.policy-page #policy-navigation{position:fixed;top:64px;left:0;z-index:1001;background:var(--theme-surface,#111);padding:20px;border:1px solid var(--policy-border)}
.policy-page #policy-navigation a,.policy-search-results a{display:block;padding:10px;color:inherit;text-decoration:none}
.policy-page .channel-search{position:relative}
.policy-search-results{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow:auto;background:var(--theme-surface,#111);color:var(--theme-text,#ccc)}
@media(max-width:900px){.policy-page #btn-mobile-menu{display:none!important}.policy-page .channel-search{min-width:60px}.policy-page .lobby-navbar{gap:8px}}

/* Use the same palette and active-tab treatment as the station tabs. */
:root body.channel-page.policy-page {
    --policy-bg:var(--theme-bg,#000);
    --policy-card:var(--theme-surface,#151515);
    --policy-text:var(--theme-text,#eee);
    --policy-border:var(--theme-border,#333);
    --policy-muted:var(--theme-muted,#999);
}
.policy-tabs button { position:relative; }
.policy-tabs button.active {
    color:transparent;
    font-weight:700;
    background:var(--accent-text-gradient,linear-gradient(to right,#9900F0,#FF85B3,#9900F0));
    background-size:200% auto;
    -webkit-background-clip:text;
    background-clip:text;
    animation:text-roll 5s linear infinite;
}
.policy-tabs button.active::after {
    content:""; position:absolute; left:0; right:0; bottom:-3px; height:3px;
    background:var(--accent-text-gradient,linear-gradient(to right,#9900F0,#FF85B3,#9900F0));
    background-size:200% auto;
    animation:text-roll 2s linear infinite;
}
.policy-tabs button:focus-visible { outline:2px solid var(--main-border-color,#cd88ff); outline-offset:3px; }
@media(prefers-reduced-motion:reduce){.policy-tabs button.active,.policy-tabs button.active::after{animation:none}}

.policy-language-control { display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:22px 0 8px;color:var(--policy-muted);font-size:13px; }
.policy-language-control select { border:1px solid var(--policy-border);border-radius:6px;padding:7px 10px;background:var(--policy-card);color:var(--policy-text);font:inherit; }
.policy-content { padding-top:12px; }
.policy-content article { font-size:14px;line-height:1.85;overflow-wrap:anywhere;color:var(--policy-muted); }
.policy-content article[hidden] { display:none!important; }
.policy-content h2 { font-size:16px;font-weight:700;margin:36px 0 16px;color:#d88bff;line-height:1.6; }
.policy-content h3 { font-size:14px;font-weight:600;margin:24px 0 10px 18px;color:var(--policy-text);line-height:1.7; }
.policy-content p { margin:10px 0 16px 18px; }
.policy-content ul { margin:12px 0 26px 34px;padding-left:18px;list-style:disc; }
.policy-content li { margin:5px 0;padding-left:3px; }
.policy-content article>:first-child { margin-top:0; }
:root[data-theme="light"] .policy-content h2 { color:#8800bf; }
@media(max-width:600px){.policy-content h3,.policy-content p{margin-left:0}.policy-content ul{margin-left:16px}.policy-content article{font-size:13px}}

.policy-table-scroll { width:100%;overflow-x:auto;margin:24px 0; }
.policy-table { width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.8; }
.policy-table caption { text-align:left;margin-bottom:12px;color:var(--policy-text);font-weight:600; }
.policy-table th,.policy-table td { border:1px solid var(--policy-border);padding:16px 18px;text-align:center;vertical-align:middle;overflow-wrap:anywhere; }
.policy-table th { background:var(--policy-card);color:var(--policy-text);font-weight:600; }
.policy-table td { color:var(--policy-muted); }
.policy-content .policy-table ul { margin:0;padding-left:16px;text-align:left; }
.policy-content .policy-table li { margin:4px 0; }
@media(max-width:600px){.policy-table{min-width:540px}.policy-table th,.policy-table td{padding:12px}}

.policy-tabs button { border:0; border-bottom:3px solid transparent; background:transparent; font:inherit; cursor:pointer; }

/* Keep native scrolling, hiding scrollbar chrome only on policy pages. */
.policies-root, .policies-root * { scrollbar-width: none; -ms-overflow-style: none; }
@supports selector(::-webkit-scrollbar) {
    .policies-root, .policies-root * { scrollbar-width: auto; }
    .policies-root::-webkit-scrollbar, .policies-root *::-webkit-scrollbar { width: 0; }
}

/* Shared site sidebar with an independently scrolling document pane. */
body.channel-page.policy-page { display:flex; height:100dvh; min-height:0; overflow:hidden; }
.policy-shell { display:flex; flex:1; min-height:0; position:relative; overflow:hidden; }
.policy-scroll { flex:1; min-width:0; overflow-y:auto; }
.policy-scroll > .site-footer { margin-top:0; }
.policy-page .channel-sidebar { height:100%; }
@media(max-width:900px) {
    .policy-page .channel-sidebar { position:absolute; top:0; bottom:0; height:100%; z-index:100; }
}

/* Station footer stays inside the central scrolling content, between sidebar and chat. */
.channel-page #main-video-sec { padding-bottom:0; }
.channel-page #main-video-sec > .site-footer { flex-shrink:0; width:100%; margin:40px 0 0; background:inherit; }

/* Let the lobby background show through without layering its translucent color twice. */
.index-page #lobby-main > .site-footer { background:transparent; }

/* Hide the shared footer in the mobile layout. */
@media(max-width:900px) {
    .site-footer { display:none; }
}

/* Policy/customer pages share the mobile drawer without taking document space. */
.policy-page #mobile-slide-menu, .policy-page #menu-overlay { display:none; }
@media(max-width:900px) {
    .policy-page #mobile-slide-menu { display:block;position:fixed;top:0;right:0;box-sizing:border-box;width:340px;max-width:calc(100vw - 24px);height:100dvh;overflow-y:auto;padding:5px 14px 20px;background:var(--theme-surface,#211b26);border-left:1px solid var(--theme-border,#44374b);z-index:10000;box-shadow:-5px 0 20px #0005;transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility .3s; }
    .policy-page #mobile-slide-menu.active { transform:translateX(0);visibility:visible; }
    .policy-page #menu-overlay { position:fixed;inset:0;background:#0008;z-index:9999; }
    .policy-page.menu-active-bg #menu-overlay { display:block; }
    .policy-page.menu-active-bg .policy-scroll { overflow:hidden; }
    .policy-page .mobile-menu-header { display:flex;align-items:center;justify-content:space-between; }
    .policy-page .close-menu-btn { border:0;background:transparent;color:var(--theme-text,#fff);cursor:pointer;padding:8px; }
}
@media(prefers-reduced-motion:reduce) { .policy-page #mobile-slide-menu { transition:none; } }
