:root {
    --public-bg: #f4f7fb;
    --public-ink: #0d1b2e;
    --public-muted: #607087;
    --public-line: #dfe6ef;
    --public-blue: #2457d6;
    --public-cyan: #18b6ce;
    --public-navy: #071326;
    --public-panel: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
button, input, select { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }

.public-body {
    background: var(--public-bg);
    color: var(--public-ink);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-width: 320px;
}

.public-container {
    margin: 0 auto;
    max-width: 1240px;
    padding-left: 24px;
    padding-right: 24px;
    width: 100%;
}

.visually-hidden {
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.public-header {
    background: rgba(7, 19, 38, 0.95);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 60;
    backdrop-filter: blur(18px);
}

.public-nav-wrap {
    align-items: center;
    display: flex;
    height: 74px;
    justify-content: space-between;
}

.public-brand {
    align-items: center;
    display: inline-flex;
    gap: 11px;
    text-decoration: none;
}

.public-brand img,
.public-brand > span {
    align-items: center;
    background: linear-gradient(135deg, #2671e8, #21c0c8);
    border-radius: 11px;
    color: #fff;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    object-fit: contain;
    padding: 4px;
    width: 42px;
}

.public-brand strong {
    font-size: 0.95rem;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.public-navigation {
    align-items: center;
    display: flex;
    gap: 6px;
}

.public-navigation a {
    border-radius: 9px;
    color: #bac7da;
    font-size: 0.78rem;
    font-weight: 650;
    padding: 10px 13px;
    text-decoration: none;
}

.public-navigation a:hover,
.public-navigation a.active { color: #fff; }
.public-navigation .public-nav-cta { background: #fff; color: #10223d; margin-left: 7px; padding-inline: 17px; }

.public-nav-actions { align-items:center; display:flex; gap:8px; margin-left:auto; }
.public-theme-toggle { align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:50%; color:#fff; cursor:pointer; display:inline-flex; flex:0 0 38px; font-size:1rem; height:38px; justify-content:center; transition:background .18s ease, transform .18s ease; width:38px; }
.public-theme-toggle:hover { background:rgba(255,255,255,.16); transform:translateY(-1px); }
html[data-theme="light"] .public-theme-moon, html[data-theme="dark"] .public-theme-sun { display:none; }

.public-menu-button {
    background: transparent;
    border: 0;
    display: none;
    gap: 4px;
    padding: 8px;
}

.public-menu-button span { background: #fff; border-radius: 2px; display: block; height: 2px; width: 22px; }

.public-hero {
    background:
        radial-gradient(circle at 85% 15%, rgba(22, 184, 206, 0.3), transparent 25%),
        radial-gradient(circle at 10% 110%, rgba(42, 88, 220, 0.32), transparent 34%),
        linear-gradient(135deg, #061225, #0b1e3b 58%, #0a2f4b);
    color: #fff;
    overflow: hidden;
}

.public-hero-grid {
    align-items: center;
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(0, 1.02fr) minmax(430px, 0.78fr);
    min-height: 610px;
    padding-bottom: 78px;
    padding-top: 78px;
}

.public-kicker {
    color: #2bc7d4;
    display: inline-flex;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.public-kicker i,
.public-screen-live i,
.public-live-label i {
    background: #ef4056;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(239, 64, 86, 0.15);
    height: 7px;
    margin: 3px 9px 0 0;
    width: 7px;
}

.public-hero-copy h1 {
    font-size: clamp(2.8rem, 5vw, 4.7rem);
    letter-spacing: -0.055em;
    line-height: 0.98;
    margin: 24px 0;
    max-width: 720px;
}

.public-hero-copy h1 em { color: #63d6df; font-style: normal; }
.public-hero-copy > p { color: #b8c7da; font-size: 1.02rem; line-height: 1.75; max-width: 650px; }
.public-hero-actions, .public-trust-row, .public-channel-actions, .public-share-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.public-hero-actions { margin-top: 31px; }

.public-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 800;
    gap: 7px;
    justify-content: center;
    min-height: 43px;
    padding: 10px 16px;
    text-decoration: none;
}

.public-button-primary { background: var(--public-blue); color: #fff; }
.public-button-light { background: #fff; color: #12223a; }
.public-button-glass { border-color: rgba(255, 255, 255, 0.28); color: #fff; }
.public-button-ghost { border-color: var(--public-line); color: #38506e; }
.public-button:hover { transform: translateY(-1px); }
.public-trust-row { color: #91a4bd; font-size: 0.68rem; margin-top: 32px; }
.public-trust-row b { color: #54d0b1; margin-right: 4px; }

.public-ad-band { background:var(--public-bg); padding:22px 0; }
.public-ad-band-compact { padding:4px 0 22px; }
.public-ad-placeholder { align-items:center; background:linear-gradient(135deg,#f8fbff,#eef3f9); border:1px dashed #b9c7d8; border-radius:14px; color:var(--public-muted); display:flex; justify-content:center; margin-left:auto; margin-right:auto; min-height:100px; overflow:hidden; padding:16px 22px; position:relative; text-align:center; width:100%; }
.public-ad-placeholder > span { background:#dfe7f1; border-radius:99px; font-size:.48rem; font-weight:850; left:10px; letter-spacing:.11em; padding:5px 8px; position:absolute; text-transform:uppercase; top:9px; }
.public-ad-placeholder > div { align-items:center; display:flex; flex-direction:column; gap:3px; }
.public-ad-placeholder b { align-items:center; background:#dce6f3; border-radius:7px; color:#63758c; display:flex; font-size:.58rem; height:27px; justify-content:center; margin-bottom:3px; width:35px; }
.public-ad-placeholder strong { color:#3e526c; font-size:.72rem; }
.public-ad-placeholder small { font-size:.58rem; }
.public-ad-delivery { background:#fff; border:1px solid var(--public-line); border-radius:14px; box-shadow:0 12px 30px rgba(21,48,82,.08); margin-left:auto; margin-right:auto; min-height:100px; overflow:hidden; position:relative; width:100%; }
.public-ad-delivery > span { background:rgba(8,24,43,.8); border-radius:0 0 8px 0; color:#fff; font-size:.48rem; font-weight:800; left:0; letter-spacing:.08em; max-width:90%; overflow:hidden; padding:5px 8px; position:absolute; text-overflow:ellipsis; text-transform:uppercase; top:0; white-space:nowrap; z-index:2; }
.public-ad-delivery > a:not(.public-ad-text) { display:block; height:100%; width:100%; }
.public-ad-delivery img { display:block; height:auto; max-height:250px; object-fit:contain; width:100%; }
.public-ad-delivery video { background:#000; display:block; max-height:300px; width:100%; }
.public-ad-text { align-items:flex-start; color:inherit; display:flex; flex-direction:column; gap:4px; justify-content:center; min-height:100px; padding:25px 22px 16px; text-align:left; text-decoration:none; }
.public-ad-text strong { color:var(--public-text); font-size:.78rem; }
.public-ad-text p { color:var(--public-muted); font-size:.7rem; line-height:1.55; margin:0; }
.public-ad-text small { color:var(--public-muted); font-size:.55rem; }
.public-ad-unavailable { align-items:center; display:flex; flex-direction:column; gap:4px; justify-content:center; min-height:100px; padding:20px; text-align:center; }
.public-ad-unavailable b { color:var(--public-blue); }
.public-ad-unavailable strong { color:var(--public-text); font-size:.72rem; }
.public-ad-unavailable small { color:var(--public-muted); font-size:.58rem; }
.public-ad-google { padding-top:18px; }
.public-ad-google .adsbygoogle { min-height:82px; width:100%; }
.public-ad-leaderboard { max-width:970px; }
.public-ad-inline { max-width:728px; }
.public-ad-companion { max-width:320px; min-height:250px; }
.public-watch-page > .public-container > .public-ad-placeholder { margin-bottom:20px; }
.public-ad-inline-wrap { margin-top:16px; }
.public-sidebar-ad { margin-top:22px; }

.public-hero-visual { min-height: 420px; position: relative; }
.public-screen-card {
    background: linear-gradient(150deg, #172d4b, #07101e);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 26px;
    box-shadow: 0 35px 80px rgba(0,0,0,.35);
    height: 330px;
    padding: 28px;
    position: absolute;
    right: 0;
    top: 20px;
    transform: perspective(900px) rotateY(-7deg) rotateX(2deg);
    width: 94%;
}
.public-screen-card::after { background: radial-gradient(circle, rgba(37,110,236,.36), transparent 60%); content: ""; inset: 50px; position: absolute; }
.public-screen-live { align-items: center; display: flex; font-size: .65rem; font-weight: 900; position: relative; z-index: 2; }
.public-screen-play { align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: flex; font-size: 1.3rem; height: 70px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 70px; z-index: 2; }
.public-screen-card strong { bottom: 28px; font-size: 1.6rem; left: 28px; line-height: 1.15; position: absolute; z-index: 2; }
.public-device-card { align-items: center; background: #fff; border-radius: 14px; box-shadow: 0 18px 40px rgba(0,0,0,.25); color: #13243d; display: flex; font-size: .68rem; font-weight: 800; gap: 10px; padding: 12px 15px; position: absolute; z-index: 3; }
.public-device-card span { background: #dce8ff; border: 2px solid #4c79df; border-radius: 5px; height: 29px; position: relative; width: 20px; }
.public-device-mobile { bottom: 30px; left: 0; }
.public-device-tv { bottom: 0; right: 18px; }
.public-device-tv span { height: 25px; width: 39px; }
.public-device-tv span::after { background:#4c79df; bottom:-5px; content:""; height:3px; left:11px; position:absolute; width:13px; }

.public-section { padding: 82px 0; }
.public-featured-section { background: #fff; }
.public-section-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 29px; }
.public-section-heading h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -0.045em; margin: 7px 0; }
.public-section-heading p { color: var(--public-muted); margin: 0; }
.public-section-heading > a { color: var(--public-blue); font-size: .76rem; font-weight: 800; text-decoration: none; }
.public-section-heading > strong { color: var(--public-muted); font-size: .75rem; }

.public-channel-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-channel-card { background: var(--public-panel); border: 1px solid var(--public-line); border-radius: 18px; box-shadow: 0 12px 35px rgba(15,31,53,.055); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.public-channel-card:hover { box-shadow: 0 20px 50px rgba(15,31,53,.11); transform: translateY(-3px); }
.public-channel-art { align-items: center; aspect-ratio: 16/9; background: linear-gradient(135deg,#14233b,#223e64); display: flex; justify-content: center; overflow: hidden; position: relative; text-decoration: none; }
.public-channel-art > img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.public-channel-card:hover .public-channel-art > img { transform: scale(1.025); }
.public-channel-art > span { color:#fff; font-size:3rem; font-weight:900; }
.public-channel-art em { align-items:center; background:#e9324d; border-radius:99px; color:#fff; display:flex; font-size:.58rem; font-style:normal; font-weight:900; left:13px; padding:6px 9px; position:absolute; top:13px; }
.public-channel-art em i { background:#fff; border-radius:50%; height:5px; margin-right:5px; width:5px; }
.public-channel-art > b { align-items:center; background:#2670df; border:2px solid #fff; border-radius:50%; bottom:10px; color:#fff; display:flex; font-size:.6rem; height:22px; justify-content:center; position:absolute; right:10px; width:22px; }
.public-channel-copy { padding: 17px; }
.public-channel-title { align-items:center; display:flex; gap:11px; }
.public-channel-title img, .public-channel-title > span { align-items:center; background:#eaf0fa; border-radius:10px; display:flex; flex:0 0 42px; font-size:.9rem; font-weight:900; height:42px; justify-content:center; object-fit:contain; width:42px; }
.public-channel-title h3 { font-size:.94rem; margin:0 0 4px; }
.public-channel-title p { color:var(--public-muted); font-size:.66rem; margin:0; }
.public-channel-description { color:var(--public-muted); display:-webkit-box; font-size:.72rem; line-height:1.55; margin:14px 0; min-height:34px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.public-channel-actions { margin-top:16px; }
.public-channel-actions .public-button { flex:1; min-height:39px; padding:8px 10px; }

.public-channel-directory { background: var(--public-bg); }
.public-search-card { align-items:end; background:#fff; border:1px solid var(--public-line); border-radius:16px; display:grid; gap:13px; grid-template-columns:minmax(230px,1.4fr) repeat(2,minmax(170px,.7fr)) auto auto; margin-bottom:28px; padding:17px; }
.public-search-card label span { color:#4c5f79; display:block; font-size:.66rem; font-weight:800; margin:0 0 7px; }
.public-search-card input, .public-search-card select { background:#f8fafc; border:1px solid #d9e1ec; border-radius:9px; color:var(--public-ink); min-height:43px; padding:9px 11px; width:100%; }
.public-filter-reset { color:var(--public-muted); font-size:.7rem; font-weight:700; padding:12px 4px; text-align:center; }
.public-empty-state, .public-compact-empty { background:#fff; border:1px dashed #ced8e5; border-radius:18px; color:var(--public-muted); padding:55px 24px; text-align:center; }
.public-empty-state > span { color:#8da1bc; font-size:2rem; }
.public-empty-state h3 { color:var(--public-ink); }
.public-empty-state p { margin:0 auto 20px; max-width:530px; }
.public-pagination { display:flex; gap:7px; justify-content:center; margin-top:32px; }
.public-pagination a { align-items:center; background:#fff; border:1px solid var(--public-line); border-radius:8px; display:flex; font-size:.72rem; height:38px; justify-content:center; text-decoration:none; width:38px; }
.public-pagination a.active { background:var(--public-blue); color:#fff; }

.public-category-section { background:#fff; }
.public-category-grid { display:grid; gap:13px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.public-category-grid a { align-items:center; border:1px solid var(--public-line); border-radius:14px; display:flex; gap:12px; padding:15px; text-decoration:none; }
.public-category-grid img, .public-category-grid a > span { align-items:center; background:#e9f0fc; border-radius:10px; color:var(--public-blue); display:flex; flex:0 0 43px; font-size:1rem; font-weight:900; height:43px; justify-content:center; object-fit:contain; width:43px; }
.public-category-grid div { min-width:0; }
.public-category-grid strong, .public-category-grid small { display:block; }
.public-category-grid strong { font-size:.8rem; }
.public-category-grid small { color:var(--public-muted); font-size:.63rem; margin-top:3px; }
.public-category-grid a > b { color:var(--public-blue); margin-left:auto; }

.public-owner-cta { background:linear-gradient(130deg,#0a1a32,#123865); color:#fff; padding:70px 0; }
.public-owner-cta .public-container { align-items:center; display:flex; gap:40px; justify-content:space-between; }
.public-owner-cta h2 { font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.045em; margin:9px 0; }
.public-owner-cta p { color:#aebed3; line-height:1.65; max-width:700px; }
.public-owner-cta .public-container > div:last-child { display:flex; flex-wrap:wrap; gap:10px; }

.public-footer { background:#050d1a; color:#8fa0b8; padding:65px 0 22px; }
.public-footer-grid { display:grid; gap:32px; grid-template-columns:1.55fr repeat(4,1fr); }
.public-footer-grid > div { display:flex; flex-direction:column; gap:9px; }
.public-footer .public-brand { color:#fff; }
.public-footer p { font-size:.72rem; line-height:1.7; max-width:340px; }
.public-footer h2 { color:#dce5f1; font-size:.72rem; letter-spacing:.08em; margin:5px 0 10px; text-transform:uppercase; }
.public-footer a, .public-footer span { font-size:.7rem; text-decoration:none; }
.public-footer a:hover { color:#fff; }
.public-footer-bottom { border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; margin-top:45px; padding-top:20px; }

.public-social-dock {
    align-items:center;
    backdrop-filter:blur(14px);
    background:rgba(255,255,255,.88);
    border:1px solid rgba(109,126,151,.2);
    border-radius:18px;
    bottom:18px;
    box-shadow:0 16px 40px rgba(4,15,31,.18);
    display:flex;
    flex-direction:column;
    gap:7px;
    left:14px;
    padding:7px;
    position:fixed;
    z-index:58;
}
.public-social-link {
    align-items:center;
    border-radius:50%;
    box-shadow:0 5px 13px rgba(4,15,31,.15);
    color:#fff;
    display:inline-flex;
    height:40px;
    justify-content:center;
    transition:transform .18s ease, box-shadow .18s ease;
    width:40px;
}
.public-social-link:hover,
.public-social-link:focus-visible { box-shadow:0 8px 20px rgba(4,15,31,.24); outline:3px solid rgba(36,87,214,.22); transform:translateY(-2px) scale(1.04); }
.public-social-link svg { fill:currentColor; height:22px; width:22px; }
.public-social-facebook { background:#1877f2; }
.public-social-whatsapp { background:#25d366; }
.public-social-youtube { background:#ff0033; }
html[data-theme="dark"] .public-social-dock { background:rgba(11,25,43,.9); border-color:rgba(255,255,255,.11); }

.public-watch-page { background:linear-gradient(180deg,#eaf0f8,#f4f7fb); padding:28px 0 55px; }
.public-breadcrumb { align-items:center; color:var(--public-muted); display:flex; flex-wrap:wrap; font-size:.68rem; gap:8px; margin-bottom:19px; }
.public-breadcrumb a { text-decoration:none; }
.public-watch-grid { align-items:start; display:grid; gap:22px; grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr); }
.public-watch-grid > *, .public-programme-grid > * { min-width:0; }
.public-live-player { background:#fff; border:1px solid var(--public-line); border-radius:18px; box-shadow:0 20px 55px rgba(10,25,47,.1); overflow:hidden; }
.public-player-frame { aspect-ratio:16/9; background:#050810; position:relative; }
.public-player-frame video { height:100%; object-fit:contain; width:100%; }
.public-player-overlay { align-items:center; background:linear-gradient(180deg,rgba(3,8,18,.12),rgba(3,8,18,.8)); bottom:0; color:#d8e2ef; display:flex; flex-direction:column; gap:11px; justify-content:center; left:0; padding:20px; position:absolute; right:0; text-align:center; top:0; }
.public-player-overlay[hidden] { display:none; }
.public-player-overlay button { background:#fff; border:0; border-radius:10px; color:#111d2e; cursor:pointer; font-size:.84rem; font-weight:850; padding:13px 19px; }
.public-player-overlay small { color:#b9c6d6; font-size:.68rem; }
.public-player-status { color:var(--public-muted); font-size:.7rem; padding:13px 16px; }
.public-player-status[data-state="connected"] { background:#eefaf4; color:#14754e; }
.public-player-status[data-state="error"] { background:#fff0f1; color:#a43c47; }
.public-player-caption { align-items:center; background:var(--public-panel); display:flex; gap:16px; justify-content:space-between; min-height:47px; padding:12px 16px; }
.public-player-caption p { color:var(--public-muted); display:-webkit-box; font-size:.7rem; line-height:1.55; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.public-player-caption-status { display:none; flex:0 0 auto; font-size:.62rem; font-weight:700; }
.public-player-caption-status[data-state="error"], .public-player-caption-status[data-state="warning"] { color:#a43c47; display:block; max-width:45%; }
.public-player-note { background:#fff7e7; border:1px solid #eddcae; border-radius:10px; color:#72551a; font-size:.68rem; margin-top:10px; padding:10px 12px; }
.public-player-empty { align-items:center; color:#9eabbc; display:flex; height:100%; justify-content:center; }
.public-channel-panel { background:#fff; border:1px solid var(--public-line); border-radius:18px; box-shadow:0 12px 35px rgba(15,31,53,.055); padding:21px; }
.public-channel-profile { align-items:center; display:flex; gap:13px; }
.public-channel-profile img, .public-channel-profile > span { align-items:center; background:#e9f0fb; border-radius:14px; color:var(--public-blue); display:flex; flex:0 0 64px; font-size:1.2rem; font-weight:900; height:64px; justify-content:center; object-fit:contain; width:64px; }
.public-live-label { align-items:center; color:#e9334e; display:flex; font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.public-channel-profile h1 { font-size:1.45rem; letter-spacing:-.035em; margin:4px 0; }
.public-channel-profile p { color:var(--public-muted); font-size:.68rem; margin:0; }
.public-channel-badges { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
.public-channel-badges span { background:#eef3fa; border-radius:99px; color:#39516f; font-size:.6rem; font-weight:800; padding:6px 9px; }
.public-channel-lead { color:var(--public-muted); font-size:.76rem; line-height:1.65; }
.public-channel-meta { margin:18px 0; }
.public-channel-meta div { border-top:1px solid #edf1f5; display:flex; font-size:.69rem; gap:12px; justify-content:space-between; padding:10px 0; }
.public-channel-meta dt { color:var(--public-muted); }
.public-channel-meta dd { font-weight:700; margin:0; overflow-wrap:anywhere; text-align:right; }
.public-share-actions button, .public-share-actions a { background:#f3f6fa; border:1px solid var(--public-line); border-radius:8px; color:#3c5371; cursor:pointer; font-size:.66rem; padding:9px 10px; text-decoration:none; }

.public-programme-section { background:#fff; }
.public-programme-grid { align-items:start; display:grid; gap:45px; grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); }
.public-schedule-list { border:1px solid var(--public-line); border-radius:16px; overflow:hidden; }
.public-schedule-list article { align-items:start; border-bottom:1px solid var(--public-line); display:grid; gap:15px; grid-template-columns:82px 1fr auto; padding:17px; }
.public-schedule-list article:last-child { border-bottom:0; }
.public-schedule-list article.current { background:#f3f7ff; border-left:3px solid var(--public-blue); }
.public-schedule-list time { font-size:.7rem; font-weight:800; }
.public-schedule-list span { color:var(--public-blue); font-size:.57rem; font-weight:850; text-transform:uppercase; }
.public-schedule-list h3 { font-size:.84rem; margin:3px 0; }
.public-schedule-list p, .public-schedule-list small { color:var(--public-muted); font-size:.64rem; margin:0; }
.public-direct-policy { background:linear-gradient(145deg,#0a1a31,#13375d); border-radius:18px; color:#fff; padding:27px; }
.public-direct-policy > span { color:#5dd2d8; font-size:.62rem; font-weight:900; letter-spacing:.1em; }
.public-direct-policy h2 { font-size:1.35rem; margin:13px 0; }
.public-direct-policy p { color:#adc0d6; font-size:.72rem; line-height:1.75; margin:0; }
.public-related-section { background:var(--public-bg); }
.public-not-found { min-height:65vh; padding:110px 0; text-align:center; }
.public-not-found span { color:#dbe3ee; font-size:6rem; font-weight:900; }
.public-not-found h1 { font-size:2.4rem; margin:0 0 10px; }
.public-not-found p { color:var(--public-muted); margin-bottom:24px; }

.public-legal-hero { background:radial-gradient(circle at 85% 10%,rgba(24,182,206,.2),transparent 28%),linear-gradient(135deg,#071326,#12365e); color:#fff; padding:76px 0 68px; }
.public-legal-hero h1 { font-size:clamp(2.4rem,6vw,4.6rem); letter-spacing:-.055em; line-height:1; margin:16px 0 19px; }
.public-legal-hero p { color:#b7c7da; font-size:1rem; line-height:1.75; margin:0; max-width:760px; }
.public-legal-section { background:var(--public-bg); padding:56px 0 80px; }
.public-legal-layout { align-items:start; display:grid; gap:28px; grid-template-columns:245px minmax(0,1fr); }
.public-legal-nav { background:var(--public-panel); border:1px solid var(--public-line); border-radius:16px; display:flex; flex-direction:column; padding:12px; position:sticky; top:96px; }
.public-legal-nav > strong { color:var(--public-muted); font-size:.63rem; letter-spacing:.11em; padding:9px 10px 12px; text-transform:uppercase; }
.public-legal-nav a { align-items:center; border-radius:9px; color:var(--public-muted); display:flex; font-size:.72rem; font-weight:750; justify-content:space-between; padding:10px; text-decoration:none; }
.public-legal-nav a:hover { color:var(--public-blue); }
.public-legal-nav a.active { background:#eaf1ff; color:#1e54cc; }
.public-legal-card { background:var(--public-panel); border:1px solid var(--public-line); border-radius:20px; box-shadow:0 18px 50px rgba(15,31,53,.06); padding:clamp(24px,4vw,48px); }
.public-legal-card > section { border-bottom:1px solid var(--public-line); display:grid; gap:18px; grid-template-columns:42px minmax(0,1fr); padding:0 0 31px; }
.public-legal-card > section + section { padding-top:31px; }
.public-legal-card > section:last-of-type { border-bottom:0; }
.public-legal-number { align-items:center; background:#eaf1ff; border-radius:50%; color:var(--public-blue); display:flex; font-size:.62rem; font-weight:900; height:36px; justify-content:center; width:36px; }
.public-legal-card h2 { font-size:1.28rem; letter-spacing:-.035em; margin:4px 0 13px; }
.public-legal-card p, .public-legal-card li { color:var(--public-muted); font-size:.78rem; line-height:1.8; }
.public-legal-card p { margin:0 0 12px; }
.public-legal-card ul { margin:8px 0 0; padding-left:20px; }
.public-legal-card li + li { margin-top:8px; }
.public-legal-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.public-legal-links a { align-items:center; background:var(--public-bg); border:1px solid var(--public-line); border-radius:12px; color:var(--public-navy); display:inline-flex; font-size:.72rem; font-weight:800; gap:8px; min-height:42px; padding:10px 14px; text-decoration:none; }
.public-legal-links a:hover { border-color:var(--public-blue); color:var(--public-blue); }
.public-legal-notice { background:#fff8e7; border:1px solid #eedba7; border-radius:12px; color:#72551a; font-size:.72rem; line-height:1.65; margin-bottom:30px; padding:13px 15px; }
.public-contact-grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:36px; }
.public-contact-grid > div { background:#f6f8fb; border:1px solid var(--public-line); border-radius:12px; min-width:0; padding:15px; }
.public-contact-grid span, .public-contact-grid a, .public-contact-grid strong { display:block; overflow-wrap:anywhere; }
.public-contact-grid span { color:var(--public-muted); font-size:.6rem; margin-bottom:6px; text-transform:uppercase; }
.public-contact-grid a, .public-contact-grid strong { color:var(--public-blue); font-size:.71rem; }
.public-legal-help { background:#f4f7fb; border-radius:13px; margin-top:28px; padding:18px; }
.public-legal-help strong { font-size:.78rem; }
.public-legal-help p { margin:6px 0 0; }
.public-legal-help a { color:var(--public-blue); font-weight:800; }

/* YouTube-style public watch workspace. */
.public-youtube-layout { align-items:start; display:grid; gap:24px; grid-template-columns:minmax(0,1fr) minmax(330px,380px); }
.public-watch-main { min-width:0; }
.public-video-summary, .public-watch-section { background:#fff; border:1px solid var(--public-line); border-radius:18px; box-shadow:0 12px 34px rgba(15,31,53,.05); margin-top:16px; padding:22px; }
.public-video-heading { align-items:flex-start; display:flex; gap:22px; justify-content:space-between; }
.public-video-title h1 { font-size:1.55rem; letter-spacing:-.04em; margin:0 0 7px; }
.public-video-title p { align-items:center; color:var(--public-muted); display:flex; flex-wrap:wrap; font-size:.72rem; gap:6px; margin:0; }
.public-video-title p strong { color:#31465f; }
.public-video-title p i { font-style:normal; }
.public-current-dot { background:#ef4056; border-radius:50%; box-shadow:0 0 0 5px rgba(239,64,86,.12); height:7px; margin-right:2px; width:7px; }
.public-owner-chip { align-items:center; display:flex; flex:0 0 auto; gap:10px; }
.public-owner-chip img, .public-owner-chip > span { align-items:center; background:#e9f0fb; border-radius:50%; color:var(--public-blue); display:flex; font-size:.85rem; font-weight:900; height:44px; justify-content:center; object-fit:contain; width:44px; }
.public-owner-chip div { display:flex; flex-direction:column; }
.public-owner-chip div strong { font-size:.78rem; }
.public-owner-chip div small { color:var(--public-muted); font-size:.62rem; margin-top:3px; }
.public-owner-chip > b { align-items:center; background:#265ddd; border-radius:50%; color:#fff; display:flex; font-size:.55rem; height:17px; justify-content:center; margin-left:-15px; margin-top:-31px; width:17px; }
.public-engagement-actions { border-top:1px solid #edf1f5; display:grid; gap:9px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:20px; padding-top:17px; }
.public-engagement-actions button, .public-engagement-actions a { align-items:center; background:#f3f6fa; border:1px solid #e2e8f0; border-radius:99px; color:#263b55; cursor:pointer; display:flex; font-size:.68rem; gap:6px; justify-content:center; min-height:42px; padding:9px 12px; text-decoration:none; }
.public-engagement-actions button:hover, .public-engagement-actions a:hover { background:#eaf0f9; }
.public-engagement-actions button.active { background:#eaf1ff; border-color:#9db8f5; color:#1e54cc; }
.public-engagement-actions span { font-size:1rem; line-height:1; }
.public-engagement-actions b { font-size:.67rem; }
.public-engagement-actions em { color:#6a7b91; font-size:.63rem; font-style:normal; font-weight:700; }
.public-engagement-actions button:disabled { cursor:wait; opacity:.65; }
.public-engagement-message { color:#2c6d55; font-size:.66rem; min-height:1em; margin:9px 3px 0; }
.public-engagement-message.error { color:#a43c47; }
.public-channel-about { background:#f5f7fa; border-radius:13px; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) minmax(230px,.55fr); margin-top:10px; padding:18px; }
.public-channel-description-block h2 { font-size:.83rem; margin:0 0 7px; }
.public-channel-description-block p { color:#52657d; font-size:.73rem; line-height:1.7; margin:0; white-space:pre-line; }
.public-channel-about dl { margin:0; }
.public-channel-about dl div { display:flex; font-size:.66rem; gap:12px; justify-content:space-between; padding:5px 0; }
.public-channel-about dt { color:var(--public-muted); }
.public-channel-about dd { font-weight:750; margin:0; overflow-wrap:anywhere; text-align:right; }
.public-about-links { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; }
.public-about-links button, .public-about-links a { background:#fff; border:1px solid var(--public-line); border-radius:8px; color:#39516f; cursor:pointer; font-size:.65rem; padding:8px 10px; text-decoration:none; }
.public-watch-section { margin-top:16px; }
.public-watch-section-heading { align-items:flex-end; display:flex; gap:20px; justify-content:space-between; margin-bottom:17px; }
.public-watch-section-heading h2 { font-size:1.3rem; letter-spacing:-.035em; margin:6px 0 0; }
.public-watch-section-heading > span { color:var(--public-muted); font-size:.62rem; }
.public-programme-card .public-schedule-list { border-radius:12px; }
.public-comments-section { scroll-margin-top:95px; }
.public-comment-form { align-items:flex-start; border-bottom:1px solid #edf1f5; display:grid; gap:12px; grid-template-columns:42px 1fr; margin-bottom:4px; padding-bottom:20px; }
.public-comment-form > span, .public-comment-item > span { align-items:center; background:linear-gradient(135deg,#2457d6,#18b6ce); border-radius:50%; color:#fff; display:flex; flex:0 0 auto; font-size:.72rem; font-weight:850; height:42px; justify-content:center; width:42px; }
.public-comment-fields { display:grid; gap:10px; grid-template-columns:minmax(130px,.35fr) minmax(0,1fr); }
.public-comment-fields label { display:flex; flex-direction:column; gap:5px; }
.public-comment-fields b { color:#435870; font-size:.62rem; }
.public-comment-fields input, .public-comment-fields textarea { background:#f7f9fc; border:1px solid var(--public-line); border-radius:9px; color:var(--public-ink); font:inherit; font-size:.72rem; min-height:42px; padding:10px 11px; resize:vertical; width:100%; }
.public-comment-form .public-button { float:right; margin-top:10px; }
.public-comment-list { display:flex; flex-direction:column; }
.public-comment-item { display:grid; gap:12px; grid-template-columns:42px 1fr; padding:18px 0; }
.public-comment-item + .public-comment-item { border-top:1px solid #edf1f5; }
.public-comment-item > span { background:#e8eef8; color:#375479; }
.public-comment-item header { align-items:center; display:flex; flex-wrap:wrap; gap:8px; }
.public-comment-item header strong { font-size:.72rem; }
.public-comment-item time { color:#8492a5; font-size:.6rem; }
.public-comment-item p { color:#334960; font-size:.73rem; line-height:1.65; margin:8px 0 0; }
.public-comment-item small { color:#6c7d92; display:block; font-size:.62rem; margin-top:8px; }
.public-comment-empty { color:var(--public-muted); font-size:.72rem; padding:26px 0 7px; text-align:center; }
.public-related-sidebar { min-width:0; position:sticky; top:96px; }
.public-related-heading { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:15px; }
.public-related-heading h2 { font-size:1.45rem; letter-spacing:-.04em; margin:5px 0 0; }
.public-related-heading > span { color:var(--public-muted); font-size:.62rem; }
.public-related-list { display:flex; flex-direction:column; gap:13px; }
.public-related-item { align-items:start; display:grid; gap:11px; grid-template-columns:minmax(138px,46%) minmax(0,1fr); }
.public-related-art { aspect-ratio:16/9; background:linear-gradient(135deg,#10213c,#244d75); border-radius:11px; color:#fff; display:block; overflow:hidden; position:relative; text-decoration:none; }
.public-related-art img { height:100%; object-fit:cover; width:100%; }
.public-related-art > span { align-items:center; display:flex; font-size:1.4rem; font-weight:900; height:100%; justify-content:center; }
.public-related-art em { align-items:center; background:#df344b; border-radius:4px; display:flex; font-size:.48rem; font-style:normal; font-weight:900; gap:4px; left:7px; padding:4px 5px; position:absolute; top:7px; }
.public-related-art em i { background:#fff; border-radius:50%; height:4px; width:4px; }
.public-related-art > b { align-items:center; background:rgba(0,0,0,.52); border-radius:50%; display:flex; font-size:.6rem; height:32px; justify-content:center; left:50%; opacity:0; position:absolute; top:50%; transform:translate(-50%,-50%); transition:opacity .15s; width:32px; }
.public-related-art:hover > b { opacity:1; }
.public-related-item > div { min-width:0; padding-top:2px; }
.public-related-item > div > a { display:-webkit-box; font-size:.75rem; font-weight:800; line-height:1.35; overflow:hidden; text-decoration:none; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.public-related-item > div > a:hover { color:var(--public-blue); }
.public-related-item p { color:var(--public-muted); font-size:.61rem; line-height:1.45; margin:6px 0 3px; }
.public-related-item small { color:#3e6d61; font-size:.55rem; font-weight:750; }
.public-sidebar-categories { border-top:1px solid var(--public-line); margin-top:25px; padding-top:22px; }
.public-category-strip { display:flex; gap:9px; overflow-x:auto; overscroll-behavior-inline:contain; padding:2px 1px 8px; scrollbar-color:#aebdce transparent; scrollbar-width:thin; }
.public-category-strip a { align-items:center; background:var(--public-panel); border:1px solid var(--public-line); border-radius:12px; display:grid; flex:0 0 132px; gap:2px; grid-template-columns:34px minmax(0,1fr); padding:9px; text-decoration:none; }
.public-category-strip a.active { border-color:#78a0f2; box-shadow:0 0 0 2px rgba(36,87,214,.1); }
.public-category-strip img, .public-category-strip a > span { align-items:center; background:#e8f0fc; border-radius:8px; color:var(--public-blue); display:flex; font-size:.72rem; font-weight:900; grid-row:1/3; height:34px; justify-content:center; object-fit:contain; width:34px; }
.public-category-strip strong { font-size:.66rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.public-category-strip small { color:var(--public-muted); font-size:.55rem; }

html[data-theme="dark"] { color-scheme:dark; --public-bg:#07111f; --public-ink:#eef4fd; --public-muted:#98a8bd; --public-line:#25364b; --public-panel:#101d2e; }
html[data-theme="dark"] .public-watch-page { background:linear-gradient(180deg,#081525,#07111f); }
html[data-theme="dark"] .public-featured-section,
html[data-theme="dark"] .public-category-section,
html[data-theme="dark"] .public-programme-section { background:#0a1625; }
html[data-theme="dark"] .public-search-card,
html[data-theme="dark"] .public-empty-state,
html[data-theme="dark"] .public-compact-empty,
html[data-theme="dark"] .public-pagination a,
html[data-theme="dark"] .public-live-player,
html[data-theme="dark"] .public-channel-panel,
html[data-theme="dark"] .public-video-summary,
html[data-theme="dark"] .public-watch-section { background:var(--public-panel); }
html[data-theme="dark"] .public-search-card input,
html[data-theme="dark"] .public-search-card select,
html[data-theme="dark"] .public-comment-fields input,
html[data-theme="dark"] .public-comment-fields textarea { background:#0a1625; border-color:var(--public-line); color:var(--public-ink); }
html[data-theme="dark"] .public-search-card label span,
html[data-theme="dark"] .public-comment-fields b,
html[data-theme="dark"] .public-video-title p strong,
html[data-theme="dark"] .public-comment-item p { color:#c4d0df; }
html[data-theme="dark"] .public-channel-about { background:#0a1625; }
html[data-theme="dark"] .public-channel-description-block p { color:#aab9cc; }
html[data-theme="dark"] .public-engagement-actions,
html[data-theme="dark"] .public-comment-form,
html[data-theme="dark"] .public-comment-item + .public-comment-item { border-color:var(--public-line); }
html[data-theme="dark"] .public-engagement-actions button,
html[data-theme="dark"] .public-engagement-actions a,
html[data-theme="dark"] .public-about-links button,
html[data-theme="dark"] .public-about-links a,
html[data-theme="dark"] .public-share-actions button,
html[data-theme="dark"] .public-share-actions a { background:#17263a; border-color:#2b3e55; color:#d8e3f1; }
html[data-theme="dark"] .public-engagement-actions button:hover,
html[data-theme="dark"] .public-engagement-actions a:hover { background:#20324a; }
html[data-theme="dark"] .public-engagement-actions button.active { background:#162e61; border-color:#4d78d8; color:#bcd0ff; }
html[data-theme="dark"] .public-channel-badges span { background:#17263a; color:#c8d6e8; }
html[data-theme="dark"] .public-channel-meta div { border-color:var(--public-line); }
html[data-theme="dark"] .public-schedule-list article.current { background:#12284a; }
html[data-theme="dark"] .public-ad-placeholder { background:linear-gradient(135deg,#0c1929,#122238); border-color:#3a4d65; }
html[data-theme="dark"] .public-ad-delivery { background:#0c1929; border-color:#2b3e55; box-shadow:none; }
html[data-theme="dark"] .public-ad-placeholder > span,
html[data-theme="dark"] .public-ad-placeholder b { background:#1e3047; color:#aebed1; }
html[data-theme="dark"] .public-ad-placeholder strong { color:#c5d2e3; }
html[data-theme="dark"] .public-category-grid a,
html[data-theme="dark"] .public-category-strip a { background:var(--public-panel); }
html[data-theme="dark"] .public-category-grid img,
html[data-theme="dark"] .public-category-grid a > span,
html[data-theme="dark"] .public-category-strip img,
html[data-theme="dark"] .public-category-strip a > span,
html[data-theme="dark"] .public-channel-title img,
html[data-theme="dark"] .public-channel-title > span,
html[data-theme="dark"] .public-owner-chip img,
html[data-theme="dark"] .public-owner-chip > span { background:#192b43; }
html[data-theme="dark"] .public-player-note { background:#2b220e; border-color:#57471d; color:#f0d27c; }
html[data-theme="dark"] .public-not-found span { color:#26384d; }
html[data-theme="dark"] .public-legal-nav a.active { background:#162e61; color:#c6d7ff; }
html[data-theme="dark"] .public-legal-number { background:#192f59; color:#c6d7ff; }
html[data-theme="dark"] .public-contact-grid > div,
html[data-theme="dark"] .public-legal-help { background:#0a1625; }
html[data-theme="dark"] .public-legal-notice { background:#2b220e; border-color:#57471d; color:#f0d27c; }
html[data-theme="dark"] .channel-modal-panel { background:#101d2e; border-color:#2a3a4f; color:#eef4fd; }
html[data-theme="dark"] .channel-modal-header,
html[data-theme="dark"] .channel-modal-footer { border-color:#2a3a4f; }
html[data-theme="dark"] .channel-modal-header h2 { color:#eef4fd; }
html[data-theme="dark"] .channel-modal-header span,
html[data-theme="dark"] .channel-modal-footer { color:#98a8bd; }
html[data-theme="dark"] .channel-modal-close { background:#203047; color:#fff; }

@media (max-width: 1050px) {
    .public-hero-grid { gap:35px; grid-template-columns:1fr minmax(340px,.8fr); }
    .public-channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-search-card { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-search-card .public-button { align-self:end; }
    .public-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-youtube-layout { grid-template-columns:minmax(0,1fr) 320px; }
    .public-related-item { grid-template-columns:130px minmax(0,1fr); }
}

@media (max-width: 800px) {
    .public-menu-button { display:flex; flex-direction:column; }
    .public-navigation { background:#0b1b32; border-bottom:1px solid rgba(255,255,255,.08); display:none; left:0; padding:12px 20px 20px; position:absolute; right:0; top:74px; }
    .public-navigation.open { display:grid; }
    .public-navigation .public-nav-cta { margin-left:0; text-align:center; }
    .public-hero-grid { grid-template-columns:1fr; min-height:0; }
    .public-hero-visual { display:none; }
    .public-watch-grid, .public-programme-grid { grid-template-columns:1fr; }
    .public-owner-cta .public-container { align-items:flex-start; flex-direction:column; }
    .public-youtube-layout { grid-template-columns:1fr; }
    .public-related-sidebar { margin-top:16px; position:static; }
    .public-related-list { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-related-item { grid-template-columns:minmax(120px,44%) minmax(0,1fr); }
    .public-ad-companion { min-height:100px; }
    .public-legal-layout { grid-template-columns:1fr; }
    .public-legal-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:static; }
    .public-legal-nav > strong { grid-column:1/-1; }
    .public-contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
    .public-container { padding-left:16px; padding-right:16px; }
    .public-nav-wrap { height:66px; }
    .public-navigation { top:66px; }
    .public-brand strong { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .public-brand img, .public-brand > span { height:38px; width:38px; }
    .public-theme-toggle { flex-basis:36px; height:36px; width:36px; }
    .public-hero-grid { padding-bottom:62px; padding-top:62px; }
    .public-hero-copy h1 { font-size:2.65rem; }
    .public-hero-copy > p { font-size:.9rem; }
    .public-hero-actions .public-button { width:100%; }
    .public-trust-row { align-items:flex-start; flex-direction:column; }
    .public-section { padding:58px 0; }
    .public-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
    .public-channel-grid, .public-category-grid, .public-search-card, .public-footer-grid { grid-template-columns:1fr; }
    .public-search-card .public-button, .public-filter-reset { width:100%; }
    .public-footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; }
    .public-social-dock { bottom:10px; gap:5px; left:8px; padding:5px; }
    .public-social-link { height:36px; width:36px; }
    .public-social-link svg { height:20px; width:20px; }
    .public-player-frame { min-height:220px; }
    .public-channel-panel { padding:17px; }
    .public-channel-profile { align-items:flex-start; }
    .public-schedule-list article { grid-template-columns:70px 1fr; }
    .public-schedule-list article > small { grid-column:2; }
    .public-video-summary, .public-watch-section { border-radius:14px; padding:16px; }
    .public-video-heading { flex-direction:column; }
    .public-owner-chip { width:100%; }
    .public-engagement-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-channel-about { grid-template-columns:1fr; padding:15px; }
    .public-channel-about dl, .public-about-links { grid-column:1; }
    .public-watch-section-heading { align-items:flex-start; flex-direction:column; gap:5px; }
    .public-comment-fields { grid-template-columns:1fr; }
    .public-comment-form { grid-template-columns:36px 1fr; }
    .public-comment-form > span, .public-comment-item > span { height:36px; width:36px; }
    .public-comment-item { grid-template-columns:36px 1fr; }
    .public-related-list { grid-template-columns:1fr; }
    .public-related-item { grid-template-columns:140px minmax(0,1fr); }
    .public-player-caption p { -webkit-line-clamp:2; }
    .public-player-caption-status[data-state="error"], .public-player-caption-status[data-state="warning"] { max-width:42%; }
    .public-ad-placeholder { min-height:100px; padding-inline:12px; }
    .public-legal-hero { padding:58px 0 50px; }
    .public-legal-section { padding:30px 0 55px; }
    .public-legal-nav { display:flex; flex-direction:row; overflow-x:auto; padding:8px; }
    .public-legal-nav > strong { display:none; }
    .public-legal-nav a { flex:0 0 auto; gap:12px; }
    .public-legal-card { border-radius:16px; padding:22px 17px; }
    .public-legal-card > section { gap:10px; grid-template-columns:32px minmax(0,1fr); padding-bottom:25px; }
    .public-legal-card > section + section { padding-top:25px; }
    .public-legal-number { height:28px; width:28px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { transition:none !important; }
}

/* Managed Android app downloads and live platform counters. */
.public-app-section { background:linear-gradient(180deg,var(--public-bg),#edf3fb); scroll-margin-top:74px; }
.public-app-heading > div { max-width:690px; }
.public-app-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-app-card { background:var(--public-panel); border:1px solid var(--public-line); border-radius:22px; box-shadow:0 18px 50px rgba(15,31,53,.07); display:grid; grid-template-columns:minmax(190px,.76fr) minmax(0,1fr); min-height:285px; overflow:hidden; position:relative; }
.public-app-card.featured::after { background:#ef4056; border-radius:0 0 0 10px; color:#fff; content:"Featured"; font-size:.55rem; font-weight:850; letter-spacing:.06em; padding:7px 10px; position:absolute; right:0; text-transform:uppercase; top:0; }
.public-app-art { background:linear-gradient(145deg,#0a1730,#123f60); min-height:285px; overflow:hidden; position:relative; }
.public-app-art::after { background:linear-gradient(180deg,transparent,rgba(1,8,18,.76)); bottom:0; content:""; left:0; position:absolute; right:0; top:0; }
.public-app-art img { height:100%; object-fit:cover; width:100%; }
.public-app-art > span { align-items:center; color:#fff; display:flex; font-size:2.3rem; font-weight:900; height:100%; justify-content:center; }
.public-app-art b { bottom:18px; color:#fff; font-size:.62rem; left:18px; letter-spacing:.08em; position:absolute; text-transform:uppercase; z-index:1; }
.public-app-content { align-items:flex-start; display:flex; flex-direction:column; justify-content:center; min-width:0; padding:28px; }
.public-app-platform { color:var(--public-blue); font-size:.6rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.public-app-content h3 { font-size:1.42rem; letter-spacing:-.04em; margin:8px 0; }
.public-app-content p { color:var(--public-muted); display:-webkit-box; font-size:.72rem; line-height:1.65; margin:0 0 16px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.public-app-meta { color:var(--public-muted); display:flex; flex-wrap:wrap; font-size:.58rem; gap:6px 12px; margin-bottom:18px; }
.public-app-meta span + span::before { content:"•"; margin-right:12px; }
.public-app-coming { background:var(--public-bg); border:1px solid var(--public-line); border-radius:99px; color:var(--public-muted); font-size:.65rem; font-weight:800; padding:9px 13px; }
.public-platform-stats { background:#091a31; border:1px solid rgba(255,255,255,.08); border-radius:20px; color:#fff; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:24px; overflow:hidden; }
.public-platform-stats article { min-width:0; padding:24px 18px; text-align:center; }
.public-platform-stats article + article { border-left:1px solid rgba(255,255,255,.1); }
.public-platform-stats strong { display:block; font-size:1.45rem; letter-spacing:-.04em; }
.public-platform-stats span { color:#9fb0c6; display:block; font-size:.58rem; margin-top:5px; text-transform:uppercase; }
html[data-theme="dark"] .public-app-section { background:linear-gradient(180deg,#07111f,#0a1625); }
html[data-theme="dark"] .public-app-card { box-shadow:none; }
html[data-theme="dark"] .public-app-coming { background:#0a1625; }

@media (max-width:1050px) {
    .public-app-card { grid-template-columns:150px minmax(0,1fr); }
    .public-platform-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .public-platform-stats article:nth-child(4), .public-platform-stats article:nth-child(5) { border-top:1px solid rgba(255,255,255,.1); }
}

@media (max-width:800px) {
    .public-app-grid { grid-template-columns:1fr; }
    .public-app-card { grid-template-columns:minmax(170px,.65fr) minmax(0,1fr); }
}

@media (max-width:600px) {
    .public-app-card { grid-template-columns:1fr; }
    .public-app-art { aspect-ratio:16/8; min-height:0; }
    .public-app-content { padding:22px; }
    .public-app-content .public-button { width:100%; }
    .public-platform-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-platform-stats article { border-bottom:1px solid rgba(255,255,255,.1); padding:18px 12px; }
    .public-platform-stats article:nth-child(odd) { border-left:0; }
    .public-platform-stats article:last-child { border-bottom:0; grid-column:1/-1; }
}
