@layer base,tokens,layout,components,utilities;@layer tokens{:root{color-scheme:light;--color-primary-50: oklch(.97 .035 265);--color-primary-100: oklch(.93 .065 265);--color-primary-200: oklch(.85 .11 265);--color-primary-300: oklch(.74 .15 265);--color-primary-400: oklch(.62 .19 265);--color-primary-500: oklch(.55 .22 265);--color-primary-600: oklch(.48 .21 265);--color-primary-700: oklch(.42 .19 265);--color-primary-800: oklch(.35 .16 265);--color-primary-900: oklch(.28 .13 265);--color-neutral-0: oklch(1 0 0);--color-neutral-25: oklch(.99 0 0);--color-neutral-50: oklch(.98 0 0);--color-neutral-100: oklch(.96 0 0);--color-neutral-200: oklch(.92 0 0);--color-neutral-300: oklch(.84 .002 280);--color-neutral-400: oklch(.68 .004 280);--color-neutral-500: oklch(.52 .006 280);--color-neutral-600: oklch(.42 .008 280);--color-neutral-700: oklch(.32 .008 280);--color-neutral-800: oklch(.22 .006 280);--color-neutral-900: oklch(.16 .004 280);--color-success-50: oklch(.96 .04 155);--color-success-500: oklch(.56 .18 155);--color-warning-50: oklch(.96 .04 75);--color-warning-500: oklch(.64 .2 75);--color-error-50: oklch(.96 .04 25);--color-error-500: oklch(.54 .22 25);--color-info-50: oklch(.96 .03 240);--color-info-500: oklch(.58 .15 240);--color-bg-canvas: var(--color-neutral-50);--color-bg-subtle: var(--color-neutral-100);--color-bg-panel: var(--color-neutral-0);--color-bg-elevated: var(--color-neutral-0);--color-bg-inverse: var(--color-neutral-900);--color-bg-selection: color-mix(in oklch, var(--color-primary-500) 14%, transparent);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-500);--color-text-inverse: var(--color-neutral-0);--color-border-default: var(--color-neutral-300);--color-border-strong: var(--color-neutral-400);--color-border-focus: var(--color-primary-500);--color-overlay: oklch(.1 0 0 / .6);--color-glass-overlay: oklch(1 0 0 / .8);--color-scrollbar-thumb: var(--color-neutral-300);--color-scrollbar-track: transparent;--color-json-key: oklch(.48 .1 280);--color-json-string: oklch(.5 .1 155);--color-json-number: oklch(.54 .12 290);--color-json-boolean: oklch(.52 .11 40);--color-json-null: oklch(.5 .14 340);--color-json-punctuation: var(--color-neutral-500);--font-family-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-loose: 1.7;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .01em;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-0: none;--shadow-sm: 0 1px 2px 0 oklch(.1 0 0 / .06), 0 1px 3px 0 oklch(.1 0 0 / .1);--shadow-md: 0 4px 6px -1px oklch(.1 0 0 / .1), 0 2px 4px -1px oklch(.1 0 0 / .06);--shadow-lg: 0 10px 15px -3px oklch(.1 0 0 / .1), 0 4px 6px -2px oklch(.1 0 0 / .05);--shadow-xl: 0 20px 25px -5px oklch(.1 0 0 / .1), 0 10px 10px -5px oklch(.1 0 0 / .04);--shadow-focus: 0 0 0 3px color-mix(in oklch, var(--color-border-focus) 25%, transparent);--duration-instant: 0ms;--duration-fast: .1s;--duration-base: .15s;--duration-slow: .18s;--duration-slower: .25s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--breakpoint-sm: 40rem;--breakpoint-md: 48rem;--breakpoint-lg: 64rem;--breakpoint-xl: 80rem;--panel-min-size: 16rem;--splitter-size: .5rem;--container-sm: 40rem;--container-md: 48rem;--container-lg: 64rem;--container-xl: 80rem;--z-base: 1;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 250;--z-tooltip: 300;--z-toast: 400;--z-modal: 500;--glass-blur: 20px;--glass-blur-sm: 10px}}@layer base{[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family-sans);background:var(--color-bg-canvas);color:var(--color-text-primary)}}@layer layout{.app-header,.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 20px;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-default)}.app-brand-link{text-decoration:none;color:inherit;display:inline-flex;flex-direction:column;gap:2px;min-width:0}.app-brand-link:hover{text-decoration:none;color:inherit;opacity:.8}.app-brand-link h1{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--color-text-primary)}.app-brand-link p{margin:0;font-size:.72rem;color:var(--color-text-muted);opacity:.7}.header__controls{display:flex;align-items:center;gap:12px}.app-footer{margin-top:auto;border-top:1px solid var(--color-border-default);background:var(--color-bg-elevated);padding:10px 20px}.app-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.app-footer__brand,.app-footer__links,.app-footer__trust{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.75rem;color:var(--color-text-muted)}.app-footer__link,.app-footer__version{color:var(--color-text-muted);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}.app-footer__link:hover,.app-footer__version:hover{text-decoration:underline;text-underline-offset:.15em;color:var(--color-text-primary)}.app-footer__separator{color:var(--color-text-muted)}.legal-page{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;background:var(--color-bg-canvas);color:var(--color-text-primary);overflow:hidden}@media print{.legal-page{position:static;overflow:visible}}.legal-page__header{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-elevated)}.legal-page__header-inner{max-width:900px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.legal-page__left{display:flex;align-items:center;gap:12px;min-width:0}.legal-page__back,.legal-page__print{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);padding:6px 10px;font-size:.75rem;cursor:pointer}.legal-page__title{margin:0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legal-page__scroll{flex:1;overflow:auto}.legal-page__content{max-width:900px;margin:0 auto;padding:20px;line-height:1.6}.legal-page__content h1,.legal-page__content h2,.legal-page__content h3{margin:1rem 0 .5rem}.legal-page__content p,.legal-page__content ul,.legal-page__content ol{margin:.5rem 0}.legal-page__content ul,.legal-page__content ol{padding-left:1.2rem}.legal-page__credits-list{list-style:none;padding:0}.legal-page__credit{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:10px}.legal-page__credit+.legal-page__credit{margin-top:10px}.legal-page__license-badge{display:inline-block;margin-bottom:8px;padding:2px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-full);font-size:.6875rem}.consent-banner{position:fixed;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:var(--z-dropdown);display:grid;gap:10px;padding:12px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);transform:translateY(calc(100% + var(--space-3)));opacity:0;transition:transform var(--duration-slower) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.consent-banner.is-visible{transform:translateY(0);opacity:1}.consent-banner.is-exiting{transform:translateY(calc(100% + var(--space-3)));opacity:0}.consent-banner__text{margin:0;font-size:.8125rem;color:var(--color-text-primary)}.consent-banner__link{justify-self:start;border:none;background:none;color:var(--color-primary-500);padding:0;cursor:pointer;font-size:.75rem;text-decoration:underline;text-underline-offset:.15em}.consent-banner__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.consent-banner__button,.consent-banner__btn{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:6px 10px;font-size:.75rem;cursor:pointer}.consent-banner__button--ghost,.consent-banner__btn--ghost{background:transparent;color:var(--color-text-muted)}.consent-banner__button--primary,.consent-banner__btn--primary{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.legal-page[hidden],.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:12px;background:var(--color-overlay);backdrop-filter:blur(3px)}.modal,.version-modal{width:min(760px,100%);max-height:min(88vh,760px);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.version-modal__header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--color-border-default)}.version-modal__title-wrap h2{margin:0;font-size:1rem}.version-modal__meta{margin:2px 0 0;font-size:.75rem;color:var(--color-text-muted)}.version-modal__close{width:28px;height:28px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:1rem}.version-modal__body{overflow:auto;padding:14px}.version-modal__heading{margin:0 0 10px;font-size:.9rem;color:var(--color-text-muted)}.version-modal__entry{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-subtle);padding:10px}.version-modal__entry+.version-modal__entry{margin-top:10px}.version-modal__entry-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.version-modal__version-badge{padding:2px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-full);background:color-mix(in oklch,var(--color-primary-500) 20%,transparent);color:var(--color-text-primary);font-size:.75rem}.version-modal__entry-date{font-size:.75rem;color:var(--color-text-muted)}.version-modal__changes{margin:0;padding-left:1.2rem;font-size:.8125rem;line-height:1.5}.setting-toggle{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;user-select:none}.setting-toggle input[type=checkbox]{accent-color:var(--color-primary-500)}@media(max-width:48rem){.app-header,.header,.app-footer,.legal-page__header-inner,.legal-page__content{padding-left:16px;padding-right:16px}.app-footer__inner,.consent-banner__actions,.version-modal__entry-header{align-items:flex-start}.legal-page__header-inner,.version-modal__header,.version-modal__entry-header{flex-wrap:wrap}}.tool-switcher{position:relative}.tool-switcher__toggle{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.tool-switcher__toggle:hover{background:var(--color-bg-canvas);border-color:var(--color-primary-500)}.tool-switcher__icon{font-size:1rem}.tool-switcher__caret{font-size:.75rem;opacity:.6}.tool-switcher__dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-dropdown);min-width:180px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);padding:4px}.tool-switcher__item{display:block;padding:8px 12px;border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;font-size:.8125rem;transition:background var(--duration-fast) var(--ease-out)}.tool-switcher__item:hover{background:var(--color-bg-subtle)}.tool-switcher__item--active{color:var(--color-primary-500);font-weight:600;background:color-mix(in oklch,var(--color-primary-500) 8%,transparent)}}@layer base,tokens,layout,components,utilities;@layer tokens{:root{color-scheme:light;--color-primary-50: oklch(.97 .035 265);--color-primary-100: oklch(.93 .065 265);--color-primary-200: oklch(.85 .11 265);--color-primary-300: oklch(.74 .15 265);--color-primary-400: oklch(.62 .19 265);--color-primary-500: oklch(.55 .22 265);--color-primary-600: oklch(.48 .21 265);--color-primary-700: oklch(.42 .19 265);--color-primary-800: oklch(.35 .16 265);--color-primary-900: oklch(.28 .13 265);--color-neutral-0: oklch(1 0 0);--color-neutral-25: oklch(.99 0 0);--color-neutral-50: oklch(.98 0 0);--color-neutral-100: oklch(.96 0 0);--color-neutral-200: oklch(.92 0 0);--color-neutral-300: oklch(.84 .002 280);--color-neutral-400: oklch(.68 .004 280);--color-neutral-500: oklch(.52 .006 280);--color-neutral-600: oklch(.42 .008 280);--color-neutral-700: oklch(.32 .008 280);--color-neutral-800: oklch(.22 .006 280);--color-neutral-900: oklch(.16 .004 280);--color-success-50: oklch(.96 .04 155);--color-success-500: oklch(.56 .18 155);--color-warning-50: oklch(.96 .04 75);--color-warning-500: oklch(.64 .2 75);--color-error-50: oklch(.96 .04 25);--color-error-500: oklch(.54 .22 25);--color-info-50: oklch(.96 .03 240);--color-info-500: oklch(.58 .15 240);--color-bg-canvas: var(--color-neutral-50);--color-bg-subtle: var(--color-neutral-100);--color-bg-panel: var(--color-neutral-0);--color-bg-elevated: var(--color-neutral-0);--color-bg-inverse: var(--color-neutral-900);--color-bg-selection: color-mix(in oklch, var(--color-primary-500) 14%, transparent);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-500);--color-text-inverse: var(--color-neutral-0);--color-border-default: var(--color-neutral-300);--color-border-strong: var(--color-neutral-400);--color-border-focus: var(--color-primary-500);--color-overlay: oklch(.1 0 0 / .6);--color-glass-overlay: oklch(1 0 0 / .8);--color-scrollbar-thumb: var(--color-neutral-300);--color-scrollbar-track: transparent;--color-json-key: oklch(.48 .1 280);--color-json-string: oklch(.5 .1 155);--color-json-number: oklch(.54 .12 290);--color-json-boolean: oklch(.52 .11 40);--color-json-null: oklch(.5 .14 340);--color-json-punctuation: var(--color-neutral-500);--font-family-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-loose: 1.7;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .01em;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-none: 0;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-0: none;--shadow-sm: 0 1px 2px 0 oklch(.1 0 0 / .06), 0 1px 3px 0 oklch(.1 0 0 / .1);--shadow-md: 0 4px 6px -1px oklch(.1 0 0 / .1), 0 2px 4px -1px oklch(.1 0 0 / .06);--shadow-lg: 0 10px 15px -3px oklch(.1 0 0 / .1), 0 4px 6px -2px oklch(.1 0 0 / .05);--shadow-xl: 0 20px 25px -5px oklch(.1 0 0 / .1), 0 10px 10px -5px oklch(.1 0 0 / .04);--shadow-focus: 0 0 0 3px color-mix(in oklch, var(--color-border-focus) 25%, transparent);--duration-instant: 0ms;--duration-fast: .1s;--duration-base: .15s;--duration-slow: .18s;--duration-slower: .25s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--breakpoint-sm: 40rem;--breakpoint-md: 48rem;--breakpoint-lg: 64rem;--breakpoint-xl: 80rem;--panel-min-size: 16rem;--splitter-size: .5rem;--container-sm: 40rem;--container-md: 48rem;--container-lg: 64rem;--container-xl: 80rem;--z-base: 1;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 250;--z-tooltip: 300;--z-toast: 400;--z-modal: 500;--glass-blur: 20px;--glass-blur-sm: 10px}}@layer base{[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family-sans);background:var(--color-bg-canvas);color:var(--color-text-primary)}}@layer layout{.app-header,.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 20px;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-default)}.app-brand-link{text-decoration:none;color:inherit;display:inline-flex;flex-direction:column;gap:2px;min-width:0}.app-brand-link:hover{text-decoration:none;color:inherit;opacity:.8}.app-brand-link h1{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;color:var(--color-text-primary)}.app-brand-link p{margin:0;font-size:.72rem;color:var(--color-text-muted);opacity:.7}.header__controls{display:flex;align-items:center;gap:12px}.app-footer{margin-top:auto;border-top:1px solid var(--color-border-default);background:var(--color-bg-elevated);padding:10px 20px}.app-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.app-footer__brand,.app-footer__links,.app-footer__trust{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.75rem;color:var(--color-text-muted)}.app-footer__link,.app-footer__version{color:var(--color-text-muted);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}.app-footer__link:hover,.app-footer__version:hover{text-decoration:underline;text-underline-offset:.15em;color:var(--color-text-primary)}.app-footer__separator{color:var(--color-text-muted)}.legal-page{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;background:var(--color-bg-canvas);color:var(--color-text-primary);overflow:hidden}@media print{.legal-page{position:static;overflow:visible}}.legal-page__header{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-elevated)}.legal-page__header-inner{max-width:900px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.legal-page__left{display:flex;align-items:center;gap:12px;min-width:0}.legal-page__back,.legal-page__print{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);padding:6px 10px;font-size:.75rem;cursor:pointer}.legal-page__title{margin:0;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legal-page__scroll{flex:1;overflow:auto}.legal-page__content{max-width:900px;margin:0 auto;padding:20px;line-height:1.6}.legal-page__content h1,.legal-page__content h2,.legal-page__content h3{margin:1rem 0 .5rem}.legal-page__content p,.legal-page__content ul,.legal-page__content ol{margin:.5rem 0}.legal-page__content ul,.legal-page__content ol{padding-left:1.2rem}.legal-page__credits-list{list-style:none;padding:0}.legal-page__credit{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:10px}.legal-page__credit+.legal-page__credit{margin-top:10px}.legal-page__license-badge{display:inline-block;margin-bottom:8px;padding:2px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-full);font-size:.6875rem}.consent-banner{position:fixed;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:var(--z-dropdown);display:grid;gap:10px;padding:12px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);transform:translateY(calc(100% + var(--space-3)));opacity:0;transition:transform var(--duration-slower) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.consent-banner.is-visible{transform:translateY(0);opacity:1}.consent-banner.is-exiting{transform:translateY(calc(100% + var(--space-3)));opacity:0}.consent-banner__text{margin:0;font-size:.8125rem;color:var(--color-text-primary)}.consent-banner__link{justify-self:start;border:none;background:none;color:var(--color-primary-500);padding:0;cursor:pointer;font-size:.75rem;text-decoration:underline;text-underline-offset:.15em}.consent-banner__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.consent-banner__button,.consent-banner__btn{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:6px 10px;font-size:.75rem;cursor:pointer}.consent-banner__button--ghost,.consent-banner__btn--ghost{background:transparent;color:var(--color-text-muted)}.consent-banner__button--primary,.consent-banner__btn--primary{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.legal-page[hidden],.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:12px;background:var(--color-overlay);backdrop-filter:blur(3px)}.modal,.version-modal{width:min(760px,100%);max-height:min(88vh,760px);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-primary);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.version-modal__header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--color-border-default)}.version-modal__title-wrap h2{margin:0;font-size:1rem}.version-modal__meta{margin:2px 0 0;font-size:.75rem;color:var(--color-text-muted)}.version-modal__close{width:28px;height:28px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:1rem}.version-modal__body{overflow:auto;padding:14px}.version-modal__heading{margin:0 0 10px;font-size:.9rem;color:var(--color-text-muted)}.version-modal__entry{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-subtle);padding:10px}.version-modal__entry+.version-modal__entry{margin-top:10px}.version-modal__entry-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.version-modal__version-badge{padding:2px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-full);background:color-mix(in oklch,var(--color-primary-500) 20%,transparent);color:var(--color-text-primary);font-size:.75rem}.version-modal__entry-date{font-size:.75rem;color:var(--color-text-muted)}.version-modal__changes{margin:0;padding-left:1.2rem;font-size:.8125rem;line-height:1.5}.setting-toggle{display:inline-flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;user-select:none}.setting-toggle input[type=checkbox]{accent-color:var(--color-primary-500)}@media(max-width:48rem){.app-header,.header,.app-footer,.legal-page__header-inner,.legal-page__content{padding-left:16px;padding-right:16px}.app-footer__inner,.consent-banner__actions,.version-modal__entry-header{align-items:flex-start}.legal-page__header-inner,.version-modal__header,.version-modal__entry-header{flex-wrap:wrap}}.tool-switcher{position:relative}.tool-switcher__toggle{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.tool-switcher__toggle:hover{background:var(--color-bg-canvas);border-color:var(--color-primary-500)}.tool-switcher__icon{font-size:1rem}.tool-switcher__caret{font-size:.75rem;opacity:.6}.tool-switcher__dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-dropdown);min-width:180px;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);padding:4px}.tool-switcher__item{display:block;padding:8px 12px;border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;font-size:.8125rem;transition:background var(--duration-fast) var(--ease-out)}.tool-switcher__item:hover{background:var(--color-bg-subtle)}.tool-switcher__item--active{color:var(--color-primary-500);font-weight:600;background:color-mix(in oklch,var(--color-primary-500) 8%,transparent)}}@layer components{.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-canvas)}.app-toolbar,.tab-bar,.status-bar{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding-inline:var(--space-4);border-block-end:1px solid var(--color-border-default);background:var(--color-bg-panel);transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);container-type:inline-size;container-name:app-bar}.app-toolbar{min-block-size:3.25rem;border-block-end-width:2px;border-block-end-color:var(--color-border-default);background:var(--color-bg-panel);padding-block:var(--space-3)}.main-content{flex:1;display:grid;grid-template-columns:minmax(var(--panel-min-size),1fr) var(--splitter-size) minmax(var(--panel-min-size),1fr);min-block-size:0;overflow:hidden;container-type:inline-size;container-name:main-content}.panel,.editor-panel,.input-panel,.output-panel{display:flex;flex-direction:column;min-inline-size:0;min-block-size:0;background:var(--color-bg-panel);border-inline-end:2px solid var(--color-border-default);container-type:inline-size;container-name:panel;transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);&:last-child{border-inline-end:0}}.panel__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-block-size:2.5rem;padding-block:var(--space-3);padding-inline:var(--space-4);border-block-end:2px solid var(--color-border-default);background:var(--color-bg-subtle);transition:background-color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out);h2{margin:0;font-size:var(--font-size-md);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary)}}.panel__body{flex:1;min-block-size:0;overflow:auto;padding-block:var(--space-4);padding-inline:var(--space-4);display:flex;flex-direction:column}#converter-container{flex:1;min-block-size:0;display:flex;flex-direction:column;gap:var(--space-2)}.converter-grid{flex:1;min-block-size:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}#converter-container .ln-wrapper{block-size:100%;min-block-size:0}#converter-container .ln-wrapper textarea{min-block-size:0;resize:none}.splitter{position:relative;background:var(--color-bg-canvas);border-inline:1px solid var(--color-border-default);cursor:col-resize;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);&:before{content:"";position:absolute;inset-block:50% auto;inset-inline:50%;transform:translate(-50%,-50%);inline-size:2px;block-size:2rem;border-radius:var(--radius-full);background:var(--color-border-strong);transition:background-color var(--duration-fast) var(--ease-out)}&:hover{background:color-mix(in oklch,var(--color-primary-500) 8%,var(--color-bg-canvas));&:before{background:var(--color-primary-500)}}&:active{background:color-mix(in oklch,var(--color-primary-500) 12%,var(--color-bg-canvas))}}.tab-bar{min-block-size:2.25rem}.status-bar{min-block-size:2rem;border-block-start:1px solid var(--color-border-default);border-block-end:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}@container main-content (max-width: 48rem){.main-content{grid-template-columns:1fr;grid-template-rows:minmax(16rem,1fr) minmax(16rem,1fr)}.splitter{display:none}.panel{border-inline-end:0;border-block-end:1px solid var(--color-border-default);&:last-child{border-block-end:0}}}@media(max-width:48rem){.app-toolbar,.tab-bar,.status-bar{padding-inline:var(--space-3)}.panel__header{padding-block:var(--space-2);padding-inline:var(--space-3)}.panel__body{padding-block:var(--space-3);padding-inline:var(--space-3)}}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-block-size:2.125rem;padding-block:.4375rem;padding-inline:1rem;border:1px solid transparent;border-radius:.5rem;background:var(--color-neutral-100);color:var(--color-text-primary);font:inherit;font-weight:500;font-size:.8125rem;line-height:1;cursor:pointer;user-select:none;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease;&:hover{background:var(--color-neutral-200)}&:active{background:var(--color-neutral-300)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg-panel),0 0 0 4px var(--color-primary-500)}&:disabled,&[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}}.btn--primary{background:var(--color-primary-600);border-color:var(--color-primary-700);color:#fff;font-weight:600;&:hover{background:var(--color-primary-700);border-color:var(--color-primary-800)}&:active{background:var(--color-primary-800)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg-panel),0 0 0 4px var(--color-primary-500)}}.btn--secondary{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-700);font-weight:500;&:hover{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-800)}&:active{background:var(--color-primary-200)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg-panel),0 0 0 4px var(--color-primary-500)}}.btn--ghost{background:transparent;border-color:var(--color-neutral-300);color:var(--color-text-secondary);font-weight:500;&:hover{background:var(--color-neutral-100);border-color:var(--color-neutral-400);color:var(--color-text-primary)}&:active{background:var(--color-neutral-200)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg-panel),0 0 0 4px var(--color-primary-500)}}.btn--icon{inline-size:2.25rem;padding-inline:0}.btn-group{display:inline-flex;align-items:center;gap:.375rem}.form-control,input[type=text],input[type=number],input[type=search],input[type=email],input[type=url],select,textarea:not(.compare-box__input){inline-size:100%;min-block-size:2.5rem;padding-block:var(--space-2);padding-inline:var(--space-3);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-panel);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);&::placeholder{color:var(--color-text-muted)}&:hover{border-color:var(--color-neutral-500);background:var(--color-bg-subtle)}&:focus-visible{border-color:var(--color-border-focus);background:var(--color-bg-panel);box-shadow:var(--shadow-focus);outline:none}&:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-subtle)}}textarea{min-block-size:10rem;resize:vertical;line-height:var(--line-height-normal);font-family:var(--font-family-mono)}input[type=checkbox],input[type=radio]{inline-size:1rem;block-size:1rem;vertical-align:middle;cursor:pointer}.field{display:grid;gap:var(--space-2)}.field__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide)}.tab-bar{background:var(--color-bg-panel);border-block-end:1px solid var(--color-border-default);padding-block:var(--space-2)}.tabs{display:flex;align-items:center;gap:var(--space-1);position:relative}.tab,.tab-item{position:relative;border:none;border-radius:.375rem;padding-block:var(--space-2);padding-inline:var(--space-4);background:transparent;color:var(--color-text-secondary);font:inherit;font-weight:500;font-size:var(--font-size-sm);cursor:pointer;user-select:none;transition:background-color .15s ease,color .15s ease;&:hover{background:var(--color-neutral-100);color:var(--color-text-primary)}&:active{background:var(--color-neutral-200)}&:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg-panel),0 0 0 4px var(--color-primary-500)}&[aria-selected=true],&.is-active,&.tab-active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:600;&:hover{background:var(--color-primary-100);color:var(--color-primary-800)}}}.modal,.dialog{inline-size:min(36rem,100%);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-xl);opacity:0;transform:translateY(var(--space-3));animation:modal-enter var(--duration-slow) var(--ease-out) forwards}.modal__header,.modal__footer{border-block-end:0;border-block-start:1px solid var(--color-border-default);background:var(--color-bg-subtle)}.tree-view,.json-tree{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-loose);color:var(--color-text-primary);container-type:inline-size;.tree-node{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-2);padding-block:var(--space-1);padding-inline:var(--space-2);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out);&:hover{background:var(--color-bg-subtle)}&:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.tree-node__toggle{inline-size:1.5rem;block-size:1.5rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;display:grid;place-items:center;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);&:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}&:focus-visible{outline:none;box-shadow:var(--shadow-focus)}}}}.ln-wrapper{display:flex;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-panel);overflow:hidden;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.5;&:focus-within{border-color:var(--color-primary-400);box-shadow:0 0 0 2px color-mix(in oklch,var(--color-primary-400) 25%,transparent)}}.ln-gutter{flex-shrink:0;min-inline-size:4ch;padding-block:var(--space-2);padding-inline:var(--space-1) var(--space-2);text-align:end;color:var(--color-text-muted);background:color-mix(in oklch,var(--color-bg-panel) 90%,var(--color-border-default));border-inline-end:1px solid var(--color-border-default);user-select:none;overflow:hidden;pointer-events:none}.ln-gutter__line{display:block;white-space:pre}.ln-wrapper textarea{flex:1;min-inline-size:0;min-block-size:0;border:none;outline:none;background:transparent;padding:var(--space-2) var(--space-3);font:inherit;line-height:inherit;resize:none;color:var(--color-text-primary)}.ln-wrapper textarea::placeholder{color:var(--color-text-muted)}.diff-wrapper{height:100%;min-height:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.compare-labels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.compare-boxes{flex:1;min-block-size:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.diff-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.diff-actions--hidden{display:none}.diff-actions__note{margin-inline-end:auto;font-size:var(--font-size-xs);color:var(--color-text-muted)}.compare-status{flex-shrink:0;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);min-block-size:1.5em}.compare-box{display:flex;border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;min-block-size:0}.compare-box__gutter{flex-shrink:0;width:3.5ch;overflow:hidden;background:color-mix(in oklch,var(--color-bg-panel) 90%,var(--color-border-default));border-inline-end:1px solid var(--color-border-default);user-select:none;padding-block:0}.compare-box__ln{display:block;height:1.5em;line-height:1.5;padding-inline:var(--space-1) var(--space-2);text-align:end;font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.compare-box__ln--removed{background:color-mix(in oklch,var(--color-error-50) 80%,var(--color-bg-panel));color:var(--color-error-500)}.compare-box__ln--added{background:color-mix(in oklch,var(--color-success-50) 80%,var(--color-bg-panel));color:var(--color-success-500)}.compare-box__body{flex:1;position:relative;min-inline-size:0;overflow:hidden}.compare-box__backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none}.compare-box__stripe{height:1.5em}.compare-box__stripe--removed{background:var(--color-error-50)}.compare-box__stripe--added{background:var(--color-success-50)}.compare-box__input{position:relative;display:block;width:100%;height:100%;margin:0;padding:0 var(--space-2);border:none;background:transparent;resize:none;outline:none;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-primary);white-space:pre;overflow:auto;tab-size:2;min-block-size:0}.highlighted-output{border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}.highlighted-output .cm-editor{height:100%}.highlighted-output .cm-scroller{overflow:auto}.toast-container{position:fixed;inset-block-start:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:grid;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);inline-size:min(24rem,calc(100vw - var(--space-8)));padding-block:var(--space-3);padding-inline:var(--space-3);border:1px solid var(--color-border-default);border-inline-start-width:3px;border-radius:var(--radius-md);background:var(--color-bg-elevated);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));box-shadow:var(--shadow-lg);pointer-events:auto;opacity:0;transform:translate(calc(100% + var(--space-4)));animation:toast-in var(--duration-slow) var(--ease-out) forwards;&.is-exiting{animation:toast-out var(--duration-base) var(--ease-in) forwards}&.toast--success{border-inline-start-color:var(--color-success-500)}&.toast--warning{border-inline-start-color:var(--color-warning-500)}&.toast--error{border-inline-start-color:var(--color-error-500)}&.toast--info{border-inline-start-color:var(--color-info-500)}}@keyframes toast-in{to{opacity:1;transform:translate(0)}}@keyframes toast-out{to{opacity:0;transform:translate(calc(100% + var(--space-4)))}}.dropzone{display:grid;place-items:center;gap:var(--space-2);padding-block:var(--space-8);padding-inline:var(--space-6);border:2px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-panel);color:var(--color-text-secondary);text-align:center;transition:border-color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out);&:hover{border-color:color-mix(in oklch,var(--color-primary-500) 60%,var(--color-border-strong));background:color-mix(in oklch,var(--color-primary-500) 6%,var(--color-bg-panel))}&.is-dragover,&:has(.is-dragover),&:has(input[type=file]:focus-visible){border-color:var(--color-primary-500);background:color-mix(in oklch,var(--color-primary-500) 10%,var(--color-bg-panel))}}[data-tooltip]{position:relative;&:after{content:attr(data-tooltip);position:absolute;inset-inline-start:50%;inset-block-end:calc(100% + var(--space-2));transform:translate(-50%);opacity:0;pointer-events:none;padding-block:var(--space-1);padding-inline:var(--space-2);border-radius:var(--radius-sm);border:1px solid color-mix(in oklch,var(--color-border-default) 80%,transparent);background:color-mix(in oklch,var(--color-bg-inverse) 92%,transparent);color:var(--color-text-inverse);font-size:var(--font-size-xs);line-height:1.3;white-space:nowrap;z-index:var(--z-tooltip);box-shadow:var(--shadow-sm);transition:opacity var(--duration-fast) var(--ease-out)}&:is(:hover,:focus-visible):after{opacity:1}&[data-tooltip-position=bottom]:after{inset-block-start:calc(100% + var(--space-2));inset-block-end:auto;transform:translate(-50%)}&[data-tooltip-position=start]:after{inset-inline-end:calc(100% + var(--space-2));inset-inline-start:auto;inset-block-end:50%;transform:translateY(50%)}}@supports selector(:has(*)){[data-tooltip-cluster]:has([data-tooltip][data-tooltip-position=start]:is(:hover,:focus-visible)){isolation:isolate}}.is-loading{position:relative;color:transparent!important;pointer-events:none;&:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:1rem;block-size:1rem;margin-inline-start:-.5rem;margin-block-start:-.5rem;border:2px solid color-mix(in oklch,var(--color-primary-500) 24%,transparent);border-block-start-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spinner-rotate .68s linear infinite}}.spinner{inline-size:1rem;block-size:1rem;border:2px solid color-mix(in oklch,var(--color-primary-500) 24%,transparent);border-block-start-color:var(--color-primary-500);border-radius:var(--radius-full);animation:spinner-rotate .68s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.settings-panel{position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(28rem,90vw);background-color:var(--color-bg-elevated);border-inline-start:1px solid color-mix(in oklch,var(--color-border-default) 80%,transparent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow-y:auto;transform:translate(102%);opacity:0;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out);view-transition-name:settings-panel;&:not(.u-hidden):not([hidden]),&[aria-hidden=false]{transform:translate(0);opacity:1}}.panel-content{opacity:0;transition:opacity var(--duration-base) var(--ease-out);&:not(.u-hidden):not([hidden]),&[aria-hidden=false]{opacity:1}}.history-panel{position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(28rem,90vw);padding-block:var(--space-4);padding-inline:var(--space-4);border-inline-start:1px solid color-mix(in oklch,var(--color-border-default) 80%,transparent);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);background-color:var(--color-bg-elevated);box-shadow:var(--shadow-lg);overflow-y:auto;z-index:var(--z-dropdown);transform:translate(102%);opacity:0;transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out);view-transition-name:history-panel;&:not(.u-hidden):not([hidden]),&[aria-hidden=false]{transform:translate(0);opacity:1}}.history-entry{display:flex;align-items:center;gap:var(--space-3);inline-size:100%;padding-block:var(--space-3);padding-inline:var(--space-3);border:1px solid color-mix(in oklch,var(--color-border-default) 75%,transparent);border-radius:var(--radius-sm);background-color:var(--color-bg-panel);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);&:hover{background-color:color-mix(in oklch,var(--color-primary-500) 8%,var(--color-bg-panel));border-color:color-mix(in oklch,var(--color-primary-500) 35%,var(--color-border-default));box-shadow:var(--shadow-sm)}&:active{background-color:color-mix(in oklch,var(--color-primary-500) 12%,var(--color-bg-panel))}.history-entry__badge{flex:0 0 auto;padding-block:var(--space-0-5);padding-inline:var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);background-color:color-mix(in oklch,var(--color-primary-500) 14%,var(--color-bg-subtle))}.history-entry__preview{flex:1;min-inline-size:0;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-entry__timestamp{flex:0 0 auto;color:var(--color-text-muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}}.empty-state{display:grid;place-items:center;gap:var(--space-3);padding-block:var(--space-8);padding-inline:var(--space-8);color:var(--color-text-muted);text-align:center}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--color-bg-subtle) 82%,var(--color-bg-panel));&:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,color-mix(in oklch,var(--color-neutral-0) 36%,transparent) 46%,transparent 72%);transform:translate(-100%);animation:skeleton-shimmer 1.25s var(--ease-out) infinite}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.json-key,.token.property,.token.key{color:var(--color-json-key)}.json-string,.token.string{color:var(--color-json-string)}.json-number,.token.number{color:var(--color-json-number)}.json-boolean,.token.boolean{color:var(--color-json-boolean)}.json-null,.token.null{color:var(--color-json-null)}.json-brace,.json-bracket,.json-punctuation,.token.punctuation{color:var(--color-json-punctuation)}.cm-editor{block-size:100%;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-loose);background:var(--color-bg-panel);color:var(--color-text-primary);border-radius:var(--radius-sm);border:none;view-transition-name:editor}.cm-scroller{overflow:auto;font-family:inherit;scrollbar-width:thin}.cm-content{padding-block:var(--space-3);padding-inline:var(--space-3);caret-color:var(--color-primary-500)}.cm-line{padding-inline:var(--space-2)}.cm-cursor{border-inline-start-color:var(--color-primary-500);border-inline-start-width:2px}.cm-selectionBackground,.cm-content ::selection{background:var(--color-bg-selection)!important}.cm-focused{outline:none}.cm-focused .cm-selectionBackground{background:var(--color-bg-selection)!important}.cm-gutters{background:var(--color-bg-subtle);border-inline-end:1px solid color-mix(in oklch,var(--color-border-default) 65%,transparent);color:var(--color-text-muted);padding-inline:var(--space-1)}.cm-lineNumbers .cm-gutterElement{padding-inline:var(--space-2);min-inline-size:2.5rem;text-align:end}.cm-activeLineGutter{background:var(--color-bg-panel);color:var(--color-text-primary)}.cm-activeLine{background:color-mix(in oklch,var(--color-primary-500) 4%,transparent)}#input-editor,#output-editor{inline-size:100%;block-size:100%;min-block-size:0;display:flex;flex-direction:column}#input-editor .cm-editor,#output-editor .cm-editor{flex:1;min-block-size:0}}@layer components{.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sr-only-focusable:focus-visible{position:static;inline-size:auto;block-size:auto;margin:0;clip:auto;white-space:normal}.skip-to-main{position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);z-index:calc(var(--z-modal) + 1);padding-block:var(--space-2);padding-inline:var(--space-3);background:var(--color-bg-elevated);color:var(--color-text-primary);border:2px solid var(--color-border-focus);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);text-decoration:none;transform:translateY(-200%);transition:transform var(--duration-base) var(--ease-out);&:focus-visible{transform:translateY(0)}}.u-flex{display:flex}.u-grid{display:grid}.u-inline-flex{display:inline-flex}.u-items-center{align-items:center}.u-justify-between{justify-content:space-between}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-mt-2{margin-block-start:var(--space-2)}.u-mt-4{margin-block-start:var(--space-4)}.u-p-2{padding:var(--space-2)}.u-p-4{padding:var(--space-4)}.u-w-full{inline-size:100%}.u-h-full{block-size:100%}.u-text-muted{color:var(--color-text-muted)}.u-text-center{text-align:center}.u-hidden{display:none!important}.u-visible{visibility:visible}.u-invisible{visibility:hidden}.u-fade-in{animation:fade-in var(--duration-base) var(--ease-out)}.u-transition{transition:all var(--duration-base) var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}*::-webkit-scrollbar{inline-size:10px;block-size:10px}*::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-full);border:2px solid var(--color-scrollbar-track);transition:background-color var(--duration-fast) var(--ease-out)}*::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--color-scrollbar-thumb) 80%,var(--color-text-primary))}*::-webkit-scrollbar-thumb:active{background:color-mix(in oklch,var(--color-scrollbar-thumb) 70%,var(--color-text-primary))}*::-webkit-scrollbar-corner{background:var(--color-scrollbar-track)}.cm-scroller::-webkit-scrollbar{inline-size:8px;block-size:8px}.cm-scroller::-webkit-scrollbar-thumb{border-width:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.toast,.modal,.dialog,.settings-panel,.history-panel{animation:none!important;transition:none!important;transform:none!important;opacity:1}.skeleton:after{animation:none;transform:none;opacity:.35}}@media print{.app-toolbar,.tab-bar,.status-bar,.settings-panel,.history-panel,.splitter,.btn,.toast-container,[role=toolbar],[aria-label="Settings panel"]{display:none!important}.app-shell,.main-content{display:block;min-block-size:auto;background:#fff}.panel{border:none;break-inside:avoid}body{font-size:12pt;line-height:1.5;color:#000;background:#fff}.cm-editor,.json-tree,code,pre{font-family:Courier New,monospace;font-size:10pt}.json-key,.token.property{color:#06c;font-weight:700}.json-string,.token.string{color:#064}.json-number,.token.number{color:#606}.json-boolean,.token.boolean{color:#a66a00}.json-null,.token.null{color:#800}}@media(prefers-contrast:high){:root{--color-border-default: var(--color-neutral-400);--color-border-strong: var(--color-neutral-600)}[data-theme=dark]{--color-border-default: var(--color-neutral-400);--color-border-strong: var(--color-neutral-300)}.btn,.tab,.tab-item,.form-control,input,select,textarea{border-width:2px}:focus-visible{outline-width:3px;outline-offset:3px}}}
