/* Free tools under /tools/, loaded after landing.css and doc.css. */

.doc-body .tool-eyebrow{margin:0 0 14px;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:#FF8DBA}

.tool-card{margin:40px 0 0;padding:28px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.09)}
.doc-body .tool-card h2{margin:0 0 20px}
.tool-card + .tool-card{margin-top:20px}
noscript + .tool-card{margin-top:0}
.doc-body > header.tool-head{margin-bottom:28px;padding-bottom:0;border-bottom:0}

.tool-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.tool-field{display:grid;gap:6px;font-size:13px;color:#B9B3C4}
.tool-fields .tool-field:first-child{grid-column:1/-1}
.tool-field input,.tool-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,0.14);background:#100D16;color:#F6F3F8;font:15px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
.tool-field textarea{resize:vertical;min-height:120px}
.tool-field input:focus,.tool-field textarea:focus{outline:none;border-color:#FF3D8B;box-shadow:0 0 0 3px rgba(255,61,139,0.25)}

.tool-choice{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;border:0;font-size:14px;color:#E8E3EE}
.tool-choice legend{padding:0;margin:0 0 8px;font-size:13px;color:#B9B3C4}
.tool-choice label{display:flex;align-items:center;gap:6px;cursor:pointer}
.tool-choice input{accent-color:#FF3D8B}

.doc-body .tool-msg{margin:14px 0 0;min-height:1em;font-size:14px;color:#B9B3C4}
.doc-body .tool-msg:empty{margin:0;min-height:0}
.doc-body .tool-msg.is-error{color:#FF8DBA}

.tool-out{display:grid;gap:10px;margin:18px 0 0}
.tool-out > div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:14px 16px;border-radius:16px;background:#100D16;border:1px solid rgba(255,255,255,0.08)}
.tool-out dt{grid-column:1/-1;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#FF8DBA}
.tool-out dd{display:contents}
.tool-out code{font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#F6F3F8;word-break:break-all}
.tool-out code.is-missing{color:#8E879A;font-style:italic}

.tool-copy,.tool-button{cursor:pointer;border-radius:999px;font-family:inherit;font-size:14px;font-weight:600;line-height:1;color:#FFFFFF}
.tool-copy{padding:9px 16px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06)}
.tool-copy:hover{border-color:rgba(255,141,186,0.55);background:rgba(255,61,139,0.12)}
.tool-button{margin-top:18px;padding:13px 22px;border:0;background:linear-gradient(110deg,#FF3D8B,#B347FF)}
.tool-button:hover{filter:brightness(1.08)}
.tool-copy:focus-visible,.tool-button:focus-visible{outline:2px solid #FF3D8B;outline-offset:3px}

.doc-body .tool-privacy{margin:20px 0 0;padding:16px 18px;border-radius:16px;border:1px dashed rgba(255,141,186,0.35);font-size:14px;color:#CFC9D8}

.tool-index{list-style:none;padding:0;display:grid;gap:12px}
.doc-body .tool-index li{margin:0;padding:0}
.doc-body .tool-index a{display:block;padding:24px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.09);text-decoration:none;color:#CFC9D8}
.doc-body .tool-index a:hover{border-color:rgba(255,141,186,0.45)}
.doc-body .tool-index h2{margin:0 0 8px;font-size:22px}
.doc-body .tool-index p{margin:0 0 12px}
.doc-body .tool-index span{color:#F2B8FF;font-weight:600}

@media (max-width:640px){
  .tool-card{padding:20px 16px}
  .tool-out > div{grid-template-columns:1fr}
  .tool-copy{justify-self:start}
}

/* Tables in the sections below the tool. */
.tool-table{margin:0 0 20px;overflow-x:auto;border-radius:18px;border:1px solid rgba(255,255,255,0.08)}
.tool-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
.tool-table th,.tool-table td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,0.07)}
.tool-table thead th{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#FF8DBA;background:rgba(255,255,255,0.04)}
.tool-table tbody th{color:#F6F3F8;font-weight:600}
.tool-table tbody tr:last-child th,.tool-table tbody tr:last-child td{border-bottom:0}
.tool-table code{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#F2B8FF;overflow-wrap:anywhere}
.tool-table .is-code{white-space:nowrap}
@media (max-width:640px){.tool-table table{min-width:600px}}

.doc-body .tool-index h3{margin:0 0 8px;font-size:18px;letter-spacing:-0.01em;text-transform:none;color:#F6F3F8}

/* Inline code in the copy, and the example address under the h1. */
.doc-body p code,.doc-body li code,.doc-facts dd code,.tool-table td code,.doc-faq p code{padding:2px 7px;border-radius:7px;background:rgba(242,184,255,0.08);border:1px solid rgba(242,184,255,0.16);font:0.88em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#F2B8FF;overflow-wrap:anywhere}
.doc-body .tool-url{margin:18px 0}
.doc-body .tool-url code{display:block;margin:0;padding:16px 20px;border-radius:16px;background:#100D16;border:1px solid rgba(255,141,186,0.28);box-shadow:0 0 0 4px rgba(255,61,139,0.06);font:15px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:#CFC9D8;overflow-wrap:break-word}
.tool-url-ph{color:#FF8DBA;font-weight:600;white-space:nowrap}

/* Opus call to action right under the tool (views/tool.pug). */
.doc-body .tool-cta{margin-top:24px;padding:26px 28px}
.doc-body .tool-cta-title{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-0.01em;color:#F6F3F8}
.doc-body .tool-cta p:not(.tool-cta-title){margin:0 0 18px}

/* Device pages (views/device-setup.pug, views/hubs.pug). */
.doc-body .device-store{margin-top:22px}
.doc-body .device-store .store-row{display:flex;flex-wrap:wrap;gap:10px}
.doc-body .device-store .store-btn{flex:0 1 260px;text-decoration:none;color:#FFFFFF}
.device-index{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.doc-body .device-index a{height:100%;box-sizing:border-box}

/* Multi-line example in the lead ({ code } items). */
.doc-body .tool-url.is-block code{white-space:pre;overflow-x:auto;overflow-wrap:normal;font-size:14px}

/* File viewer (views/tools/m3u-file-viewer.pug). */
.tool-drop{position:relative;display:grid;gap:6px;place-items:center;text-align:center;padding:34px 20px;border-radius:18px;border:1.5px dashed rgba(255,141,186,0.45);background:rgba(255,61,139,0.05);cursor:pointer}
.tool-drop:hover,.tool-drop.is-over{border-color:#FF3D8B;background:rgba(255,61,139,0.12)}
.tool-drop:focus-within{outline:2px solid #FF3D8B;outline-offset:3px}
.tool-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tool-drop-title{font-size:17px;font-weight:700;color:#F6F3F8}
.tool-drop-sub{font-size:14px;color:#B9B3C4}
.tool-paste{margin-top:18px}
.tool-field select{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,0.14);background:#100D16;color:#F6F3F8;font-size:15px;font-family:inherit}

.tool-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}
.tool-stats > div{padding:14px 16px;border-radius:16px;background:#100D16;border:1px solid rgba(255,255,255,0.08)}
.tool-stats dt{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#FF8DBA}
.tool-stats dd{margin:4px 0 0;font-size:22px;font-weight:700;color:#F6F3F8}
.doc-body .tool-sub{margin:18px 0 8px;font-size:13px;color:#B9B3C4}
.doc-body .tool-codes{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.doc-body .tool-codes li{margin:0;padding:0}
.doc-body .tool-codes code{display:block;padding:10px 14px;border-radius:12px;background:#100D16;border:1px solid rgba(255,255,255,0.08);font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#F2B8FF;overflow-wrap:anywhere}
.doc-body .tool-card .tool-sub-h{margin:28px 0 12px;font-size:17px;text-transform:none;letter-spacing:-0.01em;color:#F6F3F8}

.doc-body .tool-issues{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.doc-body .tool-issues li{margin:0;padding:12px 16px;border-radius:14px;background:#100D16;border:1px solid rgba(255,255,255,0.08);border-left:3px solid #8E879A}
.doc-body .tool-issues li.is-error{border-left-color:#FF4D6D}
.doc-body .tool-issues li.is-warning{border-left-color:#FFB547}
.doc-body .tool-issues li.is-ok{border-left-color:#3DDC84}
.doc-body .tool-issues p{margin:0;font-size:14px;color:#CFC9D8}
.doc-body .tool-issues p + p{margin-top:4px}
.doc-body .tool-issues strong{color:#F6F3F8}
.tool-tag{display:inline-block;margin-right:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;background:rgba(255,255,255,0.08);color:#CFC9D8}
.is-error > p > .tool-tag{background:rgba(255,77,109,0.16);color:#FF8DA1}
.is-warning > p > .tool-tag{background:rgba(255,181,71,0.16);color:#FFCB7A}
.doc-body .tool-issues .tool-lines{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8E879A}

.tool-filter{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:14px}
#m3u-result .tool-table{margin:0}
#m3u-result .tool-table table{font-size:13px}
#m3u-result .tool-table td{color:#CFC9D8;overflow-wrap:anywhere}
#m3u-result .tool-table td.is-missing{color:#8E879A}
#m3u-result .tool-table td.is-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#F2B8FF}

@media (max-width:640px){
  .tool-stats{grid-template-columns:repeat(2,1fr)}
  .tool-filter{grid-template-columns:1fr}
}

/* M3U editor (views/tools/m3u-editor.pug) and the viewer's link to it. */
.doc-body .tool-fix{margin:12px 0 0;font-size:14px;color:#CFC9D8}
.doc-body .tool-fix a{color:#F2B8FF;font-weight:600}
.tool-bulk{display:flex;gap:8px;margin:0 0 12px}
.doc-body .tool-groups{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:420px;overflow-y:auto}
.doc-body .tool-groups li{margin:0;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#100D16;border:1px solid rgba(255,255,255,0.08)}
.doc-body .tool-groups li.is-off{opacity:0.5}
.tool-groups input[type="text"],.tool-cell-input{width:100%;box-sizing:border-box;padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,0.12);background:transparent;color:#F6F3F8;font-size:14px;font-family:inherit}
.tool-groups input[type="text"]:focus,.tool-cell-input:focus{outline:none;border-color:#FF3D8B}
.tool-groups input[type="checkbox"],#ed-rows input[type="checkbox"]{width:18px;height:18px;accent-color:#FF3D8B}
.tool-group-count{font-size:13px;color:#8E879A;min-width:3ch;text-align:right}
.tool-move{width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.05);color:#F6F3F8;cursor:pointer}
.tool-move:disabled{opacity:0.3;cursor:default}
.tool-move:not(:disabled):hover{border-color:#FF3D8B}
#ed-work .tool-table{margin:0}
#ed-work .tool-table table{font-size:13px}
#ed-work .tool-table td{color:#CFC9D8;vertical-align:middle}
#ed-rows tr.is-off td{opacity:0.5}
#ed-work .tool-choice{margin-bottom:4px}
.tool-newgroup{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin:0 0 12px}
#ed-rows select.tool-cell-input{min-width:140px;background:#100D16}
