
  :root{
    --paper:#E6E7E1;
    --paper-2:#DCDED6;
    --ink:#16181A;
    --muted:#6E736B;
    --rule:#C3C6BC;
    --signal:#0B6E6E;
    --alert:#A83A22;
    --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    -webkit-font-smoothing:antialiased;
    padding:28px 20px 64px;
  }
  .wrap{max-width:900px;margin:0 auto}

  .eyebrow{
    font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--muted);margin:0 0 10px;
  }
  h1{
    font-size:clamp(34px,7vw,58px);line-height:.95;letter-spacing:-.035em;
    font-weight:800;margin:0 0 12px;
  }
  h1 .arrow{color:var(--signal)}
  .lede{max-width:52ch;margin:0 0 26px;color:#3B4040;font-size:15px;line-height:1.5}

  .drop{
    border:1.5px dashed var(--rule);
    background:transparent;
    padding:34px 22px;
    text-align:center;
    transition:background .15s ease,border-color .15s ease;
  }
  .drop.over{border-color:var(--signal);background:var(--paper-2)}
  .drop p{margin:0 0 14px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

  button, .btn{
    font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    background:var(--ink);color:var(--paper);border:1px solid var(--ink);
    padding:10px 16px;border-radius:2px;cursor:pointer;
    text-decoration:none;display:inline-block;
  }
  button:hover:not(:disabled), .btn:hover{background:var(--signal);border-color:var(--signal)}
  button.ghost{background:transparent;color:var(--ink)}
  button.ghost:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}
  button:disabled{opacity:.32;cursor:not-allowed}
  :focus-visible{outline:2px solid var(--signal);outline-offset:2px}

  .controls{
    display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
    margin:22px 0;padding:16px 0;
  }
  .field{display:flex;flex-direction:column;gap:7px}
  label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  input[type=range]{width:170px;accent-color:var(--signal)}
  select{
    font-family:var(--mono);font-size:12px;padding:7px 8px;border:1px solid var(--rule);
    background:var(--paper);color:var(--ink);border-radius:2px;
  }
  .val{font-family:var(--mono);font-size:12px;color:var(--ink)}
  .actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}

  .status{
    font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);
    min-height:18px;margin-bottom:18px;
  }
  .status b{color:var(--ink);font-weight:600}
  .status .bad{color:var(--alert)}

  .sheet{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:18px 14px;
  }
  .frame{display:flex;flex-direction:column}
  .thumb{
    aspect-ratio:1;background:#101112;display:flex;align-items:center;justify-content:center;
    overflow:hidden;position:relative;
  }
  .thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .thumb .placeholder{
    font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7E837C;
  }
  .frame.failed .thumb{background:#2A1512}
  .frame.failed .placeholder{color:#E5A491}
  .cap{
    font-family:var(--mono);font-size:10px;line-height:1.45;padding-top:6px;
    border-top:1px solid var(--rule);margin-top:6px;
  }
  .cap .no{color:var(--signal);letter-spacing:.1em}
  .cap .name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
  .cap .meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
  .cap .meta.bad{color:var(--alert);text-transform:none;letter-spacing:0}
  .cap a{color:var(--signal);text-transform:uppercase;letter-spacing:.1em}
  .cap a:hover{color:var(--ink)}
  .cap details{margin-top:5px}
  .cap summary{color:var(--signal);cursor:pointer;text-transform:uppercase;letter-spacing:.1em}
  .cap pre{
    white-space:pre-wrap;word-break:break-word;font-size:9px;line-height:1.55;
    color:var(--muted);margin:5px 0 0;padding:6px;background:var(--paper-2);
  }

  .formats{margin-top:16px;font-size:13px;line-height:1.6;color:var(--muted)}
  .formats summary{cursor:pointer;color:var(--ink);font-weight:600}
  .formats p{margin:8px 0}
  .formats ul{padding-left:20px;columns:2}
  @media(max-width:550px){.formats ul{columns:1}}
  .note{
    font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--muted);
    border-top:1px solid var(--rule);margin-top:34px;padding-top:14px;
  }
  @media (prefers-reduced-motion: reduce){*{transition:none!important}}

:root{--paper:#f7f9f8;--paper-2:#edf2ef;--ink:#15382b;--muted:#61746b;--rule:#d9e4dd;--signal:#247c52;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{padding:0;background:#f7f9f8;color:#18382b;font-family:var(--sans)}a{color:inherit}button,.btn{font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none;border-radius:9px;font-weight:650;padding:12px 18px}button.ghost{border-color:var(--rule);background:#fff}.site-header{height:84px;max-width:1200px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:750;display:flex;gap:12px;align-items:center;font-size:19px;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;background:var(--ink);color:#fff;width:36px;height:36px;border-radius:11px;font-size:24px}.nav{display:flex;gap:28px;align-items:center}.nav a{text-decoration:none;color:var(--muted);font-size:13px}.nav .nav-badge{background:#e7f1eb;color:#247c52;padding:7px 12px;border-radius:30px;font-size:11px;font-weight:700}.wrap{max-width:1120px;padding:0 28px;margin:auto}.hero{padding:52px 0 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{font-family:var(--sans);font-weight:700;letter-spacing:.13em;font-size:10px;color:#247c52;margin-bottom:18px}h1{font-size:clamp(42px,7vw,68px);letter-spacing:-3px;font-weight:700;line-height:1.05;margin-bottom:18px}.lede{font-size:16px;max-width:510px;margin:0;line-height:1.7;color:var(--muted)}.privacy-pill{font-size:12px;color:#3d6250;white-space:nowrap;margin-bottom:5px}.privacy-pill span{color:#27865a;margin-right:7px}.tool{background:white;border:1px solid var(--rule);border-radius:18px;box-shadow:0 12px 55px #15382b06;overflow:hidden}.tool-top{display:grid;grid-template-columns:minmax(0,1fr) 292px}.upload-panel{padding:26px}.drop{border:1.5px dashed #bdcfc2;border-radius:12px;background:#fbfdfb;min-height:294px;padding:31px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop.over{background:#e7f3ea;border-color:#247c52}.upload-icon{width:54px;height:54px;color:#247c52;background:#eaf3ed;border-radius:15px;display:grid;place-items:center;margin:0 auto 18px}.drop h2{font-size:20px;font-weight:650;margin:0 0 8px;letter-spacing:-.4px}.drop p{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:13px;line-height:1.6;margin-bottom:19px}.drop .upload-hint{font-size:11px;color:#86968b;margin:13px 0 0}.controls{display:flex;flex-direction:column;align-items:stretch;gap:20px;border:0;border-left:1px solid var(--rule);background:#fafcfb;margin:0;padding:28px 24px}.controls h2{font-size:13px;letter-spacing:0;margin:0;font-weight:700}label{font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;color:#536a5d;font-weight:550}select{width:100%;background:#fff;border-color:var(--rule);border-radius:7px;padding:10px;font-family:var(--sans);font-size:13px}input[type=range]{width:100%;margin:8px 0}.val{font-family:var(--sans);font-size:11px;float:right}.actions{margin:0;display:flex;flex-wrap:wrap;gap:8px}.controls .actions button{width:100%}.tool-bottom{border-top:1px solid var(--rule);padding:18px 26px}.status{font-family:var(--sans);color:var(--muted);font-size:12px;margin:0;line-height:1.7}.sheet{margin:20px 0 0;gap:16px;grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.sheet:empty{display:none}.frame{border:1px solid var(--rule);border-radius:9px;overflow:hidden;background:#fff}.thumb{background:#f0f3f1}.cap{padding:12px;font-family:var(--sans);font-size:11px}.cap .name{font-size:12px}.cap .meta{font-size:10px}.cap a{display:inline-block;margin-top:7px;font-size:12px;color:#247c52;font-weight:650}.cap details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}.features{display:flex;justify-content:center;gap:30px;color:#708177;font-size:11px;padding:22px 0 42px}.features span:before{content:'✓';color:#247c52;margin-right:7px}.info-section{padding:45px 0;border-top:1px solid var(--rule);scroll-margin-top:20px}.section-top{display:flex;justify-content:space-between;gap:35px;margin-bottom:28px}.section-top h2{font-size:27px;letter-spacing:-.9px;line-height:1.2;margin:0;max-width:340px}.section-top p{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:440px}.formats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.format-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:25px}.format-card h3{margin:0 0 12px;font-size:15px}.format-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.format-label{font-size:10px;font-weight:700;color:#247c52;letter-spacing:.1em;margin-bottom:14px}.raw-types{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:22px;margin-top:16px}#supportedTypes>p{font-size:12px;line-height:1.8;color:var(--muted)}#supportedTypes ul{padding-left:18px;columns:3;font-size:11px;color:var(--muted);line-height:2.1;margin:14px 0 0}.raw-notice{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 0}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step-no{font-family:var(--mono);color:#9cae9f;font-size:12px;margin-bottom:12px}.how h3{font-size:14px;margin:0 0 8px}.how p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.faq{max-width:760px}.faq details{padding:20px 0;border-bottom:1px solid var(--rule)}.faq summary{font-size:14px;cursor:pointer;font-weight:600}.faq p,.legal-copy{font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0 0}.footer{max-width:1120px;margin:20px auto 0;padding:25px 28px 35px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);font-size:11px;color:var(--muted)}.footer nav{display:flex;gap:20px}.footer a{text-decoration:none}.note{font-family:var(--sans);font-size:11px;line-height:1.8;border:0;padding:0;margin:0}.legal-copy a{color:var(--signal)}
@media(max-width:750px){.site-header{height:68px;padding:0 20px}.brand{font-size:16px}.nav{gap:15px}.nav a{font-size:11px}.nav-badge{display:none}.wrap{padding:0 18px}.hero{padding:30px 0 26px;display:block}h1{letter-spacing:-2px}.lede{font-size:14px}.privacy-pill{margin:20px 0 0}.tool-top{grid-template-columns:1fr}.upload-panel{padding:16px}.controls{border-left:0;border-top:1px solid var(--rule);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.controls h2{grid-column:1/-1}.controls .actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.controls .actions #convert{grid-column:1/-1}.tool-bottom{padding:18px}.drop{min-height:260px}.features{gap:15px;flex-wrap:wrap;font-size:10px;padding-bottom:30px}.section-top{display:block}.section-top h2{margin-bottom:16px;font-size:24px}.formats-grid{grid-template-columns:1fr}#supportedTypes ul{columns:2}.how{gap:15px}.footer{flex-direction:column}.info-section{padding:32px 0}}
@media(max-width:400px){#supportedTypes ul{columns:1}.how{grid-template-columns:1fr}.how>div{padding-bottom:12px}}

[hidden]{display:none!important}

.coffee-support{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#faf7ed;border:1px solid #ece3c8;border-radius:10px;margin-top:22px;padding:20px}.coffee-support strong{font-size:14px}.coffee-support p{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0 0}.coffee-link{display:inline-flex;align-items:center;gap:7px;background:#ffdf80;border:1px solid #ead084;border-radius:8px;padding:10px 14px;color:#263b2b;text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap}.coffee-link:hover{background:#f7d16a}.footer nav{align-items:center;flex-wrap:wrap}.footer .coffee-link{font-size:11px;padding:7px 10px}.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}@media(max-width:650px){.coffee-support{align-items:flex-start;flex-direction:column;gap:12px}}
