:root{--ink:#07111f;--ink-2:#10243d;--muted:#64748b;--line:#dfe7ef;--surface:#fff;--soft:#f4f8fb;--brand:#0fb982;--brand-dark:#087e5c;--blue:#2b67f6;--radius:22px;--shadow:0 18px 55px rgba(7,17,31,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.7}h1,h2,h3,h4,.navbar-brand,.footer-brand{font-family:"Sora",sans-serif;letter-spacing:-.035em}a{color:#0b63ce;text-underline-offset:3px}.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.75rem 1rem;border-radius:.5rem}.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(223,231,239,.8)}.navbar{min-height:74px}.navbar-brand,.footer-brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.45rem}.navbar-brand em,.footer-brand em{font-style:normal;color:var(--brand);font-weight:600}.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#60e2b9);color:#042d23;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.nav-link{font-weight:700;color:#27364a!important;padding:.65rem .8rem!important}.nav-link:hover{color:var(--brand-dark)!important}.btn-nav{background:var(--ink);color:#fff;border-radius:999px;padding:.63rem 1rem;font-weight:700}.btn-nav:hover{background:var(--ink-2);color:#fff}.dropdown-menu{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:.6rem}.dropdown-item{border-radius:10px;padding:.6rem .8rem;font-weight:600}.hero-home{padding:90px 0 80px;background:radial-gradient(circle at 85% 20%,rgba(15,185,130,.18),transparent 28%),radial-gradient(circle at 75% 80%,rgba(43,103,246,.12),transparent 30%),linear-gradient(180deg,#f8fbfd 0%,#fff 100%);overflow:hidden;position:relative}.hero-home:after{content:"#EXTM3U";position:absolute;right:-1rem;top:2rem;font:800 8rem/1 "Sora";color:rgba(7,17,31,.028);transform:rotate(-6deg)}.hero-inner{padding:58px 0 62px;background:linear-gradient(180deg,#f7fafc,#fff)}.hero-copy{max-width:860px}.hero-home .hero-copy{max-width:900px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--brand-dark)}.hero-copy h1{font-size:clamp(2.45rem,6vw,5.25rem);line-height:1.02;margin:.65rem 0 1.2rem;max-width:1000px}.hero-inner h1{font-size:clamp(2.2rem,4.7vw,4.2rem)}.hero-copy>p{font-size:1.2rem;max-width:790px;color:#4d6074;line-height:1.65}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem}.btn-primary{background:var(--brand);border-color:var(--brand);color:#062b22;font-weight:800}.btn-primary:hover,.btn-primary:focus{background:#10a978;border-color:#10a978;color:#041d17}.btn-ghost{border:1px solid #cbd8e5;background:#fff;color:var(--ink);font-weight:800}.btn-ghost:hover{background:#f5f8fb;border-color:#b6c7d7}.trust-row{display:flex;gap:1.35rem;flex-wrap:wrap;margin-top:2rem;color:#4b5f73;font-weight:700;font-size:.92rem}.trust-row i{color:var(--brand-dark);margin-right:.35rem}.section-pad{padding:72px 0}.bg-soft{background:var(--soft)}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.display-6{font-weight:700}.feature-link{display:grid;grid-template-columns:48px 1fr auto;gap:.85rem;align-items:center;padding:1rem;border-radius:16px;text-decoration:none;color:var(--ink);border:1px solid var(--line);transition:.2s}.feature-link:hover{transform:translateY(-2px);border-color:#b8d9cd;box-shadow:0 10px 28px rgba(7,17,31,.07)}.feature-link>span{width:46px;height:46px;border-radius:13px;background:#eaf9f3;color:var(--brand-dark);display:grid;place-items:center;font-size:1.25rem}.feature-link strong{display:block}.feature-link small{display:block;color:var(--muted);font-size:.84rem;margin-top:.15rem}.guide-stack{display:flex;flex-direction:column}.guide-stack a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;text-decoration:none;color:#26384c;font-weight:700;border-bottom:1px solid var(--line)}.guide-stack a:last-child{border:0}.guide-stack a:hover{color:var(--brand-dark)}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading h2{font-size:clamp(2rem,4vw,3rem);margin:.55rem 0 .8rem}.section-heading p{color:var(--muted);font-size:1.08rem}.playlist-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem;box-shadow:0 10px 30px rgba(7,17,31,.04)}.playlist-card h3{font-size:1.15rem;margin:1rem 0 .45rem}.playlist-card p{color:var(--muted);min-height:48px}.playlist-card a{text-decoration:none;font-weight:800;color:var(--brand-dark)}.text-bg-success-subtle{background:#e7f8f2!important;color:#087656!important}.text-link{font-weight:800;text-decoration:none;color:var(--brand-dark)}.terminal-card{background:#07111f;border-radius:22px;padding:0;overflow:hidden;box-shadow:0 25px 60px rgba(7,17,31,.2)}.terminal-top{display:flex;gap:.45rem;padding:1rem;background:#0d1b2c}.terminal-top span{width:10px;height:10px;border-radius:50%;background:#405064}.terminal-card pre{margin:0;padding:2rem;color:#9ee9d2;font-size:.95rem;white-space:pre-wrap}.breadcrumb-wrap{padding-top:1rem}.breadcrumb{font-size:.88rem;margin:0}.breadcrumb a{color:#65778a;text-decoration:none}.breadcrumb-item.active{color:#2c3d50}.article-layout{max-width:1180px;margin:0 auto;padding:0 12px 78px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px}.article-main{max-width:780px}.article-main h2{font-size:clamp(1.65rem,3vw,2.25rem);margin:2.4rem 0 .85rem}.article-main h3{font-size:1.35rem;margin:1.9rem 0 .6rem}.article-main p,.article-main li{font-size:1.06rem;color:#304256}.article-main code{background:#eef4f8;color:#0b5c47;padding:.12rem .38rem;border-radius:6px}.article-aside{position:relative}.aside-sticky{position:sticky;top:96px}.aside-card{border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;margin-top:1rem}.aside-card strong{display:block;margin-bottom:.4rem}.aside-card a{display:block;padding:.55rem 0;color:#40536a;text-decoration:none;border-bottom:1px solid #edf1f5}.aside-card a:last-child{border-bottom:0}.ad-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(135deg,#f6f8fa,#f6f8fa 12px,#f1f4f7 12px,#f1f4f7 24px);border:1px dashed #c9d4df;border-radius:14px;color:#8593a2;min-height:120px}.ad-slot span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.ad-slot small{font-size:.76rem}.ad-leaderboard{max-width:970px;min-height:96px;margin:0 auto}.ad-inarticle{min-height:250px;margin:2.4rem 0}.ad-rail{min-height:520px}.notice{display:flex;gap:1rem;padding:1.1rem 1.2rem;border-radius:16px;margin:1.5rem 0}.notice i{font-size:1.35rem}.notice-info{background:#edf6ff;border:1px solid #cfe7ff;color:#27496a}.notice-warning{background:#fff7e6;border:1px solid #f4dfae;color:#624d19}.playlist-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;margin:1.5rem 0}.playlist-table{margin:0;min-width:650px}.playlist-table th{background:#f5f8fa;color:#546679;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;padding:1rem}.playlist-table td{padding:1rem}.playlist-table td strong,.playlist-table td small{display:block}.playlist-table td small{color:var(--muted)}.format-pill{font:700 .78rem "DM Sans";background:#eef4f8;padding:.25rem .55rem;border-radius:999px}.steps{list-style:none;padding:0;margin:1.3rem 0}.steps li{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.steps li>span{width:38px;height:38px;border-radius:12px;background:#e9f8f3;color:var(--brand-dark);display:grid;place-items:center;font-weight:800}.steps strong{display:block;color:var(--ink);font-size:1.05rem}.steps p{margin:.1rem 0 0}.check-list{padding-left:0;list-style:none}.check-list li{position:relative;padding:.45rem 0 .45rem 1.8rem}.check-list li:before{content:"✓";position:absolute;left:0;top:.45rem;width:1.2rem;height:1.2rem;border-radius:50%;display:grid;place-items:center;background:#e5f8f1;color:#087656;font-size:.72rem;font-weight:900}.check-list.danger li:before{content:"!";background:#fff0e8;color:#a3440e}.resource-box{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:1.2rem;border:1px solid var(--line);border-radius:18px;background:#fbfdfe;margin:1.5rem 0}.resource-box>div:first-child{display:flex;align-items:center;gap:.9rem}.resource-icon{width:48px;height:48px;border-radius:14px;background:#e9f8f3;color:var(--brand-dark);display:grid;place-items:center;font-size:1.3rem}.resource-box strong,.resource-box small{display:block}.resource-box small{color:var(--muted);word-break:break-all}.mini-card{height:100%;border:1px solid var(--line);border-radius:16px;padding:1.2rem}.mini-card>i{font-size:1.5rem;color:var(--brand-dark)}.mini-card strong{display:block;margin:.5rem 0 .25rem}.mini-card p{font-size:.95rem;margin:0}.code-block{position:relative;background:#07111f;color:#d5f5e9;border-radius:18px;padding:1.4rem;margin:1.3rem 0;overflow:auto}.code-block pre{margin:0;white-space:pre-wrap}.copy-code{position:absolute;right:.8rem;top:.8rem;border:1px solid #324155;background:#122338;color:#dbe7f3;border-radius:8px;padding:.35rem .6rem;font-size:.78rem}.data-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.data-table th{background:#f5f8fa}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.comparison-card{border:1px solid var(--line);border-radius:18px;padding:1.4rem;background:#fbfdfe}.comparison-card>span{font:800 .82rem "Sora";letter-spacing:.08em;color:var(--brand-dark)}.comparison-card h2{font-size:1.4rem;margin:.5rem 0!important}.comparison-card p{font-size:.96rem;margin:0}.tool-card{border:1px solid var(--line);border-radius:22px;padding:1.5rem;background:#fff;box-shadow:var(--shadow)}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;background:#fbfdff}.tool-results{border-radius:14px;padding:1rem;background:#f2f7fa}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.result-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem}.result-stat strong{font:800 1.6rem "Sora";display:block}.result-stat small{color:var(--muted)}.contact-card{height:100%;border:1px solid var(--line);border-radius:18px;padding:1.5rem}.contact-card>i{font-size:1.7rem;color:var(--brand-dark)}.contact-card h2{font-size:1.25rem;margin:.7rem 0 .4rem}.newsletter-strip{background:linear-gradient(135deg,#07111f,#102a3f);color:#fff;padding:38px 0}.newsletter-strip .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.newsletter-strip h2{margin:.25rem 0 0;font-size:clamp(1.4rem,3vw,2.1rem)}.newsletter-strip .kicker{color:#8ce5ca}.site-footer{background:#050c16;color:#aebccc;padding:58px 0 22px}.footer-brand{color:#fff;margin-bottom:1rem}.site-footer p{max-width:520px}.site-footer h2{font-size:.95rem;color:#fff;margin-bottom:.85rem}.site-footer a{display:block;color:#aebccc;text-decoration:none;padding:.25rem 0}.site-footer a:hover{color:#fff}.footer-links-grid{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{display:flex;justify-content:space-between;gap:1.5rem;border-top:1px solid #1c2937;margin-top:2rem;padding-top:1.2rem;font-size:.8rem}.cookie-bar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1050;max-width:760px;margin:auto;background:#0b1725;color:#fff;border:1px solid #25374a;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.28);padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.cookie-bar p{margin:.15rem 0 0;font-size:.86rem;color:#c6d1dc}.cookie-bar.hidden{display:none}@media(max-width:991.98px){.article-layout{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.article-aside{display:none}.hero-home{padding:70px 0}.ad-leaderboard{min-height:100px}.navbar-collapse{padding:1rem 0}.comparison-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767.98px){.section-pad{padding:52px 0}.hero-copy>p{font-size:1.05rem}.hero-home:after{display:none}.newsletter-strip .container,.footer-bottom,.cookie-bar{align-items:flex-start;flex-direction:column}.ad-leaderboard{min-height:100px}.cookie-bar{left:.65rem;right:.65rem}.result-grid{grid-template-columns:1fr 1fr}.article-main p,.article-main li{font-size:1rem}.playlist-card p{min-height:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-link{transition:none}}
/* Phase 2 authority expansion */
.article-hero{max-width:930px}.article-meta{display:flex;gap:1.1rem;flex-wrap:wrap;color:#607287;font-size:.9rem;font-weight:700;margin-top:1.5rem}.article-meta i{color:var(--brand-dark);margin-right:.3rem}.answer-box{border-left:4px solid var(--brand);background:#f0faf6;padding:1.2rem 1.35rem;border-radius:0 16px 16px 0;margin-bottom:2rem}.answer-box>span{font:800 .75rem "Sora";letter-spacing:.09em;text-transform:uppercase;color:var(--brand-dark)}.answer-box p{margin:.35rem 0 0!important;color:#213b35!important}.toc-card a{font-size:.9rem}.tool-cta{border:1px solid #bfe6d9;background:linear-gradient(135deg,#f0fbf7,#f7fbff);border-radius:20px;padding:1.5rem;margin:2.5rem 0}.tool-cta h2{margin:.3rem 0!important}.tool-cta p{margin-bottom:1rem}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.related-grid>a{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:1rem 2.4rem 1rem 1rem;text-decoration:none;color:var(--ink)}.related-grid>a span{font-size:.72rem;color:var(--brand-dark);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.related-grid>a strong{line-height:1.35;margin-top:.25rem}.related-grid>a i{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.hub-card{display:block;position:relative;border:1px solid var(--line);border-radius:20px;padding:1.4rem;text-decoration:none;color:var(--ink);background:#fff;box-shadow:0 8px 25px rgba(7,17,31,.035);transition:.2s}.hub-card:hover{transform:translateY(-3px);border-color:#b7ddcf;box-shadow:0 15px 35px rgba(7,17,31,.075);color:var(--ink)}.hub-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eaf9f3;color:var(--brand-dark);font-size:1.2rem;margin-bottom:1rem}.content-tag{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;font-weight:800;color:var(--brand-dark)}.hub-card h3{font-size:1.12rem;line-height:1.35;margin:.45rem 0}.hub-card p{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}.hub-link{font-weight:800;color:var(--brand-dark);font-size:.88rem}.reference-signature{font-size:1.05rem;background:#f1f6f9;border:1px solid var(--line);border-radius:16px;padding:1.1rem;margin-bottom:2rem;overflow:auto}.reference-signature code{background:none;padding:0;white-space:pre-wrap}
.tool-container{max-width:1120px}.tool-hero h1 i{color:var(--brand-dark);font-size:.8em}.tool-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tool-topline h2{font-size:1.35rem;margin:.35rem 0 0}.tool-private{font-size:.78rem;font-weight:800;color:var(--brand-dark)}.tool-private i{margin-right:.3rem}.tool-input-actions{display:flex;gap:.45rem;flex-wrap:wrap}.tool-output:empty{display:none}.tool-table-wrap{border:1px solid var(--line);border-radius:14px;margin-top:1rem;max-height:520px}.tool-table{margin:0;font-size:.9rem}.tool-table th{position:sticky;top:0;background:#f5f8fa;z-index:1;white-space:nowrap}.tool-table td{vertical-align:middle}.tool-table .url-cell{max-width:360px;overflow-wrap:anywhere}.output-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.6rem}.output-toolbar>div{display:flex;gap:.4rem}.output-code{max-height:420px}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.analysis-grid>div{border:1px solid var(--line);border-radius:14px;padding:1rem}.analysis-grid h3{font-size:1rem;margin:0 0 .8rem}.metric-list{list-style:none;padding:0;margin:0}.metric-list li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.metric-list li:last-child{border:0}.metric-list span{color:var(--muted)}.health-head{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.2rem}.health-head h3{margin:0 0 .25rem}.health-head p{margin:0;color:var(--muted)}.health-score{width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-content:center;text-align:center;border:7px solid}.health-score strong{font:800 1.8rem/1 "Sora"}.health-score span{font-size:.72rem}.score-good{background:#edf9f5;border-color:#30b98a;color:#087656}.score-mid{background:#fff8e7;border-color:#e4b33b;color:#725509}.score-bad{background:#fff0ed;border-color:#db6d58;color:#8d2d1b}.check-results{display:grid;gap:.6rem;margin-top:1rem}.check-results>div{display:flex;gap:.65rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px}.check-results .ok{color:#0b8e65}.check-results .warn{color:#c47a00}.check-results .info{color:#2b67f6}.steps.compact li{padding:.7rem 0}.tool-explainer h2{margin-top:0}.badge.text-bg-warning{color:#563c00!important}.badge.text-bg-secondary{background:#eef2f6!important;color:#536273!important}.ad-slot+ .tool-explainer{margin-top:1rem}
@media(max-width:991.98px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-grid{grid-template-columns:1fr 1fr}}@media(max-width:767.98px){.hub-grid,.related-grid,.analysis-grid{grid-template-columns:1fr}.tool-topline,.health-head{align-items:flex-start;flex-direction:column}.health-score{width:78px;height:78px;flex-basis:78px}.tool-card{padding:1.1rem}.tool-table{min-width:760px}}


/* Phase 3 public stream directory */
.stream-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.stream-source-card{background:#fff;border:1px solid rgba(16,43,63,.12);border-radius:18px;padding:1.25rem;box-shadow:0 12px 32px rgba(7,17,31,.05);min-width:0}.stream-source-card__top{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.85rem;flex-wrap:wrap}.source-type{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#16627c}.source-reviewed{font-size:.76rem;color:#62727e}.stream-source-card h3{font-size:1.15rem;margin-bottom:.45rem}.stream-source-card p{color:#5c6e79}.playlist-url{background:#07111f;color:#dcecff;border-radius:10px;padding:.75rem;margin:.8rem 0;overflow:auto}.playlist-url code{color:inherit;white-space:nowrap}.card-detail-link{display:block;margin-top:.9rem;font-weight:700;text-decoration:none}.directory-toolbar{display:flex;gap:1rem;align-items:end;margin-bottom:1.5rem;max-width:620px}.directory-toolbar>div:first-child{flex:1}.directory-toolbar--wide{max-width:none;justify-content:space-between}.directory-count{color:#687884}.empty-state{padding:3rem;text-align:center;border:1px dashed #aab9c2;border-radius:18px;color:#60717c}.hub-feature-card{height:100%;display:flex;flex-direction:column;gap:.55rem;padding:1.5rem;border-radius:20px;background:#fff;border:1px solid rgba(16,43,63,.12);text-decoration:none}.hub-feature-card i{font-size:1.7rem}.hub-feature-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.hub-feature-card strong{font-family:'Sora',sans-serif;color:#102b3f}.feature-panel{padding:1.5rem;border-radius:20px;background:#fff;border:1px solid rgba(16,43,63,.1)}.feature-panel i{font-size:1.8rem}.directory-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.directory-link-card{display:flex;gap:1rem;padding:1.15rem;border:1px solid rgba(16,43,63,.1);border-radius:18px;background:#fff}.directory-link-card h3{font-size:1rem;margin:.1rem 0 .3rem}.directory-link-card p{font-size:.86rem;margin:0;color:#657680}.directory-link-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.directory-link-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf7fb;font-size:1.2rem;flex:0 0 auto}.visual-flow{display:flex;flex-direction:column;align-items:center;gap:.7rem;background:#07111f;padding:1.5rem;border-radius:22px;color:#fff}.visual-flow>div{width:100%;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:14px;text-align:center}.visual-flow small{display:block;color:#a9c3d3;margin-top:.25rem}.notice-box{background:#fff8e8;border:1px solid #f2d48d;border-radius:16px;padding:1.1rem}.notice-box p{margin:.45rem 0 0}.author-profile{display:flex;gap:1.3rem;padding:1.5rem;background:#fff;border:1px solid rgba(16,43,63,.1);border-radius:20px}.author-avatar{width:64px;height:64px;border-radius:18px;background:#07111f;color:#fff;display:grid;place-items:center;font-size:1.7rem;flex:0 0 auto}.step-list li{margin-bottom:.8rem}.section-muted{background:#f4f8fa}
@media(max-width:991.98px){.stream-directory-grid,.directory-link-grid{grid-template-columns:1fr 1fr}.directory-toolbar--wide{flex-direction:column;align-items:stretch}.author-profile{flex-direction:column}}
@media(max-width:767.98px){.stream-directory-grid,.directory-link-grid{grid-template-columns:1fr}.directory-toolbar{flex-direction:column;align-items:stretch}.playlist-url code{white-space:normal;overflow-wrap:anywhere}}

/* Phase 4 monitoring and original data */
.monitor-panel{margin:1.5rem 0 2rem;border:1px solid rgba(16,43,63,.14);border-radius:20px;background:linear-gradient(135deg,#fff,#f4faf8);padding:1.35rem;box-shadow:0 12px 34px rgba(7,17,31,.045)}
.monitor-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.monitor-panel__head h3{font-size:1.15rem;margin:.15rem 0 .25rem}.monitor-panel__head p{margin:0;color:#60717c;font-size:.88rem}.monitor-panel__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.monitor-metric{padding:.9rem;border:1px solid rgba(16,43,63,.1);border-radius:14px;background:#fff;min-width:0}.monitor-metric small{display:block;color:#6a7983;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.monitor-metric strong{display:block;font:800 1.18rem 'Sora',sans-serif;margin-top:.3rem;color:#102b3f}.monitor-panel__foot{display:flex;gap:1.25rem;flex-wrap:wrap;border-top:1px solid rgba(16,43,63,.1);margin-top:1rem;padding-top:1rem;color:#61717b;font-size:.82rem}.monitor-panel--empty .monitor-metric strong{color:#7b8991}
.monitor-status{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.34rem .65rem;font-size:.74rem;font-weight:800;white-space:nowrap}.monitor-online{background:#e8f8f1;color:#087556}.monitor-restricted{background:#eef3ff;color:#3158a7}.monitor-limited{background:#fff5dd;color:#8a5c00}.monitor-degraded{background:#fff0dc;color:#9b5b00}.monitor-offline{background:#fff0ed;color:#9b3928}.monitor-unknown{background:#eef2f5;color:#64727b}
.monitor-card-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:.1rem 0 .75rem}.monitor-card-line small{color:#667680}
.monitor-dashboard-state{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem;color:#5f707b}.monitor-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.monitor-dashboard-card{padding:1.25rem;border:1px solid rgba(16,43,63,.11);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(7,17,31,.035)}.monitor-dashboard-card i{font-size:1.3rem;color:var(--brand-dark)}.monitor-dashboard-card small{display:block;color:#697983;margin:.6rem 0 .2rem;font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.monitor-dashboard-card strong{font:800 1.8rem 'Sora',sans-serif;color:#102b3f}.monitor-dashboard-card p{font-size:.83rem;color:#677782;margin:.35rem 0 0}.monitor-table-wrap{border:1px solid rgba(16,43,63,.11);border-radius:18px;background:#fff;overflow:auto}.monitor-table{margin:0;min-width:860px}.monitor-table th{white-space:nowrap;background:#f4f8fa;color:#425866;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.monitor-table td{vertical-align:middle}.monitor-table small{font-size:.76rem}.monitor-empty{padding:2.2rem;text-align:center;border:1px dashed #aebcc4;border-radius:16px;color:#667782;background:#fbfcfd}.monitor-day{display:grid;grid-template-columns:110px 1fr 72px 100px;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid rgba(16,43,63,.08)}.monitor-day:last-child{border-bottom:0}.monitor-day>span,.monitor-day>strong,.monitor-day>small{font-size:.82rem}.monitor-bar{height:10px;background:#e7edf0;border-radius:999px;overflow:hidden}.monitor-bar i{height:100%;display:block;background:#28aa80;border-radius:999px}.methodology-callout{border:1px solid #b9d9e5;background:#f3fbfe;border-radius:18px;padding:1.25rem}.methodology-callout p{margin:.4rem 0 0}.dataset-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dataset-definition>div{padding:1.2rem;border:1px solid rgba(16,43,63,.1);border-radius:16px;background:#fff}.dataset-definition h3{font-size:1rem}.dataset-definition p{font-size:.88rem;color:#657681;margin-bottom:0}
@media(max-width:991.98px){.monitor-panel__metrics{grid-template-columns:repeat(3,1fr)}.monitor-dashboard-grid{grid-template-columns:repeat(2,1fr)}.dataset-definition{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.monitor-panel__head{flex-direction:column}.monitor-panel__metrics,.monitor-dashboard-grid,.dataset-definition{grid-template-columns:1fr 1fr}.monitor-day{grid-template-columns:90px 1fr 65px}.monitor-day>small{grid-column:2/4}.monitor-panel__foot{flex-direction:column;gap:.35rem}}
@media(max-width:480px){.monitor-panel__metrics,.monitor-dashboard-grid,.dataset-definition{grid-template-columns:1fr}}

/* Phase 3 / Phase 4 visual consistency fix
   Reuse the original M3U.co.uk card, border, shadow and link language. */
.section-muted{background:var(--soft)}

/* New linked cards should behave like the established .hub-card component. */
.hub-feature-card{
  color:var(--ink);
  border-color:var(--line);
  box-shadow:0 8px 25px rgba(7,17,31,.035);
  transition:.2s;
}
.hub-feature-card:hover{
  color:var(--ink);
  transform:translateY(-3px);
  border-color:#b7ddcf;
  box-shadow:0 15px 35px rgba(7,17,31,.075);
}
.hub-feature-card i,
.hub-feature-card span{
  color:var(--brand-dark);
}
.hub-feature-card p{
  color:var(--muted);
  margin-bottom:0;
}

/* Keep Phase 3 directory cards on the original neutral card system. */
.stream-source-card,
.feature-panel,
.directory-link-card,
.author-profile{
  border-color:var(--line);
  box-shadow:0 10px 30px rgba(7,17,31,.04);
}
.feature-panel i{
  color:var(--brand-dark);
}
.source-type,
.directory-link-card span{
  color:var(--brand-dark);
  font-weight:800;
}
.directory-link-icon{
  background:#eaf9f3;
  color:var(--brand-dark);
}
.directory-link-card h3 a,
.card-detail-link,
.stream-source-card a:not(.btn){
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:800;
}
.directory-link-card h3 a:hover,
.card-detail-link:hover,
.stream-source-card a:not(.btn):hover{
  color:#065f46;
  text-decoration:underline;
}

/* Phase 4 monitoring cards now use the same borders/shadows as existing cards. */
.monitor-panel{
  border-color:var(--line);
  box-shadow:0 10px 30px rgba(7,17,31,.04);
}
.monitor-metric,
.monitor-dashboard-card,
.monitor-table-wrap,
.dataset-definition>div{
  border-color:var(--line);
}
.monitor-dashboard-card,
.dataset-definition>div{
  box-shadow:0 10px 30px rgba(7,17,31,.04);
}
.monitor-table a{
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:800;
}
.monitor-table a:hover{
  color:#065f46;
  text-decoration:underline;
}

.feature-panel p{color:var(--muted)}
