@import "https://fonts.googleapis.com/css2?family=Geist:wght@200;300;400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-display:86px;--t-h1:54px;--t-h2:38px;--t-h3:27px;--t-h4:20px;--t-body-lg:18px;--t-body:16px;--t-sm:14px;--t-mono:13px;--t-micro:11px;--w-light:300;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--lh-tight:.98;--lh-snug:1.15;--lh-normal:1.5;--lh-relaxed:1.6;--ls-display:-.035em;--ls-tight:-.01em;--ls-normal:0;--ls-mono:.14em;--ls-mono-wide:.16em;--h:152;--bg:oklch(.975 .006 var(--h));--bg-soft:oklch(.95 .008 var(--h));--bg-dim:oklch(.78 .015 var(--h));--fg:oklch(.16 .01 var(--h));--fg-dim:oklch(.45 .01 var(--h));--ink:oklch(.19 .03 var(--h));--ink-soft:oklch(.22 .035 var(--h));--rule:oklch(.88 .008 var(--h));--rule-strong:oklch(.6 .01 var(--h));--accent:oklch(.62 .17 var(--h));--accent-soft:oklch(.9 .04 var(--h));--accent-deep:oklch(.42 .16 var(--h));--accent-fg:oklch(.13 .02 var(--h));--danger:oklch(55% .2 25);--danger-soft:oklch(93% .05 25);--danger-fg:oklch(99% .01 25);--select-bg:var(--accent);--select-fg:var(--accent-fg);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--bw:1px;--bw-2:2px;--r-0:0;--r-sm:2px;--r-pill:999px;--bracket-len:22px;--bracket-w:1px;--control-h-sm:36px;--control-h:44px;--control-h-lg:56px;--maxw:1440px;--maxw-prose:680px;--shadow-pop:0 30px 80px -20px #00000080;--shadow-card:0 1px 0 0 var(--rule);--dur-fast:.12s;--dur:.16s;--dur-slow:.22s;--ease:cubic-bezier(.2, .8, .2, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--press:translateY(1px)}[data-theme=dark]{--bg:oklch(.16 .02 var(--h));--bg-soft:oklch(.2 .02 var(--h));--bg-dim:oklch(.3 .015 var(--h));--fg:oklch(.96 .005 var(--h));--fg-dim:oklch(.7 .01 var(--h));--ink:oklch(.1 .02 var(--h));--ink-soft:oklch(.13 .025 var(--h));--rule:oklch(.32 .01 var(--h));--rule-strong:oklch(.55 .01 var(--h));--accent:oklch(.72 .19 var(--h));--accent-soft:oklch(.3 .06 var(--h));--accent-deep:oklch(.8 .17 var(--h));--accent-fg:oklch(.16 .03 var(--h));--danger:oklch(66% .2 25);--danger-soft:oklch(28% .07 25);--danger-fg:oklch(16% .03 25)}[data-accent=emerald]{--h:152}[data-accent=lime]{--h:138}[data-accent=forest]{--h:165}[data-accent=cyan]{--h:192}@keyframes fcf-pulse-dot{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 50%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 0%, transparent)}}@keyframes fcf-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes fcf-fade{0%{opacity:0}to{opacity:1}}@keyframes fcf-pop{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fcf-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--t-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}::selection{background:var(--select-bg);color:var(--select-fg)}:focus{outline:none}:focus-visible{outline:var(--bw-2) solid var(--accent-deep);outline-offset:3px;border-radius:var(--r-sm)}.fcf-dot{background:var(--accent);flex:none;width:10px;height:10px;display:inline-block}.fcf-dot--sm{width:8px;height:8px}.fcf-dot--round{border-radius:var(--r-pill)}.fcf-rule{background-image:linear-gradient(to right, color-mix(in oklab, var(--fg) 28%, transparent) 50%, transparent 0);background-repeat:repeat-x;background-size:8px 1px;border:0;height:1px;margin:0}.fcf-rule--solid{background:var(--rule)}.fcf-eyebrow{align-items:center;gap:var(--space-3);border:var(--bw) solid var(--rule);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg);padding:6px 12px 6px 10px;display:inline-flex}.fcf-eyebrow:before{content:"";background:var(--accent);flex:none;width:10px;height:10px}.fcf-eyebrow--plain{border:0;padding:0}.fcf-mono{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim)}.fcf-frame{position:relative}.fcf-frame:before{content:"";pointer-events:none;--c:var(--rule-strong);--len:var(--bracket-len);--b:var(--bracket-w);background:linear-gradient(var(--c), var(--c)) 0 0 / var(--len) var(--b) no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / var(--b) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / var(--len) var(--b) no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / var(--b) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / var(--len) var(--b) no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / var(--b) var(--len) no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / var(--len) var(--b) no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / var(--b) var(--len) no-repeat;position:absolute;inset:0}.fcf-frame--accent:before{--c:var(--accent)}.fcf-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}.fcf-btn{--_bg:var(--accent);--_fg:var(--accent-fg);--_bd:var(--accent);appearance:none;justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--control-h);font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w-medium);white-space:nowrap;cursor:pointer;border:var(--bw) solid var(--_bd);border-radius:var(--r-0);background:var(--_bg);color:var(--_fg);transition:transform var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), filter var(--dur) var(--ease);padding:14px 22px;line-height:1;text-decoration:none;display:inline-flex}.fcf-btn:hover{filter:brightness(.96)}.fcf-btn:active{transform:var(--press)}.fcf-btn:disabled,.fcf-btn[aria-disabled=true]{cursor:not-allowed;opacity:.45;filter:none;transform:none}.fcf-btn svg{flex:none;display:block}.fcf-btn--accent{--_bg:var(--accent);--_fg:var(--accent-fg);--_bd:var(--accent)}.fcf-btn--dark{--_bg:var(--ink);--_fg:var(--bg);--_bd:var(--ink)}.fcf-btn--dark:hover{background:var(--ink-soft);filter:none}.fcf-btn--ghost{--_bg:transparent;--_fg:var(--fg);--_bd:var(--rule-strong)}.fcf-btn--ghost:hover{border-color:var(--fg);background:var(--bg-soft);filter:none}.fcf-btn--light{--_bg:var(--bg);--_fg:var(--fg);--_bd:var(--bg)}.fcf-btn--danger{--_bg:var(--danger);--_fg:var(--danger-fg);--_bd:var(--danger)}.fcf-btn--sm{min-height:var(--control-h-sm);font-size:var(--t-sm);gap:var(--space-2);padding:9px 14px}.fcf-btn--lg{min-height:var(--control-h-lg);font-size:var(--t-body-lg);padding:18px 26px}.fcf-btn--block{justify-content:space-between;width:100%;display:flex}.fcf-btn--icon{width:var(--control-h);height:var(--control-h);gap:0;padding:0}.fcf-btn--icon.fcf-btn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.fcf-btn--icon.fcf-btn--lg{width:var(--control-h-lg);height:var(--control-h-lg)}.fcf-link{color:var(--fg);font-weight:var(--w-medium);border-bottom:var(--bw) solid var(--accent);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);padding-bottom:1px;text-decoration:none}.fcf-link:hover{color:var(--accent-deep);border-color:var(--accent-deep)}.fcf-link-arrow{align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);transition:color var(--dur) var(--ease), gap var(--dur) var(--ease);text-decoration:none;display:inline-flex}.fcf-link-arrow:hover{color:var(--fg);gap:var(--space-3)}.fcf-btn-group{display:inline-flex}.fcf-btn-group .fcf-btn+.fcf-btn{margin-left:-1px}.fcf-field{gap:var(--space-2);flex-direction:column;display:flex}.fcf-label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim)}.fcf-label .req{color:var(--accent-deep);margin-left:4px}.fcf-hint{font-size:var(--t-sm);color:var(--fg-dim)}.fcf-hint--error{color:var(--danger)}.fcf-input,.fcf-textarea,.fcf-select{appearance:none;width:100%;font-family:var(--sans);font-size:var(--t-body);color:var(--fg);background:var(--bg);border:var(--bw) solid var(--rule-strong);border-radius:var(--r-0);min-height:var(--control-h);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);padding:0 14px}.fcf-textarea{resize:vertical;min-height:110px;line-height:var(--lh-normal);padding:12px 14px}.fcf-input::placeholder,.fcf-textarea::placeholder{color:var(--fg-dim)}.fcf-input:hover,.fcf-textarea:hover,.fcf-select:hover{border-color:var(--fg)}.fcf-input:focus,.fcf-textarea:focus,.fcf-select:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.fcf-input:disabled,.fcf-textarea:disabled,.fcf-select:disabled{background:var(--bg-soft);color:var(--fg-dim);cursor:not-allowed}.fcf-input[aria-invalid=true],.fcf-textarea[aria-invalid=true]{border-color:var(--danger)}.fcf-select-wrap{display:block;position:relative}.fcf-select{cursor:pointer;padding-right:40px}.fcf-select-wrap:after{content:"";border-right:2px solid var(--fg-dim);border-bottom:2px solid var(--fg-dim);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:16px;transform:translateY(-70%)rotate(45deg)}.fcf-input-group{display:flex}.fcf-input-group .fcf-input{border-radius:0}.fcf-input-addon{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);background:var(--bg-soft);border:var(--bw) solid var(--rule-strong);align-items:center;padding:0 14px;display:inline-flex}.fcf-input-group .fcf-input-addon:first-child{border-right:0}.fcf-input-group .fcf-input-addon:last-child,.fcf-input-group .fcf-input:not(:first-child){border-left:0}.fcf-check{align-items:flex-start;gap:var(--space-3);cursor:pointer;font-size:var(--t-body);color:var(--fg);-webkit-user-select:none;user-select:none;display:inline-flex}.fcf-check input{opacity:0;width:0;height:0;position:absolute}.fcf-check .box{background:var(--bg);border:var(--bw) solid var(--rule-strong);width:20px;height:20px;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);flex:none;margin-top:1px;position:relative}.fcf-check .box:after{content:"";border-right:2px solid var(--accent-fg);border-bottom:2px solid var(--accent-fg);width:5px;height:10px;transition:transform var(--dur) var(--ease);position:absolute;top:2px;left:6px;transform:rotate(45deg)scale(0)}.fcf-check input:checked+.box{background:var(--accent);border-color:var(--accent)}.fcf-check input:checked+.box:after{transform:rotate(45deg)scale(1)}.fcf-check input:focus-visible+.box{outline:var(--bw-2) solid var(--accent-deep);outline-offset:3px}.fcf-check input:disabled~*{opacity:.45}.fcf-radio{align-items:flex-start;gap:var(--space-3);cursor:pointer;font-size:var(--t-body);color:var(--fg);-webkit-user-select:none;user-select:none;display:inline-flex}.fcf-radio input{opacity:0;width:0;height:0;position:absolute}.fcf-radio .dot{border-radius:var(--r-pill);background:var(--bg);border:var(--bw) solid var(--rule-strong);width:20px;height:20px;transition:border-color var(--dur) var(--ease);flex:none;margin-top:1px;position:relative}.fcf-radio .dot:after{content:"";border-radius:var(--r-pill);background:var(--accent);transition:transform var(--dur) var(--ease);position:absolute;inset:4px;transform:scale(0)}.fcf-radio input:checked+.dot{border-color:var(--accent)}.fcf-radio input:checked+.dot:after{transform:scale(1)}.fcf-radio input:focus-visible+.dot{outline:var(--bw-2) solid var(--accent-deep);outline-offset:3px}.fcf-switch{align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.fcf-switch input{opacity:0;width:0;height:0;position:absolute}.fcf-switch .track{background:var(--bg-dim);border:var(--bw) solid var(--rule-strong);width:46px;height:26px;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);position:relative}.fcf-switch .track:after{content:"";background:var(--bg);width:18px;height:18px;transition:transform var(--dur) var(--ease);position:absolute;top:2px;left:2px}.fcf-switch input:checked+.track{background:var(--accent);border-color:var(--accent)}.fcf-switch input:checked+.track:after{transform:translate(20px)}.fcf-switch input:focus-visible+.track{outline:var(--bw-2) solid var(--accent-deep);outline-offset:3px}.fcf-switch input:disabled+.track{opacity:.45;cursor:not-allowed}.fcf-slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:26px}.fcf-slider::-webkit-slider-runnable-track{background:var(--rule-strong);height:2px}.fcf-slider::-moz-range-track{background:var(--rule-strong);height:2px}.fcf-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);border:var(--bw) solid var(--accent-deep);width:16px;height:16px;margin-top:-7px}.fcf-slider::-moz-range-thumb{background:var(--accent);border:var(--bw) solid var(--accent-deep);border-radius:0;width:16px;height:16px}.fcf-slider:focus-visible{outline:none}.fcf-slider:focus-visible::-webkit-slider-thumb{outline:var(--bw-2) solid var(--accent-deep);outline-offset:3px}.fcf-badge{align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg);border:var(--bw) solid var(--rule);background:var(--bg);padding:4px 9px;line-height:1.4;display:inline-flex}.fcf-badge--accent{color:var(--accent-deep);border-color:color-mix(in oklab, var(--accent) 55%, transparent);background:var(--accent-soft)}.fcf-badge--solid{color:var(--accent-fg);background:var(--accent);border-color:var(--accent)}.fcf-badge--dark{color:var(--bg);background:var(--ink);border-color:var(--ink)}.fcf-badge--danger{color:var(--danger);border-color:color-mix(in oklab, var(--danger) 55%, transparent);background:var(--danger-soft)}.fcf-badge--dot:before{content:"";background:currentColor;flex:none;width:7px;height:7px}.fcf-tag{align-items:center;gap:var(--space-2);font-family:var(--sans);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--fg);background:var(--bg-soft);border:var(--bw) solid var(--rule);padding:6px 10px;display:inline-flex}.fcf-tag button{appearance:none;width:16px;height:16px;color:var(--fg-dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.fcf-tag button:hover{color:var(--fg)}.fcf-status{align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);border:var(--bw) solid var(--rule);border-radius:var(--r-pill);white-space:nowrap;padding:4px 12px 4px 10px;display:inline-flex}.fcf-status:before{content:"";background:var(--accent);border-radius:var(--r-pill);width:6px;height:6px;box-shadow:0 0 0 0 color-mix(in oklab, var(--accent) 60%, transparent);flex:none;animation:2.4s ease-in-out infinite fcf-pulse-dot}.fcf-status--idle:before{background:var(--fg-dim);animation:none}.fcf-status--danger:before{background:var(--danger)}.fcf-kv{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;border:var(--bw) solid var(--rule);align-items:stretch;display:inline-flex}.fcf-kv .k{color:var(--fg-dim);background:var(--bg-soft);padding:4px 9px}.fcf-kv .v{color:var(--fg);border-left:var(--bw) solid var(--rule);padding:4px 9px}.fcf-card{background:var(--bg);border:var(--bw) solid var(--rule);padding:var(--space-6)}.fcf-card--soft{background:var(--bg-soft)}.fcf-card--pad-lg{padding:var(--space-8)}.fcf-card--pad-sm{padding:var(--space-4)}.fcf-card--link{color:inherit;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);text-decoration:none;display:block}.fcf-card--link:hover{border-color:var(--rule-strong);background:var(--bg-soft)}.fcf-card-chrome{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.fcf-card-chrome .label{align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg);white-space:nowrap;display:inline-flex}.fcf-card-chrome .label:before{content:"";background:var(--accent);flex:none;width:10px;height:10px}.fcf-card-chrome .fill{background-image:repeating-linear-gradient(to right, var(--rule-strong) 0 3px, transparent 3px 8px);flex:auto;height:1px}.fcf-card-chrome .meta{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);white-space:nowrap}.fcf-card-title{font-family:var(--sans);font-weight:var(--w-semibold);font-size:var(--t-h3);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0 0 var(--space-3)}.fcf-card-body{font-size:var(--t-body);line-height:var(--lh-normal);color:var(--fg-dim);text-wrap:pretty;margin:0}.fcf-card.fcf-frame{padding:var(--space-8)}.fcf-panel{background:var(--bg);border:var(--bw) solid var(--rule)}.fcf-panel>*+*{border-top:var(--bw) solid var(--rule)}.fcf-panel-row{padding:var(--space-5) var(--space-6)}.fcf-grid{border-top:var(--bw) solid var(--rule);border-left:var(--bw) solid var(--rule);background:var(--bg);gap:0;display:grid}.fcf-grid>*{border-right:var(--bw) solid var(--rule);border-bottom:var(--bw) solid var(--rule)}.fcf-grid--2{grid-template-columns:repeat(2,1fr)}.fcf-grid--3{grid-template-columns:repeat(3,1fr)}.fcf-grid--4{grid-template-columns:repeat(4,1fr)}.fcf-stat{padding:var(--space-5) var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.fcf-stat .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim)}.fcf-stat .v{font-family:var(--sans);font-weight:var(--w-semibold);font-size:var(--t-h2);letter-spacing:var(--ls-tight);color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}.fcf-stat .d{font-family:var(--mono);font-size:var(--t-mono);color:var(--accent-deep)}.fcf-stat .d--down{color:var(--danger)}.fcf-navlinks{align-items:center;gap:var(--space-1);display:flex}.fcf-navlink{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono-wide);text-transform:uppercase;color:var(--fg-dim);transition:color var(--dur) var(--ease);padding:12px 16px;text-decoration:none;position:relative}.fcf-navlink:hover{color:var(--fg)}.fcf-navlink:after{content:"";background:var(--accent);border-radius:var(--r-pill);opacity:0;width:4px;height:4px;transition:opacity var(--dur) var(--ease), width var(--dur-slow) var(--ease), border-radius var(--dur-slow) var(--ease);position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.fcf-navlink:hover:after{opacity:.55}.fcf-navlink--active{color:var(--fg)}.fcf-navlink--active:after{opacity:1;border-radius:var(--r-sm);width:14px}.fcf-tabs{gap:var(--space-1);border-bottom:var(--bw) solid var(--rule);display:flex}.fcf-tab{appearance:none;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;margin-bottom:-1px;padding:12px 16px;position:relative}.fcf-tab:hover{color:var(--fg)}.fcf-tab[aria-selected=true]{color:var(--fg);border-bottom:var(--bw-2) solid var(--accent)}.fcf-segment{border:var(--bw) solid var(--rule-strong);display:inline-flex}.fcf-segment button{appearance:none;border:0;border-left:var(--bw) solid var(--rule-strong);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;padding:9px 16px}.fcf-segment button:first-child{border-left:0}.fcf-segment button:hover{color:var(--fg)}.fcf-segment button[aria-pressed=true]{background:var(--accent);color:var(--accent-fg)}.fcf-breadcrumb{align-items:center;gap:var(--space-2);font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);display:flex}.fcf-breadcrumb a{color:var(--fg-dim);transition:color var(--dur) var(--ease);text-decoration:none}.fcf-breadcrumb a:hover{color:var(--fg)}.fcf-breadcrumb .sep{color:var(--rule-strong)}.fcf-breadcrumb [aria-current=page]{color:var(--fg)}.fcf-pagination{border:var(--bw) solid var(--rule);display:inline-flex}.fcf-pagination button{appearance:none;min-width:var(--control-h-sm);height:var(--control-h-sm);background:var(--bg);border:0;border-left:var(--bw) solid var(--rule);font-family:var(--mono);font-size:var(--t-mono);color:var(--fg-dim);cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);padding:0 8px}.fcf-pagination button:first-child{border-left:0}.fcf-pagination button:hover{color:var(--fg);background:var(--bg-soft)}.fcf-pagination button[aria-current=true]{background:var(--accent);color:var(--accent-fg)}.fcf-scrim{z-index:100;padding:var(--space-6);background:color-mix(in oklab, var(--ink) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fcf-fade var(--dur-slow) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fcf-dialog{background:var(--bg);width:100%;max-width:520px;color:var(--fg);border:var(--bw) solid var(--rule-strong);padding:var(--space-8) var(--space-8) var(--space-8);box-shadow:var(--shadow-pop);animation:fcf-pop var(--dur-slow) var(--ease);position:relative}.fcf-dialog-eyebrow{align-items:center;gap:var(--space-3);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono-wide);text-transform:uppercase;color:var(--fg-dim);margin-bottom:var(--space-5);display:inline-flex}.fcf-dialog-eyebrow:before{content:"";background:var(--accent);flex:none;width:8px;height:8px}.fcf-dialog h2{font-family:var(--sans);font-weight:var(--w-semibold);font-size:var(--t-h2);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0 0 var(--space-3)}.fcf-dialog p{font-size:var(--t-body);line-height:var(--lh-normal);color:var(--fg-dim);margin:0 0 var(--space-6);text-wrap:pretty}.fcf-dialog-actions{gap:var(--space-2);flex-direction:column;display:flex}.fcf-dialog-close{width:var(--control-h-sm);height:var(--control-h-sm);border:var(--bw) solid var(--rule);color:var(--fg);cursor:pointer;transition:border-color var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.fcf-dialog-close:hover{border-color:var(--rule-strong)}.fcf-tooltip-host{display:inline-flex;position:relative}.fcf-tooltip{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;white-space:nowrap;color:var(--bg);background:var(--ink);border:var(--bw) solid var(--ink-soft);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);z-index:90;padding:6px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.fcf-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.fcf-tooltip-host:hover .fcf-tooltip,.fcf-tooltip-host:focus-within .fcf-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.fcf-toast-stack{bottom:var(--space-6);right:var(--space-6);z-index:110;gap:var(--space-2);flex-direction:column;max-width:min(380px,100vw - 48px);display:flex;position:fixed}.fcf-toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--ink);color:var(--bg);border:var(--bw) solid var(--ink-soft);box-shadow:var(--shadow-pop);animation:fcf-toast-in var(--dur-slow) var(--ease);display:flex}.fcf-toast .bar{background:var(--accent);flex:none;align-self:stretch;width:3px}.fcf-toast .body{flex-direction:column;gap:2px;display:flex}.fcf-toast .title{font-weight:var(--w-medium);font-size:var(--t-sm)}.fcf-toast .desc{font-size:var(--t-sm);color:color-mix(in oklab, var(--bg) 70%, var(--ink))}.fcf-toast--danger .bar{background:var(--danger)}.fcf-table{border-collapse:collapse;border:var(--bw) solid var(--rule);width:100%;font-size:var(--t-sm)}.fcf-table thead th{text-align:left;font-family:var(--mono);font-size:var(--t-micro);font-weight:var(--w-medium);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim);background:var(--bg-soft);border-bottom:var(--bw) solid var(--rule);white-space:nowrap;padding:12px 16px}.fcf-table tbody td{color:var(--fg);border-bottom:var(--bw) solid var(--rule);vertical-align:middle;padding:13px 16px}.fcf-table tbody tr:last-child td{border-bottom:0}.fcf-table tbody tr{transition:background-color var(--dur) var(--ease)}.fcf-table tbody tr:hover{background:var(--bg-soft)}.fcf-table .num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.fcf-table .mono{font-family:var(--mono);font-size:var(--t-mono);color:var(--fg-dim)}.fcf-table--zebra tbody tr:nth-child(2n){background:color-mix(in oklab, var(--bg-soft) 50%, transparent)}.fcf-meta{grid-template-columns:repeat(var(--cols,3), 1fr);border-top:var(--bw) solid var(--rule);border-left:var(--bw) solid var(--rule);background:var(--bg);display:grid}.fcf-meta-cell{padding:var(--space-4) var(--space-5);border-right:var(--bw) solid var(--rule);border-bottom:var(--bw) solid var(--rule);gap:var(--space-2);flex-direction:column;display:flex}.fcf-meta-cell .k{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim)}.fcf-meta-cell .v{font-family:var(--mono);font-size:var(--t-mono);color:var(--fg)}.fcf-specs{border-top:var(--bw) solid var(--rule)}.fcf-spec-row{justify-content:space-between;gap:var(--space-4);border-bottom:var(--bw) solid var(--rule);padding:14px 0;display:flex}.fcf-spec-row .k{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--fg-dim)}.fcf-spec-row .v{font-size:var(--t-body);color:var(--fg);text-align:right}.fcf-meter{background:var(--bg-dim);border:var(--bw) solid var(--rule-strong);height:8px;overflow:hidden}.fcf-meter>span{background:var(--accent);height:100%;transition:width var(--dur-slow) var(--ease);display:block}.fcf-code{font-family:var(--mono);font-size:var(--t-mono);color:var(--fg);background:var(--bg-soft);border:var(--bw) solid var(--rule);padding:var(--space-4) var(--space-5);white-space:pre;tab-size:2;line-height:1.6;overflow-x:auto}.fcf-code .tok-comment{color:var(--fg-dim)}.fcf-code .tok-prop{color:var(--accent-deep)}.fcf-notice{padding:var(--space-5);border:var(--bw) solid var(--rule);background:var(--bg-soft);color:var(--fg-dim);text-align:left;margin:0}.fcf-notice--danger{border-color:color-mix(in oklab, var(--danger) 55%, transparent);background:var(--danger-soft);color:var(--danger)}#root{width:min(100%, var(--maxw));border-inline:var(--bw) solid var(--rule);flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}p{margin:0}code{border:var(--bw) solid var(--rule);background:var(--bg-soft);color:var(--fg);font-family:var(--mono);padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.top-navbar{border-bottom:var(--bw) solid var(--rule);background:var(--bg);width:100%}.top-navbar__desktop,.top-navbar__mobile{justify-content:space-between;align-items:center;gap:var(--space-4);width:min(100%,1126px);margin-inline:auto;display:flex}.top-navbar__desktop{min-height:72px;padding:var(--space-4) var(--space-8)}.top-navbar__mobile{min-height:64px;padding:var(--space-3) var(--space-4)}.top-navbar__brand{flex:none;align-items:center;display:inline-flex}.top-navbar__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.top-navbar__mobile-menu{flex:none;display:inline-flex;position:relative}.top-navbar__menu-button{width:var(--control-h-sm);height:var(--control-h-sm);border:var(--bw) solid var(--rule-strong);color:var(--fg);cursor:pointer;background:0 0;place-items:center;display:inline-grid}.top-navbar__menu-button:hover{background:var(--bg-soft)}.top-navbar__menu-button svg{fill:currentColor;width:16px;height:16px}.top-navbar__mobile-menu-panel{z-index:20;top:calc(100% + var(--space-2));width:min(360px, calc(100vw - var(--space-8)));padding:var(--space-2);border:var(--bw) solid var(--rule);background:var(--bg);box-shadow:var(--shadow-pop);position:absolute;left:0}.top-navbar__mobile-actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.top-navbar__mobile-actions .connect-panel{grid-column:auto;justify-content:flex-start}.top-navbar__mobile-actions .connect-menu__list{left:0;right:auto}.top-navbar__logo{width:40px;height:40px;display:block}.top-navbar--mobile .top-navbar__logo{width:32px;height:32px}.theme-switch{width:var(--control-h-sm);height:var(--control-h-sm);border:var(--bw) solid var(--rule-strong);color:var(--fg-dim);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-switch:hover{color:var(--fg);background:var(--bg-soft)}.theme-switch__icon{width:22px;height:22px;color:var(--fg);place-items:center;display:inline-grid}.theme-switch svg{fill:currentColor;width:15px;height:15px}.registry{width:min(100%,1126px);min-height:calc(100svh - 73px);padding:var(--space-16) var(--space-8);flex-direction:column;margin-inline:auto;display:flex}.gate-view{width:min(100%,1126px);min-height:calc(100svh - 73px);padding:var(--space-10) var(--space-8) var(--space-16);place-items:center;margin-inline:auto;display:grid}.gate-card{justify-items:center;gap:var(--space-6);text-align:center;width:min(100%,760px);display:grid}.gate-point-cloud{aspect-ratio:1;width:min(100%,520px);display:block}.gate-access-menu{justify-items:center;display:inline-grid;position:relative}.gate-access-button{min-height:var(--control-h);border:0;border-bottom:var(--bw) solid var(--accent);color:var(--fg);font-family:var(--sans);font-size:var(--t-body);font-weight:var(--w-medium);letter-spacing:var(--ls-normal);cursor:pointer;background:0 0;margin:0;padding:0 0 3px;line-height:1}.gate-access-button:hover{color:var(--accent-deep)}.gate-access-button:disabled{cursor:not-allowed;opacity:.55}.gate-access-menu__list{top:calc(100% + var(--space-4));left:50%;right:auto;transform:translate(-50%)}.registry-header{margin-bottom:var(--space-5);text-align:left}.registry-header h1{margin:0 0 var(--space-2);max-width:760px;color:var(--fg);font-size:clamp(28px, 4vw, var(--t-h3));font-weight:var(--w-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-tight)}.registry-lede{max-width:var(--maxw-prose);color:var(--fg-dim);font-size:var(--t-body);text-wrap:pretty}.connect-panel{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.connect-panel--account{gap:var(--space-3)}.connect-address{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-mono);text-transform:uppercase}.connect-menu{position:relative}.connect-menu__list{z-index:10;top:calc(100% + var(--space-2));gap:var(--space-1);min-width:220px;padding:var(--space-2);border:var(--bw) solid var(--rule);background:var(--bg);box-shadow:var(--shadow-pop);display:grid;position:absolute;right:0}.registry-header>.fcf-status{justify-self:end}.registry-controls{gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-5);border:var(--bw) solid var(--rule);background:var(--bg-soft);grid-template-columns:minmax(240px,1fr) 220px;display:grid}.repositories{flex-direction:column;flex:1;min-height:0;display:flex}.data-table-scroll{overflow-x:auto}.repositories-table{border:0}.repositories-table thead th{background:0 0;padding:10px 12px}.repositories-table tbody td{padding:11px 12px}.repositories-table .repo-table-row{cursor:pointer}.repositories-table .repo-table-row:focus-visible{outline:var(--bw-2) solid var(--accent-deep);outline-offset:-2px}.repositories-table thead th:first-child,.repositories-table tbody td:first-child{padding-left:0}.repositories-table thead th:last-child,.repositories-table tbody td:last-child{padding-right:0}.repo-github-link,.repo-stars,.repo-address,.repo-owner-link{align-items:center;display:inline-flex}.repo-github-link{gap:var(--space-2);font-weight:var(--w-medium);white-space:nowrap}.repo-github-icon{flex:none;width:.9em;height:.9em}[data-theme=dark] .repo-github-icon{filter:invert()}.repo-stars{justify-content:flex-end;gap:6px}.repo-star-icon{fill:currentColor;width:12px;height:12px;color:var(--fg-dim)}.repo-address,.repo-date{white-space:nowrap}.repo-drawer-scrim{z-index:40;background:color-mix(in oklab, var(--ink) 32%, transparent);position:fixed;inset:0}.repo-drawer{z-index:41;border-left:var(--bw) solid var(--rule);background:var(--bg);width:min(100%,480px);box-shadow:var(--shadow-pop);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0 0 0 auto}.repo-drawer__top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-bottom:var(--bw) solid var(--rule);display:flex}.repo-drawer__title{min-width:0;color:var(--fg);font-size:var(--t-h4);font-weight:var(--w-regular);line-height:var(--lh-snug);overflow-wrap:anywhere;margin:0}.repo-drawer__title strong{font-weight:var(--w-semibold)}.repo-drawer__close{border:var(--bw) solid var(--rule-strong);width:32px;height:32px;color:var(--fg);cursor:pointer;font:inherit;background:0 0;flex:none;place-items:center;line-height:1;display:inline-grid}.repo-drawer__middle{padding:var(--space-6);overflow-y:auto}.repo-drawer__section+.repo-drawer__section{margin-top:var(--space-8)}.repo-drawer__section h3{margin:0 0 var(--space-3);color:var(--fg-dim);font-family:var(--mono);font-size:var(--t-micro);font-weight:var(--w-medium);letter-spacing:var(--ls-mono);text-transform:uppercase}.repo-details-list{border-top:var(--bw) solid var(--rule);margin:0}.repo-details-list>div{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--bw) solid var(--rule);grid-template-columns:132px minmax(0,1fr);display:grid}.repo-details-list dt{color:var(--fg-dim);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-mono);text-transform:uppercase}.repo-details-list dd{min-width:0;color:var(--fg);overflow-wrap:anywhere;margin:0}.repo-detail-muted{margin-left:var(--space-2);color:var(--fg-dim);display:inline-flex}.repo-copy-value{align-items:center;gap:var(--space-2);display:flex}.repo-copy-value>span{overflow-wrap:anywhere;min-width:0}.repo-copy-button{width:28px;height:28px;color:var(--fg-dim);cursor:pointer;transition:color var(--dur) var(--ease), transform var(--dur) var(--ease);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.repo-copy-button:hover{color:var(--fg)}.repo-copy-button:active{transform:var(--press)}.repo-copy-button svg{fill:currentColor;width:16px;height:16px}.repo-drawer__bottom{gap:var(--space-3);padding:var(--space-4);border-top:var(--bw) solid var(--rule);background:var(--bg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;bottom:0}.repo-drawer__bottom .fcf-btn{width:100%}.repo-drawer__view-repo{--_bg:#000;--_fg:#fff;--_bd:#000;color:#fff}.repo-drawer__view-repo:hover{background:#111}.repo-drawer__github-icon{filter:invert();flex:none;width:14px;height:14px}.pagination{justify-content:center;align-items:center;gap:var(--space-3);padding-top:var(--space-8);flex-wrap:wrap;margin-top:auto;display:flex}.pagination-error{padding:var(--space-3) var(--space-4)}.repo-pagination{gap:var(--space-3);border:0}.repo-pagination button{min-width:28px;height:28px;color:var(--fg-dim);background:0 0;border:0;padding:0}.repo-pagination button:first-child{border-left:0}.repo-pagination button:hover{color:var(--fg);background:0 0}.repo-pagination button[aria-current=true]{color:var(--fg);font-weight:var(--w-semibold);background:0 0}.repo-pagination button:disabled{cursor:not-allowed;opacity:.45}.repo-pagination svg{fill:currentColor;width:16px;height:16px}@media (width<=720px){.registry,.gate-view{min-height:calc(100svh - 65px);padding:var(--space-8) var(--space-4)}.gate-card{padding:var(--space-6)}.registry-header>.fcf-status{justify-self:start}.connect-panel{justify-content:flex-start}.registry-controls{grid-template-columns:1fr}.repo-drawer{width:100%}.repo-drawer__top,.repo-drawer__middle,.repo-drawer__bottom{padding:var(--space-4)}.repo-details-list>div{gap:var(--space-1);grid-template-columns:1fr}}
