:root{--bg:#0f151d;--panel:#151f2a;--panel2:#1a2734;--line:#2a3947;--text:#e8edf2;--muted:#9eb0bf;--accent:#42cf78;--accent2:#2ab864;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:#8ce8ac;text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;color:#000;padding:8px}.site-header{position:sticky;top:0;z-index:20;background:rgba(15,21,29,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-row{min-height:66px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:20px}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#08150d;font-weight:900}.topnav{display:flex;gap:18px;flex:1}.topnav a,.search-link{color:#cbd6df;font-size:14px}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:14px;padding-top:22px}.hero{padding:42px 0 32px}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}h1{font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.03em;margin:10px 0 18px;max-width:900px}h2{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin:38px 0 14px}h3{font-size:21px}.lead{font-size:19px;line-height:1.65;color:#c2cfda;max-width:900px}.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.quick a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}.article{min-width:0}.article>section{border-top:1px solid var(--line);padding-top:1px}.article p,.article li{color:#c7d2db}.article code{background:#0a1016;border:1px solid var(--line);padding:2px 5px;border-radius:5px}.article ul,.article ol{padding-left:24px}.sidebar{position:sticky;top:88px}.side-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.side-card nav{display:grid;margin-top:10px}.side-card nav a{padding:9px 0;border-top:1px solid var(--line)}.partner-box,.toolbox{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid #315344;border-radius:18px;padding:20px;margin:8px 0 30px;display:flex;justify-content:space-between;gap:20px;align-items:center}.partner-copy{color:#c7d2db}.btn,.file-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--accent);color:#092012;padding:10px 16px;font-weight:800;cursor:pointer}.btn:hover,.file-btn:hover{text-decoration:none;background:var(--accent2)}.btn.secondary{background:#253643;color:#e4edf3}.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.link-grid a,.search-results a,.sitemap-list a{display:grid;gap:5px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:15px}.link-grid span,.search-results span,.sitemap-list span{color:var(--muted);font-size:14px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:700}.faq details div{color:#c7d2db;padding-top:8px}.legal-note{margin:38px 0 20px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:#7f909e}.ad-slot{width:min(var(--max),calc(100% - 32px));margin:18px auto;border:1px dashed #4a5a67;border-radius:12px;padding:10px;text-align:center;color:var(--muted)}.site-footer{margin-top:70px;border-top:1px solid var(--line);padding:34px 0;background:#0b1118}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-grid nav{display:grid;justify-content:end}.footer-grid p,.copyright{color:var(--muted)}.copyright{padding-top:20px;font-size:13px}.toolbox{display:block}.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.file-btn input{display:none}.tool-text,.admin textarea{width:100%;min-height:180px;background:#0b1118;color:#dbe5ec;border:1px solid var(--line);border-radius:10px;padding:12px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.tool-filter input,.search-form input,.admin input[type=password],.admin input:not([type=checkbox]){width:100%;background:#0b1118;color:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.tool-filter{margin:12px 0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:7px}.data-table input{min-width:130px;width:100%;background:#0b1118;color:#fff;border:1px solid var(--line);border-radius:6px;padding:7px}.row-del{border:0;background:#48262b;color:#fff;border-radius:7px;padding:6px 10px;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:15px 0}.stats div{display:grid;background:#0b1118;border:1px solid var(--line);border-radius:10px;padding:12px}.stats strong{font-size:24px}.stats span{color:var(--muted);font-size:12px}.notice{border:1px solid var(--line);border-radius:10px;padding:8px 14px}.search-form{display:flex;gap:10px;max-width:700px}.search-results,.sitemap-list{display:grid;gap:10px}.sitemap-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin{max-width:900px;padding:50px 0}.admin form{display:grid;gap:14px}.admin label{display:grid;gap:6px}.admin-head{display:flex;justify-content:space-between;align-items:center}.success{background:#153522;padding:10px;border-radius:8px}.error{background:#48262b;padding:10px;border-radius:8px}@media(max-width:900px){.topnav{display:none}.search-link{margin-left:auto}.content-grid{grid-template-columns:1fr}.sidebar{position:static}.link-grid,.sitemap-list{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.partner-box{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.wrap{width:min(100% - 22px,var(--max))}.hero{padding:30px 0 20px}h1{font-size:36px}.lead{font-size:17px}.search-form{display:grid}.footer-grid{grid-template-columns:1fr}.footer-grid nav{justify-content:start}.tool-actions .btn,.file-btn{width:100%}}
.section-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0 28px}.section-nav a{display:block;padding:15px;border:1px solid #273849;border-radius:12px;background:#172431;text-decoration:none}.section-nav strong{display:block;color:#e9f4ee;margin-bottom:5px}.section-nav span{display:block;color:#9fb0bd;font-size:.92rem}.scope-note{font-size:.9rem;color:#93a5b2}.freq-badge{display:none}


/* Full IPTV playlist editor */
.editor-hero{padding-bottom:22px}.editor-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.editor-hero-points span{border:1px solid #315344;background:#14261d;color:#bdf2ce;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:700}.editor-app{margin:0 0 48px;background:#111b24;border:1px solid #2a3d4c;border-radius:20px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.editor-privacy{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;background:#13271c;border:1px solid #315344;border-radius:12px;padding:12px 14px;margin-bottom:16px}.editor-privacy strong{color:#bdf2ce}.editor-privacy span{color:#a9bdaf;font-size:14px}.editor-import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.editor-import-card{display:flex;flex-direction:column;gap:10px;background:#16222d;border:1px solid #2a3d4c;border-radius:14px;padding:15px}.editor-import-card strong{font-size:17px}.editor-import-card p{margin:0;color:#98abb9;font-size:13px;line-height:1.45}.editor-drop-zone{outline:none}.editor-drop-zone.dragover{border-color:#42cf78;background:#162c21;box-shadow:0 0 0 3px rgba(66,207,120,.12)}.editor-input,.editor-source-small,.editor-mini-text,.editor-raw-text{width:100%;background:#0b1118;color:#e5edf3;border:1px solid #344858;border-radius:8px;padding:9px 10px;font:inherit}.editor-source-small{min-height:84px;resize:vertical;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.editor-mini-text{min-height:95px;resize:vertical;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.editor-message{min-height:0;margin:12px 0 0;padding:0}.editor-message.ok,.editor-message.error{padding:9px 12px;border-radius:9px}.editor-message.ok{background:#153522;color:#bdf2ce}.editor-message.error{background:#48262b;color:#ffd5d8}.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.editor-button,.icon-btn,.editor-link-button{border:1px solid #344858;background:#1b2a36;color:#e2ebf1;border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:650}.editor-button:hover,.icon-btn:hover,.editor-link-button:hover{border-color:#4c6475;background:#223541}.editor-button:disabled{opacity:.4;cursor:not-allowed}.editor-button.active{border-color:#42cf78;background:#173624}.editor-button.danger,.icon-btn.delete-row{background:#45242a;border-color:#6d343d;color:#ffd7da}.editor-button.danger-soft{border-color:#6d343d;color:#ffc3c8}.editor-link-button{padding:4px 7px;background:transparent;border-color:transparent;color:#8ce8ac}.editor-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.editor-stats div{background:#0b1118;border:1px solid #2a3d4c;border-radius:11px;padding:10px 12px;display:grid}.editor-stats strong{font-size:25px;line-height:1.2}.editor-stats span{color:#8fa3b2;font-size:12px}.editor-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) 170px;gap:10px;margin:12px 0}.editor-filters label,.editor-export label,.editor-form-grid label,.editor-raw-head label{display:grid;gap:5px}.editor-filters label>span,.editor-export label>span,.editor-form-grid label>span,.editor-raw-head label>span{font-size:12px;color:#94a8b7;font-weight:700}.editor-selection-bar{border:1px solid #2a3d4c;border-radius:12px;padding:10px;margin-bottom:12px;background:#131e28}.editor-selection-actions,.editor-bulk{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.editor-bulk{margin-top:8px}.editor-bulk .editor-input{width:auto;min-width:130px;flex:1 1 130px}.editor-table-wrap{overflow:auto;border:1px solid #2a3d4c;border-radius:12px;background:#0d151c}.editor-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:13px}.editor-table th{position:sticky;top:0;background:#17232d;color:#aebdca;text-align:left;padding:9px 7px;z-index:2}.editor-table td{border-top:1px solid #233441;padding:6px 7px;vertical-align:middle}.editor-table tr[draggable=true]{cursor:default}.editor-table tr[draggable=true]:hover{background:#12202a}.editor-table input.inline-edit{width:100%;min-width:120px;background:#0b1118;color:#e6edf2;border:1px solid transparent;border-radius:6px;padding:7px}.editor-table input.inline-edit:focus{outline:none;border-color:#42cf78;background:#101b24}.editor-table .url-field{min-width:290px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.editor-channel-cell{display:grid;grid-template-columns:32px minmax(170px,1fr);gap:7px;align-items:center}.editor-channel-cell img,.logo-placeholder{width:30px;height:30px;border-radius:5px;object-fit:contain;background:#fff}.logo-placeholder{display:grid;place-items:center;background:#22333f;color:#91a5b3;font-size:10px;font-weight:800}.editor-row-order{white-space:nowrap;color:#879ba9}.drag-handle{display:inline-block;margin-right:5px;cursor:grab;color:#6f8798}.row-actions{display:flex;gap:5px}.icon-btn{padding:5px 8px}.col-check{width:38px}.col-order{width:58px}.col-actions{width:108px}.editor-empty{text-align:center;color:#8095a4;padding:34px!important}.editor-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0;color:#9bafbd;font-size:13px}.editor-export{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #315344;background:#12251a;border-radius:12px}.editor-export label{min-width:230px;flex:1}.editor-raw{margin-top:14px;border:1px solid #2a3d4c;border-radius:12px;background:#101922;padding:12px}.editor-raw summary{cursor:pointer;font-weight:800}.editor-raw-text{min-height:330px;margin-top:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.editor-raw-head{margin-top:12px}.editor-inline-actions{display:flex;gap:8px;margin-top:8px}.editor-muted{color:#8ea2b1;font-size:12px}.editor-dialog{width:min(760px,calc(100% - 24px));max-height:90vh;overflow:auto;background:#121d26;color:#e7eef3;border:1px solid #344858;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.55)}.editor-dialog::backdrop{background:rgba(0,0,0,.68)}.editor-dialog form{padding:18px}.editor-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.editor-dialog-head>div{display:grid}.editor-dialog-head strong{font-size:22px}.editor-dialog-head span{color:#8fa4b3;font-size:12px}.editor-dialog-close{border:0;background:transparent;color:#b7c7d2;font-size:30px;cursor:pointer}.editor-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.editor-form-grid .wide{grid-column:1/-1}.editor-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.editor-content-grid{margin-top:22px}.editor-article>section:first-child{border-top:0}.editor-article h2{scroll-margin-top:90px}
@media(max-width:980px){.editor-import-grid{grid-template-columns:1fr}.editor-stats{grid-template-columns:repeat(3,1fr)}.editor-filters{grid-template-columns:1fr 1fr}.editor-filters label:first-child{grid-column:1/-1}}@media(max-width:650px){.editor-app{padding:11px;border-radius:14px}.editor-stats{grid-template-columns:repeat(2,1fr)}.editor-filters{grid-template-columns:1fr}.editor-filters label:first-child{grid-column:auto}.editor-toolbar .editor-button,.editor-toolbar .btn{flex:1 1 140px}.editor-export{align-items:stretch}.editor-export>*{width:100%}.editor-form-grid{grid-template-columns:1fr}.editor-form-grid .wide{grid-column:auto}.editor-inline-actions{display:grid}.editor-hero-points span{font-size:12px}}

/* IPTV channel checker placeholder + article */
.checker-hero{padding-bottom:22px}.checker-app{margin:0 0 48px;background:#111b24;border:1px solid #2a3d4c;border-radius:20px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.checker-pending{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;background:#272414;border:1px solid #5a512a;border-radius:12px;padding:12px 14px;margin-bottom:16px}.checker-pending strong{color:#f1e2a3}.checker-pending span{color:#c5b987;font-size:14px}.checker-import-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checker-import-card{display:flex;flex-direction:column;gap:10px;background:#16222d;border:1px solid #2a3d4c;border-radius:14px;padding:15px}.checker-import-card strong{font-size:17px}.checker-import-card p{margin:0;color:#98abb9;font-size:13px;line-height:1.45}.checker-textarea{width:100%;min-height:92px;background:#0b1118;color:#8394a0;border:1px solid #344858;border-radius:8px;padding:9px 10px;resize:vertical;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.checker-disabled-control{opacity:.45;cursor:not-allowed}.checker-disabled-control:hover{background:var(--accent)}.checker-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}.checker-stats div{background:#0b1118;border:1px solid #2a3d4c;border-radius:11px;padding:10px 12px;display:grid}.checker-stats strong{font-size:25px;line-height:1.2}.checker-stats span{color:#8fa3b2;font-size:12px}.checker-results-wrap{overflow:auto;border:1px solid #2a3d4c;border-radius:12px;background:#0d151c}.checker-results{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}.checker-results th{background:#17232d;color:#aebdca;text-align:left;padding:10px}.checker-results td{border-top:1px solid #233441;padding:10px}.checker-empty{text-align:center;color:#8095a4;padding:30px!important}.checker-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.checker-content-grid{margin-top:22px}.checker-article>section:first-child{border-top:0}@media(max-width:980px){.checker-import-grid{grid-template-columns:1fr}.checker-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.checker-app{padding:11px;border-radius:14px}.checker-stats{grid-template-columns:repeat(2,1fr)}.checker-actions>*{width:100%}}
