:root{--bg: #ffffff;--bg-soft: #f6f8fb;--text: #1f2937;--muted: #6b7280;--accent: #2563eb;--accent-dark: #1d4ed8;--border: #e5e7eb;--radius: 12px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}.wrap{max-width:960px;margin:0 auto;padding:0 16px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.75rem;line-height:1.25;margin:12px 0 8px}h2{font-size:1.25rem;margin:28px 0 10px}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;gap:16px;padding:12px 16px}.logo{font-weight:800;font-size:1.2rem;color:var(--text)}.logo span{color:var(--accent)}.logo:hover{text-decoration:none}.main-nav{display:flex;gap:4px;margin-left:auto}.main-nav a{color:var(--text);padding:8px 12px;border-radius:8px;font-size:.95rem}.main-nav a:hover{background:var(--bg-soft);text-decoration:none}#nav-toggle{display:none;margin-left:auto;font-size:1.3rem;background:none;border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer}@media (max-width: 720px){#nav-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;padding:8px 16px 16px}.main-nav.open{display:flex}}.breadcrumbs{font-size:.85rem;color:var(--muted);padding-top:14px}.crumb-sep{margin:0 6px;color:var(--border)}.hero{text-align:center;padding:32px 0 8px}.hero h1{font-size:2rem}.hero p{color:var(--muted);max-width:560px;margin:0 auto}.category-block{margin:28px 0}.cat-blurb{color:var(--muted);margin-top:0}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tool-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--bg);color:var(--text);transition:border-color .15s,box-shadow .15s}.tool-card:hover{border-color:var(--accent);box-shadow:0 2px 10px #2563eb1f;text-decoration:none}.tool-card-name{font-weight:700}.tool-card-desc{font-size:.85rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trust-badge{display:inline-block;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600;margin:4px 0 12px}.fav-btn{display:inline-block;margin:0 0 12px 8px;padding:6px 14px;border:1px solid var(--border);background:var(--bg);border-radius:999px;font-size:.85rem;cursor:pointer;color:var(--text)}.fav-btn[aria-pressed=true]{background:#fef3c7;border-color:#f59e0b;color:#92400e}.tool-ui{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);padding:20px;margin:8px 0 12px}.tool-ui label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}.tool-ui textarea,.tool-ui input[type=text],.tool-ui input[type=number],.tool-ui select{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:.95rem;background:var(--bg);color:var(--text)}select,.tool-ui select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.2rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:12px 8px}.tool-ui textarea{min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;resize:vertical}.tool-ui input[type=range]{width:100%}.tool-ui input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.tool-ui .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tool-ui .row>*{flex:1 1 140px}.btn{display:inline-block;width:100%;margin-top:14px;padding:16px 20px;font-size:1.05rem;font-weight:700;text-align:center;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s}.btn:hover{background:var(--accent-dark)}.btn.secondary{background:var(--bg);color:var(--accent);border:2px solid var(--accent);width:auto;padding:10px 18px;font-size:.95rem}.btn.secondary:hover{background:var(--bg-soft)}.btn:disabled{opacity:.55;cursor:not-allowed}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--bg);padding:32px 16px;text-align:center;color:var(--muted);cursor:pointer;margin-top:12px}.drop-zone.dragover{border-color:var(--accent);color:var(--accent)}.output{margin-top:14px}.output pre{background:#0f172a;color:#e2e8f0;padding:14px;border-radius:10px;overflow-x:auto;font-size:.82rem;white-space:pre-wrap;word-break:break-word}.status{margin-top:10px;font-size:.9rem}.status.error{color:#b91c1c}.status.ok{color:#047857}.result-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.9rem}.result-table th,.result-table td{border:1px solid var(--border);padding:8px 10px;text-align:left;background:var(--bg)}.file-list{list-style:none;padding:0;margin:12px 0}.file-list li{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:grab;font-size:.9rem}.file-list .grow{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list button{border:none;background:none;color:#b91c1c;cursor:pointer;font-size:1rem}.check-line{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.9rem}.kbd-sample{font-size:.8rem;color:var(--muted)}.ad-slot{min-height:90px;margin:20px 0;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-soft);display:flex;align-items:center;justify-content:center}.ad-slot:empty:after{content:"Advertisement";color:#cbd5e1;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.content p,.content li{max-width:72ch}.faq{border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin:8px 0;background:var(--bg)}.faq summary{font-weight:600;cursor:pointer}.faq p{margin:8px 0 0;color:var(--muted)}.related{margin:24px 0 40px}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);margin-top:40px}.footer-brand{padding:26px 16px 0}.footer-logo{font-weight:800;font-size:1.1rem;color:var(--text)}.footer-logo span{color:var(--accent)}.footer-logo:hover{text-decoration:none}.footer-tagline{color:var(--muted);font-size:.8rem;margin:4px 0 0}.footer-cats{display:grid;grid-template-columns:1fr;gap:0;padding:14px 16px 10px}.footer-cat{border-bottom:1px solid var(--border)}.footer-cat-title{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;list-style:none}.footer-cat-title::-webkit-details-marker{display:none}.footer-cat-title:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}details.footer-cat[open]>.footer-cat-title:after{transform:rotate(-135deg)}.footer-cat-list{list-style:none;margin:0;padding:0 0 14px;font-size:.8rem;line-height:1.6}.footer-cat-list li{margin:0}.footer-cat-list a{color:var(--muted);display:inline-block;padding:2px 0}.footer-cat-list a:hover{color:var(--accent);text-decoration:none}.footer-cat-more a{font-weight:600}@media (min-width: 900px){.footer-cats{grid-template-columns:repeat(4,1fr);gap:24px;padding:20px 16px 26px}.footer-cat{border-bottom:none}.footer-cat-title{padding:0 0 8px;cursor:default;pointer-events:none}.footer-cat-title:after{display:none}.footer-cat-list{padding-bottom:0}}.footer-bottom{border-top:1px solid var(--border)}.footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 20px}.footer-legal{display:flex;flex-wrap:wrap;gap:16px;font-size:.82rem}.footer-legal a{color:var(--muted)}.footer-legal a:hover{color:var(--accent)}.footer-copy{margin:0;color:var(--muted);font-size:.8rem}@media (max-width: 720px){.hero h1{font-size:1.5rem}.tool-ui{padding:14px}}
