.mojibake-fixer{--mojibake-accent: #c75d3e;--mojibake-accent-hot: #e55a2b;--mojibake-accent-dark: #873a27;--mojibake-ink: #172126;--mojibake-muted: #657178;--mojibake-line: #e0d8d2;--mojibake-line-strong: #cfbcb1;--mojibake-surface: #ffffff;--mojibake-soft: #fff7f2;--mojibake-warn: #fff2cc;--mojibake-error: #b42318;--mojibake-error-bg: #fff1f0;--mojibake-success: #11705b;margin:2.4rem 0;color:var(--mojibake-ink)}.mojibake-fixer,.mojibake-fixer *{box-sizing:border-box}.mojibake-fixer button,.mojibake-fixer input,.mojibake-fixer textarea{font:inherit}.mojibake-fixer__loading,.mojibake-fixer__eyebrow,.mojibake-fixer__lead,.mojibake-fixer__section-lead,.mojibake-fixer__drop-title,.mojibake-fixer__drop-help,.mojibake-fixer__preview-intro,.mojibake-fixer__note,.mojibake-fixer__footer-note{margin:0}.mojibake-fixer__panel{border:1px solid var(--mojibake-line-strong);border-radius:8px;background:linear-gradient(180deg,var(--mojibake-surface) 0%,#fff9f5 100%);box-shadow:0 18px 36px #17212614;overflow:hidden}.mojibake-fixer__header{display:grid;gap:.55rem;padding:1.35rem;border-bottom:1px solid var(--mojibake-line);background:var(--mojibake-surface)}.mojibake-fixer__eyebrow{color:var(--mojibake-accent);font-size:.86rem;font-weight:800;line-height:1.4}.mojibake-fixer__title,.mojibake-fixer__section-title{margin:0;color:var(--mojibake-ink);letter-spacing:0;line-height:1.35}.mojibake-fixer__title{font-size:1.45rem}.mojibake-fixer__lead,.mojibake-fixer__section-lead,.mojibake-fixer__drop-help,.mojibake-fixer__preview-intro,.mojibake-fixer__note,.mojibake-fixer__footer-note{color:var(--mojibake-muted);font-size:.92rem;line-height:1.7}.mojibake-fixer__privacy{margin:.25rem 0 0;border:1px solid rgba(199,93,62,.22);border-radius:8px;background:#fff4ee;color:var(--mojibake-accent-dark);font-size:.9rem;font-weight:800;line-height:1.6;padding:.72rem .85rem}.mojibake-fixer__grid{display:grid;gap:1rem;padding:1.35rem}.mojibake-fixer__section{display:grid;gap:1rem;border:1px solid var(--mojibake-line);border-radius:8px;background:var(--mojibake-surface);padding:1rem}.mojibake-fixer__section-header{display:flex;gap:.8rem;align-items:flex-start}.mojibake-fixer__step{display:inline-grid;flex:0 0 2.3rem;width:2.3rem;height:2.3rem;place-items:center;border-radius:50%;background:var(--mojibake-accent);color:#fff;font-weight:900;line-height:1}.mojibake-fixer__section-title{font-size:1.1rem}.mojibake-fixer__section-lead{margin-top:.25rem}.mojibake-fixer__drop-zone{display:grid;gap:.8rem;justify-items:center;min-height:11.5rem;padding:1.6rem 1rem;border:2px dashed rgba(199,93,62,.42);border-radius:8px;background:var(--mojibake-soft);text-align:center;transition:background .16s ease,border-color .16s ease,transform .16s ease}.mojibake-fixer__drop-zone--dragging{border-color:var(--mojibake-accent);background:#fff0e8;transform:translateY(-1px)}.mojibake-fixer__drop-title{font-size:1.08rem;font-weight:900;line-height:1.45}.mojibake-fixer__button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;border:0;border-radius:6px;background:var(--mojibake-accent);color:#fff;cursor:pointer;font-weight:800;line-height:1.25;padding:.68rem 1rem;text-decoration:none;transition:background .16s ease,color .16s ease,opacity .16s ease,transform .16s ease}.mojibake-fixer__button:hover{transform:translateY(-1px)}.mojibake-fixer__button:disabled{cursor:not-allowed;opacity:.52;transform:none}.mojibake-fixer__button--secondary{border:1px solid var(--mojibake-accent);background:var(--mojibake-surface);color:var(--mojibake-accent)}.mojibake-fixer__button--hot{background:var(--mojibake-accent-hot);color:#fff}.mojibake-fixer__file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mojibake-fixer__message{display:none;border-radius:8px;font-size:.92rem;font-weight:800;line-height:1.6;padding:.75rem .85rem}.mojibake-fixer__message--visible{display:block}.mojibake-fixer__message--info{border:1px solid rgba(199,93,62,.24);background:#fff4ee;color:var(--mojibake-accent-dark)}.mojibake-fixer__message--success{border:1px solid rgba(17,112,91,.26);background:#eef8f2;color:var(--mojibake-success)}.mojibake-fixer__message--error{border:1px solid rgba(180,35,24,.24);background:var(--mojibake-error-bg);color:var(--mojibake-error)}.mojibake-fixer__file-details,.mojibake-fixer__preview-area{display:none}.mojibake-fixer__file-details--visible,.mojibake-fixer__preview-area--visible{display:block}.mojibake-fixer__file-details{border:1px solid var(--mojibake-line);border-radius:8px;background:#fffdfb;padding:.85rem}.mojibake-fixer__detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0}.mojibake-fixer__detail-item{min-width:0}.mojibake-fixer__detail-label{display:block;color:var(--mojibake-muted);font-size:.82rem;font-weight:800;line-height:1.4}.mojibake-fixer__detail-value{display:block;margin:.2rem 0 0;overflow-wrap:anywhere;font-weight:900;line-height:1.5}.mojibake-fixer__preview-area{margin-top:.2rem}.mojibake-fixer__preview-intro{margin-bottom:.75rem}.mojibake-fixer__encoding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.mojibake-fixer__encoding-option{display:grid;gap:.65rem;min-width:0;border:1px solid var(--mojibake-line);border-radius:8px;background:var(--mojibake-surface);padding:.85rem}.mojibake-fixer__encoding-option:has(input:checked){border-color:var(--mojibake-accent);background:#fff8f4;box-shadow:0 0 0 1px #c75d3e14}.mojibake-fixer__encoding-choice{display:flex;gap:.6rem;align-items:center;cursor:pointer;font-weight:900;line-height:1.4}.mojibake-fixer__encoding-choice input{width:1.15rem;height:1.15rem;accent-color:var(--mojibake-accent)}.mojibake-fixer__badge{display:inline-flex;align-items:center;width:fit-content;min-height:1.7rem;border-radius:999px;background:var(--mojibake-warn);color:#5b4300;font-size:.82rem;font-weight:900;line-height:1.2;padding:.2rem .6rem}.mojibake-fixer__preview-box{min-height:13rem;max-height:22rem;margin:0;overflow:auto;border:1px solid var(--mojibake-line);border-radius:8px;background:#fffdfb;color:#1d2a2f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:1.55;overflow-wrap:anywhere;padding:.75rem;white-space:pre-wrap}.mojibake-fixer__save-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:space-between;margin-top:.9rem;border:1px solid var(--mojibake-line);border-radius:8px;background:#fffdfb;padding:.85rem}.mojibake-fixer__toggle{display:flex;gap:.6rem;align-items:center;color:#27363b;cursor:pointer;font-weight:800;line-height:1.45}.mojibake-fixer__toggle input{width:1.2rem;height:1.2rem;accent-color:var(--mojibake-accent)}.mojibake-fixer__note{margin-top:.85rem}.mojibake-fixer__text-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mojibake-fixer__field-label{display:block;margin-bottom:.45rem;color:var(--mojibake-ink);font-size:.88rem;font-weight:900;line-height:1.4}.mojibake-fixer__textarea{width:100%;min-height:13.5rem;resize:vertical;border:1px solid var(--mojibake-line-strong);border-radius:8px;background:var(--mojibake-surface);color:var(--mojibake-ink);line-height:1.65;padding:.75rem}.mojibake-fixer__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.mojibake-fixer__textarea:focus,.mojibake-fixer__button:focus-visible,.mojibake-fixer__encoding-choice input:focus-visible,.mojibake-fixer__toggle input:focus-visible{border-color:var(--mojibake-accent);box-shadow:0 0 0 3px #e55a2b29;outline:none}.mojibake-fixer__footer-note{padding:0 1.35rem 1.35rem;text-align:center}@media(max-width:760px){.mojibake-fixer{margin:2rem 0}.mojibake-fixer__header,.mojibake-fixer__grid,.mojibake-fixer__footer-note{padding-inline:1rem}.mojibake-fixer__section{padding:.9rem}.mojibake-fixer__section-header{flex-direction:column}.mojibake-fixer__detail-list,.mojibake-fixer__encoding-grid,.mojibake-fixer__text-tools{grid-template-columns:1fr}.mojibake-fixer__save-row{align-items:stretch}.mojibake-fixer__save-row .mojibake-fixer__button,.mojibake-fixer__actions .mojibake-fixer__button{width:100%}}
