@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.h-\[2\.375rem\]{height:2.375rem}.min-h-\[1\.875rem\]{min-height:1.875rem}.min-h-\[2\.375rem\]{min-height:2.375rem}.w-\[2\.375rem\]{width:2.375rem}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[var\(--danger\)\]{background-color:var(--danger)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-transparent{background-color:#0000}.px-0{padding-inline:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--button-primary-text\)\]{color:var(--button-primary-text)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-inverse\)\]{color:var(--text-inverse)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-\[color-mix\(in_srgb\,var\(--danger\)_86\%\,black\)\]:hover{background-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--danger\)_86\%\,black\)\]:hover{background-color:color-mix(in srgb,var(--danger) 86%,black)}}.hover\:bg-\[var\(--primary-strong\)\]:hover{background-color:var(--primary-strong)}.hover\:bg-\[var\(--surface-muted\)\]:hover{background-color:var(--surface-muted)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--primary\)_26\%\,transparent\)\]:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-\[color-mix\(in_srgb\,var\(--primary\)_26\%\,transparent\)\]:focus-visible{--tw-ring-color:color-mix(in srgb,var(--primary) 26%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-55:disabled{opacity:.55}}:root{--bg:var(--surface-page);--surface:var(--surface-panel);--surface-subtle:var(--surface-panel-muted);--surface-muted:var(--surface-hover);--border:var(--border-subtle);--text:var(--text-primary);--muted:var(--text-secondary);--muted-strong:var(--text-secondary);--primary:var(--accent-primary);--primary-strong:var(--accent-primary-hover);--primary-soft:var(--accent-primary-soft);--danger:var(--semantic-danger);--danger-soft:var(--semantic-danger-soft);--code-bg:var(--code-surface);--code-text:var(--text-primary);--code-ink:var(--text-primary);--shadow:var(--shadow-panel);font-family:var(--font-sans)}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body{background:var(--bg);min-height:100%;color:var(--text);scrollbar-width:none;-ms-overflow-style:none;margin:0;overflow-x:clip}body{text-rendering:optimizelegibility;font-size:16px;line-height:1.5}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 26%,transparent)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px}.site-header{z-index:10;border-bottom:1px solid var(--border);background:var(--surface-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-header);position:sticky;top:0}.site-navigation-progress{z-index:100;pointer-events:none;background:var(--primary);transform-origin:0;opacity:0;width:100%;height:2px;transition:transform .2s,opacity .16s;position:fixed;top:0;left:0;transform:scaleX(0)}html[data-navigation=loading] .site-navigation-progress{opacity:1;transform:scaleX(.72)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-5);max-width:var(--size-page-max);padding:var(--space-3) var(--layout-page-inline);margin:0 auto;display:flex;position:relative}.site-header__search{width:min(40rem,100% - 18rem);position:absolute;left:50%;transform:translate(-50%)}.site-header__actions{justify-content:flex-end;align-items:center;gap:var(--space-3);min-width:0;display:flex}.theme-toggle{flex:none;width:2.375rem;padding-inline:0}.app-toast-viewport{z-index:1000;align-items:center;gap:var(--space-2);pointer-events:none;outline:none;flex-direction:column;width:min(34rem,100vw - 2rem);margin:0;padding:0;list-style:none;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%)}.app-toast{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:fit-content;max-width:100%;min-height:2.75rem;color:var(--text);box-shadow:var(--shadow-dropdown);pointer-events:auto;grid-template-columns:auto minmax(0,1fr) auto;padding:9px 12px;display:grid}.app-toast[data-state=open]{animation:app-toast-in .18s var(--ease-standard)}.app-toast[data-state=closed]{animation:app-toast-out .16s var(--ease-standard)}.app-toast[data-swipe=move]{transform:translateY(var(--radix-toast-swipe-move-y))}.app-toast[data-swipe=cancel]{transition:transform .18s var(--ease-standard);transform:translateY(0)}.app-toast[data-swipe=end]{animation:app-toast-swipe-out .16s var(--ease-standard)}.app-toast--success{border-color:var(--semantic-success)}@supports (color:color-mix(in lab,red,red)){.app-toast--success{border-color:color-mix(in srgb,var(--semantic-success) 42%,var(--border))}}.app-toast--success{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.app-toast--success{background:color-mix(in srgb,var(--surface) 90%,var(--semantic-success-soft))}}.app-toast--info{border-color:var(--semantic-info)}@supports (color:color-mix(in lab,red,red)){.app-toast--info{border-color:color-mix(in srgb,var(--semantic-info) 42%,var(--border))}}.app-toast--info{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.app-toast--info{background:color-mix(in srgb,var(--surface) 91%,var(--semantic-info-soft))}}.app-toast--warning{border-color:var(--semantic-warning)}@supports (color:color-mix(in lab,red,red)){.app-toast--warning{border-color:color-mix(in srgb,var(--semantic-warning) 42%,var(--border))}}.app-toast--warning{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.app-toast--warning{background:color-mix(in srgb,var(--surface) 90%,var(--semantic-warning-soft))}}.app-toast--error{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.app-toast--error{border-color:color-mix(in srgb,var(--danger) 48%,var(--border))}}.app-toast--error{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.app-toast--error{background:color-mix(in srgb,var(--surface) 88%,var(--danger-soft))}}.app-toast__icon{color:var(--primary)}.app-toast--success .app-toast__icon{color:var(--semantic-success)}.app-toast--warning .app-toast__icon{color:var(--semantic-warning)}.app-toast--error .app-toast__icon{color:var(--danger)}.app-toast__text{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.875rem;line-height:1.45}.app-toast__close{border-radius:var(--radius-sm);width:1.5rem;height:1.5rem;color:var(--muted);background:0 0;place-items:center;display:inline-grid}.app-toast__close:hover{background:var(--surface-muted);color:var(--text)}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes app-toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}@keyframes app-toast-swipe-out{0%{opacity:1;transform:translateY(var(--radix-toast-swipe-end-y))}to{opacity:0;transform:translateY(-22px)}}@media(max-width:720px){.app-toast-viewport{width:min(28rem,100vw - 1.5rem);top:14px}}.theme-selector{position:relative}.theme-selector__dropdown{top:calc(100% + var(--space-2));z-index:30;gap:var(--space-1);width:min(18rem,100vw - 1.5rem);min-width:14rem;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-dropdown);display:grid;position:absolute;right:0}.theme-selector__item{width:100%;min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;transition:background-color .15s,color .15s;display:flex}.theme-selector__item:hover{background:var(--surface-muted)}.theme-selector__item--active{background:var(--primary-soft);color:var(--primary-strong)}.theme-selector__name{color:currentColor;font-size:.875rem;font-weight:650}.theme-selector__desc{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;line-height:1.35}.tool-search{min-width:0;position:relative}.tool-search--header{width:100%}.tool-search__field{align-items:center;gap:var(--space-3);height:2.75rem;padding:0 var(--space-4);border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:.75rem;transition:border-color .2s,box-shadow .2s;display:flex}.tool-search__field:hover{border-color:var(--border-strong)}.tool-search__field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.tool-search__field input{width:100%;min-width:0;padding:0 var(--space-1);color:var(--text);background:0 0;border:0;outline:0;font-size:.9375rem}.tool-search__field input::placeholder{color:var(--text-tertiary)}.tool-search__shortcut{border:1px solid var(--border);background:var(--surface-subtle);min-width:3.25rem;height:1.625rem;color:var(--text-secondary);pointer-events:none;letter-spacing:.02em;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:2px;padding:0 6px;font-family:inherit;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.tool-search__results{top:calc(100% + var(--space-2));z-index:30;gap:var(--space-1);scrollbar-width:none;width:min(36rem,max(100%,18rem));max-height:22rem;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-dropdown);display:grid;position:absolute;left:0;overflow:auto}.tool-search__result{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text);text-align:left;background:0 0;gap:2px;text-decoration:none;display:grid}.tool-search__result:hover,.tool-search__result--active{background:var(--surface-muted)}.tool-search__result-main{font-weight:700}.tool-search__result-meta,.tool-search__empty{color:var(--muted);font-size:.8125rem}.brand{align-items:center;gap:var(--space-2);min-width:max-content;text-decoration:none;display:inline-flex}.brand__mark{border-radius:var(--radius-md);background:var(--accent-primary);width:34px;height:34px;color:var(--text-inverse);place-items:center;font-weight:750;display:inline-grid}.brand__body{flex-direction:column;gap:1px;display:flex}.brand__text{letter-spacing:0;font-weight:750;line-height:1.1}.brand__caption{color:var(--muted);font-size:12px;line-height:1.1}.site-main{max-width:var(--size-page-max);padding:var(--layout-page-block) var(--layout-page-inline) clamp(1.75rem,3vw,2.5rem);margin:0 auto}.site-main--tool{width:100%;max-width:none;padding:var(--space-2) 0 clamp(1.25rem,2vw,2rem)}.home-shell{grid-template-columns:clamp(12rem,14vw,15rem) minmax(0,1fr);align-items:start;gap:clamp(1rem,2vw,2rem);display:grid}.home-sidebar{top:calc(3.75rem + var(--layout-page-block));gap:var(--space-4);min-width:0;min-height:calc(100vh - 5rem);padding:var(--space-3);border-right:1px solid var(--border);flex-direction:column;display:flex;position:sticky}.home-brand{align-items:center;gap:var(--space-2);color:var(--primary-strong);font-size:1.125rem;font-weight:800;text-decoration:none;display:inline-flex}.home-brand__mark{border-radius:var(--radius-md);background:var(--primary-soft);width:1.875rem;height:1.875rem;color:var(--primary-strong);place-items:center;display:inline-grid}.home-category-nav{gap:var(--space-1);display:grid}.home-category-nav__item{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--muted-strong);font-size:.875rem;font-weight:650;text-decoration:none;display:flex}.home-category-nav__item:hover{background:var(--surface-muted);color:var(--text)}.home-category-nav__main{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.home-category-nav__count{color:var(--text-tertiary);font-size:.75rem}.home-main{min-width:0;padding:clamp(.5rem,1vw,1rem) 0}.home-catalog,.home-tool-sections,.home-tool-section{min-width:0}.home-tabs{border-bottom:1px solid var(--border);overscroll-behavior-inline:contain;scroll-padding-inline:var(--space-2);scrollbar-width:none;align-items:center;gap:clamp(.75rem,2vw,2rem);margin-bottom:clamp(1.25rem,2vw,1.75rem);display:flex;overflow-x:auto}.home-tabs__item{align-items:center;gap:var(--space-1);min-height:2.75rem;color:var(--muted-strong);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:0;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.home-tabs__item--active,.home-tabs__item:hover{border-bottom-color:var(--primary);color:var(--primary-strong)}.home-tool-sections{gap:clamp(2rem,4vw,3rem);padding-bottom:max(18rem,55vh);display:grid}.home-tool-section{gap:var(--space-4);scroll-margin-top:calc(3.75rem + var(--layout-page-block) + var(--space-4));display:grid}.home-tool-section__head{align-items:center;gap:var(--space-2);display:flex}.home-tool-section__icon{width:1.75rem;height:1.75rem;color:var(--primary-strong);place-items:center;display:inline-grid}.home-tool-section__title{margin:0;font-size:1.125rem;line-height:1.2}.home-tool-section__count{color:var(--muted);font-size:.8125rem}.home-tool-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,12.75rem),1fr));display:grid}.home-tool-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;min-height:8.25rem;box-shadow:var(--shadow);transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard);display:grid;position:relative}.home-tool-card:hover{border-color:var(--border-strong);background:var(--surface-subtle);transform:translateY(-1px)}.home-tool-card__link{align-content:start;gap:var(--space-2);min-width:0;min-height:100%;padding:var(--space-4) calc(var(--space-4) + 2rem) var(--space-4) var(--space-4);text-decoration:none;display:grid}.home-tool-card__favorite-button{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-tertiary);background:0 0;place-items:center;display:inline-grid;position:absolute}.home-tool-card__favorite-button:hover{background:var(--surface-muted);color:var(--primary-strong)}.home-tool-card__favorite-button--active{color:var(--semantic-warning)}.home-tool-card__favorite-button--active svg{fill:currentColor}.home-tool-card__name{margin:0;font-size:1rem;line-height:1.25}.home-tool-card__desc{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.875rem}.home-empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);min-height:10rem;color:var(--muted);place-items:center;font-size:.9375rem;display:grid}.page-head{justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.page-head--home{border-bottom:1px solid var(--border);padding-bottom:6px}.page-title{letter-spacing:0;margin:0;font-size:clamp(1.5rem,2vw,2rem);line-height:1.15}.page-desc{max-width:640px;margin:var(--space-1) 0 0;color:var(--muted)}.page-note{border:1px solid var(--border);background:var(--surface);color:var(--muted-strong);white-space:nowrap;border-radius:8px;margin:0;padding:7px 10px;font-size:13px}.tool-app-shell{grid-template-columns:auto 1fr auto;gap:0;min-width:0;display:grid}.tool-ref-sidebar{top:calc(3.75rem + var(--space-2));width:var(--size-ref-panel);scrollbar-width:none;max-height:calc(100vh - 5.5rem);transition:width var(--motion-normal) var(--ease-standard);flex-direction:column;flex-shrink:0;gap:0;display:flex;position:sticky;overflow:hidden}.tool-ref-sidebar--collapsed{width:var(--size-ref-panel-collapsed);overflow:hidden}.ref-panel--collapsed{flex-direction:column;align-items:center;width:100%;height:100%;display:flex}.tool-app-content{--tool-content-max:78rem;gap:var(--space-3);min-width:0;padding:0 var(--space-3);align-content:start;display:grid}.tool-app-head{justify-content:space-between;align-items:end;gap:var(--space-3);width:min(100%,var(--tool-content-max));padding-bottom:var(--space-1);border-bottom:1px solid var(--border);justify-self:center;display:flex}.tool-app-body{justify-items:center;width:100%;min-width:0;display:grid}.tool-app-body>*{width:min(100%,var(--tool-content-max));justify-self:center;min-width:0}.tool-sidebar{top:calc(3.75rem + var(--space-2));align-content:start;align-self:start;gap:var(--space-1);width:var(--size-sidebar);min-height:0;max-height:calc(100vh - 5.5rem);padding:var(--space-2);border-right:1px solid var(--border);transition:width var(--motion-normal) var(--ease-standard);grid-template-rows:auto minmax(0,1fr);display:grid;position:sticky;overflow:hidden}.tool-sidebar--collapsed{width:var(--size-sidebar-collapsed);overflow:hidden}.tool-sidebar__head{width:100%;min-height:2.25rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--muted-strong);text-align:left;cursor:pointer;background:0 0;flex-shrink:0;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:700;transition:background-color .15s,color .15s,writing-mode .15s;display:flex}.tool-sidebar--collapsed .tool-sidebar__head{justify-content:center;align-items:center;gap:0;min-height:2.25rem;padding:0}.tool-sidebar__head:hover{background:var(--surface-muted);color:var(--text)}.tool-sidebar__title{white-space:nowrap;overflow:hidden}.tool-sidebar__groups{gap:var(--space-1);opacity:1;scrollbar-width:none;min-height:0;transition:opacity var(--motion-normal) var(--ease-standard);min-width:calc(var(--size-sidebar) - var(--space-4));padding-right:0;display:grid;overflow:hidden auto}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.app-shell::-webkit-scrollbar{width:0;height:0;display:none}.app-shell__main::-webkit-scrollbar{width:0;height:0;display:none}.tool-sidebar__groups::-webkit-scrollbar{width:0;height:0;display:none}.home-tabs::-webkit-scrollbar{width:0;height:0;display:none}.home-category-nav::-webkit-scrollbar{width:0;height:0;display:none}.tool-search__results::-webkit-scrollbar{width:0;height:0;display:none}.tool-sidebar--collapsed .tool-sidebar__groups{opacity:0;pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.tool-sidebar__group{gap:var(--space-1);display:grid}.tool-sidebar__group-toggle{width:100%;min-height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--muted-strong);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:700;transition:background-color .15s,color .15s;display:flex}.tool-sidebar__group-toggle:hover{background:var(--surface-muted);color:var(--text)}.tool-sidebar__links{padding-left:var(--space-1);gap:1px;display:grid}.tool-sidebar__link{min-height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--muted-strong);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;font-size:.8125rem;text-decoration:none;transition:background-color .15s,color .15s,padding-left .15s;overflow:hidden}.tool-sidebar__link:hover{background:var(--surface-muted);color:var(--text);padding-left:calc(var(--space-2) + 3px)}.tool-sidebar__link--active{background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.tool-sidebar__link--active:hover{background:var(--primary-soft);padding-left:var(--space-2)}@media(max-width:64rem){.tool-search--header{width:100%}.home-shell{grid-template-columns:1fr}.home-sidebar{border-right:0;border-bottom:1px solid var(--border);min-height:0;position:static}.home-category-nav{scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.home-category-nav__item{flex:none;min-width:9rem}.page-head{flex-direction:column;align-items:start;gap:12px}.page-note{white-space:normal}}@media(max-width:560px){.site-main{padding:24px 14px 44px}.site-header__inner{gap:var(--space-3);flex-wrap:wrap;padding:11px 14px}.site-header__search{flex:0 0 100%;order:3;width:100%;position:static;transform:none}.site-header__actions{margin-left:auto}.brand__caption{flex:auto;width:auto;max-width:9rem}.tool-search__field{padding-inline:var(--space-2)}.tool-search__results{width:auto;left:0;right:0}.home-main{padding-top:0}.home-sidebar{display:none}.home-tabs{gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:0}.home-tabs__item{min-height:2.375rem;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface)}.home-tabs__item--active,.home-tabs__item:hover{border-color:var(--primary);background:var(--primary-soft)}.home-tool-grid{grid-template-columns:1fr}.home-tool-section{scroll-margin-top:8.5rem}.page-title{font-size:1.75rem}}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hidden::-webkit-scrollbar{width:0;height:0;display:none}:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--size-page-max:96rem;--size-sidebar:14rem;--size-sidebar-collapsed:3rem;--size-ref-panel:24rem;--size-ref-panel-collapsed:2.75rem;--size-search:clamp(13rem, 22vw, 22rem);--size-action-rail:clamp(8.5rem, 10vw, 11rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-pill:999rem;--editor-height-default:clamp(28rem, 68vh, 48rem);--editor-height-medium:clamp(20rem, 44vh, 30rem);--editor-height-mobile:clamp(15rem, 36vh, 22rem);--editor-height-compact:clamp(8rem, 24vh, 14rem);--layout-page-inline:clamp(.75rem, 1.35vw, 1.125rem);--layout-page-block:clamp(.875rem, 1.5vw, 1.25rem);--layout-grid-gap:clamp(.625rem, 1vw, .875rem);--layout-panel-padding:clamp(.625rem, 1vw, .875rem);--motion-fast:.12s;--motion-normal:.18s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}:root,html[data-theme=light]{color-scheme:light;--surface-page:#f6f8fc;--surface-header:#ffffffe0;--surface-panel:#fff;--surface-panel-muted:#f8faff;--surface-hover:#eef4ff;--border-subtle:#d9e2f2;--border-strong:#9dadc8;--text-primary:#172033;--text-secondary:#647089;--text-tertiary:#8a94aa;--text-inverse:#fff;--button-primary-text:var(--text-inverse);--accent-primary:#1468d8;--accent-primary-hover:#0f54b8;--accent-primary-soft:#e4efff;--semantic-danger:#b42318;--semantic-danger-soft:#fff1ef;--semantic-success:#067647;--semantic-success-soft:#ecfdf3;--semantic-warning:#a16207;--semantic-warning-soft:#fff7dc;--semantic-info:#2563eb;--semantic-info-soft:#eaf1ff;--code-surface:#fbfdff;--code-gutter:#eef3fb;--code-border:#d9e2f2;--code-active-line:#edf4ff;--code-selection:#c6ddff;--code-selection-unfocused:#d9e8ff;--code-token-string:#116329;--code-token-number:#175cd3;--code-token-bool:#7a3db8;--code-token-null:#6b7280;--code-token-keyword:#7a3db8;--code-token-property:#0f54b8;--code-token-comment:#647089;--code-token-punctuation:#647089;--shadow-panel:0 1px 2px #1018180d;--shadow-header:0 1px 0 #1018180a;--shadow-dropdown:0 1rem 2.5rem #14305c29}html[data-theme=dark]{color-scheme:dark;--surface-page:#0c1020;--surface-header:#0c1020e6;--surface-panel:#11182a;--surface-panel-muted:#162035;--surface-hover:#1d2b46;--border-subtle:#2b3a59;--border-strong:#586985;--text-primary:#eef4ff;--text-secondary:#aebbd2;--text-tertiary:#8190aa;--text-inverse:#fff;--button-primary-text:#08111f;--accent-primary:#5b9dff;--accent-primary-hover:#8ab8ff;--accent-primary-soft:#18345f;--semantic-danger:#f97066;--semantic-danger-soft:#3a1715;--semantic-success:#32d583;--semantic-success-soft:#083a23;--semantic-warning:#facc15;--semantic-warning-soft:#332707;--semantic-info:#93c5fd;--semantic-info-soft:#10243f;--code-surface:#101827;--code-gutter:#142033;--code-border:#2b3a59;--code-active-line:#172845;--code-selection:#214d86;--code-selection-unfocused:#233b5d;--code-token-string:#7ddc9e;--code-token-number:#8ab8ff;--code-token-bool:#c4a5ff;--code-token-null:#aebbd2;--code-token-keyword:#c4a5ff;--code-token-property:#93c5fd;--code-token-comment:#8190aa;--code-token-punctuation:#aebbd2;--shadow-panel:0 1px 2px #00000059;--shadow-header:0 1px 0 #ffffff08;--shadow-dropdown:0 1rem 2.5rem #00000080}.io-workbench{width:min(100%,var(--tool-content-max,78rem));height:var(--editor-height-default);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:0;box-shadow:var(--shadow);grid-template-rows:auto 1fr;gap:0;margin-inline:auto;display:grid;overflow:hidden}.io-workbench__toolbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-subtle);display:flex}.proto-toolbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.proto-message-control{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:2.375rem;color:var(--muted);align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .75rem;font-size:.8125rem;line-height:1;display:inline-flex}.proto-message-control input,.proto-message-control select{width:min(14rem,42vw);min-width:8rem;color:var(--text);font-family:var(--font-mono);background:0 0;border:0;outline:none;font-size:.875rem}.proto-message-control select{cursor:pointer;width:min(18rem,52vw)}.proto-message-control--compact select{width:min(10rem,42vw);min-width:7rem}.proto-message-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.io-workbench__panes{grid-template-columns:1fr 1fr;gap:clamp(.625rem,.9vw,.875rem);min-height:0;display:grid}.io-workbench__pane{min-width:0;min-height:0;overflow:hidden}.io-workbench__pane .code-editor{height:100%;min-height:0}.generator-panel{grid-template-columns:minmax(18rem,.86fr) minmax(22rem,1.14fr);align-items:start;gap:clamp(.875rem,1.5vw,1.25rem);width:min(100%,72rem);margin-inline:auto;display:grid}.generator-panel__controls,.generator-panel__right{gap:var(--space-3);min-width:0;display:grid}.generator-panel__result{gap:var(--space-3);display:grid}.generator-panel__actions{display:grid}.generator-panel__reference{margin-top:var(--space-1)}.ui-button{border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);border:0;justify-content:center;align-items:center;font-weight:680;display:inline-flex}.ui-button--md{min-height:2.375rem;padding:var(--space-2) var(--space-3)}.ui-button--sm{min-height:1.875rem;padding:var(--space-1) var(--space-2);font-size:.8125rem}.ui-button--primary{background:var(--accent-primary);color:var(--button-primary-text)}.ui-button--primary:hover{background:var(--accent-primary-hover)}.ui-button--secondary{border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.ui-button--secondary:hover{background:var(--surface-hover)}.ui-button--ghost{color:var(--text-secondary);background:0 0}.ui-button--ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.ui-button:disabled{cursor:not-allowed;opacity:.5}.code-editor{min-width:0;min-height:var(--code-editor-min-height,var(--editor-height-default));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);contain:layout paint;flex-direction:column;display:flex;overflow:hidden}.code-editor__toolbar{align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-subtle);flex:none;grid-template-columns:minmax(0,1fr) auto;display:grid}.code-editor__title-group,.code-editor__actions{align-items:center;gap:var(--space-2);min-width:0;display:flex}.code-editor__actions{flex-wrap:wrap;justify-content:flex-end;position:relative}.code-editor__title{white-space:nowrap;font-weight:680}.code-editor__meta,.code-editor__action-status{font-size:.8125rem}.copy-action-group{position:relative}.copy-feedback{--copy-feedback-y:0;z-index:20;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-panel);justify-content:center;align-items:center;max-width:min(14rem,100vw - 2rem);min-height:1.625rem;padding:.1875rem .625rem;display:inline-flex;position:absolute;top:calc(100% + .35rem);right:0}@supports (color:color-mix(in lab,red,red)){.copy-feedback{background:color-mix(in srgb,var(--surface-panel) 94%,var(--accent-primary-soft))}}.copy-feedback{box-shadow:var(--shadow-dropdown);color:var(--text);white-space:nowrap;pointer-events:none;transform:translateY(var(--copy-feedback-y));animation:copy-feedback-in var(--motion-normal) var(--ease-standard);font-size:.75rem;font-weight:650;line-height:1}@keyframes copy-feedback-in{0%{opacity:0;transform:translateY(calc(var(--copy-feedback-y) + .25rem))}to{opacity:1;transform:translateY(var(--copy-feedback-y))}}.code-editor__message{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);flex:none;font-size:.8125rem}.code-editor__message--neutral{background:var(--surface-subtle);color:var(--muted-strong)}.code-editor__message--error{background:var(--danger-soft);color:var(--danger)}.code-editor__surface{flex:auto;min-height:0;display:flex}.code-editor__skeleton{min-height:var(--code-editor-min-height,var(--editor-height-default));border:1px solid var(--border);background:repeating-linear-gradient(180deg,var(--surface-subtle) 0 2.1rem,var(--border-subtle) 2.1rem 2.15rem);border-top:0}.mathjax-actions,.mathjax-actions__commands{align-items:center;gap:var(--space-2);display:flex}.mathjax-actions{justify-content:flex-end;width:100%}.mathjax-preview{border:1px solid var(--border);background:var(--surface);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.mathjax-preview__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);padding:.625rem .75rem;display:flex}.mathjax-preview__formula{min-width:0;min-height:0;padding:var(--space-4);scrollbar-width:none;align-items:center;display:flex;overflow:auto}.mathjax-preview__formula::-webkit-scrollbar{display:none}.mathjax-preview__formula--block{justify-content:center}.mathjax-preview__svg{color:var(--text);flex:none;display:flex}.mathjax-preview__svg svg{max-width:none;height:auto;display:block}.svg-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.io-workbench__pane .svg-preview{height:100%}.svg-preview__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-subtle);display:flex}.svg-preview__canvas{place-items:center;min-height:0;display:grid;overflow:hidden}.svg-preview__canvas--transparent{background-color:#fff;background-image:conic-gradient(#e8edf5 25%,#fff 0 50%,#e8edf5 0 75%,#fff 0);background-size:1.25rem 1.25rem}.svg-preview__canvas--light{background:#f8fafc}.svg-preview__canvas--dark{background:#172033}.svg-preview__canvas iframe{transform-origin:50%;width:100%;height:100%;min-height:0;transition:transform var(--motion-fast) var(--ease-standard);border:0}.svg-preview-actions,.svg-preview-actions__group{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.svg-preview-actions{justify-content:flex-end;width:100%}.svg-preview-actions__group span{min-width:3.5rem;color:var(--muted);font-family:var(--font-mono);text-align:center;font-size:.8125rem}.svg-preview-background{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:1.875rem;color:var(--text);padding:.2rem .45rem}@media(max-width:40rem){.mathjax-actions__commands{flex-wrap:wrap;width:100%}}.pwa-update-prompt{left:50%;bottom:var(--space-4);z-index:90;align-items:center;gap:var(--space-2);max-width:calc(100vw - 2rem);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--text);display:flex;position:fixed;transform:translate(-50%)}.pwa-update-prompt span{font-size:.875rem}.pwa-update-prompt__close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:.75rem}.code-editor__surface .cm-editor{background:var(--code-surface);min-height:0;color:var(--code-ink);flex:auto;width:100%;height:auto;font-size:14px}.code-editor__surface .cm-gutters{border-right-color:var(--code-border);background:var(--code-gutter);color:var(--text-tertiary);min-width:3.25rem}.code-editor__surface .cm-lineNumbers .cm-gutterElement{min-width:2.25rem;padding:0 var(--space-2) 0 var(--space-1);text-align:right}.code-editor__surface .cm-foldGutter{width:1rem}.code-editor__surface .cm-foldGutter .cm-gutterElement{width:1rem;color:var(--text-tertiary);place-items:center;padding:0;display:grid}.code-editor__surface .cm-foldGutter span{width:0;height:0;color:var(--text-tertiary);transform-origin:50%;border-top:.25rem solid #0000;border-bottom:.25rem solid #0000;border-left:.3125rem solid;font-size:0;line-height:0;display:inline-block;transform:rotate(90deg)}.code-editor__surface .cm-foldGutter span[title*=Unfold]{transform:rotate(0)}.code-editor__surface .cm-activeLine{background:var(--code-active-line)}.code-editor__surface .cm-activeLineGutter{background:var(--code-active-line);color:var(--text-primary)}.code-editor__surface .cm-selectionBackground,.code-editor__surface.cm-focused .cm-selectionBackground,.code-editor__surface .cm-focused .cm-selectionBackground,.code-editor__surface .cm-selectionLayer .cm-selectionBackground{background-color:var(--code-selection)!important}.code-editor__surface .cm-content ::selection{background-color:var(--code-selection)!important}.code-editor__surface .cm-editor:not(.cm-focused) .cm-selectionBackground{background-color:var(--code-selection-unfocused)!important}.code-editor__surface .cm-scroller{scrollbar-width:none;-ms-overflow-style:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:1.55;overflow:auto}.tool-panel--single .code-editor,.tool-panel--single .code-editor .cm-editor{min-height:0}.tool-panel--io>.tool-section{flex-direction:column;display:flex}.tool-actions .panel-head{margin-bottom:0}.code-editor__surface .cm-content{padding:10px 0}.code-editor__surface .cm-line{word-break:break-word;overflow-wrap:anywhere;padding:0 12px}.code-editor__surface .cm-content{max-width:100%}.ui-badge{min-height:1.5rem;padding:.1875rem var(--space-2);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;font-size:.75rem;font-weight:650;display:inline-flex}.ui-badge--neutral{background:var(--surface-hover);color:var(--text-secondary)}.ui-badge--success{background:var(--accent-primary-soft);color:var(--accent-primary-hover)}.ui-badge--danger{background:var(--semantic-danger-soft);color:var(--semantic-danger)}.ui-badge--warning{background:var(--semantic-warning-soft);color:var(--semantic-warning)}.ui-badge--info{background:var(--semantic-info-soft);color:var(--semantic-info)}.diff-viewer{gap:var(--space-4);width:min(100%,64rem);max-width:64rem;margin-inline:auto;display:grid}.diff-viewer__inputs{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.diff-viewer__input-panel{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.diff-viewer__result{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.diff-viewer__stats{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:.8125rem;display:flex}.diff-stat{font-weight:600}.diff-stat--equal{color:var(--muted)}.diff-stat--added{color:var(--accent-primary-hover)}.diff-stat--removed{color:var(--semantic-danger)}.diff-viewer__columns{grid-template-columns:1fr 1fr;display:grid}.diff-viewer__col{border-right:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.diff-viewer__col--right{border-right:none}.diff-viewer__col-header{padding:var(--space-1) var(--space-3);background:var(--surface-muted);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:700;position:sticky;top:0}.diff-line{min-height:1.5rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem;line-height:1.5;display:flex}.diff-line--equal{background:0 0}.diff-line--added{background:var(--accent-primary-soft)}@supports (color:color-mix(in lab,red,red)){.diff-line--added{background:color-mix(in srgb,var(--accent-primary-soft) 40%,transparent)}}.diff-line--removed{background:var(--semantic-danger-soft)}@supports (color:color-mix(in lab,red,red)){.diff-line--removed{background:color-mix(in srgb,var(--semantic-danger-soft) 40%,transparent)}}.diff-line__num{width:2.5rem;padding:0 var(--space-2);text-align:right;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);flex-shrink:0}.diff-line__content{padding:0 var(--space-2);white-space:pre;text-overflow:ellipsis;flex:1;overflow:hidden}.diff-line--added .diff-line__content:before{content:"+ ";color:var(--accent-primary-hover);font-weight:700}.diff-line--removed .diff-line__content:before{content:"- ";color:var(--semantic-danger);font-weight:700}.regex-tester{gap:var(--space-4);width:min(100%,58rem);max-width:58rem;margin-inline:auto;display:grid}.regex-tester__pattern,.regex-tester__input,.regex-tester__highlight,.regex-tester__results{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.regex-tester__head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.regex-highlight-area{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);white-space:pre-wrap;word-break:break-word;scrollbar-width:none;-ms-overflow-style:none;min-height:6rem;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem;line-height:1.6;overflow:auto}.regex-highlight{background:var(--accent-primary-soft);color:var(--accent-primary-hover);border-radius:2px;padding:1px 2px}.tool-with-ref{gap:var(--space-4);width:min(100%,var(--tool-content-max,78rem));grid-template-columns:1fr;margin-inline:auto;display:grid}.tool-with-ref__main{min-width:0}.regex-flags{gap:var(--space-2);flex-wrap:wrap;display:flex}.regex-flag{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:.8125rem;transition:background-color .15s,border-color .15s,color .15s;display:flex}.regex-flag:hover{background:var(--surface-muted)}.regex-flag--active{background:var(--primary-soft);border-color:var(--accent-primary);color:var(--accent-primary-hover)}.regex-flag__code{text-align:center;min-width:1rem;font-family:monospace;font-size:.875rem;font-weight:700}.regex-flag__label{color:var(--muted);font-size:.75rem}.regex-flag--active .regex-flag__label{color:var(--accent-primary-hover)}.jwt-action-bar{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.jwt-action-bar__modes{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.jwt-action-bar__hint{color:var(--muted);white-space:nowrap;font-size:.8125rem}.jwt-action-bar__secret{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.jwt-action-bar__secret label{color:var(--muted);white-space:nowrap;font-size:.8125rem}.jwt-action-bar__secret input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:min(10rem,100%);min-height:2rem;color:var(--text);padding:.25rem .5rem;font-size:.8125rem}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.color-picker-input{border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:var(--surface);width:100%;height:3rem;padding:2px}.color-picker-input:hover{border-color:var(--border-strong)}.color-palette{gap:var(--space-3);padding-top:var(--space-1)}.color-palette__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.color-palette__item{align-items:stretch;gap:var(--space-2);grid-template-columns:minmax(4rem,5.5rem) minmax(0,1fr);min-width:0;display:grid}.color-palette__swatch{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:2.75rem;box-shadow:inset 0 0 0 1px var(--surface)}@supports (color:color-mix(in lab,red,red)){.color-palette__swatch{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface) 60%,transparent)}}.color-palette__item .copy-row{padding:var(--space-2);grid-template-columns:minmax(1.75rem,max-content) minmax(0,1fr) auto;align-items:center}.color-palette__item .copy-row__label{min-width:1.75rem;max-width:2.25rem}.color-palette__item .copy-row__value{letter-spacing:0;font-size:.78rem}.markdown-preview{color:var(--text);font-size:.9375rem;line-height:1.7}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{color:var(--text);margin:1.5em 0 .5em;font-weight:700;line-height:1.3}.markdown-preview h1{font-size:1.75rem}.markdown-preview h2{border-bottom:1px solid var(--border);padding-bottom:.3em;font-size:1.375rem}.markdown-preview h3{font-size:1.125rem}.markdown-preview p{margin:.75em 0}.markdown-preview blockquote{border-left:3px solid var(--primary);background:var(--surface-subtle);color:var(--muted-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1em 0;padding:.5em 1em}.markdown-preview pre{padding:var(--space-3);border:1px solid var(--code-border);border-radius:var(--radius-md);background:var(--code-surface);scrollbar-width:none;-ms-overflow-style:none;font-family:var(--font-mono);margin:1em 0;font-size:.8125rem;line-height:1.6;overflow-x:auto}.markdown-table-scroll{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow-x:auto}.markdown-preview code{background:var(--surface-subtle);font-family:var(--font-mono);border-radius:4px;padding:.15em .4em;font-size:.875em}.markdown-preview pre code{font-size:inherit;background:0 0;padding:0}.markdown-preview table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.875rem}.markdown-preview th,.markdown-preview td{border:1px solid var(--border);text-align:left;padding:.5em .75em}.markdown-preview th{background:var(--surface-subtle);font-weight:700}.markdown-preview tr:nth-child(2n){background:var(--surface-panel-muted)}.markdown-preview ul,.markdown-preview ol{margin:.75em 0;padding-left:1.5em}.markdown-preview li{margin:.25em 0}.markdown-preview hr{border:0;border-top:1px solid var(--border);margin:1.5em 0}.markdown-preview img{border-radius:var(--radius-md);max-width:100%}.markdown-preview a{color:var(--primary);text-decoration:underline}.markdown-preview a:hover{color:var(--primary-strong)}.ref-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:100%;box-shadow:var(--shadow-panel);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.ref-panel__header{border-bottom:1px solid var(--border);width:100%;min-height:2.5rem;color:var(--muted-strong);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.ref-panel__title-bar,.ref-panel__dock-toggle,.ref-panel__rail-toggle{width:100%;color:inherit;text-align:left;background:0 0;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.ref-panel__title-bar{min-width:0;padding:0 var(--space-3);justify-content:flex-start}.ref-panel__dock-toggle{border-left:1px solid var(--border);justify-content:center;width:2.75rem}.ref-panel__rail-toggle{justify-content:center;align-self:stretch;width:100%;height:100%;min-height:100%;padding:0}.ref-panel__header:hover,.ref-panel__dock-toggle:hover,.ref-panel__rail-toggle:hover{background:var(--surface-muted);color:var(--text)}.ref-panel__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ref-panel__body{gap:var(--space-3);min-height:0;max-height:calc(100vh - 8rem);padding:var(--space-2);scrollbar-width:none;-ms-overflow-style:none;display:grid;overflow:auto}.ref-section__title{margin:0 0 var(--space-2);color:var(--text);letter-spacing:0;font-size:.78rem;font-weight:700}.ref-section__items{gap:var(--space-1);display:grid}.ref-item{align-items:start;gap:var(--space-2);padding:.375rem var(--space-2);border:1px solid var(--border);grid-template-columns:minmax(6.5rem,9rem) minmax(0,1fr);display:grid}@supports (color:color-mix(in lab,red,red)){.ref-item{border:1px solid color-mix(in srgb,var(--border) 62%,transparent)}}.ref-item{border-radius:var(--radius-sm);background:var(--surface-subtle)}.ref-item__syntax{min-width:0;color:var(--accent-primary-hover);overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8125rem;font-weight:700}.ref-item__desc{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.55}.copy-row{align-items:start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:minmax(4rem,max-content) minmax(0,1fr) auto;min-width:0;max-width:100%;display:grid;position:relative;overflow:visible}.copy-row__label{min-width:4rem;max-width:min(12rem,38%);color:var(--muted);overflow-wrap:anywhere;font-size:.8125rem;font-weight:650}.copy-row__value{word-break:break-all;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;max-width:100%;color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8125rem}.copy-row__action{justify-content:flex-end;min-width:3.25rem;display:inline-flex;position:relative}.copy-row__notice{--copy-feedback-y:-50%;top:50%;right:0}.copy-row--compact{grid-template-columns:minmax(3.25rem,max-content) minmax(0,1fr) auto;align-items:center;padding:.5rem .75rem}.copy-row--compact .copy-row__label{min-width:3.25rem;max-width:6rem}.copy-row--compact .copy-row__value{text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow-wrap:normal;overflow:hidden}.copy-row--long{align-items:start}.copy-row--long .copy-row__value{scrollbar-width:none;-ms-overflow-style:none;white-space:normal;word-break:break-word;overflow-wrap:anywhere;max-height:3.25rem;overflow:auto}.state-box{min-height:var(--editor-height-default);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--muted);padding:var(--space-4);text-align:center;place-items:center;display:grid}.state-box--error{background:var(--danger-soft);color:var(--danger);border-style:solid}.state-box__content{justify-items:center;gap:var(--space-2);max-width:26rem;display:grid}.state-box__title,.state-box__desc{margin:0}.state-box__title{font-weight:700}.state-box__desc{color:var(--muted-strong);font-size:.875rem}.tool-card{gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;box-shadow:var(--shadow);padding:clamp(1rem,2vw,1.5rem);display:grid}.tool-card--result{align-content:start;gap:var(--space-5);background:var(--surface);min-height:clamp(8rem,18vh,12rem)}@supports (color:color-mix(in lab,red,red)){.tool-card--result{background:color-mix(in srgb,var(--surface) 96%,var(--primary-soft))}}.tool-card__section{gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:grid}.tool-card__section:last-of-type{border-bottom:0;padding-bottom:0}.tool-card__title-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex;position:relative}.tool-card__title{margin:0;font-size:1rem;font-weight:650}.password-mode-tabs{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.password-mode-tabs__item{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:3rem;color:var(--muted-strong);background:0 0;font-weight:700;display:inline-flex}.password-mode-tabs__item--active{background:var(--surface);color:var(--text);box-shadow:0 .5rem 1rem #10181814}.hash-tool{align-content:start}.hash-mode-tabs{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hash-mode-tabs__item{border-radius:var(--radius-sm);min-height:2.5rem;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;font-weight:700}.hash-mode-tabs__item--active{background:var(--surface);color:var(--text);box-shadow:0 .5rem 1rem #10181814}.hash-algorithm-grid,.hash-file-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hash-muted{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.hash-result{gap:var(--space-4)}.hash-result__stack,.hash-copy-list,.hash-file-list{gap:var(--space-2);min-width:0;display:grid}.hash-file-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;display:grid}.hash-file-card__head{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;min-width:0;display:grid}.hash-file-card__meta{gap:.2rem;min-width:0;display:grid}.hash-file-card__meta strong,.hash-file-card__meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hash-file-card__meta strong{color:var(--text);font-size:.9375rem}.hash-file-card__meta span{color:var(--muted);font-size:.8125rem}.hash-file-card__actions{justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap;display:flex}.hash-progress{gap:var(--space-1);color:var(--muted);font-size:.8125rem;display:grid}.hash-progress__bar{border-radius:var(--radius-pill);background:var(--surface-subtle);height:.5rem;overflow:hidden}.hash-progress__bar span{border-radius:inherit;background:var(--primary);height:100%;transition:width var(--motion-fast) var(--ease-standard);display:block}.hash-error{color:var(--semantic-danger);margin:0;font-size:.8125rem}.css-unit-option{min-height:2rem;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--muted-strong);font-size:.8125rem;font-weight:700}.css-unit-option:hover{background:var(--surface-muted);color:var(--text)}.css-unit-option--active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.password-length-row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(3rem,4rem) minmax(0,1fr) minmax(4.5rem,5.5rem);display:grid}.password-length-row__label{color:var(--muted-strong)}.password-range{width:100%;accent-color:var(--primary)}.password-length-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:2.625rem;color:var(--text);text-align:center}.password-choice-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.password-output{min-height:clamp(7rem,18vh,10rem);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;text-align:center;word-break:break-all;flex-wrap:wrap;justify-content:center;place-items:center;gap:.02em;font-size:clamp(1.35rem,2.5vw,1.875rem);font-weight:750;display:flex}.password-output__char--letter{color:var(--text)}.password-output__char--number{color:var(--primary-strong)}.password-output__char--symbol{color:var(--semantic-danger)}.tool-textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;padding:8px 12px;font-size:.875rem}.tool-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.password-strength{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);display:grid}.password-strength__bar{background:var(--border-subtle);border-radius:3px;height:6px;overflow:hidden}.password-strength__fill{border-radius:3px;height:100%;transition:width .3s,background-color .3s}.password-strength__fill--very-weak{background:#dc2626;width:10%}.password-strength__fill--weak{background:#f97316;width:30%}.password-strength__fill--fair{background:#eab308;width:55%}.password-strength__fill--strong{background:#22c55e;width:80%}.password-strength__fill--very-strong{background:#06b6d4;width:100%}.password-strength__info{justify-content:space-between;align-items:center;display:flex}.password-strength__label{color:var(--text);font-size:.875rem;font-weight:700}.password-strength__bits{color:var(--muted);font-size:.75rem;font-family:var(--font-mono)}.password-notice{right:0}.tool-card__actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-card__actions .ui-button{min-height:3.375rem;font-size:1rem}.websocket-tool{gap:var(--space-3);width:min(100%,var(--tool-content-max,78rem));margin-inline:auto;display:grid}.websocket-workbench,.websocket-send-panel,.websocket-log-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.websocket-workbench{gap:var(--space-3);padding:var(--space-3);display:grid}.websocket-client-bar{align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;display:grid}.websocket-tabs,.websocket-bar-actions,.websocket-toolbar-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.websocket-tabs{scrollbar-width:none;overflow:auto}.websocket-tab{align-items:center;gap:var(--space-2);min-width:9rem;min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--muted-strong);cursor:pointer;font-weight:700;display:inline-flex}.websocket-tab--active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.websocket-status-dot{border-radius:var(--radius-pill);background:var(--muted);width:.55rem;height:.55rem}.websocket-status-dot--connecting,.websocket-status-dot--open{background:var(--primary)}.websocket-status-dot--error{background:var(--semantic-danger)}.websocket-status-dot--closed{background:var(--semantic-warning)}.websocket-connect-row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) auto;display:grid}.websocket-client-name,.websocket-url-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);min-width:0;min-height:2.625rem;color:var(--text);font-family:var(--font-mono);outline:0;padding:.5rem .75rem;font-size:.875rem}.websocket-client-name{font-family:inherit;font-weight:700}.websocket-client-name:focus,.websocket-url-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.websocket-connect-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.websocket-url-preview{min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--muted-strong);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.78rem;line-height:1.5;display:block}.websocket-config-tabs{align-items:center;gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.websocket-config-tabs .ui-button{margin-left:auto}.websocket-config-tab{min-height:2.375rem;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.5rem .75rem;font-weight:700}.websocket-config-tab--active{border-bottom-color:var(--primary);color:var(--primary-strong)}.websocket-tab-panel{min-width:0}.websocket-error{color:var(--semantic-danger);margin:0;font-size:.8125rem;line-height:1.5}.websocket-muted{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.websocket-param-list{gap:var(--space-2);display:grid}.websocket-param-row{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;display:grid}.websocket-param-row input[type=text],.websocket-param-row input:not([type]){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);min-width:0;min-height:2.25rem;color:var(--text);font-family:var(--font-mono);padding:.35rem .5rem;font-size:.8125rem}.websocket-param-row input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.websocket-param-row button,.websocket-link-button{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;font-size:.8125rem;font-weight:700}.websocket-console{gap:var(--space-3);min-width:0;display:grid}.websocket-send-panel{gap:var(--space-2);box-shadow:none;border:0;padding:0;display:grid}.websocket-send-toolbar{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.websocket-toolbar-controls select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:2rem;color:var(--text);padding:.25rem .5rem}.websocket-clear-check{min-height:2rem;padding-block:.25rem}.websocket-message-grid{gap:var(--space-3);grid-template-columns:minmax(20rem,.85fr) minmax(0,1.65fr);min-width:0;display:grid}.websocket-log-list{grid-template-rows:auto minmax(0,1fr);min-height:34rem;display:grid;overflow:hidden}.websocket-log-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-subtle);display:flex}.websocket-log-head span{color:var(--muted);font-size:.8125rem}.websocket-log-scroll{scrollbar-width:none;align-content:start;min-height:0;max-height:44rem;display:grid;overflow:auto}.websocket-log-item{align-items:center;gap:var(--space-2);width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.websocket-log-item--active,.websocket-log-item:hover{background:var(--primary-soft)}.websocket-log-summary{min-width:0;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.websocket-log-item time{color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.websocket-empty{min-height:24rem;margin:var(--space-3)}.websocket-detail-panel{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.websocket-detail-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-1);display:flex}.websocket-detail-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:2rem;color:var(--text);padding:.25rem .5rem}@media(max-width:72rem){.websocket-message-grid,.websocket-client-bar,.websocket-connect-row,.websocket-send-toolbar{grid-template-columns:1fr}.websocket-bar-actions,.websocket-connect-actions,.websocket-toolbar-controls{justify-content:flex-start}.websocket-config-tabs .ui-button{margin-left:0}}@media(max-width:560px){.websocket-param-row{grid-template-columns:auto minmax(0,1fr)}.websocket-param-row input:nth-of-type(3),.websocket-param-row button{grid-column:2}}.inline-check{border:1px solid var(--border);background:var(--surface-subtle);min-height:40px;color:var(--muted-strong);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.inline-check input{width:16px;height:16px;accent-color:var(--primary);flex:none}@media(max-width:80rem){.io-workbench{height:auto}.tool-app-shell{grid-template-columns:1fr;gap:0}.site-main--tool{padding:0 0 clamp(1.25rem,4vw,2rem)}.tool-app-content{padding:var(--space-2)}.tool-ref-sidebar{border-left:0;border-top:1px solid var(--border);width:auto;max-height:none;padding:var(--space-2);scroll-padding-inline:var(--space-3);scrollbar-width:none;transition:none;position:static;overflow:auto hidden}.tool-ref-sidebar--collapsed{width:auto}.ref-panel--collapsed{width:100%;display:block}.ref-panel--collapsed .ref-panel__rail-toggle{justify-content:center;min-height:2.5rem;padding:0}.tool-sidebar{border-right:0;border-bottom:1px solid var(--border);width:auto;min-width:0;max-width:100%;height:auto;max-height:none;padding:var(--space-2);scrollbar-width:none;transition:none;display:block;position:static;overflow:auto hidden}.tool-sidebar--collapsed{width:auto}.tool-sidebar--collapsed .tool-sidebar__groups{opacity:1;pointer-events:auto;position:static}.tool-sidebar__groups{opacity:1;min-width:0;padding-right:0;position:static;overflow:visible}.tool-sidebar__head{display:none}.tool-sidebar__groups{gap:var(--space-2);width:max-content;display:flex}.tool-sidebar__group{display:contents}.tool-sidebar__group-toggle{display:none}.tool-sidebar__links{gap:var(--space-1);padding-left:0;display:flex}.tool-sidebar__link{text-align:center;min-width:7rem;min-height:2.5rem}.io-workbench__panes{grid-template-columns:1fr;grid-auto-rows:var(--editor-height-mobile);min-height:0}.io-workbench__toolbar{flex-wrap:wrap}.jwt-action-bar{flex-wrap:wrap;align-items:flex-start}.jwt-action-bar__hint{flex:100%;order:3}.code-editor__toolbar{grid-template-columns:1fr;align-items:start}.code-editor__title-group{flex-wrap:wrap}.code-editor__actions{justify-content:flex-start}.io-action-group__buttons{flex-wrap:wrap;display:flex}.io-action-group__buttons .ui-button{width:auto}.io-action-group__desc{text-align:right;justify-self:end}.generator-panel{grid-template-columns:1fr}.regex-tester__head{align-items:flex-start}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.state-box{min-height:var(--editor-height-default)}}@media(max-width:560px){.site-main{padding:24px 14px 44px}.site-main--tool{padding:0 0 2rem}.site-header__inner{gap:var(--space-3);flex-wrap:wrap;padding:11px 14px}.site-header__search{flex:0 0 100%;order:3;width:100%;position:static;transform:none}.site-header__actions{margin-left:auto}.brand__caption{flex:auto;width:auto;max-width:9rem}.tool-search__field{padding-inline:var(--space-2)}.tool-search__results{width:auto;left:0;right:0}.home-main{padding-top:0}.home-sidebar{padding:0 0 var(--space-3)}.home-brand{display:none}.home-tool-grid{grid-template-columns:1fr}.page-title{font-size:1.75rem}.io-workbench__panes{grid-template-columns:1fr}.tool-card{padding:var(--space-4);border-radius:var(--radius-md)}.copy-row--compact{gap:var(--space-1);grid-template-columns:minmax(2.75rem,max-content) minmax(0,1fr) auto;padding:.5rem}.copy-row--compact .copy-row__label{min-width:2.75rem}.copy-row--compact .copy-row__value{font-size:.78rem}.password-length-row{gap:var(--space-2);grid-template-columns:1fr}.password-choice-grid,.tool-card__actions{grid-template-columns:1fr}}.code-editor__surface .cm-scroller::-webkit-scrollbar{width:0;height:0;display:none}.diff-viewer__col::-webkit-scrollbar{width:0;height:0;display:none}.regex-highlight-area::-webkit-scrollbar{width:0;height:0;display:none}.markdown-preview pre::-webkit-scrollbar{width:0;height:0;display:none}.ref-panel__body::-webkit-scrollbar{width:0;height:0;display:none}.copy-row--long .copy-row__value::-webkit-scrollbar{width:0;height:0;display:none}.tool-ref-sidebar::-webkit-scrollbar{width:0;height:0;display:none}.tool-sidebar::-webkit-scrollbar{width:0;height:0;display:none}.file-preview-workbench{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);height:min(46rem,100vh - 11rem);min-height:32rem;display:grid;overflow:hidden}.local-file-picker{align-content:start;gap:var(--space-3);min-height:0;padding:var(--space-3);border-right:1px solid var(--border);background:var(--surface-subtle);display:grid;overflow:hidden}.local-file-picker__drop{justify-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);border:1px dashed var(--border-strong);color:var(--muted);text-align:center;display:grid}.local-file-picker__drop strong{color:var(--text)}.local-file-picker__drop span{overflow-wrap:anywhere;font-size:.75rem}.local-file-picker__drop--dragging{border-color:var(--primary);background:var(--primary-soft)}.local-file-picker__heading{justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.local-file-picker__list{gap:var(--space-1);min-height:0;display:grid;overflow:auto}.local-file-picker__empty{color:var(--muted);margin:0;font-size:.78rem;line-height:1.55}.local-file-picker__item{align-items:center;gap:var(--space-1);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;display:grid}.local-file-picker__item--active{border-color:var(--primary);background:var(--primary-soft)}.local-file-picker__select{min-width:0;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;gap:.2rem;padding:.55rem;display:grid}.local-file-picker__name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.local-file-picker__select span:last-child{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.file-preview-workbench__main{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.file-preview-workbench__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.file-preview-workbench__toolbar>div:first-child{gap:.15rem;min-width:0;display:grid}.file-preview-workbench__toolbar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-preview-workbench__toolbar span{color:var(--muted);font-size:.78rem}.file-preview-workbench__controls{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.file-preview-workbench__controls select,.file-preview-workbench__search input{border:1px solid var(--border);background:var(--surface);min-height:2rem;color:var(--text)}.file-preview-workbench__search{border:1px solid var(--border);align-items:center;gap:.35rem;padding:0 .45rem;display:flex}.file-preview-workbench__search input{border:0;outline:0;width:9rem}.file-preview-workbench__empty{place-content:center;justify-items:center;gap:var(--space-2);min-height:22rem;color:var(--muted);text-align:center;display:grid}.file-preview-workbench__empty strong{color:var(--text)}.document-preview{background:var(--surface-subtle);min-width:0;min-height:0;overflow:auto}@supports (color:color-mix(in lab,red,red)){.document-preview{background:color-mix(in srgb,var(--surface-subtle) 74%,#000 4%)}}.document-preview--pdf{padding:var(--space-5);justify-content:center;display:grid}.document-preview--pdf canvas{max-width:100%;height:auto;box-shadow:var(--shadow-lg)}.document-preview--docx{padding:var(--space-4)}.document-preview--docx .docx-wrapper{background:0 0;padding:0}.document-preview--docx .docx{margin:0 auto var(--space-4);box-shadow:var(--shadow-md)}.document-preview--pptx{padding:var(--space-3)}.document-preview--epub{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);padding:0;display:grid}.epub-preview__chapters{border-right:1px solid var(--border);background:var(--surface-subtle);align-content:start;max-height:100%;display:grid;overflow:auto}.epub-preview__chapter{border:0;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:.6rem .75rem;overflow:hidden}.epub-preview__chapter--active{background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.document-preview--epub iframe{background:#fff;border:0;width:100%;min-height:38rem}.spreadsheet-preview__body{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.spreadsheet-preview__tabs{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);display:flex;overflow:auto}.spreadsheet-preview__tabs>*{flex:none}.spreadsheet-preview{min-height:0;overflow:auto}.spreadsheet-preview table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.82rem}.spreadsheet-preview th{z-index:1;background:var(--surface-subtle);color:var(--text);font-weight:700;position:sticky;top:0}.spreadsheet-preview th,.spreadsheet-preview td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;min-width:7rem;max-width:18rem;padding:0}.spreadsheet-preview td button{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:2.25rem;color:var(--text);cursor:copy;text-align:left;background:0 0;border:0;padding:.45rem .55rem;display:flex}.spreadsheet-preview td button:hover{background:var(--primary-soft)}.spreadsheet-preview td button svg{color:var(--muted);opacity:0;flex:none}.spreadsheet-preview td button:hover svg{opacity:1}.local-file-picker__list::-webkit-scrollbar{width:0;height:0;display:none}.document-preview::-webkit-scrollbar{width:0;height:0;display:none}.spreadsheet-preview::-webkit-scrollbar{width:0;height:0;display:none}.spreadsheet-preview__tabs::-webkit-scrollbar{width:0;height:0;display:none}@media(max-width:900px){.file-preview-workbench{grid-template-columns:1fr}.local-file-picker{border-right:0;border-bottom:1px solid var(--border)}.local-file-picker__list{max-height:11rem}.file-preview-workbench__toolbar{flex-direction:column;align-items:flex-start}.file-preview-workbench__controls{justify-content:flex-start}.document-preview--epub{grid-template-columns:1fr}.epub-preview__chapters{border-right:0;border-bottom:1px solid var(--border);max-height:3rem;display:flex;overflow:auto}.epub-preview__chapter{border-bottom:0;border-right:1px solid var(--border);min-width:10rem}}html[data-theme-id=animal-island][data-theme=light],html[data-theme-id=animal-island]:not([data-theme]){--surface-page:#f8f8f0;--surface-header:#f8f8f0eb;--surface-panel:#f0e8d8;--surface-panel-muted:#ede4d1;--surface-hover:#e8dfcf;--surface-subtle:#f5f0e3;--border-subtle:#e8e2d6;--border-strong:#aaa69d;--text-primary:#794f27;--text-secondary:#9f927d;--text-tertiary:#b8a88e;--text-inverse:#fff;--accent-primary:#19c8b9;--accent-primary-hover:#3dd4c6;--accent-primary-soft:#e6f9f6;--semantic-danger:#e05a5a;--semantic-danger-soft:#fde8e8;--semantic-warning:#f5c31c;--semantic-warning-soft:#fef6d8;--semantic-info:#5ba3e0;--semantic-info-soft:#e6f0fa;--code-surface:#f5f0e3;--code-gutter:#ede4d1;--code-border:#e8e2d6;--code-active-line:#ede4d1;--code-selection:#19c8b926;--code-selection-unfocused:#19c8b914;--code-token-string:#287a4b;--code-token-number:#2f6fb4;--code-token-bool:#8a5b2c;--code-token-null:#9f927d;--code-token-keyword:#8a5b2c;--code-token-property:#167b74;--code-token-comment:#9f927d;--code-token-punctuation:#9f927d;--shadow-panel:0 3px 10px #3d34281a;--shadow-header:0 2px 8px #3d342814;--shadow-dropdown:0 1rem 2.5rem #3d342826;--font-sans:"Nunito", "Noto Sans SC", "Zen Maru Gothic", "HarmonyOS Sans SC", "MiSans", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-sm:16px;--radius-md:18px;--radius-pill:999rem}html[data-theme-id=animal-island][data-theme=dark]{--surface-page:#17120d;--surface-header:#17120df0;--surface-panel:#261f16;--surface-panel-muted:#31281c;--surface-hover:#3d3224;--surface-subtle:#2b2318;--border-subtle:#4a3d2d;--border-strong:#8b7b66;--text-primary:#f6ead6;--text-secondary:#cdbd9f;--text-tertiary:#a8977a;--text-inverse:#fff;--accent-primary:#19c8b9;--accent-primary-hover:#3dd4c6;--accent-primary-soft:#0d3a36;--semantic-danger:#f07070;--semantic-danger-soft:#3a1715;--semantic-warning:#f5c31c;--semantic-warning-soft:#332707;--semantic-info:#7bb8e8;--semantic-info-soft:#10243f;--code-surface:#1b160f;--code-gutter:#2d2419;--code-border:#4a3d2d;--code-active-line:#352b1f;--code-selection:#19c8b933;--code-selection-unfocused:#19c8b91a;--code-token-string:#7edec8;--code-token-number:#8cc8ff;--code-token-bool:#f0c67a;--code-token-null:#cdbd9f;--code-token-keyword:#f0c67a;--code-token-property:#6fd6cc;--code-token-comment:#a8977a;--code-token-punctuation:#cdbd9f;--shadow-panel:0 1px 3px #0006;--shadow-header:0 1px 0 #ffffff08;--shadow-dropdown:0 1rem 2.5rem #00000073;--font-sans:"Nunito", "Noto Sans SC", "Zen Maru Gothic", "HarmonyOS Sans SC", "MiSans", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius-sm:16px;--radius-md:18px;--radius-pill:999rem}html[data-theme-id=animal-island] .home-tool-card,html[data-theme-id=animal-island] .tool-card,html[data-theme-id=animal-island] .code-editor,html[data-theme-id=animal-island] .io-workbench,html[data-theme-id=animal-island] .ref-panel{border-color:var(--border-subtle)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-tool-card,html[data-theme-id=animal-island] .tool-card,html[data-theme-id=animal-island] .code-editor,html[data-theme-id=animal-island] .io-workbench,html[data-theme-id=animal-island] .ref-panel{border-color:color-mix(in srgb,var(--border-subtle) 72%,var(--accent-primary) 28%)}}html[data-theme-id=animal-island] .home-tool-card,html[data-theme-id=animal-island] .tool-card,html[data-theme-id=animal-island] .code-editor,html[data-theme-id=animal-island] .io-workbench,html[data-theme-id=animal-island] .ref-panel{background:var(--surface-panel)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-tool-card,html[data-theme-id=animal-island] .tool-card,html[data-theme-id=animal-island] .code-editor,html[data-theme-id=animal-island] .io-workbench,html[data-theme-id=animal-island] .ref-panel{background:color-mix(in srgb,var(--surface-panel) 94%,var(--accent-primary-soft))}}html[data-theme-id=animal-island] .home-tool-card:hover{border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-tool-card:hover{border-color:color-mix(in srgb,var(--accent-primary) 48%,var(--border-strong))}}html[data-theme-id=animal-island] .home-tool-card:hover{background:var(--surface-panel-muted)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-tool-card:hover{background:color-mix(in srgb,var(--surface-panel-muted) 88%,var(--accent-primary-soft))}}html[data-theme-id=animal-island] .home-tool-card:hover{box-shadow:0 .625rem 1.5rem #3d34281f}html[data-theme-id=animal-island] .tool-search__field,html[data-theme-id=animal-island] .tool-search__results,html[data-theme-id=animal-island] .theme-selector__dropdown{border-color:var(--border-subtle)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .tool-search__field,html[data-theme-id=animal-island] .tool-search__results,html[data-theme-id=animal-island] .theme-selector__dropdown{border-color:color-mix(in srgb,var(--border-subtle) 70%,var(--accent-primary) 30%)}}html[data-theme-id=animal-island] .tool-search__field,html[data-theme-id=animal-island] .tool-search__results,html[data-theme-id=animal-island] .theme-selector__dropdown{background:var(--surface-panel)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .tool-search__field,html[data-theme-id=animal-island] .tool-search__results,html[data-theme-id=animal-island] .theme-selector__dropdown{background:color-mix(in srgb,var(--surface-panel) 96%,var(--accent-primary-soft))}}html[data-theme-id=animal-island] .home-empty-state{border-color:var(--accent-primary)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-empty-state{border-color:color-mix(in srgb,var(--accent-primary) 34%,var(--border-strong))}}html[data-theme-id=animal-island] .home-empty-state{background:var(--surface-panel-muted)}@supports (color:color-mix(in lab,red,red)){html[data-theme-id=animal-island] .home-empty-state{background:color-mix(in srgb,var(--surface-panel-muted) 86%,var(--accent-primary-soft))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
