.codex-skip[data-v-a4bde4ed]{height:1px;left:-9999px;overflow:hidden;position:absolute;top:auto;width:1px}.codex-skip[data-v-a4bde4ed]:focus{background:var(--fg);border:2px solid var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:.78rem;height:auto;left:1rem;letter-spacing:.12em;padding:.55rem .85rem;position:fixed;text-transform:uppercase;top:1rem;width:auto;z-index:1200}.codex-consent[data-v-8c45fb3d]{align-items:center;background:var(--bg);border-top:1px solid var(--line);display:grid;font-family:var(--font-mono);font-size:.875rem;gap:1.5rem;grid-template-columns:1fr auto;inset:auto 0 0;padding:1rem 1.5rem;position:fixed;z-index:80}.codex-consent-title[data-v-8c45fb3d]{color:var(--fg);font-size:.875rem;margin:0 0 .25rem}.codex-consent-text[data-v-8c45fb3d]{color:var(--soft);margin:0;max-width:48ch}.codex-consent-actions[data-v-8c45fb3d]{display:flex;gap:.5rem}.codex-consent-allow[data-v-8c45fb3d],.codex-consent-deny[data-v-8c45fb3d]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--rule);color:var(--fg);cursor:pointer;font-family:inherit;font-size:.8125rem;padding:.5rem .875rem;transition:border-color .15s ease-in-out}.codex-consent-allow[data-v-8c45fb3d]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.codex-consent-allow[data-v-8c45fb3d]:hover,.codex-consent-deny[data-v-8c45fb3d]:hover{filter:brightness(1.05)}@media(max-width:640px){.codex-consent[data-v-8c45fb3d]{grid-template-columns:1fr}}.codex-consent-enter-active[data-v-8c45fb3d],.codex-consent-leave-active[data-v-8c45fb3d]{transition:transform .25s var(--ease-out-quart)}.codex-consent-enter-from[data-v-8c45fb3d],.codex-consent-leave-to[data-v-8c45fb3d]{transform:translateY(100%)}.codex-wordmark[data-v-ca7e7d73]{background:var(--accent);border-radius:0;box-shadow:none;color:var(--argent);display:inline-grid;flex:0 0 auto;font-family:var(--font-sans);font-size:calc(var(--codex-wordmark-size)*.42);font-weight:800;height:var(--codex-wordmark-size);letter-spacing:0;line-height:1;place-items:center;text-decoration:none;transition:transform .18s var(--ease-out-quart),background-color .18s var(--ease-out-quart);width:var(--codex-wordmark-size)}.codex-wordmark[data-v-ca7e7d73]:hover{background:color-mix(in oklch,var(--accent) 82%,var(--argent));transform:translateY(-1px)}.codex-wordmark[data-v-ca7e7d73]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.codex-nav-wrap[data-v-33727d1c]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in oklch,var(--bg) 78%,transparent);padding:.75rem 0;position:sticky;top:0;z-index:50}.codex-nav[data-v-33727d1c]{align-items:center;background:color-mix(in oklch,var(--surface-card) 90%,transparent);border:1px solid color-mix(in oklch,var(--line) 60%,transparent);border-radius:999px;box-shadow:0 12px 32px color-mix(in oklch,var(--fg) 8%,transparent);display:flex;gap:1.25rem;margin:0 auto;max-width:1180px;padding:.55rem .75rem .55rem 1rem;width:calc(100% - 3rem)}.codex-nav-links[data-v-33727d1c]{display:flex;flex:1;flex-wrap:wrap;gap:.05rem;justify-content:center}.codex-nav-links a[data-v-33727d1c]{border-radius:999px;color:var(--soft);cursor:pointer;font-size:.86rem;font-weight:700;letter-spacing:0;padding:.45rem .8rem;position:relative;transition:color .25s var(--ease-out-quart),background-color .25s var(--ease-out-quart)}.codex-nav-links a[data-v-33727d1c]:hover{background:var(--surface-hover);color:var(--fg)}.codex-nav-links a.router-link-active[data-v-33727d1c]{background:var(--surface-strong);color:var(--fg)}.codex-nav-tools[data-v-33727d1c]{--codex-nav-action-size:2.55rem;align-items:center;display:flex;gap:.45rem}.codex-theme-control[data-v-33727d1c]{display:grid;place-items:center;position:relative}.codex-menu-toggle[data-v-33727d1c],.codex-theme-toggle[data-v-33727d1c]{aspect-ratio:1;background:transparent;border:1px solid color-mix(in oklch,var(--line) 70%,transparent);border-radius:999px;color:var(--soft);cursor:pointer;display:grid;flex:0 0 var(--codex-nav-action-size);font-size:.85rem;height:var(--codex-nav-action-size);line-height:1;padding:0;place-items:center;width:var(--codex-nav-action-size)}.codex-menu-toggle[data-v-33727d1c]:hover,.codex-theme-toggle[data-v-33727d1c]:hover{border-color:var(--fg);color:var(--fg)}.codex-theme-menu[data-v-33727d1c]{background:color-mix(in oklch,var(--surface-card) 96%,var(--bg));border:1px solid color-mix(in oklch,var(--line) 65%,transparent);border-radius:8px;box-shadow:var(--shadow-float);display:grid;gap:.12rem;min-width:10.5rem;padding:.4rem;position:absolute;right:0;top:calc(100% + .55rem);z-index:90}.codex-theme-option[data-v-33727d1c]{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--soft);cursor:pointer;display:flex;font:inherit;font-weight:750;gap:.6rem;min-height:2.45rem;padding:0 .75rem;text-align:left}.codex-theme-option[data-v-33727d1c]:hover,.codex-theme-option[data-active=true][data-v-33727d1c]{background:var(--surface-strong);color:var(--fg)}.codex-theme-option-glyph[data-v-33727d1c]{background:color-mix(in oklch,var(--surface-cool) 55%,transparent);border-radius:999px;display:grid;font-size:.75rem;height:1.35rem;line-height:1;place-items:center;width:1.35rem}.codex-menu-toggle[data-v-33727d1c]{color:var(--fg);display:none}.codex-menu-toggle span[data-v-33727d1c]{background:currentcolor;border-radius:999px;display:block;grid-area:1/1;height:1.5px;transition:transform .24s var(--ease-out-quart),opacity .18s ease;width:.9rem}.codex-menu-toggle span[data-v-33727d1c]:first-child{transform:translateY(-.32rem)}.codex-menu-toggle span[data-v-33727d1c]:last-child{transform:translateY(.32rem)}.codex-menu-toggle[data-open=true] span[data-v-33727d1c]:first-child{transform:rotate(45deg)}.codex-menu-toggle[data-open=true] span[data-v-33727d1c]:nth-child(2){opacity:0}.codex-menu-toggle[data-open=true] span[data-v-33727d1c]:last-child{transform:rotate(-45deg)}.codex-mobile-menu[data-v-33727d1c]{display:none}@media(max-width:720px){.codex-nav[data-v-33727d1c]{border-radius:999px;gap:.75rem;padding:.55rem .65rem .55rem .9rem;width:calc(100% - 1.5rem)}.codex-nav-links[data-v-33727d1c]{display:none}.codex-nav-tools[data-v-33727d1c]{margin-left:auto}.codex-menu-toggle[data-v-33727d1c]{display:grid}.codex-mobile-menu[data-v-33727d1c]{background:color-mix(in oklch,var(--surface-card) 96%,var(--bg));border:1px solid color-mix(in oklch,var(--line) 65%,transparent);border-radius:8px;box-shadow:var(--shadow-float);display:grid;gap:.12rem;margin:.55rem auto 0;max-width:30rem;padding:.45rem;width:calc(100% - 1.5rem)}.codex-mobile-link[data-v-33727d1c]{align-items:center;border-radius:7px;color:var(--soft);display:flex;font-weight:750;justify-content:flex-start;min-height:2.85rem;padding:0 .85rem;text-decoration:none}.codex-mobile-link[data-v-33727d1c]:hover{background:var(--surface-hover);color:var(--fg)}.codex-mobile-link.router-link-active[data-v-33727d1c]{background:var(--surface-strong);color:var(--fg)}}.codex-mobile-menu-enter-active[data-v-33727d1c],.codex-mobile-menu-leave-active[data-v-33727d1c]{transition:opacity .18s ease,transform .24s var(--ease-out-quart)}.codex-mobile-menu-enter-from[data-v-33727d1c],.codex-mobile-menu-leave-to[data-v-33727d1c]{opacity:0;transform:translateY(-.35rem)}.codex-theme-menu-enter-active[data-v-33727d1c],.codex-theme-menu-leave-active[data-v-33727d1c]{transition:opacity .18s ease,transform .22s var(--ease-out-quart)}.codex-theme-menu-enter-from[data-v-33727d1c],.codex-theme-menu-leave-to[data-v-33727d1c]{opacity:0;transform:translateY(-.25rem)}.codex-error-page[data-v-e8f018cb]{max-width:38rem;padding:5.5rem 0 3rem}.codex-error-kicker[data-v-e8f018cb]{color:var(--soft);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;margin:0 0 1rem;text-transform:uppercase}.codex-error-heading[data-v-e8f018cb]{color:var(--fg);font-family:var(--font-display);font-size:clamp(2rem,6vw,3.25rem);line-height:1.1;margin:0 0 1.25rem}.codex-error-lede[data-v-e8f018cb]{color:var(--soft);font-family:var(--font-mono);font-size:1rem;line-height:1.6;margin:0 0 2.25rem}.codex-error-home[data-v-e8f018cb]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--accent);border:1px solid var(--accent);color:var(--bg);cursor:pointer;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.05em;padding:.65rem 1.1rem;transition:background-color .45s var(--ease-out-expo),color .45s var(--ease-out-expo)}.codex-error-home[data-v-e8f018cb]:hover{background:transparent;color:var(--accent)}
