/* Free YouTube tools (inc/yt-tools.php). Brand tokens, light theme. */
.dpy{--n:#1f3a93;--a:#ff6b00;--a2:#e85d00;--ink:#1A202C;--tx:#2D3748;--mu:#4A5568;--li:#718096;--bd:#E2E8F0;--so:#F1F4FA;--ok:#13612e;max-width:880px;margin:24px auto;font-family:var(--global-body-font-family,"Space Grotesk",system-ui,sans-serif)}
.dpy *{box-sizing:border-box}
.dpy-card{padding:24px;border-radius:22px;background:#fff;border:1px solid var(--bd);box-shadow:0 18px 44px rgba(31,58,147,.08)}
.dpy-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.dpy-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--n),#2e52c8);color:#fff;flex:none}
.dpy-ico svg{width:24px;height:24px}
.dpy .dpy-title{margin:0!important;font-family:var(--global-heading-font-family,Urbanist,sans-serif);font-size:22px;font-weight:800;line-height:1.2;color:var(--ink)}
.dpy .dpy-sub{margin:2px 0 0!important;font-size:14.5px;color:var(--mu)}
.dpy-form{display:flex;gap:10px;flex-wrap:wrap}
.dpy-field{position:relative;flex:1 1 320px;display:flex;align-items:center}
.dpy-field svg{position:absolute;left:14px;width:20px;height:20px;color:var(--li);pointer-events:none}
.dpy input[type=url],.dpy input[type=text],.dpy select{width:100%;height:52px;margin:0;padding:0 16px;border-radius:14px;border:1.5px solid var(--bd);background:#F7FAFC;font:inherit;font-size:15.5px;color:var(--ink);box-shadow:none;transition:border-color .2s,box-shadow .2s,background .2s}
.dpy-field input{padding-left:44px!important}
.dpy select{width:auto;flex:0 0 auto;padding-right:34px;cursor:pointer}
.dpy input:focus,.dpy select:focus{outline:0;border-color:var(--n);background:#fff;box-shadow:0 0 0 4px rgba(31,58,147,.12)}
.dpy-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.dpy-btn{height:52px;padding:0 24px;border:0;border-radius:14px;background:var(--a);color:#fff;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(255,107,0,.28);transition:background .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.dpy-btn:hover{background:var(--a2);transform:translateY(-1px)}
.dpy-btn[disabled]{opacity:.7;cursor:progress;transform:none}
.dpy-out:empty{display:none}
.dpy-out{margin-top:20px}
.dpy-msg{padding:12px 14px;border-radius:12px;background:#fff4ec;border:1px solid #ffd9bd;color:#8a3a00;font-size:14.5px}
.dpy-loading{display:flex;align-items:center;gap:10px;color:var(--mu);font-size:14.5px}
.dpy-loading:before{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid var(--bd);border-top-color:var(--a);animation:dpySpin .8s linear infinite}
@keyframes dpySpin{to{transform:rotate(360deg)}}
.dpy-video{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:10px;border-radius:14px;background:var(--so)}
.dpy-video img{width:120px;height:68px;border-radius:10px;object-fit:cover;flex:none}
.dpy-video b{display:block;font-size:15px;line-height:1.35;color:var(--ink)}
.dpy-video small{color:var(--li);font-size:13px}
.dpy-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.dpy-thumb{border:1px solid var(--bd);border-radius:16px;overflow:hidden;background:#fff}
.dpy-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--so)}
.dpy-thumb div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}
.dpy-thumb b{font-size:14px;color:var(--ink)}
.dpy-thumb small{display:block;font-size:12px;color:var(--li)}
.dpy a.dpy-dl{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;background:var(--n);color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important}
.dpy-thumb.is-missing{display:none}
.dpy-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.dpy-count{font-size:13.5px;color:var(--mu)}
.dpy-count b{color:var(--ink)}
.dpy-count.is-over b{color:#b32d2e}
.dpy-actions{display:flex;gap:8px;flex-wrap:wrap}
.dpy-act{height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--bd);background:#fff;color:var(--n);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.dpy-act.is-pri{background:var(--n);border-color:var(--n);color:#fff}
.dpy-act.is-done{background:var(--ok);border-color:var(--ok);color:#fff}
.dpy-chips{display:flex;flex-wrap:wrap;gap:8px}
.dpy-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1.5px solid var(--bd);background:#fff;color:var(--tx);font:inherit;font-size:14px;cursor:pointer;transition:all .15s}
.dpy-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bd);transition:background .15s}
.dpy-chip[aria-pressed=true]{border-color:var(--n);background:rgba(31,58,147,.06);color:var(--n);font-weight:600}
.dpy-chip[aria-pressed=true]:before{background:var(--a)}
.dpy-ideas{list-style:none;margin:0!important;padding:0!important;display:grid;gap:8px;counter-reset:dpy}
.dpy-ideas li{counter-increment:dpy;margin:0!important}
.dpy-idea{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--bd);background:#fff;font:inherit;font-size:15px;line-height:1.45;color:var(--tx);text-align:left;cursor:pointer;transition:all .15s}
.dpy-idea:before{content:counter(dpy,decimal-leading-zero);flex:none;font:800 12px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--li)}
.dpy-idea[aria-pressed=true]{border-color:var(--n);background:rgba(31,58,147,.05);color:var(--ink)}
.dpy-idea[aria-pressed=true]:before{color:var(--a)}
.dpy-note{margin:10px 0 0!important;font-size:12.5px;color:var(--li)}
.dpy .dpy-credit{margin:10px 0 0!important;text-align:center;font-size:12.5px;color:var(--li)}
.dpy .dpy-credit a{color:var(--n);font-weight:600}
@media (max-width:600px){.dpy-card{padding:18px;border-radius:18px}.dpy-btn{width:100%}.dpy select{flex:1 1 40%}.dpy .dpy-title{font-size:19px}}
@media (prefers-reduced-motion:reduce){.dpy-loading:before{animation:none}}
/* The theme styles every button:hover/focus in the accent colour; keep chips, ideas and small buttons in their own states. */
.dpy .dpy-chip,.dpy .dpy-chip:hover,.dpy .dpy-chip:focus{background:#fff;color:var(--tx);border-color:var(--bd);box-shadow:none}
.dpy .dpy-chip[aria-pressed=true],.dpy .dpy-chip[aria-pressed=true]:hover,.dpy .dpy-chip[aria-pressed=true]:focus{background:rgba(31,58,147,.06);color:var(--n);border-color:var(--n)}
.dpy .dpy-idea,.dpy .dpy-idea:hover,.dpy .dpy-idea:focus{background:#fff;color:var(--tx);border-color:var(--bd);box-shadow:none}
.dpy .dpy-idea[aria-pressed=true],.dpy .dpy-idea[aria-pressed=true]:hover,.dpy .dpy-idea[aria-pressed=true]:focus{background:rgba(31,58,147,.05);color:var(--ink);border-color:var(--n)}
.dpy .dpy-act:hover,.dpy .dpy-act:focus{background:var(--so);color:var(--n);border-color:var(--n)}
.dpy .dpy-act.is-pri:hover,.dpy .dpy-act.is-pri:focus{background:#14256b;color:#fff}
.dpy .dpy-act.is-done{background:var(--ok);border-color:var(--ok);color:#fff}
.dpy button:focus-visible{outline:2px solid var(--a);outline-offset:2px}
