/* QuickTiny design system — dark-first, minimal, shared across all pages */
:root{
  --bg:#0a0c10;
  --bg-soft:#0d0f15;
  --card:#12151c;
  --card-hover:#161a23;
  --line:#1f2430;
  --line-strong:#2a3140;
  --text:#f4f6fa;
  --text-dim:#c7cdda;
  --muted:#8b94a7;
  --accent:#6f8cff;
  --accent-hover:#8199ff;
  --accent-dim:#26304a;
  --success:#3ddc84;
  --danger:#ff6b6b;
  --radius:16px;
  --radius-sm:10px;
  --container:1160px;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
.wrap{max-width:var(--container);margin:0 auto;padding:0 22px}
::selection{background:var(--accent);color:#05070c}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
strong{font-weight:800}
code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.9em;color:var(--text-dim)}
.icon{width:16px;height:16px;flex:none}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(10,12,16,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:15px 0;gap:16px}
.logo{font-size:19px;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:2px;transition:opacity .15s}
.logo:hover{opacity:.85}
.logo .dot{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:650;color:var(--text-dim)}
.nav-links a{padding:7px 1px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.nav-links a:hover{color:var(--text)}
.nav-links a.active{color:var(--text);border-color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:18px}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);width:40px;height:40px;cursor:pointer;align-items:center;justify-content:center;transition:border-color .15s,background .15s}
.menu-toggle:hover{border-color:var(--line-strong);background:var(--card)}
.mobile-panel{display:none}

@media (max-width:760px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:2px;background:var(--bg-soft);border-bottom:1px solid var(--line);padding:6px 22px 18px;box-shadow:0 16px 30px -18px rgba(0,0,0,.6)}
  .nav-links.open{display:flex}
  .nav-links a{width:100%;padding:13px 0;border-bottom:1px solid var(--line)}
  .menu-toggle{display:flex}
  .nav{position:relative}
}

/* Badges / pills */
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;color:var(--text-dim);font-size:12.5px;font-weight:650}
.badge.local{border-color:rgba(61,220,132,.35);color:var(--success);background:rgba(61,220,132,.07)}
.badge .ico{width:13px;height:13px;flex:none}
.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:650;color:var(--text-dim);cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.chip:hover{color:var(--text);border-color:var(--line-strong)}
.chip.active{background:var(--text);color:#0a0c10;border-color:var(--text)}

/* Hero */
.hero{padding:52px 0 34px;text-align:center}
.hero.compact{padding:32px 0 26px;text-align:left}
.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.04;letter-spacing:-.025em;max-width:800px;margin:16px auto 12px}
.hero.compact h1{margin:14px 0 10px;max-width:760px;letter-spacing:-.02em}
.hero p{color:var(--muted);font-size:17.5px;line-height:1.55;max-width:600px;margin:0 auto}
.hero.compact p{margin:0;max-width:680px;font-size:16.5px}
.hero-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.hero.compact .hero-badges{justify-content:flex-start;margin-top:0;margin-bottom:16px}
.hero-cta{justify-content:center;margin-top:24px}
.jump-to-tool{display:none}

@media (max-width:600px){
  .hero.compact{padding:20px 0 16px}
  .hero.compact h1{font-size:clamp(24px,7.5vw,30px);margin:10px 0 8px}
  .hero.compact p{font-size:14.5px;line-height:1.5}
  .hero.compact .hero-badges{margin-bottom:8px}
  .jump-to-tool{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-weight:750;font-size:13.5px;color:var(--accent)}
  .jump-ico{width:14px;height:14px}
  .tool-panel{margin-top:16px}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--text);color:#080a0e;border:0;border-radius:11px;padding:12px 19px;font-weight:800;font-size:14.5px;cursor:pointer;text-decoration:none;transition:transform .12s,opacity .15s,box-shadow .15s;box-shadow:0 1px 0 rgba(255,255,255,.05) inset}
.btn:hover{opacity:.9;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.btn:active{transform:scale(.97)}
.btn .btn-ico{width:15px;height:15px}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--line-strong)}
.btn-secondary:hover{background:var(--card);opacity:1;border-color:var(--accent);box-shadow:none}
.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--line)}
.btn-pro{background:var(--accent);color:#fff;width:100%}
.btn-pro:hover{background:var(--accent-hover);opacity:1;box-shadow:0 14px 30px -14px rgba(111,140,255,.55)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* Search bar (homepage) */
.search-row{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 16px}
.search-input{flex:1;min-width:220px;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:13px 16px;font-size:15px;font-family:var(--font);transition:border-color .15s}
.search-input:focus{border-color:var(--accent)}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}

/* Section headers */
.section{margin-top:56px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.section-title{font-size:25px;font-weight:850;letter-spacing:-.015em}
.section-sub{color:var(--muted);font-size:14.5px;margin:5px 0 0}

/* Tool grid (directory cards) */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:14px;margin-top:22px}
.tool-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s}
.tool-card:hover,.tool-card:focus-visible{border-color:var(--line-strong);background:var(--card-hover);transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(0,0,0,.65)}
.tc-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.tc-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:none;transition:background .16s,color .16s}
.tc-icon svg{width:18px;height:18px}
.tool-card:hover .tc-icon{background:var(--accent);color:#fff}
.cat-badge{color:var(--text-dim);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tool-card h3{margin:0 0 6px;font-size:16.5px;letter-spacing:-.005em}
.tool-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}
.tool-card .go{margin-top:16px;font-size:13px;font-weight:750;color:var(--text-dim);display:flex;align-items:center;gap:5px;transition:gap .16s,color .16s}
.go-ico{width:14px;height:14px;transition:transform .16s}
.tool-card:hover .go{color:var(--accent)}
.tool-card:hover .go-ico{transform:translateX(3px)}
.tool-card-pro{border-color:rgba(111,140,255,.3);background:linear-gradient(160deg,rgba(111,140,255,.08),var(--card) 55%)}
.tool-card-pro:hover{border-color:rgba(111,140,255,.55)}
.tool-card-pro .tc-icon{background:rgba(111,140,255,.18);color:var(--accent)}
.pro-chip{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:#fff;font-size:10px;font-weight:900;letter-spacing:.06em;padding:4px 8px;border-radius:999px}
.pro-chip-ico{width:10px;height:10px}
.no-results{display:none;color:var(--muted);padding:30px 0;text-align:center}

/* Cards / panels */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.tool-panel{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:18px;padding:26px;margin-top:24px;box-shadow:0 24px 60px -32px rgba(0,0,0,.6);scroll-margin-top:88px}
.pro-inline-cta{margin-top:16px;padding:14px 16px;background:var(--accent-dim);border:1px solid rgba(111,140,255,.35);border-radius:12px;font-size:14px;color:var(--text-dim);line-height:1.5}
.pro-inline-cta a{color:var(--accent);font-weight:750;text-decoration:underline;text-underline-offset:2px}
.pro-support-line{margin:10px 0 18px;font-size:13.5px;color:var(--muted)}
.pro-support-line a{color:var(--accent);font-weight:650}
.field-label{font-size:12px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.055em;margin-bottom:6px;display:block}
input[type=text],input[type=number],input[type=password],input[type=datetime-local],textarea,select{
  width:100%;background:#0b0e14;color:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 13px;margin:4px 0 14px;font-family:var(--font);font-size:14.5px;transition:border-color .15s;
}
textarea{min-height:160px;resize:vertical;font-family:var(--mono);font-size:13.5px}
input:focus,textarea:focus,select:focus{border-color:var(--accent)}
input[type=file]{background:transparent;border:1px dashed var(--line-strong);padding:20px;text-align:center;cursor:pointer}
.dropzone{border:1.5px dashed var(--line-strong);border-radius:14px;padding:30px 18px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:14px}
.dropzone:hover{border-color:var(--accent)}
.dropzone.drag{border-color:var(--accent);background:rgba(111,140,255,.06);color:var(--text)}
.dropzone strong{color:var(--text)}
.result{margin-top:10px;color:var(--text-dim);word-break:break-word;font-size:14.5px;line-height:1.5}
.result.success{color:var(--success);font-weight:700;padding:10px 14px;background:rgba(61,220,132,.08);border:1px solid rgba(61,220,132,.25);border-left:3px solid var(--success);border-radius:8px}
.result.error{color:var(--danger);font-weight:700;padding:10px 14px;background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.25);border-left:3px solid var(--danger);border-radius:8px}
.stat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.stat{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:12px 16px;min-width:110px}
.stat .n{font-size:21px;font-weight:850;letter-spacing:-.01em}
.stat .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.downloads a{display:block;margin:8px 0;color:var(--text);font-weight:650;font-size:14px}
.downloads a:hover{color:var(--accent)}
.checkline{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:14px;margin:6px 0}
.checkline input{width:auto;margin:0}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){.row-2{grid-template-columns:1fr}}

/* Content / prose sections on tool pages */
.content{max-width:760px;margin-top:50px}
.content h2{font-size:21px;margin:0 0 14px;letter-spacing:-.01em;font-weight:800;padding-left:13px;border-left:3px solid var(--accent)}
.content h2 + p,.content h2 + ol,.content h2 + ul{margin-top:0}
.content > *{margin-bottom:34px}
.content > *:last-child{margin-bottom:0}
.content p{color:var(--text-dim);line-height:1.7;font-size:15.5px}
.content ol,.content ul{color:var(--text-dim);line-height:1.85;font-size:15.5px;padding-left:22px}
.content li{margin-bottom:4px}
.benefits{list-style:none;padding:0;display:grid;gap:11px}
.benefits li{display:flex;gap:10px;color:var(--text-dim);font-size:15px;line-height:1.5;margin-bottom:0}
.benefits li::before{content:"✓";color:var(--success);font-weight:900;flex:none}

/* FAQ */
.faq-item{border:1px solid var(--line);border-radius:12px;padding:4px 18px;margin-bottom:10px;background:var(--card);transition:border-color .15s}
.faq-item:hover{border-color:var(--line-strong)}
.faq-item summary{cursor:pointer;padding:15px 0;font-weight:700;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--accent);font-size:20px;font-weight:400;flex:none}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.65}

/* Related tools */
.related-section{margin-top:48px}
.related-title{font-size:18px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px;padding-left:13px;border-left:3px solid var(--accent)}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:16px}
.related-grid a{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;font-weight:700;transition:border-color .15s,color .15s;display:flex;align-items:center;justify-content:space-between;gap:8px}
.related-grid a:hover{border-color:var(--accent);color:var(--accent)}
.related-grid a span{display:flex;align-items:center;gap:8px}
.related-grid a.related-pro{border-color:rgba(111,140,255,.3);background:linear-gradient(160deg,rgba(111,140,255,.08),var(--card) 60%)}
.related-grid a.related-pro:hover{border-color:var(--accent)}
.pro-tag{background:var(--accent);color:#fff;font-size:9.5px;font-weight:900;letter-spacing:.05em;padding:3px 7px;border-radius:999px;white-space:nowrap}
.go-ico{opacity:.6}
.related-grid a:hover .go-ico{opacity:1}

/* Breadcrumb */
.breadcrumb{font-size:13px;color:var(--muted);padding-top:18px;display:flex;gap:6px;flex-wrap:wrap}
.breadcrumb a:hover{color:var(--text)}
.breadcrumb span{color:var(--line-strong)}

/* Pro section (homepage) */
.pro-section{margin-top:64px}
.pro-card{margin-top:22px;display:grid;grid-template-columns:1.6fr 1fr;gap:0;background:var(--card);border:1px solid var(--line-strong);border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -40px rgba(0,0,0,.7)}
.pro-info{padding:32px}
.pro-badge{color:var(--accent);border-color:rgba(111,140,255,.35);background:rgba(111,140,255,.08)}
.pro-badge-ico{width:13px;height:13px}
.pro-info h2{font-size:26px;margin:14px 0 8px;letter-spacing:-.015em}
.pro-lede{color:var(--muted);font-size:15px;line-height:1.6;max-width:48ch;margin:0 0 18px}
.pro-checklist{gap:9px}
.pro-buy{background:var(--bg-soft);border-left:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.pro-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pro-buy .price{font-size:38px;font-weight:900;letter-spacing:-.02em}
.price-sub{color:var(--muted);font-size:13.5px}
.pro-trust{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12.5px;margin:0}
.pro-trust .ico{width:13px;height:13px;color:var(--success)}
@media (max-width:820px){
  .pro-card{grid-template-columns:1fr}
  .pro-buy{border-left:0;border-top:1px solid var(--line)}
}

/* Pro tool page (batch compressor) — cosmetic only, PayPal logic untouched */
.pro-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.price{font-size:38px;font-weight:900;margin:10px 0 2px;letter-spacing:-.02em}
#paypal-button-container{max-width:420px;margin-top:18px}
#proTool{display:none;margin-top:22px}

/* Footer */
footer{margin-top:72px;padding:36px 0 40px;border-top:1px solid var(--line);color:var(--muted)}
.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.065em;color:var(--muted);margin:0 0 13px}
.footer-col a{display:block;color:var(--text-dim);font-size:14px;margin-bottom:10px;transition:color .15s}
.footer-col a:hover{color:var(--text)}
.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Utility */
.mt-0{margin-top:0}
.center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
