@font-face{font-family:Apparent Sans;src:local("Geist"),local("Geist Variable"),local("Geist-Regular");font-weight:100 900;font-display:swap}@font-face{font-family:Apparent Mono;src:local("Geist Mono"),local("Geist Mono Variable"),local("GeistMono-Regular");font-weight:100 900;font-display:swap}:root{color-scheme:light;--font-sans:"Apparent Sans","Geist",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"Apparent Mono","Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius:10px;--radius-sm:8px;--radius-chip:999px;--radius-panel:18px;--radius-hero:24px;--focus-ring:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-focus);--color-bg:#eeefec;--color-surface:#fafaf7;--color-surface-muted:#e0e2da;--color-surface-raised:#e2e3de;--color-border:#d9dbd3;--color-text:#121417;--color-text-muted:#5a5f5a;--color-text-subtle:#8a8f89;--color-primary:#2b3fe0;--color-primary-text:#ffffff;--color-ink:#121417;--color-ink-text:#f2f3ee;--color-focus:#2b3fe0;--color-danger:#c9432a;--color-danger-bg:#fbe7e2;--color-success:#0e5a40;--color-success-bg:#dff0e6;--color-warning:#8a5a0c;--color-warning-bg:#f6ead2;--color-info:#3a4bc8;--color-info-bg:#e8eafb;--rail-bg:#121417;--rail-hover:#1e2125;--rail-active:#2b2f34;--rail-line:#2a2e33;--rail-text:#e9ebee;--rail-text-strong:#f2f3ee;--rail-muted:#9aa0a6;--rail-subtle:#6f757b;--rail-accent:#a9b4ff;--rail-focus:#a9b4ff;--rail-collapsed:76px;--rail-expanded:256px;--header-height:68px}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}code,kbd,pre,samp{font-family:var(--font-mono)}a{color:var(--color-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.ui-skip-link{position:absolute;left:var(--space-4);top:-4rem;z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-primary);color:var(--color-primary-text)}.ui-skip-link:focus{top:var(--space-2)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;text-decoration:none;background:var(--color-surface);color:var(--color-text)}.ui-button--md{min-height:38px;padding:0 14px}.ui-button--sm{min-height:30px;padding:0 10px;border-radius:var(--radius-sm);font-size:12px}.ui-button--primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-ink-text)}.ui-button--secondary{border-width:1.5px;background:transparent}.ui-button--ghost{background:transparent;border-color:transparent}.ui-button--danger{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.ui-button:hover:not(:disabled){background-color:var(--color-surface-muted)}.ui-button--primary:hover:not(:disabled){background-color:#2b2f34}.ui-button--ghost:hover:not(:disabled){background-color:var(--color-surface-muted)}.ui-button--danger:hover:not(:disabled){background-color:#f6d5cc}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-card{padding:20px 24px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface)}.ui-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.ui-card__title{margin:0;font-size:15px;font-weight:600;letter-spacing:-.1px}.ui-card__description{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.ui-badge{display:inline-block;padding:1px 7px;border-radius:var(--radius-chip);font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap}.ui-badge--neutral{background:var(--color-surface-muted);color:var(--color-text-muted)}.ui-badge--info{background:var(--color-info-bg);color:var(--color-info)}.ui-badge--success{background:var(--color-success-bg);color:var(--color-success)}.ui-badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.ui-spinner{display:inline-flex;align-items:center}.ui-spinner__dot{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .8s linear infinite}.ui-skeleton{display:block;height:1rem;border-radius:var(--radius);background:var(--color-surface-muted);animation:ui-pulse 1.4s ease-in-out infinite}@keyframes ui-spin{to{transform:rotate(1turn)}}@keyframes ui-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.ui-skeleton,.ui-spinner__dot{animation:none}}.ui-state{padding:var(--space-8) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);text-align:center}.ui-state--error{border-style:solid;border-color:var(--color-danger);background:var(--color-danger-bg)}.ui-state__title{margin:0;font-size:16px;font-weight:600}.ui-state__description{margin:var(--space-2) auto 0;max-width:40rem;color:var(--color-text-muted)}.ui-state__action{margin-top:var(--space-4)}.ui-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6)}.ui-page-header__title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.25}.ui-page-header__description{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.ui-grid,.ui-stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.ui-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.ui-nav__list{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:0;list-style:none}.ui-nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);border-radius:var(--radius);color:var(--color-text);text-decoration:none}.ui-nav a:hover,.ui-nav a[aria-current=page]{background:var(--color-surface-muted)}.ui-nav a[aria-current=page]{font-weight:700;box-shadow:inset 3px 0 0 var(--color-primary)}.centered{display:grid;place-items:center;min-height:100dvh;padding:var(--space-4)}.form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.field__error,.form__error{margin:0;color:var(--color-danger)}.field{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.field label{font-size:13px;font-weight:600}input,select,textarea{min-height:38px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:13px}input::placeholder,textarea::placeholder{color:var(--color-text-subtle)}:root{--paper:#f4f2ed;--card:#fdfcfa;--ink:#1c1b19;--muted:#6e6a62;--faint:#9c978d;--line:#e3dfd6;--sidebar:#ece9e2;--ana:#3f57a6;--err:#b6432e;--seo:#3d7650;--warn:#a9740f;--font-serif:Charter,"Bitstream Charter","Charis SIL","Iowan Old Style",Georgia,serif;--font-ui:"Avenir Next",Avenir,"Nunito Sans Variable","Nunito Sans",var(--font-sans);--font-code:"PT Mono",var(--font-mono);--sidebar-width:264px;--ana-tint:#e8ecf7;--err-tint:#f6e1db;--seo-tint:#e2eee5;--warn-tint:#f4e9d2;--neutral-tint:#ece9e2;--radius-card:12px;--radius-control:8px;--radius-pill:5px;--code-bg:#1c1b19;--code-text:#d9d4c8;--code-muted:#8c877d;--muted:#6a665f;--faint:#736e64;--err:#b2422d;--seo:#3b724d;--warn:#895e0c}:focus-visible{outline:2px solid var(--ana);outline-offset:2px;box-shadow:none}.todo-backend{outline:2px solid red;outline-offset:-2px}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh;background:var(--paper)}.shell-sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;height:100dvh;padding:20px 16px;border-right:1px solid var(--line);background:var(--sidebar);color:var(--ink)}.shell-mobilebar{display:none}.shell-scrim{position:fixed;inset:0;z-index:40;background:rgb(28 27 25/40%)}.shell-monogram{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:6px;color:var(--ink);font:400 15px/1 var(--font-serif)}.shell-page{padding:0 32px 32px}.shell-search{display:flex;align-items:center;gap:9px;height:36px;padding:0 10px;border-radius:var(--radius);font:inherit;font-size:13px;text-align:left;cursor:pointer}.shell-search__label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-search__kbd{font-family:var(--font-mono);font-size:11px}.shell-search--header{flex:none;width:240px;height:38px;gap:8px;padding:0 12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-subtle)}.shell-search--compact{width:220px}.shell-search--header .shell-search__kbd{color:var(--color-text-muted)}.shell-search--header:hover{border-color:#c8cbc2}.shell-menu{position:relative}.shell-menu__panel{position:absolute;z-index:60;min-width:220px;padding:6px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text)}.shell-menu__panel--down{top:calc(100% + 6px);left:0}.shell-menu__panel--up{bottom:calc(100% + 6px);left:0}.shell-menu__panel ul{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.shell-menu__header{display:grid;padding:6px 10px 8px;line-height:1.3}.shell-menu__title{font-size:13px;font-weight:600}.shell-menu__meta{color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;font-weight:400}.shell-menu__item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:6px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.shell-menu__item:focus-visible,.shell-menu__item:hover{background:var(--color-surface-muted)}.shell-menu__item--static,.shell-menu__item--static:hover{background:transparent;cursor:default}.shell-menu__panel:focus{outline:none}.shell-menu__item[aria-current]{font-weight:600}.shell-menu__item>svg{flex:none}.shell-menu__item>svg:last-child:not(:first-child){color:var(--color-primary)}.shell-menu__item-label{flex:1 1;min-width:0;overflow:hidden;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.shell-menu__item-label--stack{display:grid}.shell-menu__item-label--stack>span{overflow:hidden;text-overflow:ellipsis}.shell-column{display:flex;flex-direction:column;min-width:0}.shell-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:var(--header-height);padding:0 32px;border-bottom:1px solid var(--line);background:var(--paper)}.shell-header__spacer{flex:1 1}.shell-header__add{flex:none;gap:8px}.shell-header__add-icon{color:var(--rail-accent)}.shell-crumbs:has(.shell-menu__panel){overflow:visible}.shell-crumb-switcher{display:flex;flex:0 1 auto;min-width:0;max-width:200px}.shell-crumb-switcher__button{display:flex;align-items:center;gap:inherit;min-width:0;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:#121417;font:inherit;font-weight:700;letter-spacing:inherit;cursor:pointer}.shell-crumb-switcher__button>svg{flex:none;color:#8a8f89}.shell-crumbs .shell-crumb-switcher .shell-menu__panel{font-size:13px;font-weight:400;letter-spacing:normal}.shell-crumbs .shell-crumb-switcher .shell-menu__item{display:flex;max-width:none;color:var(--color-text);font-weight:400}.shell-crumbs .shell-crumb-switcher .shell-menu__item[aria-current]{font-weight:600}.shell-crumbs .shell-crumb-switcher .shell-menu__item svg{display:block}.shell-header .shell-crumb-path{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.shell-header__status{display:contents}.shell-header__actions{display:flex;flex:none;gap:12px}.shell-switcher,.shell-switcher__button{display:flex;align-items:center;gap:10px;min-width:0}.shell-switcher__button{min-height:38px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;cursor:pointer}.shell-switcher__title{overflow:hidden;font-size:18px;font-weight:700;letter-spacing:-.4px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.shell-switcher__chevron{flex:none;color:var(--color-text-muted)}.shell-menu__panel--switcher{width:min(320px,calc(100vw - 32px));max-height:min(420px,70dvh);overflow-y:auto}.shell-switcher__all{display:grid;flex:none;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--color-surface-muted);color:var(--color-text-muted)}.shell-range ul{display:flex;gap:2px;margin:0;padding:3px;border-radius:var(--radius);background:#e0e2da;list-style:none}.shell-range__option{display:block;padding:6px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:13px;font-weight:500;line-height:1.3;text-decoration:none}.shell-range__option:hover{color:var(--color-text)}.shell-range__option[aria-current]{background:var(--color-ink);color:var(--color-ink-text);font-weight:600}.shell-main{flex:1 1;min-width:0}.shell-main:focus{outline:none}.shell-search-dialog{width:min(560px,calc(100vw - 32px));max-height:min(480px,80dvh);margin:12dvh auto auto;padding:0;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text)}.shell-search-dialog::-webkit-backdrop{background:rgb(18 20 23/35%)}.shell-search-dialog::backdrop{background:rgb(18 20 23/35%)}.shell-search-dialog__field{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--color-border);color:var(--color-text-subtle)}.shell-search-dialog__field input{flex:1 1;min-height:48px;padding:0;border:0;background:transparent;font-size:14px}.shell-search-dialog__field input:focus-visible{box-shadow:none}.shell-search-dialog__list{max-height:380px;margin:0;padding:6px;overflow-y:auto;list-style:none}.shell-search-dialog__option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer}.shell-search-dialog__option[aria-selected=true]{background:var(--color-surface-muted)}.shell-search-dialog__hint{overflow:hidden;color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.shell-search-dialog__empty{padding:12px 10px;color:var(--color-text-muted);font-size:13px}@media (max-width:74.99rem){.shell-search--header{justify-content:center;width:38px;padding:0}.shell-search--header .shell-search__kbd,.shell-search--header .shell-search__label{display:none}}@media (max-width:56.24rem){.shell{grid-template-columns:minmax(0,1fr)}.shell-sidebar{display:none}.shell-sidebar[data-drawer=true]{position:fixed;inset:0 auto 0 0;z-index:50;display:flex;width:min(var(--sidebar-width),85vw);overscroll-behavior:contain}.shell-mobilebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--sidebar)}.shell-mobilebar__button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}.shell-mobilebar__switcher{flex:1 1;min-width:0}.shell-mobilebar__site{display:flex;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:600 14px/1.3 var(--font-ui);cursor:pointer}.shell-mobilebar__site-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-mobilebar__site>svg{flex:none;color:var(--muted)}.shell-mobilebar__button:focus-visible,.shell-mobilebar__site:focus-visible{outline:2px solid var(--ana);outline-offset:2px}.shell-header{top:52px}}@media (max-width:59.99rem){.shell-header{gap:8px;padding:0 16px}.shell-page{padding:0 16px 24px}.shell-header>nav[aria-label=Breadcrumb]{flex:0 1 auto;min-width:0}.shell-crumbs>a,.shell-crumbs>strong{min-width:0;overflow:hidden;text-overflow:ellipsis}}@media (max-width:47.99rem){.shell-header__status,.shell-range{display:none}.shell-header__actions{gap:8px}.shell-header__actions>:is(a,button){width:38px;padding:0;gap:0;font-size:0}}@media (max-width:700px){.shell-crumb-switcher{max-width:110px}.shell-crumb-switcher__button>svg{display:none}}@media (max-width:600px){.shell-crumbs>.shell-crumb-switcher,.shell-crumbs>.shell-crumb-switcher+span{display:none}}@media (max-width:39.99rem){.shell-header__add{width:38px;padding:0}.shell-header__add-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}}.page-actions,.page-actions>.page-actions__panel{display:contents}.page-actions>.page-actions__button{display:none}@media (max-width:56.24rem){.page-actions{position:relative;display:block;flex:none;margin-left:auto}.page-actions>.page-actions__button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}.page-actions>.page-actions__button[aria-expanded=true]{background:var(--paper)}.page-actions>.page-actions__button:focus-visible{outline:2px solid var(--ana);outline-offset:2px}.page-actions>.page-actions__panel{display:none}.page-actions[data-open]>.page-actions__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:60;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px;width:max-content;min-width:220px;max-width:calc(100vw - 32px);margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.page-actions[data-open]>.page-actions__panel:focus{outline:none}.page-actions[data-open]>.page-actions__panel>*{max-width:100%}.page-actions[data-open]>.page-actions__panel>:is(a,button){justify-content:center}.page-actions[data-open]>.page-actions__panel>:is(a,button)>span{display:inline}.page-actions[data-open]>.page-actions__panel nav>:is(a,button){display:revert}.page-actions[data-open] :is(.shell-range,.shell-header__status){display:block}.page-actions[data-open] .shell-search--header{justify-content:flex-start;width:auto;padding:0 12px}.page-actions[data-open] .shell-search--header .shell-search__label{display:inline}.page-actions[data-open] .shell-header__actions{flex-direction:column}.page-actions[data-open] .shell-header__actions>:is(a,button),.page-actions[data-open] .shell-header__add{width:auto;padding:0 12px;gap:6px;font-size:13px}.page-actions[data-open] .shell-header__add-label{position:static;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.shell-main :has(>.page-actions){flex-wrap:nowrap}.shell-main :has(>.page-actions)>nav[aria-label=Breadcrumb]{flex:1 1 auto;flex-wrap:wrap;row-gap:4px;min-width:0}}@media (prefers-reduced-motion:no-preference){.shell-menu__item,.shell-range__option{transition:background-color .12s ease,color .12s ease}}@media (forced-colors:active){.shell-range__option[aria-current]{outline:2px solid CanvasText}}.inline-list{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:0;list-style:none}.details{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-2) var(--space-6);gap:var(--space-2) var(--space-6);margin:0}.details dt{color:var(--color-text-muted)}.details dd{margin:0}.details__row{display:contents}.skeleton--title{width:40%}.form-card{max-width:36rem}.field__hint{margin:0;color:var(--color-text-muted);font-size:.875rem}.form__success{margin:0;color:var(--color-success)}.form__pending{margin:0;color:var(--color-warning)}.action-form{display:grid;grid-gap:var(--space-2);gap:var(--space-2);justify-items:start}.module-status__line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0}.module-gate--alert{border-color:var(--color-danger)}.module-setup{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.setup-heading{margin:0;font-size:1rem}.code-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.code-block{flex:1 1 20rem;min-width:0;margin:0;padding:var(--space-2) var(--space-3);overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);font-size:.875rem;white-space:pre-wrap;word-break:break-all}.copy-status{align-self:center;color:var(--color-text-muted);font-size:.875rem}.ui-card{min-width:0}.ui-card code,.ui-card dd{overflow-wrap:anywhere}