:root{--paper:#EFEDE6;--paper-alt:#E4E1D6;--ink:#1C2321;--ink-soft:#4A5250;--blue:#2A6F97;--blue-dark:#1E5678;--mustard:#E3B23C;--white:#FFFFFF;--line: rgba(28,35,33,.14);--radius: 4px;--maxw: 1040px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:IBM Plex Sans,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--mustard);color:var(--ink)}a{color:var(--blue-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}h1,h2,h3{font-family:Space Grotesk,sans-serif;letter-spacing:-.01em;line-height:1.15}.site-header{padding:22px 0;border-bottom:1px solid var(--line);background:var(--paper)}.site-header .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.logo{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:21px;display:flex;align-items:center;gap:9px;color:var(--ink)}.logo-mark{width:24px;height:24px;border:2px solid var(--ink);border-radius:2px;position:relative;flex-shrink:0}.logo-mark:after{content:"";position:absolute;left:4px;right:4px;top:8px;height:2px;background:var(--mustard)}.logo-mark:before{content:"";position:absolute;left:4px;right:8px;top:4px;height:2px;background:var(--ink)}nav.main-nav{display:flex;align-items:center;gap:22px;font-size:14px}nav.main-nav a{color:var(--ink-soft)}nav.main-nav a:hover{color:var(--ink)}.lang-switch{font-family:IBM Plex Mono,monospace;font-size:12px;display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.lang-switch a{padding:6px 10px;color:var(--ink-soft)}.lang-switch a.active{background:var(--ink);color:var(--paper)}.lang-switch a:hover{text-decoration:none}.hero{padding:56px 0 40px;text-align:center}.hero h1{font-size:clamp(30px,5vw,46px);margin:0 0 14px}.hero p{color:var(--ink-soft);font-size:16px;max-width:560px;margin:0 auto}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:var(--maxw);margin:40px auto 70px;padding:0 24px}.tool-card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:22px;display:flex;flex-direction:column;gap:8px;color:var(--ink);transition:border-color .15s ease,transform .15s ease}.tool-card:hover{border-color:var(--blue);transform:translateY(-2px);text-decoration:none}.tool-card .ext{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--blue-dark);text-transform:uppercase;letter-spacing:.06em}.tool-card .name{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:16px}.tool-card .desc{font-size:13px;color:var(--ink-soft);line-height:1.4}.category-label{font-family:IBM Plex Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);max-width:var(--maxw);margin:0 auto;padding:0 24px}.tool-page-head{padding:44px 0 8px;text-align:center}.tool-page-head h1{font-size:clamp(26px,4vw,36px);margin:0 0 10px}.tool-page-head p{color:var(--ink-soft);font-size:15px;max-width:540px;margin:0 auto}.panel{background:var(--white);border:1px solid var(--line);border-radius:8px;max-width:var(--maxw);margin:32px auto 40px;padding:36px}@media (max-width:640px){.panel{padding:22px 18px}}.dropzone{border:2px dashed var(--line);border-radius:6px;padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;position:relative}.dropzone.dragover{border-color:var(--blue);background:#2a6f970d}.dropzone .icon{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.dropzone strong{font-size:16px;display:block;margin-bottom:4px}.dropzone small{color:var(--ink-soft);font-size:12.5px}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.file-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--paper-alt);border-radius:5px;margin-top:16px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.file-row .clear{background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:13px;text-decoration:underline}.options{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap;align-items:center}.options label{font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:6px}select{font-family:IBM Plex Mono,monospace;font-size:12.5px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink)}.btn{font-family:IBM Plex Mono,monospace;font-size:13px;background:var(--ink);color:var(--paper);border:none;padding:13px 22px;border-radius:5px;cursor:pointer;margin-top:22px;transition:background .15s ease;display:inline-flex;align-items:center;gap:8px}.btn:hover{background:var(--blue-dark)}.btn:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}.progress{margin-top:18px;display:none}.progress.show{display:block}.progress-track{height:5px;background:var(--paper-alt);border-radius:3px;overflow:hidden}.progress-bar{height:100%;width:0%;background:var(--mustard);transition:width .2s ease}.progress-label{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-soft);margin-top:6px}.result{margin-top:26px;display:none}.result.show{display:block}.result-box{border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--paper)}.result textarea{width:100%;min-height:160px;font-family:IBM Plex Mono,monospace;font-size:12.5px;border:1px solid var(--line);border-radius:4px;padding:12px;background:var(--white);resize:vertical}.result-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.link-btn{font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--blue-dark);background:none;border:1px solid var(--blue-dark);padding:9px 16px;border-radius:5px;cursor:pointer}.link-btn:hover{background:var(--blue-dark);color:var(--white)}.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.thumb{width:74px;height:74px;border:1px solid var(--line);border-radius:4px;object-fit:cover;background:var(--paper-alt)}.article{max-width:720px;margin:0 auto 60px;padding:0 24px;font-size:15.5px;line-height:1.7;color:var(--ink)}.article h2{font-size:21px;margin:38px 0 12px}.article p{margin:0 0 14px}.faq-item{margin-bottom:18px}.faq-item h3{font-size:16px;margin:0 0 6px;font-family:IBM Plex Sans,sans-serif;font-weight:600}.faq-item p{margin:0;color:var(--ink-soft)}.related{max-width:var(--maxw);margin:0 auto 60px;padding:0 24px}.related h2{font-size:18px;margin-bottom:16px}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}footer.site-footer{border-top:1px solid var(--line);padding:34px 0;margin-top:40px}footer.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}footer.site-footer .links{display:flex;gap:18px;font-size:13px;flex-wrap:wrap}footer.site-footer .links a{color:var(--ink-soft)}footer.site-footer .copy{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-soft)}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink);color:var(--paper);padding:16px 24px;border-top:2px solid var(--mustard);display:none}.cookie-banner.show{display:block}.cookie-banner .inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.cookie-banner p{margin:0;font-size:13px;line-height:1.5;flex:1 1 320px}.cookie-banner a{color:var(--mustard)}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{font-family:IBM Plex Mono,monospace;font-size:12.5px;padding:9px 16px;border-radius:5px;cursor:pointer;border:1px solid var(--paper)}.cookie-accept{background:var(--mustard);color:var(--ink);border-color:var(--mustard)}.cookie-accept:hover{background:#d6a52f}.cookie-decline{background:transparent;color:var(--paper)}.cookie-decline:hover{background:#efede61f}.article h3{font-size:17px;margin:24px 0 8px}.article ul{margin:0 0 14px;padding-left:20px}.article li{margin:0 0 6px}.article .updated{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft);margin-bottom:22px}
