:root{--color-bg: #faf8f7;--color-surface: #ffffff;--color-border: #efe4e4;--color-border-strong: #e3d3d6;--color-text: #2f2733;--color-text-muted: #857186;--color-accent: #c2677f;--color-accent-hover: #a85368;--color-accent-soft: #f9ecf0;--color-accent-contrast: #ffffff;--color-lavender: #8b7ec8;--color-lavender-soft: #efecf9;--color-peach-soft: #fdefe6;--color-lilac-soft: #f4eef8;--color-success: #3e9c6c;--color-error: #c4544a;--color-diff-added-bg: #e6f6ec;--color-diff-added-text: #1f7042;--color-diff-removed-bg: #fbe9ec;--color-diff-removed-text: #a13c4d;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: "SF Mono", "Cascadia Code", Consolas, "Roboto Mono", monospace;--font-size-base: 1rem;--line-height-base: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-card: 0 1px 2px rgb(47 39 51 / 4%), 0 4px 14px rgb(47 39 51 / 5%);--shadow-card-hover: 0 2px 4px rgb(47 39 51 / 5%), 0 10px 26px rgb(194 103 127 / 14%);--color-surface-muted: #fafbfd;--color-header-bg: rgb(250 248 247 / 85%);--container: 72rem}:root[data-theme=dark]{color-scheme:dark;--color-bg: #111318;--color-surface: #191d25;--color-surface-muted: #202631;--color-border: #262d38;--color-border-strong: #3a4453;--color-text: #f1f3f5;--color-text-muted: #a0a8b5;--color-accent: #d47f95;--color-accent-hover: #e092a6;--color-accent-soft: #332430;--color-accent-contrast: #2f1c25;--color-lavender: #a394dc;--color-lavender-soft: #262538;--color-peach-soft: #2f2823;--color-lilac-soft: #2a2433;--color-success: #4cb585;--color-error: #e0786e;--color-diff-added-bg: #173627;--color-diff-added-text: #6fd3a0;--color-diff-removed-bg: #3a2329;--color-diff-removed-text: #e08996;--shadow-card: 0 1px 2px rgb(0 0 0 / 30%), 0 4px 14px rgb(0 0 0 / 32%);--shadow-card-hover: 0 2px 4px rgb(0 0 0 / 32%), 0 10px 26px rgb(212 127 149 / 16%);--color-header-bg: rgb(17 19 24 / 85%)}*,*:before,*:after{box-sizing:border-box}html{font-size:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .2s ease,color .2s ease}img,svg{display:block;max-width:100%}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0 0 var(--space-md)}h1{font-size:clamp(1.6rem,4vw,2.1rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 var(--space-md)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent-soft);color:var(--color-accent-hover)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-md)}.site-header{background-color:var(--color-header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:.7rem}.site-logo{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:1.15rem;color:var(--color-text);letter-spacing:-.01em}.site-logo:hover{text-decoration:none}.site-logo__mark{width:2.1rem;height:2.1rem;border-radius:10px;background:linear-gradient(135deg,var(--color-accent),var(--color-lavender));color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;box-shadow:0 2px 8px #c2677f4d}.site-nav{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.site-nav a{color:var(--color-text-muted);font-size:.95rem;font-weight:500;transition:color .15s ease}.site-nav a:hover{color:var(--color-accent);text-decoration:none}.theme-toggle{display:grid;place-items:center;width:2.3rem;height:2.3rem;padding:0;border:1px solid var(--color-border);border-radius:50%;background-color:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .1s ease}.theme-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}.theme-toggle:active{transform:scale(.92)}.theme-toggle__icon--sun{display:none}[data-theme=dark] .theme-toggle__icon--sun{display:block}[data-theme=dark] .theme-toggle__icon--moon{display:none}.site-main{padding-block:var(--space-xl);min-height:60vh}.site-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding-block:var(--space-xl) var(--space-lg);color:var(--color-text-muted);font-size:.9rem}.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-xl)}.site-footer__title{font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}.site-footer a{color:var(--color-text-muted);transition:color .15s ease}.site-footer a:hover{color:var(--color-accent);text-decoration:none}.site-footer__privacy-note{display:inline-flex;align-items:flex-start;gap:var(--space-sm);margin:var(--space-sm) 0 0;padding:.6rem .9rem;background-color:var(--color-lavender-soft);color:var(--color-lavender);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;line-height:1.45}.site-footer__privacy-note svg{flex-shrink:0;margin-top:.15rem}.site-footer__privacy-title{display:block;font-weight:700}.site-footer__bottom{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.breadcrumbs{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0;padding:0}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:var(--space-xs);color:var(--color-border-strong)}.hero{position:relative;max-width:44rem;margin-inline:auto;text-align:center;padding-block:var(--space-xl) var(--space-lg)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(52px);z-index:-1}.hero:before{width:16rem;height:16rem;background-color:var(--color-accent-soft);top:-3rem;left:-6rem}.hero:after{width:14rem;height:14rem;background-color:var(--color-lavender-soft);bottom:-2rem;right:-5rem}.hero h1{font-size:clamp(1.9rem,5vw,2.8rem);letter-spacing:-.02em;margin-bottom:var(--space-md)}.hero__lead{font-size:1.08rem;color:var(--color-text-muted);margin-inline:auto}.tool-search{position:relative;max-width:34rem;margin:var(--space-lg) auto 0}.tool-search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.tool-search__input{width:100%;padding:.85rem 6.5rem .85rem 2.8rem;font-family:inherit;font-size:1rem;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-card);transition:border-color .15s ease,box-shadow .15s ease}.tool-search__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.tool-search__input::placeholder{color:var(--color-text-muted)}.tool-search__kbd{position:absolute;right:2.8rem;top:50%;transform:translateY(-50%)}.tool-search__clear{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:50%;background-color:var(--color-accent-soft);color:var(--color-accent);font-size:1rem;line-height:1;cursor:pointer;transition:background-color .15s ease}.tool-search__clear:hover{background-color:var(--color-accent);color:#fff}.tool-search__clear--visible{display:inline-flex}.hero__privacy{margin-top:var(--space-md);font-size:.85rem;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:var(--space-xs)}kbd{padding:.15rem .45rem;font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);background-color:var(--color-bg);border:1px solid var(--color-border-strong);border-bottom-width:2px;border-radius:6px}.category-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.45rem 1rem;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-muted);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .1s ease}.chip:hover{color:var(--color-accent);border-color:var(--color-accent)}.chip:active{transform:scale(.97)}.chip--active{color:#fff;background-color:var(--color-accent);border-color:var(--color-accent)}.chip--active:hover{color:#fff}.category-section{margin-bottom:var(--space-xl);scroll-margin-top:5.5rem}.category-section__header{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md)}.category-section__title{margin:0}.category-section__count{font-size:.85rem;color:var(--color-text-muted)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-md)}.tool-card{position:relative;display:flex;flex-direction:column;gap:var(--space-sm);height:100%;padding:var(--space-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tool-card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--color-accent);box-shadow:var(--shadow-card-hover)}.tool-card__top{display:flex;align-items:center;gap:var(--space-sm)}.tool-card__icon{width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:12px;background-color:var(--color-accent-soft);color:var(--color-accent);transition:background-color .18s ease,transform .18s ease}.tool-card:hover .tool-card__icon{background-color:var(--color-lavender-soft);transform:rotate(-4deg) scale(1.05)}.tool-card__link{color:var(--color-text);line-height:1.3}.tool-card__link:hover{text-decoration:none}.tool-card__link:after{content:"";position:absolute;inset:0;border-radius:inherit}.tool-card__link:focus-visible{outline:none}.tool-card:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}.tool-card__title{font-weight:650;font-size:1.05rem;letter-spacing:-.01em}.tool-card__description{color:var(--color-text-muted);font-size:.9rem;line-height:1.35;margin:0;flex-grow:1}.tool-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs)}.tool-card__category{font-size:.76rem;font-weight:600;color:var(--color-lavender);background-color:var(--color-lavender-soft);border-radius:999px;padding:.18rem .65rem}.tool-card__arrow{color:var(--color-text-muted);transition:color .15s ease,transform .15s ease}.tool-card:hover .tool-card__arrow{color:var(--color-accent);transform:translate(3px)}.tool-card__fav{position:relative;z-index:1;margin-left:auto;margin-right:calc(-1 * var(--space-sm));display:inline-flex;align-items:center;justify-content:center;padding:.4rem;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.78rem;cursor:pointer;transition:color .15s ease,background-color .15s ease,transform .1s ease}.tool-card__fav-label{position:absolute;bottom:calc(100% + .35rem);right:0;padding:.25rem .55rem;background-color:var(--color-text);color:var(--color-bg);border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease}.tool-card__fav:hover .tool-card__fav-label,.tool-card__fav:focus-visible .tool-card__fav-label{opacity:1;transform:translateY(0)}.tool-card__fav:hover{color:var(--color-accent);background-color:var(--color-accent-soft)}.tool-card__fav:active{transform:scale(.88)}.tool-card__fav[aria-pressed=true]{color:var(--color-accent)}.tool-card__fav svg{fill:none;stroke:currentColor;transition:fill .15s ease}.tool-card__fav[aria-pressed=true] svg{fill:currentColor}.empty-state{padding:var(--space-xl);text-align:center;color:var(--color-text-muted);background-color:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.empty-state__title{font-weight:650;color:var(--color-text);margin-bottom:var(--space-xs)}[hidden]{display:none!important}@media(prefers-reduced-motion:no-preference){.tool-card{animation:card-enter .4s ease both}.tools-grid .tool-card:nth-child(2){animation-delay:.04s}.tools-grid .tool-card:nth-child(3){animation-delay:.08s}.tools-grid .tool-card:nth-child(4){animation-delay:.12s}.tools-grid .tool-card:nth-child(5){animation-delay:.16s}.tools-grid .tool-card:nth-child(6){animation-delay:.2s}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:48rem){.site-footer__grid{grid-template-columns:1fr;gap:var(--space-lg)}.site-nav{gap:var(--space-md)}.hero{padding-block:var(--space-lg) var(--space-md)}.tool-search__kbd{display:none}.tool-search__input{padding-right:2.8rem}}.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-md) var(--space-xl)}.sitemap-group h3{margin-bottom:var(--space-sm);font-size:1.05rem}.sitemap-list{margin:0;padding-left:1.2rem;color:var(--color-text-muted)}.sitemap-list li+li{margin-top:var(--space-xs)}.sitemap-list a{color:var(--color-text);text-decoration:none}.sitemap-list a:hover{color:var(--color-accent);text-decoration:underline}.tool-header{margin-bottom:var(--space-lg)}.tool-header__description{color:var(--color-text-muted);max-width:46rem}.tool-workspace{display:grid;gap:var(--space-md)}.tool-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.tool-panels--single{grid-template-columns:1fr}.field{display:grid;gap:var(--space-xs);align-content:start}.field__label{font-weight:600;font-size:.92rem}.field__hint{font-size:.82rem;color:var(--color-text-muted)}.text-input,.text-output{width:100%;min-height:14rem;padding:var(--space-md);font-family:var(--font-mono);font-size:.92rem;line-height:1.55;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.text-input::-webkit-scrollbar,.text-output::-webkit-scrollbar{width:8px}.text-input::-webkit-scrollbar-track,.text-output::-webkit-scrollbar-track{background:transparent}.text-input::-webkit-scrollbar-thumb,.text-output::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.text-input::-webkit-scrollbar-thumb:hover,.text-output::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.text-input::-webkit-scrollbar-corner,.text-output::-webkit-scrollbar-corner,.text-input::-webkit-resizer,.text-output::-webkit-resizer{background:transparent}.text-input:focus,.text-output:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.text-output[readonly]{background-color:var(--color-surface-muted)}.text-output--prewrap{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;overflow-y:auto}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.55rem 1.1rem;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn--primary{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.tool-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.file-upload{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-sm) var(--space-md)}.tool-panels .file-upload{margin-top:var(--space-md)}.file-upload__button{flex-shrink:0}.file-upload__hint{flex:1;min-width:0;font-size:.85rem;line-height:1.35;color:var(--color-text-muted)}.tool-workspace--dragover .text-input,.text-input.tool-workspace--dragover{border-style:dashed;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.tool-workspace--loading .text-input,.text-input.tool-workspace--loading{opacity:.6}.btn:disabled{opacity:.6;cursor:default}.btn:disabled:hover{border-color:var(--color-border);color:var(--color-text)}.tool-options{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tool-option{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.92rem}.tool-option input[type=text],.tool-option input[type=number],.tool-option select{padding:.4rem .6rem;font-family:inherit;font-size:.92rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text)}.tool-option input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:1.1rem;height:1.1rem;margin:0;flex-shrink:0;border:1.5px solid var(--color-border-strong);border-radius:5px;background-color:var(--color-surface);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.tool-option input[type=checkbox]:before{content:"";width:.65rem;height:.65rem;transform:scale(0);transition:transform .12s ease;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background-color:var(--color-accent-contrast)}.tool-option input[type=checkbox]:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.tool-option input[type=checkbox]:checked:before{transform:scale(1)}.tool-option input[type=checkbox]:hover:not(:checked){border-color:var(--color-accent)}.tool-option input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tool-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-sm);margin:0}.tool-stats--grouped{grid-template-columns:1fr 1fr;gap:var(--space-lg) var(--space-md)}.tool-stats__group{display:grid;gap:var(--space-sm);align-content:start;margin:0}.tool-stats__group-title{font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.tool-stats__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-sm)}.tool-stat{padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tool-stat__value{display:block;font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.tool-stat__label{font-size:.86rem;line-height:1.1;color:var(--color-text-muted)}.tool-status{min-height:1.4rem;font-size:.9rem}.tool-status--success{color:var(--color-success)}.tool-status--error{color:var(--color-error)}.diff-result{font-family:var(--font-mono);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;padding:var(--space-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:6rem;max-height:32rem;overflow-y:auto}.diff-result--field{min-height:14rem}.diff-result--field:empty:before{content:attr(data-empty);color:var(--color-text-muted)}.highlight-area{position:relative;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.highlight-area:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.highlight-area__backdrop,.highlight-area__input{font-family:var(--font-mono);font-size:.92rem;line-height:1.55;padding:var(--space-md);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.highlight-area__backdrop{position:absolute;inset:0;margin:0;overflow:hidden;border:1px solid transparent;border-radius:var(--radius-md);color:transparent;pointer-events:none;user-select:none}.highlight-area__input{position:relative;display:block;background-color:transparent;border-color:transparent;caret-color:var(--color-text)}.highlight-area__input:focus{box-shadow:none}.hl-found{background-color:var(--color-accent-soft);border-radius:3px;color:transparent}.hl-replaced{background-color:var(--color-diff-added-bg);color:var(--color-diff-added-text);border-radius:3px}.diff-added{background-color:var(--color-diff-added-bg);color:var(--color-diff-added-text)}.diff-removed{background-color:var(--color-diff-removed-bg);color:var(--color-diff-removed-text);text-decoration:line-through}.tool-section{margin-top:var(--space-xl)}.tool-section h2{margin-bottom:var(--space-sm)}.tool-section ol,.tool-section ul{color:var(--color-text-muted)}@media(max-width:48rem){.tool-panels,.tool-stats--grouped{grid-template-columns:1fr}}
