.modal__overlay{background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;display:none;position:fixed;inset:0;overflow:hidden}.modal__overlay[open]{justify-content:center;align-items:center;display:flex}.modal__overlay::backdrop{background-color:#00000080}.modal{background:var(--bg-surface);border-radius:var(--radius-md);max-width:var(--modal-max-width,480px);flex-direction:column;width:90%;max-height:80vh;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modal__header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal__title{color:#dc2626;margin:0;font-size:1rem;font-weight:600}.modal__close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:-.375rem;padding:0;font-size:1.5rem;line-height:1;display:inline-flex}.modal__close:hover{color:var(--text-main)}.modal__body{padding:1.25rem;overflow-y:auto}.modal__message{color:var(--text-main);white-space:pre-wrap;word-break:break-word;font-size:.9rem;font-family:var(--font-mono);font-variant-ligatures:none;margin:0}.modal__footer{border-top:1px solid var(--border-light);justify-content:flex-end;padding:1rem 1.25rem;display:flex}.modal__title--info{color:var(--primary)}.about-modal{text-align:center}.about-modal__body{flex-direction:column;align-items:center;gap:1rem;display:flex}.about-modal__logo{background:var(--primary-subtle);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.5rem;display:flex}.about-modal__logo-img{width:36px;height:36px}.about-modal__description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;font-family:var(--font-sans);margin:0}.about-modal__features{text-align:left;border-radius:var(--radius-sm);background:#f8f9fa;width:100%;padding:1rem}.about-modal__features h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.about-modal__features ul{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.about-modal__features li{color:var(--text-main);padding-left:1.25rem;font-size:.85rem;position:relative}.about-modal__check{color:#047857;font-weight:600;position:absolute;left:0}.about-modal__credits{flex-direction:column;gap:.375rem;width:100%;padding-top:.5rem;display:flex}.about-modal__credits p{font-size:.8rem;font-family:var(--font-sans);margin:0;text-decoration:none}.about-modal__font-license-links{color:var(--text-muted);justify-content:center;gap:.375rem;display:flex}.settings-modal{--modal-max-width:680px;max-height:calc(100vh - 2rem)}.settings-modal__body{flex-direction:column;gap:.875rem;padding:1rem 1.25rem;display:flex}.settings-modal__intro{color:var(--text-secondary);margin:-.125rem 0 .125rem;font-size:.825rem}.settings-modal__storage-note{color:var(--text-main);margin-top:.2rem;font-size:.75rem;font-weight:600;display:block}.settings-modal__section{border:1px solid var(--border-light);background:#fbfcfe;border-radius:10px;min-width:0;margin:0;padding:.875rem}.settings-modal__section-title{float:left;width:100%;color:var(--text-main);letter-spacing:-.01em;margin:0;padding:0;font-size:.825rem;font-weight:700}.settings-modal__section-description{clear:both;color:var(--text-secondary);margin:.2rem 0 0;font-size:.75rem;line-height:1.4}.settings-modal__options{gap:.5rem;margin-top:.65rem;display:grid}.settings-modal__options--two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-modal__options--cleanup{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-modal__option{background:var(--bg-surface);border:1px solid var(--border-light);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.625rem;min-width:0;padding:.7rem .75rem;transition:border-color .12s,box-shadow .12s,background-color .12s;display:flex;position:relative;overflow:hidden}.settings-modal__option:hover{border-color:var(--border-medium);background:#f8faff}.settings-modal__option:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.settings-modal__option--selected,.settings-modal__option--selected:hover{border-color:var(--primary);background:var(--primary-subtle);box-shadow:inset 0 0 0 1px var(--primary)}.settings-modal__option input[type=radio]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.settings-modal__option-content{flex-direction:column;flex:1;gap:.225rem;min-width:0;display:flex}.settings-modal__option-heading{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.settings-modal__option-label{color:var(--text-main);font-size:.8rem;font-weight:650;line-height:1.25}.settings-modal__default-badge{background:hsl(var(--hue-primary), 85%, 91%);color:var(--primary-hover);letter-spacing:.035em;text-transform:uppercase;border-radius:99px;padding:.08rem .35rem;font-size:.6rem;font-weight:700;line-height:1.35}.settings-modal__option-description{color:var(--text-muted);font-size:.69rem;line-height:1.35}.settings-modal__option-indicator{border:1.5px solid var(--border-medium);background:var(--bg-surface);border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;margin-top:.05rem;display:flex}.settings-modal__option--selected .settings-modal__option-indicator{border-color:var(--primary)}.settings-modal__option-indicator-dot{background:0 0;border-radius:50%;width:8px;height:8px}.settings-modal__option--selected .settings-modal__option-indicator-dot{background:var(--primary)}.settings-modal__edit-cost{border:1px dashed var(--border-medium);background:var(--bg-surface);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.625rem;padding:.55rem .65rem;display:flex}.settings-modal__edit-cost--disabled{background:#f6f7f9}.settings-modal__edit-cost-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.settings-modal__edit-cost-label{color:var(--text-main);font-size:.75rem;font-weight:650}.settings-modal__edit-cost-description{color:var(--text-secondary);font-size:.675rem;line-height:1.3}.settings-modal__input{border:1px solid var(--border-medium);background:var(--bg-surface);width:76px;color:var(--text-main);font-variant-numeric:tabular-nums;border-radius:6px;flex:none;padding:.4rem .5rem;font-size:.8rem}.settings-modal__input:disabled{border-color:var(--border-light);color:var(--text-muted);cursor:not-allowed;background:#eef0f3}.settings-modal__input:focus-visible{border-color:var(--primary)}@media (width<=640px){.settings-modal__options--two-column,.settings-modal__options--cleanup{grid-template-columns:1fr}.settings-modal__section{padding:.75rem}}@media (prefers-reduced-motion:reduce){.settings-modal__option{transition:none}}@media (forced-colors:active){.settings-modal__option-indicator{background:canvas;border:2px solid buttontext}.settings-modal__option--selected .settings-modal__option-indicator-dot{forced-color-adjust:none;background:highlight}}.header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-light);flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:64px;padding:.5rem 32px;display:grid}.header__brand{align-items:center;gap:.75rem;display:flex}.header__logo{background:var(--primary-subtle);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.header__logo-image{width:18px;height:18px}.header__title{color:var(--text-main);letter-spacing:-.01em;font-size:1.125rem;font-weight:600}.header__brand-text{color:#374151}.header__brand-diff{color:#6d3bd1}.header__brand-tool{color:#087d74}.header__controls{align-items:center;gap:32px;display:flex}.header__actions{justify-content:flex-end;align-items:center;min-width:100px;display:flex}.header__about-button{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.header__about-button:hover{background:var(--primary-subtle);color:var(--primary)}.header__about-button:active{transform:scale(.95)}#compare-btn,#settings-btn{width:auto;min-width:100px}#settings-btn:disabled{pointer-events:initial;border-color:var(--border-medium);background-color:#f3f4f6}.header__toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.625rem;min-height:32px;display:flex}.header__toggle input[type=checkbox]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.header__toggle-track{background:var(--border-medium);border-radius:999px;width:40px;height:22px;transition:background-color .2s;position:relative}.header__toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.header__toggle input:checked+.header__toggle-track{background:var(--primary)}.header__toggle input:checked+.header__toggle-track .header__toggle-thumb{transform:translate(18px)}.header__toggle input:focus-visible+.header__toggle-track{outline:2px solid var(--primary);outline-offset:2px}.header__toggle-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.header__toggle:has(input:disabled){cursor:not-allowed}:is(.header__toggle:has(input:disabled) .header__toggle-track,.header__toggle:has(input:disabled) .header__toggle-label){opacity:.5}@media (width<=768px){.header{grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;height:auto;min-height:64px;padding:.75rem 1rem}.header__controls{grid-area:2/1/auto/-1;grid-template-columns:minmax(84px,1fr) auto minmax(84px,1fr);gap:.75rem;width:100%;display:grid}.header__actions{grid-area:1/2;min-width:0}#compare-btn,#settings-btn{width:100%;min-width:0}}@media (width<=360px){.header__controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.header__toggle{grid-area:1/1/auto/-1;justify-self:center}#compare-btn{grid-area:2/1}#settings-btn{grid-area:2/2}}@media (prefers-reduced-motion:reduce){.header__toggle-track,.header__toggle-thumb{transition:none}}@media (forced-colors:active){.header__toggle-track{border:2px solid buttontext}}.text-areas{flex:1;gap:1.5rem;padding:1.5rem 2rem;display:flex;overflow:hidden}.text-areas__pane{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-card);flex-direction:column;flex:1;display:flex;overflow:hidden}.text-areas__pane-header{border-bottom:1px solid var(--border-light);background:#fdfdfd;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.text-areas__pane-header h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:600}.text-areas__textarea-wrapper{flex:1;position:relative}.text-areas__textarea{resize:none;width:100%;height:100%;font-family:var(--font-mono);font-variant-ligatures:none;color:var(--text-main);background:0 0;border:none;padding:1rem;font-size:.9rem;line-height:1.6}.text-areas__textarea:focus-visible{outline-offset:-3px}.text-areas__textarea::placeholder{color:var(--text-muted)}.text-areas__textarea::-webkit-scrollbar{width:12px}.text-areas__textarea::-webkit-scrollbar-track{background:0 0}.text-areas__textarea::-webkit-scrollbar-thumb{background-color:var(--border-medium);background-clip:content-box;border:4px solid #0000;border-radius:99px}.text-areas__textarea::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}@media (width<=768px){.text-areas{flex-direction:column;padding:1rem}}.compare-display{background-color:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-card);flex-direction:column;flex:1;margin:1.5rem 2rem;display:flex;overflow:hidden}.compare-display--empty{justify-content:center;align-items:center}.compare-display__table{flex-direction:column;flex:1;min-height:0;display:flex}.compare-display__placeholder{color:var(--text-muted);font-size:.9rem}.compare-display__header{border-bottom:1px solid var(--border-light);background:#fdfdfd;flex-shrink:0;display:flex}.compare-display__header-cell{flex:1;padding:.75rem 1rem}.compare-display__header-cell:first-child{border-right:1px solid var(--border-light)}.compare-display__header-cell h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0;font-size:.75rem;font-weight:600}.compare-display__content{font-family:var(--font-mono);font-variant-ligatures:none;flex:1;font-size:.85rem;line-height:1.5;overflow:auto}.compare-display__content:focus{outline:3px solid var(--focus-ring);outline-offset:-3px}.compare-display__row{border-bottom:1px solid var(--border-light);display:flex}.diff-line{flex:1;min-height:1.5rem;display:flex}.diff-line:first-child{border-right:1px solid var(--border-light)}.diff-line--empty{background-color:#f8f9fa}.diff-line--delete{background-color:#ffebe9}.diff-line--insert{background-color:#e6ffec}.diff-line__number{text-align:right;min-width:3rem;color:var(--text-muted);border-right:1px solid var(--border-light);-webkit-user-select:none;user-select:none;background-color:#00000005;flex-shrink:0;padding:0 .5rem}.diff-line--delete .diff-line__number{background-color:#ff63471a}.diff-line--insert .diff-line__number{background-color:#28a7451a}.diff-line__gutter{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:1.5rem;font-weight:600}.diff-line--delete .diff-line__gutter{color:#cf222e}.diff-line--insert .diff-line__gutter{color:#1a7f37}.diff-line__text{white-space:pre-wrap;word-break:break-all;flex:1;padding:0 .5rem}.char-diff{display:inline}.char-diff--delete{background-color:#ffc0c0;border-radius:2px;text-decoration-line:none}.compare-display--text-decorations .char-diff--delete{text-decoration-line:line-through;text-decoration-color:#8c1d18}.char-diff--insert{background-color:#a6f1a6;border-radius:2px;text-decoration-line:none}.compare-display--text-decorations .char-diff--insert{text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:double;text-decoration-color:#096b2e}.char-diff--insert-marker:has(+.char-diff--equal){box-shadow:inset -2px 0 #047857}.char-diff--delete-marker:has(+.char-diff--equal){box-shadow:inset -2px 0 #b42318}.compare-display__row--trailing-newline{border-top:1px dashed var(--border-medium)}.compare-display__trailing-newline{flex:1;min-height:1.5rem;font-style:italic;display:flex}.compare-display__trailing-newline:first-child{border-right:1px solid var(--border-light)}.compare-display__trailing-newline-number{text-align:right;min-width:3rem;color:var(--text-muted);border-right:1px solid var(--border-light);-webkit-user-select:none;user-select:none;background-color:#00000005;flex-shrink:0;padding:0 .5rem}.compare-display__trailing-newline--absent{background-color:#fff5f5}.compare-display__trailing-newline--present{background-color:#f0faf0}.compare-display__trailing-newline-text{color:var(--text-secondary);-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:.25rem;padding:0 .5rem;font-size:.8rem;display:flex}.compare-display__trailing-newline--absent .compare-display__trailing-newline-text{color:#cf222e}.compare-display__trailing-newline--present .compare-display__trailing-newline-text{color:#1a7f37}.compare-display__content::-webkit-scrollbar{width:12px;height:12px}.compare-display__content::-webkit-scrollbar-track{background:0 0}.compare-display__content::-webkit-scrollbar-thumb{background-color:var(--border-medium);background-clip:content-box;border:4px solid #0000;border-radius:99px}.compare-display__content::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.compare-display__collapsed-row,.compare-display__collapsed-cell{display:block}.compare-display__collapsed{color:var(--text-secondary);border:0;border-bottom:1px solid var(--border-light);width:100%;min-height:36px;font-family:inherit;font-size:.8rem;line-height:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8f9fa;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.compare-display__collapsed:focus-visible{outline-offset:-3px}.compare-display__collapsed:hover{color:var(--text-main);background:#f1f3f5}.compare-display__collapsed--expanded{background:#e3f2fd}.compare-display__collapsed--expanded:hover{background:#bbdefb}.compare-display__collapsed-icon{font-size:.9rem}.compare-display__collapsed-text{font-family:var(--font-sans)}.compare-display__expanded-section{border-bottom:1px solid var(--border-light)}.compare-display__expanded-section .compare-display__collapsed{border-top:none}@media (width<=768px){.compare-display{flex-direction:column;margin:0 1rem 1rem}}@media (forced-colors:active){.char-diff--delete,.char-diff--insert{color:canvastext;background:canvas}:is(.char-diff--insert-marker:has(+.char-diff--equal),.char-diff--delete-marker:has(+.char-diff--equal)){forced-color-adjust:none;box-shadow:inset -2px 0 canvastext}}.processing-modal__status{color:var(--text-main);align-items:center;gap:.875rem;font-size:.9rem;display:flex}.processing-modal__spinner{border:2px solid var(--border-medium);border-top-color:var(--primary);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;animation:.8s linear infinite processing-modal-spin}@keyframes processing-modal-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.processing-modal__spinner{animation:none}}.app{flex-direction:column;width:100%;height:100%;display:flex}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-greek-ext.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/text-diff-tool/fonts/inter/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-greek.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/text-diff-tool/fonts/jetbrains-mono/jetbrains-mono-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--hue-primary:230;--primary:hsl(var(--hue-primary), 85%, 60%);--primary-hover:hsl(var(--hue-primary), 85%, 50%);--primary-subtle:hsl(var(--hue-primary), 85%, 96%);--bg-app:#f3f4f6;--bg-surface:#fff;--text-main:#1f2937;--text-secondary:#6b7280;--text-muted:#596273;--border-light:#e5e7eb;--border-medium:#8b95a5;--focus-ring:#1d4ed8;--radius-sm:6px;--radius-md:12px;--shadow-card:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--font-sans:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-optical-sizing:auto;background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;height:100vh;line-height:1.5;overflow:hidden}button,input,select,textarea{font-family:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}body[hidden]{display:none!important}#app{flex-direction:column;height:100%;display:flex}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{border-color:var(--border-medium);color:var(--text-main);background-color:#f3f4f6}.btn-secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}
