:root {
  --accent: #2563eb;
  --accent-hover: #1d4ed8;
  --bg: #ffffff; --bg-alt: #f8fafc; --bg-card: #ffffff;
  --border: #e2e8f0; --text: #1e293b; --text-muted: #64748b;
  --radius: 10px;
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.05);
  --max-w: 1200px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --mono: 'SF Mono', SFMono-Regular, ui-monospace, Menlo, Consolas, monospace;
}
@media(prefers-color-scheme:dark){
  :root{--bg:#0f172a;--bg-alt:#1e293b;--bg-card:#1e293b;--border:#334155;--text:#e2e8f0;--text-muted:#94a3b8;--shadow:0 1px 3px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px rgba(0,0,0,0.3);}
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:0 1.5rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow);}
.header-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;}
.logo{font-size:1.25rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.5rem;}
.logo:hover{text-decoration:none;}
.logo svg{width:28px;height:28px;}
.nav{display:flex;gap:1.5rem;align-items:center;}
.nav a{color:var(--text-muted);font-size:.9rem;font-weight:500;}
.nav a:hover{color:var(--accent);text-decoration:none;}
.hero{background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);color:#fff;padding:3.5rem 1.5rem;text-align:center;}
.hero h1{font-size:2.2rem;font-weight:800;margin-bottom:.75rem;}
.hero p{font-size:1.15rem;opacity:.9;max-width:600px;margin:0 auto 1.5rem;}
.search-box{max-width:500px;margin:0 auto;position:relative;}
.search-box input{width:100%;padding:.85rem 1rem .85rem 2.75rem;border:2px solid rgba(255,255,255,0.3);border-radius:50px;font-size:1rem;background:rgba(255,255,255,0.15);color:#fff;outline:none;transition:all .2s;}
.search-box input::placeholder{color:rgba(255,255,255,0.6);}
.search-box input:focus{border-color:#fff;background:rgba(255,255,255,0.25);}
.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);opacity:.6;}
.main{flex:1;max-width:var(--max-w);margin:0 auto;padding:2rem 1.5rem;width:100%;}
.category{margin-bottom:2.5rem;}
.category h2{font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border);}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all .2s;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.tool-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-2px);text-decoration:none;}
.tool-card h3{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.35rem;}
.tool-card p{font-size:.85rem;color:var(--text-muted);flex:1;}
.tool-card .arrow{color:var(--accent);font-size:.85rem;font-weight:600;margin-top:.5rem;}
.breadcrumb{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem;}
.breadcrumb a{color:var(--text-muted);}
.tool-header{margin-bottom:1.5rem;}
.tool-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;}
.tool-header p{color:var(--text-muted);font-size:1rem;}
.tool-body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);margin-bottom:2rem;}
.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
@media(max-width:768px){.tool-row{grid-template-columns:1fr;}}
label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text);}
textarea,input[type="text"],input[type="number"],input[type="url"],select{width:100%;padding:.65rem .85rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-family:var(--font);background:var(--bg);color:var(--text);outline:none;transition:border .2s;}
textarea:focus,input[type="text"]:focus,input[type="number"]:focus,select:focus{border-color:var(--accent);}
textarea{resize:vertical;min-height:180px;font-family:var(--mono);font-size:.85rem;line-height:1.5;}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.2rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font);}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-hover);}
.btn-secondary{background:var(--bg-alt);color:var(--text);border:1px solid var(--border);}
.btn-secondary:hover{background:var(--border);}
.btn-group{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0;}
.output-box{background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:.85rem;font-family:var(--mono);font-size:.85rem;min-height:100px;white-space:pre-wrap;word-break:break-all;overflow:auto;max-height:400px;}
.stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin:.75rem 0;}
.stat{text-align:center;}
.stat .num{font-size:1.75rem;font-weight:700;color:var(--accent);display:block;}
.stat .lbl{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.copy-toast{position:fixed;bottom:2rem;right:2rem;background:#10b981;color:#fff;padding:.65rem 1.2rem;border-radius:8px;font-weight:600;font-size:.9rem;opacity:0;transform:translateY(10px);transition:all .3s;pointer-events:none;z-index:9999;}
.copy-toast.show{opacity:1;transform:translateY(0);}
.option-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:.5rem 0;}
.option-row label{margin:0;font-weight:500;display:flex;align-items:center;gap:.35rem;cursor:pointer;}
.checkbox-label{display:flex;align-items:center;gap:.35rem;font-size:.85rem;cursor:pointer;}
input[type="checkbox"],input[type="radio"]{accent-color:var(--accent);}
input[type="range"]{accent-color:var(--accent);width:100%;}
.color-preview{width:100%;height:80px;border-radius:8px;border:1px solid var(--border);margin:.5rem 0;}
.related{margin-top:2rem;}
.related h3{font-size:1rem;font-weight:600;margin-bottom:.75rem;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;}
.related-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.85rem;font-size:.9rem;font-weight:500;color:var(--text);transition:all .15s;}
.related-card:hover{border-color:var(--accent);text-decoration:none;box-shadow:var(--shadow);}
.ad-slot{background:var(--bg-alt);border:1px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.8rem;margin:1.5rem 0;}
.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:2rem 1.5rem;margin-top:auto;}
.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{color:var(--text-muted);font-size:.85rem;}
.footer-copy{color:var(--text-muted);font-size:.85rem;}
@media(max-width:600px){.footer-inner{flex-direction:column;text-align:center;}}
.diff-line{font-family:var(--mono);font-size:.82rem;padding:1px 8px;white-space:pre-wrap;word-break:break-all;}
.diff-add{background:#dcfce7;color:#166534;}
.diff-del{background:#fee2e2;color:#991b1b;}
.diff-eq{color:var(--text-muted);}
@media(prefers-color-scheme:dark){.diff-add{background:#052e16;color:#86efac;}.diff-del{background:#450a0a;color:#fca5a5;}}
.md-preview{padding:1rem;line-height:1.7;}
.md-preview h1,.md-preview h2,.md-preview h3{margin:1rem 0 .5rem;font-weight:700;}
.md-preview h1{font-size:1.5rem;}.md-preview h2{font-size:1.25rem;}.md-preview h3{font-size:1.1rem;}
.md-preview p{margin:.5rem 0;}
.md-preview code{background:var(--bg-alt);padding:.15rem .4rem;border-radius:4px;font-family:var(--mono);font-size:.85em;}
.md-preview pre{background:var(--bg-alt);padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0;}
.md-preview pre code{background:none;padding:0;}
.md-preview ul,.md-preview ol{padding-left:1.5rem;margin:.5rem 0;}
.md-preview blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--text-muted);margin:.75rem 0;}
.md-preview table{border-collapse:collapse;margin:.75rem 0;width:100%;}
.md-preview th,.md-preview td{border:1px solid var(--border);padding:.4rem .75rem;text-align:left;}
.md-preview th{background:var(--bg-alt);font-weight:600;}