:root{--c-base-950:#101413;--c-base-900:#161b19;--c-base-850:#1b211f;--c-base-800:#222926;--c-base-700:#262b33;--c-base-600:#353b45;--c-base-500:#444b56;--c-base-400:#5b626d;--c-base-300:#8a909b;--c-base-200:#aab0ba;--c-base-100:#c8ccd4;--c-base-50:#e6e8ec;--c-accent-600:#159a91;--c-accent-500:#38c7ba;--c-accent-400:#72d8ce;--c-accent-300:#a1e7df;--c-accent-900:#123c38;--c-accent-950:#0b2926;--c-success-500:#34d399;--c-success-600:#10b981;--c-success-900:#0a3b2e;--c-amber-500:#fbbf24;--c-amber-600:#d97706;--c-amber-900:#3a2a06;--c-danger-500:#f87171;--c-danger-600:#ef4444;--c-danger-900:#3b1414;--c-badge-bg:#1d2127;--c-badge-border:#353b45;--c-badge-text:#e6e8ec;--bg-app:var(--c-base-950);--bg-surface:var(--c-base-900);--bg-panel:var(--c-base-850);--bg-raised:var(--c-base-800);--bg-elevated:var(--c-base-800);--bg-hover:var(--c-base-700);--text-primary:var(--c-base-50);--text-body:var(--c-base-100);--text-secondary:var(--c-base-200);--text-muted:var(--c-base-300);--text-on-accent:#06181c;--border-default:var(--c-base-500);--border-subtle:var(--c-base-400);--border-strong:var(--c-base-600);--border-accent:var(--c-accent-500);--action-bg:var(--c-accent-500);--action-bg-hover:var(--c-accent-400);--action-fg:var(--text-on-accent);--state-normal-bg:var(--c-base-800);--state-normal-fg:var(--c-base-100);--state-special-bg:var(--c-amber-900);--state-special-fg:var(--c-amber-500);--state-success-bg:var(--c-success-900);--state-success-fg:var(--c-success-500);--state-ambiguous-bg:var(--c-amber-900);--state-ambiguous-fg:var(--c-amber-500);--state-stale-bg:var(--c-amber-900);--state-stale-fg:var(--c-amber-500);--state-danger-bg:var(--c-danger-900);--state-danger-fg:var(--c-danger-500);--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--fs-display:clamp(1.6rem, 1.4rem + 1vw, 2.25rem);--fs-h2:clamp(1.2rem, 1.1rem + .5vw, 1.5rem);--fs-h3:1.05rem;--fs-body:1rem;--fs-small:.875rem;--fs-xs:.8125rem;--fs-xxs:.75rem;--fs-mono:.8125rem;--lh-tight:1.2;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.65;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-.01em;--tracking-mono:.02em;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--r-panel:2px;--r-button:4px;--r-chip:999px;--r-pill:999px;--r-input:4px;--shadow-panel:0 1px 0 #0006, 0 0 0 1px var(--border-default) inset;--shadow-raised:0 4px 16px #00000059, 0 0 0 1px var(--border-strong) inset;--shadow-focus:0 0 0 3px var(--c-accent-900);--z-base:0;--z-sticky:100;--z-header:200;--z-drawer:300;--z-modal:400;--z-toast:500;--dur-fast:.12s;--dur-base:.18s;--ease-out:cubic-bezier(.2, 0, 0, 1);--container-max:1100px;--container-prose:720px;--tool-sticky-offset:0px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}:root[data-theme=light]{--bg-app:#f6f7f8;--bg-surface:#fff;--bg-panel:#fff;--bg-raised:#f0f2f4;--bg-hover:#e6e8ec;--text-primary:#0e1013;--text-body:#1d2127;--text-secondary:#444b56;--text-muted:#5b626d;--text-on-accent:#06181c;--border-default:#d6dae0;--border-subtle:#e6e8ec;--border-strong:#aab0ba;--state-normal-bg:#f0f2f4}.site-header{z-index:var(--z-header);justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:color-mix(in srgb, var(--bg-surface) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default);display:flex;position:sticky;top:0}.site-header__wordmark{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:var(--fs-small);letter-spacing:var(--tracking-mono);color:var(--text-primary);text-decoration:none;display:inline-flex}.site-header__mark{background:linear-gradient(135deg, transparent 45%, var(--c-accent-500) 45% 55%, transparent 55%), linear-gradient(135deg, transparent 70%, var(--text-primary) 70% 80%, transparent 80%);border:1px solid var(--border-strong);border-radius:3px;flex:none;width:18px;height:18px}.site-header__nav{align-items:center;gap:var(--sp-1);display:flex}.site-header__nav a{color:var(--text-secondary);font-size:var(--fs-small);font-weight:var(--fw-medium);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-button);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-header__nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.site-header__nav a:focus-visible{box-shadow:var(--shadow-focus);outline:none}.site-header__menu-toggle{display:none}@media (width<=767px){.site-header__nav{display:none}.site-header__nav.is-open{background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:var(--sp-3);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0}.site-header__menu-toggle{border:1px solid var(--border-default);border-radius:var(--r-button);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}}.version-badge{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xxs);letter-spacing:var(--tracking-mono);font-weight:var(--fw-medium);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-chip);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text-body);display:inline-flex}.version-badge--current{color:var(--c-success-500);border-color:color-mix(in srgb, var(--c-success-600) 50%, var(--border-default))}.version-badge--stale{color:var(--c-amber-500);border-color:color-mix(in srgb, var(--c-amber-600) 50%, var(--border-default))}.version-badge--unknown{color:var(--text-muted);border-color:var(--border-subtle)}.version-badge__dot{background:currentColor;border-radius:999px;flex:none;width:8px;height:8px}.mode-tabs{background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-button);gap:2px;width:100%;padding:3px;display:inline-flex}.mode-tabs__tab{justify-content:center;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:4px;flex:1;display:inline-flex}.mode-tabs__tab:hover{color:var(--text-primary)}.mode-tabs__tab[aria-selected=true]{background:var(--bg-raised);color:var(--text-primary);box-shadow:var(--shadow-panel)}.mode-tabs__tab[aria-selected=true] .mode-tabs__dot{background:var(--c-accent-500)}.mode-tabs__tab:focus-visible{box-shadow:var(--shadow-focus);outline:none}.mode-tabs__dot{background:var(--c-base-400);border-radius:999px;flex:none;width:6px;height:6px}@media (width>=768px){.mode-tabs{width:auto}}.pal-select{position:relative}.pal-select__label{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:var(--sp-1);display:block}.pal-select__trigger{text-align:left;align-items:center;gap:var(--sp-2);min-width:0;min-height:48px;padding:var(--sp-2) var(--sp-3);background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--r-input);font-family:var(--font-sans);font-size:var(--fs-body);cursor:pointer;flex:1;display:flex}.pal-select__trigger:hover{border-color:var(--border-strong)}.pal-select__trigger:focus-visible,.pal-select__trigger[aria-expanded=true]{border-color:var(--border-accent);box-shadow:var(--shadow-focus);outline:none}.pal-select__placeholder{color:var(--text-muted)}.pal-select__control{align-items:stretch;gap:var(--sp-1);display:flex}.pal-select__clear{background:var(--bg-panel);border:1px solid var(--border-default);min-width:48px;min-height:48px;color:var(--text-muted);cursor:pointer;border-radius:var(--r-button);flex:none}.pal-select__clear:hover{color:var(--text-primary);background:var(--bg-hover)}.pal-select__clear:focus-visible{border-color:var(--border-accent);box-shadow:var(--shadow-focus);outline:none}.pal-listbox{z-index:var(--z-sticky);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--r-input);max-height:320px;box-shadow:var(--shadow-raised);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.pal-listbox__search{width:100%;min-height:44px;padding:var(--sp-2) var(--sp-3);background:var(--bg-panel);border:0;border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:var(--fs-body);position:sticky;top:0}.pal-listbox__search:focus{box-shadow:var(--shadow-focus);outline:none}.pal-listbox__option{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);cursor:pointer;border-bottom:1px solid var(--border-subtle);min-height:44px;display:flex}.pal-listbox__option:hover,.pal-listbox__option[aria-selected=true]{background:var(--bg-hover)}.pal-listbox__option-name{color:var(--text-primary);font-weight:var(--fw-medium)}.pal-listbox__option-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-mono);margin-left:auto}.pal-listbox__recent-label{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xxs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-mono)}.pal-badge{--pal-badge-size:32px;width:var(--pal-badge-size);height:var(--pal-badge-size);background:var(--c-badge-bg);border:1px solid var(--c-badge-border);color:var(--c-badge-text);font-family:var(--font-mono);font-weight:var(--fw-semibold);font-size:calc(var(--pal-badge-size) * .32);letter-spacing:.04em;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.pal-badge:before{content:"";background:linear-gradient(135deg, transparent 0 40%, var(--pal-badge-hue,var(--c-accent-500)) 40% 60%, transparent 60%), linear-gradient(45deg, transparent 0 60%, var(--c-base-500) 60% 70%, transparent 70%);opacity:.55;border-radius:4px;position:absolute;inset:3px}.pal-badge>span{z-index:1;position:relative}.pal-badge--sm{--pal-badge-size:24px}.pal-badge--lg{--pal-badge-size:48px}.paldeck-chip{border-radius:var(--r-chip);background:var(--bg-app);border:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--fs-xxs);color:var(--text-secondary);align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.pair-row{align-items:flex-end;gap:var(--sp-2);display:flex}.pair-row__col{flex:1;min-width:0}.swap-btn{background:var(--bg-panel);min-width:44px;min-height:48px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--r-button);cursor:pointer;flex:none;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.swap-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-hover)}.swap-btn:focus-visible{box-shadow:var(--shadow-focus);border-color:var(--border-accent);outline:none}.swap-btn__icon{transition:transform var(--dur-base) var(--ease-out)}.swap-btn:hover .swap-btn__icon{transform:rotate(180deg)}.owned-drawer{z-index:var(--z-drawer);background:var(--bg-raised);border-top:1px solid var(--border-strong);border-radius:var(--r-panel) var(--r-panel) 0 0;box-shadow:var(--shadow-raised);padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));max-height:80vh;transition:transform var(--dur-base) var(--ease-out);position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}.owned-drawer.is-open{transform:translateY(0)}.owned-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.owned-chip{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-2);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--r-chip);font-size:var(--fs-small);color:var(--text-body);display:inline-flex}.owned-chip__remove{min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px}.owned-chip__remove:hover{color:var(--text-primary);background:var(--bg-hover)}.owned-clear{font-size:var(--fs-small);color:var(--text-secondary);cursor:pointer;padding:var(--sp-2);background:0 0;border:0;min-height:44px;text-decoration:underline}.owned-clear:hover{color:var(--text-primary)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:48px;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-button);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn--primary{background:var(--action-bg);color:var(--action-fg)}.btn--primary:hover{background:var(--action-bg-hover)}.btn--primary[disabled]{background:var(--bg-raised);color:var(--text-muted);border-color:var(--border-default);cursor:not-allowed}.btn--secondary{background:var(--bg-panel);color:var(--text-primary);border-color:var(--border-default)}.btn--secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn--ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn--danger{background:var(--c-danger-900);color:var(--c-danger-500);border-color:color-mix(in srgb, var(--c-danger-600) 40%, transparent)}.btn--danger:hover{background:color-mix(in srgb, var(--c-danger-900) 70%, #000)}.btn--block{width:100%}.btn--sm{min-height:44px;font-size:var(--fs-small);padding:var(--sp-2) var(--sp-3)}.result__actions .btn--sm,.modal__actions .btn--sm{min-height:44px}.result{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--r-panel);box-shadow:var(--shadow-panel);padding:var(--sp-4);position:relative}.result:before{content:"";background:var(--c-accent-500);border-radius:var(--r-panel) 0 0 var(--r-panel);width:3px;position:absolute;inset:-1px auto -1px -1px}.result__answer{align-items:center;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.result__child-name{font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.result__child-id{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-muted)}.result__rule{margin-top:var(--sp-3)}.result__actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.rule-badge{align-items:center;gap:var(--sp-2);padding:3px var(--sp-3);border-radius:var(--r-chip);font-size:var(--fs-xxs);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;display:inline-flex}.rule-badge--normal{background:var(--state-normal-bg);color:var(--state-normal-fg);border-color:var(--border-default)}.rule-badge--special{background:var(--state-special-bg);color:var(--state-special-fg);border-color:color-mix(in srgb, var(--c-amber-600) 40%, transparent)}.rule-badge--ambiguous{background:var(--state-ambiguous-bg);color:var(--state-ambiguous-fg);border-color:color-mix(in srgb, var(--c-amber-600) 50%, transparent)}.rule-badge__glyph{font-family:var(--font-mono);font-weight:var(--fw-bold)}.trust-row{align-items:center;gap:var(--sp-2) var(--sp-3);padding-top:var(--sp-3);margin-top:var(--sp-3);border-top:1px dashed var(--border-subtle);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);flex-wrap:wrap;display:flex}.trust-row__item{align-items:center;gap:6px;display:inline-flex}.trust-row__label{color:var(--text-muted)}.trust-row a{color:var(--c-accent-400);text-decoration:none}.trust-row a:hover{text-decoration:underline}.pair-list{margin:var(--sp-2) 0 0;padding:0;list-style:none}.pair-list__item{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.pair-list__pair{align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex:1;min-width:0;display:inline-flex}.pair-list__plus{color:var(--text-muted);font-family:var(--font-mono)}.pair-list__meta{align-items:center;gap:var(--sp-3);margin-left:auto;display:inline-flex}.owned-indicator{font-family:var(--font-mono);font-size:var(--fs-xxs);border-radius:var(--r-chip);border:1px solid var(--border-default);color:var(--text-secondary);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.owned-indicator--both{color:var(--c-success-500);border-color:color-mix(in srgb, var(--c-success-600) 40%, transparent)}.owned-indicator--one{color:var(--c-accent-400);border-color:color-mix(in srgb, var(--c-accent-500) 40%, transparent)}.owned-indicator--none{color:var(--text-muted)}@media (width>=768px){.pair-list__item{flex-wrap:nowrap}}.path-graph{background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-panel);padding:var(--sp-4);overflow-x:auto}.path-graph__svg{min-width:480px;height:auto;display:block}.path-steps{margin:var(--sp-3) 0 0;counter-reset:step;padding:0;list-style:none}.path-steps__item{padding:var(--sp-2) 0 var(--sp-2) var(--sp-8);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex;position:relative}.path-steps__item:before{counter-increment:step;content:counter(step);left:0;top:var(--sp-2);background:var(--bg-raised);border:1px solid var(--border-strong);width:24px;height:24px;font-family:var(--font-mono);font-size:var(--fs-xxs);color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.path-missing{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--c-amber-900);border:1px solid color-mix(in srgb, var(--c-amber-600) 40%, transparent);border-radius:var(--r-panel);color:var(--c-amber-500);font-size:var(--fs-small)}.share-confirm{padding:var(--sp-3);border-radius:var(--r-panel);background:var(--c-amber-900);border:1px solid color-mix(in srgb, var(--c-amber-600) 40%, transparent);color:var(--c-amber-500);font-size:var(--fs-small)}.share-confirm__title{font-weight:var(--fw-semibold);color:var(--text-primary);align-items:center;gap:var(--sp-2);display:flex}.share-confirm__url{margin-top:var(--sp-2);padding:var(--sp-2);background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-input);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);word-break:break-all}.modal-backdrop{z-index:var(--z-modal);backdrop-filter:blur(2px);background:#08090bb3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}@media (width>=768px){.modal-backdrop{align-items:center}}.modal{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--r-panel) var(--r-panel) 0 0;width:100%;max-width:520px;padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + var(--safe-bottom));max-height:90vh;overflow-y:auto}@media (width>=768px){.modal{border-radius:var(--r-panel)}}.modal__title{font-size:var(--fs-h2);font-weight:var(--fw-semibold);margin:0 0 var(--sp-2)}.modal__desc{color:var(--text-secondary);font-size:var(--fs-small);margin:0 0 var(--sp-3)}.payload-preview{background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--r-input);padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.payload-preview__row{gap:var(--sp-2);display:flex}.payload-preview__key{color:var(--text-muted)}.payload-preview__val{color:var(--text-primary)}.modal__actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.state-block{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-panel);border:1px solid var(--border-default);background:var(--bg-panel);display:flex}.state-block__icon{width:24px;height:24px;font-family:var(--font-mono);font-weight:var(--fw-bold);flex:none;justify-content:center;align-items:center;display:inline-flex}.state-block--empty .state-block__icon{color:var(--text-muted)}.state-block--loading .state-block__icon{color:var(--c-accent-400)}.state-block--noresult .state-block__icon{color:var(--text-muted)}.state-block--stale .state-block__icon{color:var(--c-amber-500)}.state-block--offline .state-block__icon{color:var(--text-muted)}.state-block--error .state-block__icon{color:var(--c-danger-500)}.state-block__title{font-weight:var(--fw-semibold);color:var(--text-primary);font-size:var(--fs-body);margin:0}.state-block__helper{color:var(--text-secondary);font-size:var(--fs-small);margin:4px 0 0}.state-block--stale{border-color:color-mix(in srgb, var(--c-amber-600) 40%, transparent);background:var(--c-amber-900)}.state-block--stale .state-block__title{color:var(--c-amber-500)}.state-block--error{border-color:color-mix(in srgb, var(--c-danger-600) 40%, transparent);background:var(--c-danger-900)}.state-block--error .state-block__title{color:var(--c-danger-500)}.skeleton{background:linear-gradient(90deg, var(--bg-panel) 25%, var(--bg-raised) 50%, var(--bg-panel) 75%);animation:skeleton-shimmer 1.6s var(--ease-out) infinite;border-radius:var(--r-input);background-size:200% 100%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.site-footer{border-top:1px solid var(--border-default);background:var(--bg-surface);padding:var(--sp-6) var(--sp-4) calc(var(--sp-6) + var(--safe-bottom));margin-top:var(--sp-12)}.site-footer__inner{max-width:var(--container-max);margin:0 auto}.site-footer__links{gap:var(--sp-2) var(--sp-4);margin:0 0 var(--sp-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-footer__links a{color:var(--text-secondary);font-size:var(--fs-small);padding:var(--sp-2);border-radius:var(--r-button);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-footer__links a:hover{color:var(--text-primary);background:var(--bg-hover)}.site-footer__disclaimer{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-normal);padding-top:var(--sp-3);border-top:1px dashed var(--border-subtle)}.container{max-width:var(--container-max);padding:0 var(--sp-4);margin:0 auto}.container--prose{max-width:var(--container-prose)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--sp-3);z-index:var(--z-toast);background:var(--action-bg);color:var(--action-fg);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-button);transition:top var(--dur-fast) var(--ease-out);position:absolute;top:-48px}.skip-link:focus{top:var(--sp-3)}:focus-visible{outline:2px solid var(--c-accent-500);outline-offset:2px}code,pre,.trust-row,.pal-detail__id{overflow-wrap:anywhere}@media (width<=767px){.site-header{padding-block:var(--sp-2)}.mode-tabs__tab{padding-inline:var(--sp-1);font-size:var(--fs-xs)}.pair-row{flex-direction:column;align-items:stretch}.swap-btn{align-self:center;width:100%;min-height:44px}.result__actions{grid-template-columns:1fr;display:grid}.result__actions .btn{width:100%}.pair-list__item{flex-direction:column;align-items:flex-start}.pair-list__pair{flex:none;width:100%}.pair-list__meta{justify-content:flex-start;width:100%;margin-left:0}}.calc__notice{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-chip);border:1px solid color-mix(in srgb, var(--c-accent-500) 35%, transparent);background:color-mix(in srgb, var(--c-accent-400) 8%, var(--bg-surface));color:var(--text-secondary);font-size:var(--fs-sm)}.calc__notice--list{padding-left:var(--sp-3);list-style:none}.calc__notice--list li{margin-block:2px}.share-bar{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.pair-list__toolbar{gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-hover);border-radius:var(--r-chip);flex-wrap:wrap;align-items:center;display:flex}.pair-list__search{min-height:44px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border-default);border-radius:var(--r-chip);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-sm);flex:200px}.pair-list__sort{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-secondary);display:inline-flex}.pair-list__sort select{min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border-default);border-radius:var(--r-chip);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-sm)}.pair-list__more{margin-top:var(--sp-3);justify-content:center;display:flex}.pair-list__more .btn{min-height:44px}.depth-control{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--r-chip);background:var(--bg-surface)}.depth-control__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--sp-1);display:block}.depth-control__label strong{color:var(--text-primary)}.depth-control input[type=range]{width:100%;accent-color:var(--c-accent-500)}.depth-control__ticks{font-family:var(--font-mono);font-size:var(--fs-xxs);color:var(--text-muted);justify-content:space-between;margin-top:2px;display:flex}.path-card{margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px dashed var(--border-subtle)}.path-card:last-of-type{border-bottom:0}.trust-row--warning{border-color:color-mix(in srgb, var(--c-danger-500) 50%, transparent);background:color-mix(in srgb, var(--c-danger-500) 6%, var(--bg-surface));padding:var(--sp-2) var(--sp-3);border-radius:var(--r-chip);border-style:solid;border-width:1px}.result__report-wrap{margin-top:var(--sp-2)}.result__report-actions{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.result__report-actions .btn,.result__report-actions a{align-items:center;min-height:44px;display:inline-flex}.result__report-note{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}@media (width<=767px){.pair-list__toolbar{flex-direction:column;align-items:stretch}.pair-list__search,.pair-list__sort,.pair-list__sort select{width:100%}.result__report-actions{grid-template-columns:1fr;display:grid}.result__report-actions .btn,.result__report-actions a{justify-content:center;width:100%}}.clear-local{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px dashed var(--border-subtle)}.clear-local__confirm{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.clear-local__done{margin-left:var(--sp-2);color:var(--c-success-500);font-size:var(--fs-sm);display:inline-block}html{background:var(--bg-app);min-width:320px}body.design-frame{background:var(--bg-app);min-height:100vh;color:var(--text-body);font-family:var(--font-sans);margin:0}*,:before,:after{box-sizing:border-box}.tool-page{--tool-ink:#e8eee9;--tool-muted:#9aa6a0;--tool-line:#2c3631;--tool-panel:#151b18;--tool-panel-2:#1a211d;--tool-green:#93c5a8;--tool-lime:#bedf93;--tool-warn:#e4bf79;width:min(1180px,100% - 40px);color:var(--tool-ink);font-family:var(--font-sans);margin:0 auto;padding:24px 0 88px}.tool-breadcrumb{color:var(--tool-muted);font:12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:9px;margin:6px 0 64px;display:flex}.tool-breadcrumb a{color:var(--tool-green)}.tool-hero{max-width:920px;margin-bottom:72px}.tool-kicker,.section-intro>p,.scope-copy>p,.privacy-section>div:first-child>p{color:var(--tool-green);font:500 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.tool-hero h1{letter-spacing:-.055em;max-width:900px;margin:18px 0 22px;font-size:clamp(42px,6vw,76px);font-weight:600;line-height:.99}.tool-deck{color:#bcc5c0;max-width:780px;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.65}.independence-label{max-width:780px;color:var(--tool-green);margin:18px 0 0;font-size:14px;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;display:flex}.hero-action{min-height:42px;color:var(--tool-ink);border:1px solid #445249;border-radius:3px;align-items:center;padding:9px 16px;font-weight:700;text-decoration:none;display:inline-flex}.hero-action--primary{border-color:var(--tool-lime);background:var(--tool-lime);color:#111712}.hero-action--text{color:var(--tool-green);border-color:#0000}.trust-row{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.trust-row span{border:1px solid var(--tool-line);color:#abb6b0;font:11px/1.2 var(--font-mono);background:#121714;border-radius:999px;padding:8px 11px}.truth-section,.tool-workspace,.mechanism-section,.how-section,.scope-section,.github-section,.faq-section,.privacy-section,.closing-section{margin-top:88px}.truth-section{border-top:1px solid var(--tool-line);border-bottom:1px solid var(--tool-line);max-width:920px;padding:36px 0}.truth-section>p:first-child{color:var(--tool-green);font:500 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.truth-section h2{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(27px,3vw,42px);line-height:1.1}.truth-section>p:last-child{color:#bcc5c0;max-width:820px;margin:0;font-size:17px;line-height:1.75}.section-intro{grid-template-columns:190px minmax(280px,1fr) minmax(240px,.8fr);align-items:end;gap:28px;margin-bottom:28px;display:grid}.section-intro>*{margin:0}.section-intro h2,.scope-copy h2,.privacy-section h2{letter-spacing:-.035em;font-size:clamp(27px,3vw,42px);font-weight:600;line-height:1.1}.section-intro>span{color:var(--tool-muted);font-size:14px;line-height:1.65}.inspector{border:1px solid var(--tool-line);background:var(--tool-panel);box-shadow:0 24px 70px #0000003d}.inspector-tabs{border-bottom:1px solid var(--tool-line);background:#101512;grid-template-columns:repeat(3,1fr);display:grid}.inspector-tabs button{border:0;border-right:1px solid var(--tool-line);min-height:82px;color:var(--tool-muted);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:13px;padding:16px 20px;display:flex}.inspector-tabs button:last-child{border-right:0}.inspector-tabs button[aria-selected=true]{background:var(--tool-panel-2);color:var(--tool-ink);box-shadow:inset 0 -2px var(--tool-green)}.inspector-tabs button:focus-visible{outline:2px solid var(--tool-lime);outline-offset:-3px}.inspector-tabs button>span{height:31px;font:12px var(--font-mono);border:1px solid #405048;border-radius:50%;flex:0 0 31px;place-items:center;display:grid}.inspector-tabs b{gap:4px;font-size:14px;display:grid}.inspector-tabs small{color:var(--tool-muted);font:10px var(--font-mono);text-transform:uppercase}.inspector-frame{padding:clamp(24px,4vw,48px)}.inspector-frame [role=tabpanel][hidden]{display:none}.inspector-frame label:not(.permission,.finding-row){margin:28px 0 8px;font-size:13px;font-weight:700;display:block}.inspector-frame textarea,.inspector-frame input[type=file]{width:100%;color:var(--tool-ink);background:#0e1310;border:1px solid #34423b;border-radius:4px}.inspector-frame textarea{resize:vertical;min-height:170px;font:13px/1.65 var(--font-mono);padding:16px}.inspector-frame input[type=file]{padding:14px}.inspector-frame button{min-height:42px;color:var(--tool-ink);cursor:pointer;background:0 0;border:1px solid #3e4a44;border-radius:3px;padding:9px 16px;font-weight:700}.inspector-frame button:disabled{cursor:not-allowed;opacity:.45}.inspector-frame .inspector-primary{background:var(--tool-lime);border-color:var(--tool-lime);color:#111712}.inspector-frame p{color:var(--tool-muted);line-height:1.65}.mode-heading{grid-template-columns:1fr auto;align-items:center;display:grid}.mode-heading p{color:var(--tool-green);font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;margin:0 0 7px}.mode-heading h3{letter-spacing:-.03em;margin:0;font-size:clamp(23px,3vw,34px)}.mode-heading span{color:var(--tool-green);font:10px var(--font-mono);text-transform:uppercase;border:1px solid #426050;border-radius:99px;padding:7px 10px}.scope{border-left:2px solid var(--tool-green);background:#101713;grid-template-columns:72px 1fr;gap:14px;margin:22px 0;padding:16px 18px;display:grid}.scope strong{color:var(--tool-green);font:11px var(--font-mono);text-transform:uppercase}.scope p{margin:0;font-size:13px}.ownership-notice{background:#201b13;border:1px solid #5b4c32;margin:20px 0;padding:14px 16px;color:#e8d6b5!important}.input-meta{color:#7f8b85;font:10px/1.5 var(--font-mono);justify-content:space-between;gap:20px;padding-top:7px;display:flex}.privacy-line{border-top:1px solid var(--tool-line);border-bottom:1px solid var(--tool-line);padding:13px 0 13px 25px;font-size:12px;position:relative}.privacy-line:before{content:"LOCAL";color:var(--tool-green);font:8px var(--font-mono);position:absolute;left:0}.action-row{gap:10px;margin:18px 0;display:flex}.inspector-alert,.inspector-status,.reviewed-empty{background:#201b13;border:1px solid #5b4c32;margin:14px 0;padding:13px 15px;color:#e8d6b5!important}.inspector-status{background:#111a15;border-color:#35483d;color:#b7c8bf!important}.reviewed-empty{background:#111b15;border-color:#3c594a}.reviewed-empty h4{color:var(--tool-green);margin:0 0 5px}.reviewed-empty p{margin:0}.findings,.metadata-results{border:1px solid var(--tool-line);background:#101512;margin:22px 0}.findings>h4,.metadata-results>h4{border-bottom:1px solid var(--tool-line);margin:0;padding:14px 16px}.finding-row{border-bottom:1px solid #252e29;grid-template-columns:auto 1fr minmax(110px,.7fr) auto minmax(150px,1.2fr);align-items:center;gap:12px;padding:13px 16px;display:grid}.finding-row span{display:grid}.finding-row small{color:var(--tool-muted)}.finding-row code{color:#b7c3bd;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.findings>p,.metadata-results>p{margin:0;padding:13px 16px}.removal-warnings{background:#201b13;border:1px solid #5b4c32;margin:14px 0;padding:10px 15px}.removal-warnings p{color:#e8d6b5;margin:4px 0}.reviewed-copy textarea{min-height:120px}.permission{color:#d1d9d5;align-items:flex-start;gap:10px;margin-top:16px;display:flex}.permission input{margin-top:4px}.metadata-results section{border-bottom:1px solid var(--tool-line);padding:16px}.metadata-results h5{margin:0 0 6px;font-size:15px}.metadata-results section>p{margin:4px 0;font-size:12px}.metadata-results dl{gap:8px;margin:13px 0 0;display:grid}.metadata-results dl div{grid-template-columns:minmax(120px,.35fr) 1fr;gap:12px;display:grid}.metadata-results dt{color:var(--tool-muted);font-size:12px}.metadata-results dd{overflow-wrap:anywhere;font:12px/1.55 var(--font-mono);white-space:pre-wrap;margin:0}.rewrite-disabled{grid-template-columns:auto 1fr;align-items:start;gap:26px;padding:10px 0 26px;display:grid}.lock-mark{width:52px;height:52px;color:var(--tool-warn);font:14px var(--font-mono);border:1px solid #5a4f38;border-radius:50%;place-items:center;display:grid}.rewrite-disabled p:first-child{color:var(--tool-warn);font:11px var(--font-mono);text-transform:uppercase;margin:0}.rewrite-disabled h3{margin:8px 0;font-size:32px}.rewrite-warning{background:#1e1a12;border:1px solid #55492f;padding:18px}.rewrite-warning strong{color:var(--tool-warn)}.rewrite-warning p{margin-bottom:0}.mechanism-grid{border:1px solid var(--tool-line);grid-template-columns:repeat(3,1fr);display:grid}.mechanism-grid article{border-right:1px solid var(--tool-line);background:var(--tool-panel);min-height:320px;padding:28px}.mechanism-grid article:last-child{border-right:0}.mode-letter{width:36px;height:36px;color:var(--tool-green);font:12px var(--font-mono);border:1px solid #496554;border-radius:50%;place-items:center;display:grid}.mode-letter--disabled{color:var(--tool-warn);border-color:#5b5039}.mechanism-grid h3{margin:42px 0 12px;font-size:21px}.mechanism-grid p{color:var(--tool-muted);line-height:1.7}.mechanism-grid strong{color:#c7d0cb;margin-top:24px;font-size:12px;line-height:1.5;display:block}.steps{border-top:1px solid var(--tool-line);margin:0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--tool-line);grid-template-columns:190px 1fr;padding:24px 0;display:grid}.steps li>span{color:var(--tool-green);font:11px var(--font-mono)}.steps h3,.steps p{margin:0}.steps p{color:var(--tool-muted);margin-top:6px}.scope-section{border:1px solid var(--tool-line);background:#121714;grid-template-columns:.75fr 1.25fr;gap:70px;padding:52px;display:grid}.scope-copy>p:last-child{color:var(--tool-muted);line-height:1.7}.scope-columns{grid-template-columns:1fr 1fr;gap:36px;display:grid}.scope-columns h3{font-size:16px}.scope-columns ul{color:var(--tool-muted);padding-left:18px;line-height:1.7}.scope-columns li{margin-bottom:9px}.github-section{border-top:1px solid var(--tool-line);border-bottom:1px solid var(--tool-line);grid-template-columns:.8fr 1.2fr;gap:70px;padding:44px 0;display:grid}.github-section>div{min-width:0}.github-section>div:first-child>p{color:var(--tool-green);font:500 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.github-section h2{letter-spacing:-.035em;margin:12px 0 0;font-size:clamp(27px,3vw,42px);line-height:1.12}.github-section p{color:var(--tool-muted);overflow-wrap:anywhere;margin-top:0;line-height:1.7}.github-section code{color:#cbd5cf}.github-section a{color:var(--tool-green);margin-top:8px;font-weight:700;display:inline-block}.github-actions{flex-wrap:wrap;gap:18px;display:flex}.source-line{overflow-wrap:anywhere;font-size:13px}.faq-list{border-top:1px solid var(--tool-line)}.faq-list details{border-bottom:1px solid var(--tool-line)}.faq-list summary{cursor:pointer;padding:21px 32px 21px 0;font-weight:700}.faq-list details p{max-width:820px;color:var(--tool-muted);margin:0 0 24px;line-height:1.75}.faq-list a,.privacy-section a{color:var(--tool-green)}.privacy-section{border-top:1px solid var(--tool-line);grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:48px;display:grid}.privacy-section p{color:var(--tool-muted);line-height:1.7}.closing-section{border:1px solid var(--tool-line);background:var(--tool-panel);max-width:920px;padding:clamp(28px,5vw,52px)}.closing-section>p:first-child{color:var(--tool-green);font:500 12px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.closing-section h2{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(27px,3vw,42px);line-height:1.1}.closing-section>p{max-width:760px;color:var(--tool-muted);line-height:1.7}.closing-section__legal{margin:22px 0 0;font-size:13px}@media (width<=900px){.section-intro{grid-template-columns:1fr;gap:8px}.mechanism-grid{grid-template-columns:1fr}.mechanism-grid article{border-right:0;border-bottom:1px solid var(--tool-line);min-height:auto}.scope-section,.github-section,.privacy-section{grid-template-columns:1fr;gap:30px}.scope-columns{grid-template-columns:1fr}}@media (width<=640px){.tool-page{width:min(100% - 24px,1180px);padding-bottom:56px}.tool-breadcrumb{white-space:nowrap;margin-bottom:40px;overflow:hidden}.tool-hero{margin-bottom:52px}.tool-hero h1{font-size:43px}.truth-section,.tool-workspace,.mechanism-section,.how-section,.scope-section,.github-section,.faq-section,.privacy-section,.closing-section{margin-top:64px}.inspector-tabs{grid-template-columns:1fr}.inspector-tabs button{border-right:0;border-bottom:1px solid var(--tool-line);min-height:62px}.inspector-frame{padding:20px 15px}.mode-heading{display:block}.mode-heading span{margin-top:12px;display:inline-block}.scope{grid-template-columns:1fr;gap:6px}.input-meta,.action-row{flex-direction:column;align-items:stretch}.action-row button{width:100%}.finding-row{grid-template-columns:auto 1fr}.finding-row code{grid-column:2}.rewrite-disabled{grid-template-columns:1fr}.scope-section{padding:28px 20px}.steps li{grid-template-columns:54px 1fr}.privacy-section{gap:18px}}
