:root{background:#f5f7f8;color:#1d2935;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#075d7a}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button{background:#126a80;border:0;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;padding:.8rem 1.2rem;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}button:hover:not(:disabled){background:#0b566b;box-shadow:0 4px 12px #126a8033;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.5}button.secondary{background:#e6f0f1;color:#164456}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e07b2c;outline-offset:3px}.shell{margin:auto;max-width:1080px;padding:0 1.25rem}.site-header{background:#123344;color:#fff}.site-header .shell{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-height:70px}.brand{color:#fff;font-size:1.3rem;font-weight:800;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:1rem}.site-header nav a{color:#fff}.hero{padding:3.5rem 0 2rem}.eyebrow{color:#9b5720;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:.5rem 0 1rem;max-width:18ch}h2{line-height:1.2}.lead{font-size:1.18rem;max-width:70ch}.grid{display:grid;gap:1.4rem;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr)}.card{background:#fff;border:1px solid #dbe5e8;border-radius:20px;box-shadow:0 5px 22px #122e3a0a}.card,.drop{padding:1.5rem}.drop{align-items:center;background:linear-gradient(140deg,#f7fcfd,#edf7f8);border:2px dashed #8eb5be;border-radius:18px;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;justify-content:center;min-height:188px;text-align:center;transition:border-color .18s ease,background .18s ease,transform .18s ease}.drop.over,.drop:hover{background:#e5f3f5;border-color:#16758a}.drop.over{transform:scale(1.01)}.drop strong{display:block;font-size:1.2rem}.drop>span:not(.upload-icon):not(.file-picker){color:#596975}.upload-icon{background:#dceef1;border-radius:14px;color:#126a80;display:grid;font-size:1.5rem;font-weight:800;height:42px;margin-bottom:.25rem;place-items:center;width:42px}.file-picker{background:#126a80;border-radius:10px;color:#fff;display:inline-flex;font-weight:700;margin-top:.55rem;padding:.55rem .95rem}.drop:hover .file-picker{background:#0b566b}.drop input[type=file]{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.field{display:grid;gap:.35rem;margin:1rem 0}.field label{font-weight:700}.field input:not(.quality-range),.field select{background-color:#fff;border:1px solid #bdcdd2;border-radius:10px;color:#1d2935;min-height:46px;padding:.55rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.field input:not(.quality-range):hover,.field select:hover{border-color:#718d97}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23126a80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;padding-right:2.7rem}.field input[type=color]{height:48px;padding:.3rem}.quality-control{--range-progress:75%;background:#f8fbfb;border:1px solid #dbe5e8;border-radius:12px;padding:.75rem .85rem .6rem}.quality-readout{align-items:center;color:#596975;display:flex;font-size:.78rem;gap:.5rem;justify-content:space-between}.quality-readout output{color:#123344;font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:800}.quality-readout output small{font-size:.75rem}.quality-range{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent!important;border:0!important;cursor:pointer;display:block;height:28px;margin:.45rem 0 0;padding:0!important;touch-action:pan-y;width:100%}.quality-range::-webkit-slider-runnable-track{background:linear-gradient(to right,#147a84 0 var(--range-progress),#d4e1e4 var(--range-progress) 100%);border:0;border-radius:999px;height:7px}.quality-range::-moz-range-track{background:#d4e1e4;border:0;border-radius:999px;height:7px}.quality-range::-moz-range-progress{background:#147a84;border-radius:999px;height:7px}.quality-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#126a80;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 5px #12334455;height:20px;margin-top:-6.5px;-webkit-transition:transform .12s ease,box-shadow .12s ease;transition:transform .12s ease,box-shadow .12s ease;width:20px}.quality-range::-moz-range-thumb{background:#126a80;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 5px #12334455;height:15px;-moz-transition:transform .12s ease,box-shadow .12s ease;transition:transform .12s ease,box-shadow .12s ease;width:15px}.quality-range:focus-visible::-webkit-slider-thumb,.quality-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #126a8020;transform:scale(1.15)}.quality-range:focus-visible::-moz-range-thumb,.quality-range:hover::-moz-range-thumb{box-shadow:0 0 0 5px #126a8020;transform:scale(1.15)}.quality-range:focus-visible{border-radius:4px;outline:3px solid #e07b2c!important;outline-offset:5px!important}.quality-range:disabled{cursor:not-allowed;opacity:.55}.range-hints{color:#718089;display:flex;font-size:.68rem;justify-content:space-between}.row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}progress{height:1rem;width:100%}#file-list{list-style:none;padding:0}#file-list li{border-top:1px solid #dbe5e8;overflow-wrap:anywhere;padding:1rem 0}#file-list span{color:#596975}.error{color:#aa2835}.tool-links{display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);list-style:none;padding:0}.tool-links a{background:#fff;border:1px solid #dbe5e8;border-radius:12px;display:block;font-weight:700;padding:1rem;text-decoration:none}.content{max-width:72ch;padding:2rem 0}.ad-slot{border:1px dashed #c5d4d8;border-radius:12px;display:none;margin:1.5rem 0;min-height:100px}.site-footer{background:#e7eeef;margin-top:3rem;padding:2rem 0}.breadcrumbs{color:#586a73;font-size:.9rem;padding-top:1.2rem}.note{background:#fff3e7;border-left:4px solid #c66a20;padding:1rem}details{margin:1rem 0}summary{cursor:pointer;font-weight:700}.quality-progress-0{--range-progress:0%}.quality-progress-1{--range-progress:10%}.quality-progress-2{--range-progress:20%}.quality-progress-3{--range-progress:30%}.quality-progress-4{--range-progress:40%}.quality-progress-5{--range-progress:50%}.quality-progress-6{--range-progress:60%}.quality-progress-7{--range-progress:70%}.quality-progress-8{--range-progress:80%}.quality-progress-9{--range-progress:90%}.quality-progress-10{--range-progress:100%}[hidden]{display:none!important}@media(max-width:700px){.grid{grid-template-columns:1fr}.tool-links{grid-template-columns:1fr 1fr}.site-header .shell{align-items:flex-start;flex-direction:column;padding:1rem 1.25rem}.hero{padding:2rem 0 1rem}}@media(max-width:420px){.row,.tool-links{grid-template-columns:1fr}.card{padding:1rem}}.format-select{position:relative;width:100%}.format-trigger{align-items:center;background:#fff;border:1px solid #bdcdd2;border-radius:12px;box-shadow:0 1px 2px #12334408;color:#1d2935;display:flex;gap:.75rem;min-height:62px;padding:.65rem .8rem;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;width:100%}.format-trigger:hover:not(:disabled){background:#fff;border-color:#4b8793;box-shadow:0 3px 12px #12334410;transform:none}.format-trigger:focus-visible{outline:3px solid #e07b2c;outline-offset:2px}.format-trigger[aria-expanded=true]{border-color:#197987;box-shadow:0 0 0 3px #1979871c}.format-trigger:disabled{cursor:not-allowed}.format-current{display:flex;flex:1;flex-direction:column;line-height:1.3;min-width:0}.format-current strong{font-weight:750}.format-current small{color:#718089;font-size:.72rem;font-weight:500;margin-top:.18rem}.format-badge{background:#e5f3f4;border-radius:12px;color:#126a80;display:grid;flex:none;font-size:.63rem;font-weight:850;height:42px;letter-spacing:-.02em;place-items:center;width:42px}.format-badge.format-jpeg{background:#fff1df;color:#9b5720}.format-badge.format-png{background:#e9edf9;color:#4356a0}.format-chevron{fill:none;flex:none;height:20px;stroke:#56808a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .16s ease;width:20px}.is-open .format-chevron{transform:rotate(180deg)}.format-options{background:#fff;border:1px solid #d5e2e5;border-radius:14px;box-shadow:0 12px 32px #1233441c;left:0;padding:.35rem;position:absolute;right:0;top:calc(100% + .45rem);z-index:10}.format-option{align-items:center;background:transparent;border-radius:10px;color:#1d2935;cursor:pointer;display:flex;gap:.75rem;padding:.55rem;text-align:left;transition:background .12s ease;width:100%}.format-option.active,.format-option:hover{background:#f1f7f8}.format-option.selected{background:#e9f5f5}.format-option .format-badge{height:38px;width:38px}.format-check{fill:none;flex:none;height:20px;stroke:#147a84;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;width:20px}.format-menu-enter-active,.format-menu-leave-active{transition:opacity .12s ease,transform .12s ease}.format-menu-enter-from,.format-menu-leave-to{opacity:0;transform:translateY(-4px)}.is-disabled{opacity:.65}.field input[type=number]{font-variant-numeric:tabular-nums}.field input[type=number]:focus{border-color:#197987;box-shadow:0 0 0 3px #1979871c;outline:none}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.tool-directory{background:linear-gradient(145deg,#fff,#f6fafb);border:1px solid #dbe5e8;border-radius:20px;box-shadow:0 6px 22px #12334408;margin:0 0 2rem;padding:1.5rem}.directory-heading{align-items:end;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.1rem}.directory-heading .eyebrow{margin:0}.directory-heading h2{font-size:1.4rem;margin:.2rem 0}.directory-heading p:not(.eyebrow){color:#596975;margin:.25rem 0 0}.tool-search{align-items:center;display:flex;flex:none;position:relative;width:min(340px,100%)}.tool-search svg{fill:none;height:19px;left:.85rem;position:absolute;stroke:#6b838a;stroke-linecap:round;stroke-width:1.8;width:19px}.tool-search input{background:#fff;border:1px solid #bdcdd2;border-radius:12px;color:#1d2935;min-height:48px;padding:.65rem .8rem .65rem 2.6rem;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.tool-search input:hover{border-color:#718d97}.tool-search input:focus{border-color:#197987;box-shadow:0 0 0 3px #1979871c;outline:none}.directory-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.tool-card{align-items:center;background:#fff;border:1px solid #e0e9eb;border-radius:14px;color:#1d2935;display:flex;gap:.75rem;min-height:76px;padding:.7rem .8rem;text-decoration:none;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.tool-card:hover{border-color:#9bbdc3;box-shadow:0 5px 14px #1233440c;transform:translateY(-2px)}.tool-card-icon{background:#e7f2f3;border-radius:13px;color:#126a80;display:grid;flex:none;font-size:1.25rem;font-weight:750;height:42px;place-items:center;width:42px}.tool-card-copy{display:flex;flex:1;flex-direction:column;min-width:0}.tool-card-copy strong{line-height:1.3}.tool-card-copy small{color:#718089;font-size:.75rem;line-height:1.35;margin-top:.22rem}.tool-card-arrow{color:#688991;font-size:1.1rem;transition:transform .16s ease}.tool-card:hover .tool-card-arrow{transform:translate(3px)}.directory-count{color:#718089;font-size:.78rem;margin:.75rem 0 0;text-align:right}.no-tools{border:1px dashed #bdcdd2;border-radius:12px;color:#596975;padding:1rem;text-align:center}.processing-status{align-items:center;background:#f3fafb;border:1px solid #cbe2e5;border-radius:12px;color:#255b66;display:flex;gap:.65rem;margin:.65rem 0;padding:.75rem .9rem}.processing-status strong{font-variant-numeric:tabular-nums}.processing-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2ecee;border:0;border-radius:999px;display:block;height:8px;margin:.45rem 0 1rem;overflow:hidden;width:100%}.processing-bar::-webkit-progress-bar{background:#e2ecee;border-radius:999px}.processing-bar::-webkit-progress-value{background:linear-gradient(90deg,#147a84,#46a5a2);border-radius:999px;-webkit-transition:width .2s ease;transition:width .2s ease}.processing-bar::-moz-progress-bar{background:linear-gradient(90deg,#147a84,#46a5a2);border-radius:999px}.file-list{display:grid;gap:.6rem;list-style:none;margin:0;padding:0}.file-entry{align-items:center;background:#fff;border:1px solid #dbe5e8;border-radius:14px;display:grid;gap:.85rem;grid-template-columns:64px minmax(0,1fr) auto;padding:.75rem}.file-thumb{background:repeating-conic-gradient(#eef2f3 0 25%,#fff 0 50%) 50%/16px 16px;border-radius:10px;height:64px;-o-object-fit:cover;object-fit:cover;width:64px}.file-meta{min-width:0}.file-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta span{color:#718089;display:block;font-size:.78rem}.file-state{align-items:center;color:#427d72;display:flex;font-size:.75rem;font-weight:700;gap:.35rem;white-space:nowrap}.file-state:before{background:#49a482;border-radius:50%;content:"";height:8px;width:8px}.file-state.is-error{color:#aa2835}.file-state.is-error:before{background:#c93d47}.file-result{color:#596975;font-size:.82rem;grid-column:2/-1;margin:0}.file-result a{font-weight:700}.file-error{color:#aa2835;font-size:.82rem;grid-column:2/-1;margin:0}.upload-progress{color:#255b66;font-size:.88rem;margin:.85rem 0 0}.upload-progress progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2ecee;border:0;border-radius:999px;display:block;height:7px;margin-top:.4rem;overflow:hidden}.upload-progress progress::-webkit-progress-bar{background:#e2ecee;border-radius:999px}.upload-progress progress::-webkit-progress-value{background:#147a84;border-radius:999px}.upload-progress progress::-moz-progress-bar{background:#147a84;border-radius:999px}@media(max-width:700px){.directory-heading{align-items:stretch;flex-direction:column;gap:.9rem}.tool-search{width:100%}.tool-directory{padding:1rem}.directory-grid{grid-template-columns:1fr}.file-entry{gap:.65rem;grid-template-columns:54px minmax(0,1fr)}.file-thumb{height:54px;width:54px}.file-state{grid-row:2}.file-error,.file-result,.file-state{grid-column:2}}
