.apple-header,.site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;background-color:var(--glass-bg,var(--color-surface))!important;backdrop-filter:blur(var(--glass-blur,20px))!important;-webkit-backdrop-filter:blur(var(--glass-blur,20px))!important;border-bottom:1px solid var(--glass-border,var(--color-border-subtle))!important;transition:background-color var(--transition-base,.2s ease),border-color var(--transition-base,.2s ease)}.header-inner{display:flex;justify-content:space-between;align-items:center;height:52px}.header-brand-wrap{display:inline-flex;align-items:center;height:52px}.brand-logo{display:inline-flex!important;align-items:center!important;font-size:var(--text-sm)!important;font-weight:600!important;color:var(--color-text)!important;letter-spacing:-.01em!important;line-height:1!important;text-decoration:none!important;margin:0!important;padding:0!important;transition:opacity var(--transition-fast)}.brand-logo:hover{opacity:.85}.header-desktop-nav{display:flex!important}.header-desktop-nav,.header-mobile-controls{align-items:center!important;gap:var(--space-2)!important}.header-mobile-controls{display:none!important}@media (max-width:859px){.header-desktop-nav{display:none!important}.header-mobile-controls{display:flex!important}}.apple-segmented-control{background-color:var(--color-surface-offset)!important;padding:3px!important;border-radius:var(--radius-md)!important;border:1px solid var(--color-border-subtle)!important;gap:2px!important;height:32px!important;min-height:32px!important;max-height:32px!important}.apple-segment-item,.apple-segmented-control{display:inline-flex!important;align-items:center!important;box-sizing:border-box!important}.apple-segment-item{justify-content:center!important;padding:0 10px!important;height:24px!important;min-height:24px!important;max-height:24px!important;font-family:var(--font-body)!important;font-size:var(--text-xs)!important;font-weight:500!important;line-height:1!important;border-radius:var(--radius-sm)!important;color:var(--color-text-muted)!important;transition:all var(--transition-fast)!important;cursor:pointer!important;border:none!important;background:transparent!important;text-decoration:none!important;white-space:nowrap!important;flex-shrink:0!important}.apple-segment-item.is-active{background-color:var(--color-surface)!important;box-shadow:var(--shadow-xs)!important}.apple-segment-item.is-active,.apple-segment-item:hover:not(.is-active),.theme-toggle-btn{color:var(--color-text)!important}.theme-toggle-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;cursor:pointer!important;transition:all var(--transition-fast)!important;box-sizing:border-box!important}.theme-toggle-btn:hover{background-color:var(--color-surface-2)!important;border-color:var(--color-border-hover)!important}.theme-toggle-icon{width:15px;height:15px;color:var(--color-text);transition:transform var(--transition-fast)}.theme-toggle-btn:hover .theme-toggle-icon{transform:rotate(15deg)}.ecosystem-dropdown-wrapper{position:relative!important}.ecosystem-dropdown-wrapper,.ecosystem-trigger-btn{display:inline-flex!important;align-items:center!important;height:32px!important}.ecosystem-trigger-btn{justify-content:center!important;gap:6px!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;padding:0 12px!important;font-family:var(--font-body)!important;font-size:var(--text-xs)!important;font-weight:500!important;line-height:1!important;color:var(--color-text)!important;cursor:pointer!important;min-height:32px!important;max-height:32px!important;box-sizing:border-box!important;transition:all var(--transition-fast)!important}.ecosystem-trigger-btn:hover{background-color:var(--color-surface-2)!important;border-color:var(--color-border-hover)!important;color:var(--color-text)!important}.ecosystem-chevron{font-size:10px;color:var(--color-text-muted)}.ecosystem-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:10000;width:290px;max-height:420px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-2);display:flex;flex-direction:column}.ecosystem-popover-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2) var(--space-2);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-1)}.ecosystem-popover-title{font-size:var(--text-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ecosystem-popover-count{font-size:var(--text-2xs);color:var(--color-text-faint)}.ecosystem-popover-list{overflow-y:auto;max-height:340px;display:flex;flex-direction:column;gap:var(--space-1)}.ecosystem-popover-item{display:flex;flex-direction:column;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-surface);border:1px solid transparent;transition:all var(--transition-fast);text-decoration:none!important}.ecosystem-popover-item:hover{background-color:var(--color-surface-offset);border-color:var(--color-border-subtle)}.ecosystem-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.ecosystem-item-name{font-size:var(--text-xs);font-weight:600;color:var(--color-text)}.ecosystem-item-arrow{font-size:var(--text-xs);color:var(--color-text-faint);transition:transform var(--transition-fast),color var(--transition-fast)}.ecosystem-popover-item:hover .ecosystem-item-arrow{color:var(--color-primary);transform:translate(1px,-1px)}.ecosystem-item-desc{font-size:var(--text-2xs);color:var(--color-text-muted);line-height:1.35;margin-bottom:2px}.ecosystem-item-domain{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-primary);opacity:.85}.language-selector-wrapper{position:relative!important}.language-selector-btn,.language-selector-wrapper{display:inline-flex!important;align-items:center!important;height:32px!important}.language-selector-btn{justify-content:center!important;gap:6px!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;padding:0 12px!important;font-family:var(--font-body)!important;font-size:var(--text-xs)!important;font-weight:500!important;line-height:1!important;color:var(--color-text)!important;cursor:pointer!important;min-height:32px!important;max-height:32px!important;box-sizing:border-box!important;transition:all var(--transition-fast)!important}.language-selector-btn:hover{background-color:var(--color-surface-2)!important;border-color:var(--color-border-hover)!important;color:var(--color-text)!important}.language-selector-chevron{font-size:10px;color:var(--color-text-muted)}.language-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:10000;width:270px;max-height:380px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-2);display:flex;flex-direction:column}.language-search-wrap{margin-bottom:var(--space-2)}.language-search-input{width:100%!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;padding:6px 10px!important;font-size:var(--text-xs)!important;color:var(--color-text)!important;outline:none!important;height:30px!important}.language-search-input:focus{border-color:var(--color-primary)!important}.language-list-scroll{overflow-y:auto;max-height:300px;display:flex;flex-direction:column;gap:2px}.language-option-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;width:100%;text-align:left;transition:background-color var(--transition-fast)}.language-option-item:hover{background-color:var(--color-surface-offset)}.language-option-item.is-selected{background-color:var(--color-primary-highlight)}.language-native-name{font-size:var(--text-xs);font-weight:500;color:var(--color-text)}.language-english-name{font-size:var(--text-2xs);color:var(--color-text-muted)}.language-no-results{padding:var(--space-3);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted)}.mobile-hamburger-btn{display:inline-flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;cursor:pointer!important;color:var(--color-text)!important;transition:all var(--transition-fast)!important;box-sizing:border-box!important}.mobile-hamburger-btn:hover{background-color:var(--color-surface-2)!important;border-color:var(--color-border-hover)!important}.hamburger-line{display:block!important;width:14px!important;height:2px!important;background-color:currentColor!important;border-radius:1px!important;transition:transform .2s ease,opacity .2s ease!important}.mobile-hamburger-btn.is-active .line-1{transform:translateY(6px) rotate(45deg)}.mobile-hamburger-btn.is-active .line-2{opacity:0}.mobile-hamburger-btn.is-active .line-3{transform:translateY(-6px) rotate(-45deg)}.mobile-nav-backdrop{background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10000;animation:fadeIn .2s ease forwards}.mobile-nav-backdrop,.mobile-nav-drawer{position:fixed;top:0;left:0;right:0;bottom:0}.mobile-nav-drawer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background-color:var(--color-surface);border:none;z-index:10001;display:flex;flex-direction:column;box-shadow:none;transform:translateX(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav-drawer.is-open{transform:translateX(0)}.mobile-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);height:52px}.mobile-drawer-close-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0!important;background-color:var(--color-surface-offset)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;color:var(--color-text)!important;cursor:pointer!important;transition:all var(--transition-fast)!important;box-sizing:border-box!important}.mobile-drawer-close-btn:hover{background-color:var(--color-surface-2)!important;border-color:var(--color-border-hover)!important}.mobile-drawer-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.mobile-drawer-section{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-drawer-section-title{font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);margin-bottom:var(--space-1)}.mobile-drawer-nav{display:flex;flex-direction:column;gap:4px}.mobile-drawer-link{display:flex;align-items:center;padding:8px 12px;font-size:var(--text-sm);font-weight:500;color:var(--color-text);border-radius:var(--radius-md);text-decoration:none!important;transition:background-color var(--transition-fast),color var(--transition-fast)}.mobile-drawer-link:hover{background-color:var(--color-surface-offset)}.mobile-drawer-link.is-active{background-color:var(--color-primary);color:#ffffff!important}.mobile-drawer-language-wrap .language-selector-wrapper{width:100%!important}.mobile-drawer-language-wrap .language-selector-btn{width:100%!important;justify-content:space-between!important}.mobile-drawer-ecosystem{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-drawer-project-card{display:block;padding:var(--space-3);background-color:var(--color-surface-offset);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);text-decoration:none!important;transition:border-color var(--transition-fast)}.mobile-drawer-project-card:hover{border-color:var(--color-primary)}.mobile-project-title{font-size:var(--text-xs);font-weight:600;color:var(--color-text)}.mobile-project-tag{font-size:var(--text-2xs);font-weight:500;padding:1px 6px;background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-primary)}.mobile-project-desc{font-size:var(--text-2xs);color:var(--color-text-muted);line-height:1.4;margin:0}.apple-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border-subtle);padding-block:var(--space-8);margin-top:var(--space-12)}.apple-footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-block:var(--space-3)}.apple-footer-link{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400;transition:color var(--transition-fast)}.apple-footer-link:hover{color:var(--color-text)}.apple-footer-divider{color:var(--color-text-faint);font-size:var(--text-xs);-webkit-user-select:none;-moz-user-select:none;user-select:none}.apple-footer-ecosystem{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.apple-footer-ecosystem-title{font-size:var(--text-xs);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:-.01em}.ecosystem-footer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.ecosystem-footer-card{display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-3);background-color:var(--color-surface-offset);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);text-decoration:none!important;transition:all var(--transition-fast)}.ecosystem-footer-card:hover{background-color:var(--color-surface-2);border-color:var(--color-border);transform:translateY(-1px)}.ecosystem-footer-name{font-size:var(--text-xs);font-weight:600;color:var(--color-text)}.ecosystem-footer-arrow{font-size:var(--text-xs);color:var(--color-text-faint);transition:transform var(--transition-fast),color var(--transition-fast)}.ecosystem-footer-card:hover .ecosystem-footer-arrow{color:var(--color-primary);transform:translate(1px,-1px)}.ecosystem-footer-desc{font-size:var(--text-2xs);color:var(--color-text-muted);line-height:1.35;margin-bottom:var(--space-1)}.ecosystem-footer-domain{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-primary);opacity:.8}.breadcrumb,.breadcrumb.is-small,.calendar-breadcrumb{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:var(--space-2)!important;margin-bottom:var(--space-4)!important;padding:0!important;font-size:var(--text-xs)!important;color:var(--color-text-muted)!important;line-height:1.4!important;-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}.breadcrumb ol,.breadcrumb ul,.breadcrumb.is-small ol,.breadcrumb.is-small ul{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:var(--space-2)!important;margin:0!important;padding:0!important;list-style:none!important}.breadcrumb li,.breadcrumb.is-small li{display:inline-flex!important;align-items:center!important;gap:var(--space-2)!important;padding:0!important;margin:0!important}.breadcrumb a,.breadcrumb span,.breadcrumb.is-small a,.breadcrumb.is-small span,.calendar-breadcrumb a,.calendar-breadcrumb span{padding:0!important;margin:0!important;font-size:var(--text-xs)!important;line-height:1.4!important;-moz-user-select:text!important;user-select:text!important;-webkit-user-select:text!important}.breadcrumb a,.calendar-breadcrumb a{color:var(--color-text-muted)!important;font-weight:500!important;text-decoration:none!important;cursor:pointer!important;transition:color var(--transition-fast)!important}.breadcrumb a:hover,.calendar-breadcrumb a:hover{color:var(--color-primary)!important;text-decoration:underline!important}.breadcrumb li.is-active a,.breadcrumb li.is-active span,.breadcrumb span[aria-current=page],.calendar-breadcrumb span:last-child{color:var(--color-text)!important;font-size:var(--text-xs)!important;font-weight:600!important;text-decoration:none!important;cursor:default!important;pointer-events:auto!important}.breadcrumb li+li:before,.breadcrumb.is-small li+li:before{content:"›"!important}.breadcrumb li+li:before,.breadcrumb.is-small li+li:before,.calendar-breadcrumb span[aria-hidden=true],.calendar-breadcrumb-separator{color:var(--color-text-faint)!important;font-size:var(--text-sm)!important;line-height:1!important;padding:0!important;margin:0!important;opacity:.7!important}.directory-search-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs)}.directory-filter-pills{display:flex;gap:var(--space-2);overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.directory-filter-pills::-webkit-scrollbar{display:none}.directory-filter-pill{display:inline-flex;align-items:center;background-color:var(--color-surface-offset);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);padding:4px 12px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.directory-filter-pill:hover{background-color:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)}.directory-filter-pill.is-active{background-color:var(--color-primary-highlight);border-color:var(--color-primary);color:var(--color-text);font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes ecosystem-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ecosystem-skeleton{display:block;background-color:var(--color-surface-offset,#f4f4f5);background-image:linear-gradient(90deg,var(--color-surface-offset,#f4f4f5) 0,var(--color-surface,#ffffff) 50%,var(--color-surface-offset,#f4f4f5) 100%);background-size:200% 100%;background-repeat:no-repeat;animation:ecosystem-shimmer 1.8s cubic-bezier(.16,1,.3,1) infinite;border-radius:var(--radius-sm,6px)}[data-theme=dark] .ecosystem-skeleton{background-color:var(--color-surface-offset,#1f1f24);background-image:linear-gradient(90deg,var(--color-surface-offset,#1f1f24) 0,var(--color-surface-2,#27272a) 50%,var(--color-surface-offset,#1f1f24) 100%)}@media (prefers-reduced-motion:reduce){.ecosystem-skeleton{animation:none!important;background-image:none!important;opacity:.7}}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-card-p,24px);display:flex;flex-direction:column;gap:var(--space-3,12px)}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table td,.skeleton-table th{padding:12px 16px;border-bottom:1px solid var(--color-border-subtle)}.ecosystem-empty-state{display:flex;flex-direction:column;text-align:center;padding:var(--space-12,48px) var(--space-6,24px);background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg,14px);max-width:540px;margin-inline:auto}.ecosystem-empty-state,.empty-state-icon{align-items:center;justify-content:center}.empty-state-icon{display:inline-flex;width:56px;height:56px;border-radius:var(--radius-full,9999px);background-color:var(--color-surface-offset,#f4f4f5);color:var(--color-text-muted,#71717a);margin-bottom:var(--space-4,16px);font-size:24px}.empty-state-title{font-size:var(--text-lg,18px);font-weight:600;color:var(--color-text,#18181b);letter-spacing:-.01em;margin-bottom:var(--space-2,8px)}.empty-state-desc{font-size:var(--text-sm,14px);color:var(--color-text-muted,#71717a);line-height:1.5;max-width:400px;margin-bottom:var(--space-5,20px)}.empty-state-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-3,12px);flex-wrap:wrap}.ecosystem-error-banner{display:flex;align-items:flex-start;gap:var(--space-3,12px);padding:var(--space-4,16px);background-color:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-lg,14px);color:#dc2626;margin-bottom:var(--space-4,16px);text-align:left}[data-theme=dark] .ecosystem-error-banner{background-color:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:#f87171}.error-banner-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.error-banner-content{flex:1 1}.error-banner-title{font-size:var(--text-sm,14px);font-weight:600;margin-bottom:var(--space-1,4px);color:inherit}.error-banner-desc{font-size:var(--text-xs,13px);line-height:1.5;color:var(--color-text,#18181b)}[data-theme=dark] .error-banner-desc{color:var(--color-text,#f4f4f5)}.error-banner-actions{display:flex;align-items:center;gap:var(--space-2,8px);margin-top:var(--space-3,12px)}.inline-input-error{display:flex;align-items:center;gap:4px;font-size:var(--text-2xs,11px);font-weight:500;color:#ef4444;margin-top:4px}.ecosystem-progress-track{width:100%;height:8px;background-color:var(--color-surface-offset,#f4f4f5);border-radius:var(--radius-full,9999px);overflow:hidden;position:relative}.ecosystem-progress-bar{height:100%;background-color:var(--color-primary,#3b82f6);border-radius:var(--radius-full,9999px);transition:width .25s cubic-bezier(.16,1,.3,1)}.ecosystem-progress-bar.is-indeterminate{width:40%!important;animation:ecosystem-progress-indeterminate 1.5s ease-in-out infinite}@keyframes ecosystem-progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.ecosystem-spinner{display:inline-block;border:2px solid var(--color-surface-offset,#e4e4e7);border-top-color:var(--color-primary,#3b82f6);border-radius:50%;animation:ecosystem-spin .7s linear infinite}.ecosystem-spinner.is-sm{width:16px;height:16px;border-width:2px}.ecosystem-spinner.is-md{width:24px;height:24px;border-width:2.5px}.ecosystem-spinner.is-lg{width:36px;height:36px;border-width:3px}@keyframes ecosystem-spin{to{transform:rotate(1turn)}}.ecosystem-step-indicator{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-2,8px)}.step-item{display:flex;align-items:center;gap:8px;font-size:var(--text-xs,13px);font-weight:500;color:var(--color-text-muted,#71717a)}.step-item.is-active{color:var(--color-primary,#3b82f6);font-weight:600}.step-item.is-complete{color:var(--color-text,#18181b)}.step-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;background-color:var(--color-surface-offset,#f4f4f5);border:1px solid var(--color-border,#e4e4e7);color:var(--color-text-muted,#71717a)}.step-item.is-active .step-dot{background-color:var(--color-primary,#3b82f6);border-color:var(--color-primary,#3b82f6);color:#ffffff}.step-item.is-complete .step-dot{background-color:#22c55e;border-color:#22c55e;color:#ffffff}.step-connector{flex:1 1;height:1px;background-color:var(--color-border-subtle,#e4e4e7)}.ecosystem-toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast,500);display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:400px;width:calc(100% - 32px)}@media (max-width:640px){.ecosystem-toast-container{bottom:16px;right:16px;left:16px;width:auto}}.ecosystem-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 16px;background-color:var(--color-surface,#ffffff);color:var(--color-text,#18181b);border:1px solid var(--color-border,#e4e4e7);border-radius:var(--radius-full,9999px);box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.04);font-size:var(--text-xs,13px);font-weight:500;animation:ecosystem-toast-in .25s cubic-bezier(.16,1,.3,1) forwards;transition:transform .2s ease,opacity .2s ease}[data-theme=dark] .ecosystem-toast{background-color:var(--color-surface-2,#18181c);border-color:rgba(255,255,255,.12);box-shadow:0 12px 32px rgba(0,0,0,.5)}@keyframes ecosystem-toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.toast-icon.is-success{color:#22c55e}.toast-icon.is-error{color:#ef4444}.toast-icon.is-warning{color:#f59e0b}.toast-icon.is-info{color:var(--color-primary,#3b82f6)}.toast-message{flex:1 1}.toast-close-btn{background:transparent;border:none;color:var(--color-text-faint,#a1a1aa);cursor:pointer;padding:2px;display:inline-flex;border-radius:var(--radius-full)}.toast-close-btn:hover{color:var(--color-text)}.ecosystem-accordion{width:100%;display:flex;flex-direction:column;gap:var(--space-2,8px)}.accordion-item{border:1px solid var(--color-border);border-radius:var(--radius-lg,14px);background-color:var(--color-surface);overflow:hidden;transition:border-color var(--transition-base),background-color var(--transition-base)}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4,16px) var(--space-5,20px);background:transparent;border:none;text-align:left;cursor:pointer;color:var(--color-text);font-size:var(--text-sm,14px);font-weight:600}.accordion-trigger:hover{background-color:var(--color-surface-offset)}.accordion-chevron{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform .25s cubic-bezier(.16,1,.3,1);color:var(--color-text-muted)}.accordion-item.is-open .accordion-chevron{transform:rotate(180deg)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.16,1,.3,1)}.accordion-item.is-open .accordion-content{grid-template-rows:1fr}.accordion-inner{overflow:hidden;min-height:0}.accordion-body{padding:0 var(--space-5,20px) var(--space-4,16px) var(--space-5,20px);font-size:var(--text-xs,13px);line-height:1.6;color:var(--color-text-muted);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3,12px)}@media (prefers-reduced-motion:reduce){.accordion-chevron,.accordion-content{transition:none!important}}.ecosystem-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height,32px);padding:0 12px;font-size:var(--text-xs,13px);font-weight:500;border-radius:var(--radius-md,10px);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast,.15s ease)}.ecosystem-copy-btn:hover{background-color:var(--color-surface-offset);border-color:var(--color-border-hover)}.ecosystem-copy-btn:active{transform:scale(.97)}.ecosystem-copy-btn.is-copied{background-color:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#16a34a}@media (hover:none) and (pointer:coarse){.accordion-trigger:hover,.apple-footer-link:hover,.apple-segment-item:hover:not(.is-active),.brand-logo:hover,.button:hover:not(.is-active):not(:active),.directory-filter-pill:hover,.ecosystem-card:hover,.ecosystem-copy-btn:hover,.ecosystem-footer-card:hover,.ecosystem-popover-item:hover,.ecosystem-trigger-btn:hover,.language-option-item:hover,.language-selector-btn:hover,.mobile-drawer-close-btn:hover,.mobile-drawer-link:hover,.mobile-drawer-project-card:hover,.mobile-hamburger-btn:hover,.theme-toggle-btn:hover{background-color:initial;border-color:initial;box-shadow:none;color:initial;transform:none}.button:active,.directory-filter-pill:active,.ecosystem-card:active,.ecosystem-copy-btn:active{opacity:.85;transform:scale(.98)}}@media (pointer:coarse){.button.is-small,.directory-filter-pill,.ecosystem-copy-btn,.mobile-drawer-close-btn,.mobile-hamburger-btn,.theme-toggle-btn,.toast-close-btn{position:relative;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.button.is-small:after,.theme-toggle-btn:after,.toast-close-btn:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px;width:100%;height:100%}}.ecosystem-prose,.prose-reading,.reading-measure{max-width:65ch;line-height:1.7;font-size:var(--text-base,15px);color:var(--color-text)}.ecosystem-prose p,.prose-reading p{margin-bottom:var(--space-4,16px)}.ecosystem-prose h1,.prose-reading h1{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1.2;font-weight:700;letter-spacing:-.025em;margin-top:var(--space-8,32px);margin-bottom:var(--space-4,16px)}.ecosystem-prose h2,.prose-reading h2{font-size:clamp(1.25rem,2.5vw,1.625rem);line-height:1.3;font-weight:600;letter-spacing:-.015em;margin-top:var(--space-6,24px);margin-bottom:var(--space-3,12px)}.ecosystem-prose h3,.prose-reading h3{font-size:clamp(1.05rem,2vw,1.15rem);line-height:1.4;font-weight:600;margin-top:var(--space-5,20px);margin-bottom:var(--space-2,8px)}.ecosystem-card,.ecosystem-hero,.ecosystem-prose,.prose-reading,.reading-measure,.section-header,.table td,.table th{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:normal}.ecosystem-input,.ecosystem-select select,.ecosystem-textarea{display:block;width:100%;height:var(--control-height,32px);min-height:var(--control-height,32px);padding:0 12px;font-family:var(--font-body);font-size:var(--text-xs,13px);color:var(--color-text,#18181b);background-color:var(--color-surface,#ffffff);border:1px solid var(--color-border,#e4e4e7);border-radius:var(--radius-md,10px);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-sizing:border-box;scroll-margin-bottom:25vh;scroll-margin-top:calc(var(--header-height, 52px) + 16px)}.ecosystem-textarea{height:auto;min-height:80px;padding:10px 12px;line-height:1.5;resize:vertical}.ecosystem-select{position:relative;display:inline-block;width:100%}.ecosystem-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer}.ecosystem-select:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-right:1.5px solid var(--color-text-muted,#71717a);border-bottom:1.5px solid var(--color-text-muted,#71717a);transform:translateY(-65%) rotate(45deg);pointer-events:none}@media (hover:hover) and (pointer:fine){.ecosystem-input:hover,.ecosystem-select select:hover,.ecosystem-textarea:hover{border-color:var(--color-border-hover,#a1a1aa);background-color:var(--color-surface-offset,#f4f4f5)}}.ecosystem-input:focus,.ecosystem-select select:focus,.ecosystem-textarea:focus{outline:none;border-color:var(--color-primary,#3b82f6);background-color:var(--color-surface,#ffffff);box-shadow:0 0 0 3px var(--color-focus-ring,rgba(59,130,246,.25))}[data-theme=dark] .ecosystem-input,[data-theme=dark] .ecosystem-select select,[data-theme=dark] .ecosystem-textarea{background-color:var(--color-surface,#141417);border-color:rgba(255,255,255,.12);color-scheme:dark}[data-theme=dark] .ecosystem-input:focus,[data-theme=dark] .ecosystem-select select:focus,[data-theme=dark] .ecosystem-textarea:focus{background-color:var(--color-surface-2,#18181c);border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.35)}@media (max-width:768px){.ecosystem-input,.ecosystem-select select,.ecosystem-textarea{font-size:16px!important}}.ecosystem-form-field{display:flex;flex-direction:column;gap:4px;width:100%;margin-bottom:var(--space-4,16px);text-align:left}.form-field-label-row{display:flex;align-items:center;justify-content:space-between}.form-field-label{font-size:var(--text-xs,13px);font-weight:600;color:var(--color-text,#18181b)}.form-field-required-badge{color:#ef4444;margin-left:2px}.form-field-hint{font-size:var(--text-2xs,11px);color:var(--color-text-muted,#71717a);margin-top:2px}.ecosystem-skip-link{position:absolute;top:-9999px;left:16px;z-index:99999;padding:8px 16px;background-color:var(--color-primary,#0071e3);color:#ffffff!important;font-size:var(--text-xs,13px);font-weight:600;border-radius:var(--radius-md,10px);box-shadow:0 10px 25px rgba(0,0,0,.2);text-decoration:none;transition:top .15s ease}.ecosystem-skip-link:focus,.ecosystem-skip-link:focus-visible{top:16px;outline:3px solid #ffffff;outline-offset:2px}.ecosystem-sr-only,.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (forced-colors:active){.button,.directory-filter-pill,.ecosystem-card,.ecosystem-error-banner,.ecosystem-input,.ecosystem-select select,.ecosystem-textarea,.mobile-drawer-sheet,.modal-dialog-panel,.toast-notification{border:1px solid ButtonText!important;outline:none!important}.button:focus,.button:focus-visible,.ecosystem-input:focus,.ecosystem-select select:focus,.ecosystem-textarea:focus{outline:2px solid Highlight!important;outline-offset:2px!important}.button.is-primary{background-color:Highlight!important;color:HighlightText!important}}[dir=rtl]{text-align:right}[dir=rtl] .mobile-nav-drawer{right:auto;left:0;border-left:none;border-right:1px solid var(--color-border);transform:translateX(-100%)}[dir=rtl] .mobile-nav-drawer.is-open{transform:translateX(0)}[dir=rtl] .back-arrow,[dir=rtl] .breadcrumb-separator,[dir=rtl] .icon-directional{transform:scaleX(-1)}[dir=rtl] .ecosystem-form-field,[dir=rtl] .ecosystem-prose,[dir=rtl] .form-field-label-row,[dir=rtl] .prose-reading,[dir=rtl] .reading-measure{text-align:right}[dir=rtl] .ecosystem-select select{padding-left:32px;padding-right:12px}[dir=rtl] .ecosystem-select:after{right:auto;left:12px}:lang(bn),:lang(hi),[lang=bn],[lang=hi]{line-height:1.65!important}:lang(bn) .button,:lang(bn) .ecosystem-input,:lang(hi) .button,:lang(hi) .ecosystem-input,[lang=bn] .button,[lang=hi] .button{height:auto;min-height:var(--control-height,32px);padding-top:4px;padding-bottom:4px}:lang(th),[lang=th]{line-height:1.7!important}:lang(ja),:lang(ko),:lang(zh),[lang=ja],[lang=ko],[lang=zh]{word-break:break-all;line-height:1.6}.ad-container,.ad-slot-reservation{display:block;position:relative;overflow:hidden;contain:layout size;margin-inline:auto;text-align:center;border-radius:var(--radius-md,8px);background-color:var(--color-surface-offset,rgba(0,0,0,.02));transition:min-height .2s ease,opacity .2s ease}.ad-container--leaderboard{min-height:90px;max-width:728px}@media (max-width:767px){.ad-container--leaderboard{min-height:50px;max-width:320px}}.ad-container--in-content,.ad-container--rectangle{min-height:250px;max-width:300px}.ad-container--sidebar,.ad-container--skyscraper{min-height:600px;max-width:160px}.ad-container:empty,.ad-container[data-ad-blocked=true],.ad-container[data-ad-failed=true],.ad-slot-reservation:empty{display:none!important;min-height:0!important;margin:0!important;padding:0!important;border:none!important}body.has-mobile-anchor-ad{padding-bottom:60px!important}.command-palette,.drawer,.ecosystem-drawer,.modal,.site-drawer{z-index:var(--z-modal,9999)!important}#cmp-banner,.cmp-container,.qc-cmp2-container{font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif)!important;border-radius:var(--radius-lg,12px)!important}.button,.ecosystem-button,button{min-width:-moz-fit-content;min-width:fit-content;max-width:100%;white-space:nowrap;padding-inline:var(--space-3,12px);box-sizing:border-box}@media (max-width:639px){.button.is-fullwidth-mobile,.ecosystem-button--fullwidth-mobile{width:100%!important;white-space:normal}}.app-shell-viewport,.full-height-viewport{min-height:100vh;min-height:100dvh}body.is-webview{padding-bottom:max(24px,env(safe-area-inset-bottom,24px))!important}.privacy-shield-active .privacy-shield-field,.privacy-shield-active [data-private=true]{filter:blur(5px)!important;transition:filter .2s cubic-bezier(.16,1,.3,1)!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;cursor:default!important}.privacy-shield-active .privacy-shield-field:focus-within,.privacy-shield-active .privacy-shield-field:hover,.privacy-shield-active [data-private=true]:focus-within,.privacy-shield-active [data-private=true]:hover{filter:none!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}*,:after,:before{box-sizing:border-box}.apple-segmented-control,.box,.button,.card,.ecosystem-button,.ecosystem-input,.ecosystem-select{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}@media (max-width:480px){.columns:not(.is-desktop){display:flex!important;flex-direction:column!important}.column{width:100%!important;flex-basis:100%!important;max-width:100%!important}}.save-data-active *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.save-data-active .loading-shimmer,.save-data-active .skeleton{animation:none!important;background:var(--color-surface-offset,#f1f5f9)!important}.ad-page-wrapper{width:100%;display:flex;flex-direction:column}.ad-stage-container{display:flex;justify-content:center;align-items:flex-start;gap:var(--space-4,1.5rem);width:100%;max-width:1540px;margin:0 auto;padding:0 var(--space-3,1rem);position:relative}.ad-content-column{flex:1 1;min-width:0;max-width:1140px;width:100%}.ad-side-rail{width:160px;min-height:600px;flex-shrink:0}@media (max-width:1279px){.ad-side-rail{display:none!important}}@media (max-width:768px){.ad-stage-container{padding:0 var(--space-2,.5rem)}body:has(.ad-container--sticky-floor){padding-bottom:64px}}.apple-btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:32px!important;padding:0 14px!important;font-size:var(--text-xs,.8125rem)!important;font-weight:600!important;line-height:1!important;border-radius:var(--radius-full,9999px)!important;background-color:var(--color-brand,#2563eb)!important;color:#ffffff!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 1px 3px rgba(37,99,235,.3),inset 0 1px 0 rgba(255,255,255,.2)!important;cursor:pointer!important;transition:all var(--transition-fast,.15s ease)!important;text-decoration:none!important;white-space:nowrap!important;flex-shrink:0!important}.apple-btn-primary:hover:not(:disabled){background-color:#1d4ed8!important;box-shadow:0 2px 6px rgba(37,99,235,.4),inset 0 1px 0 rgba(255,255,255,.25)!important;transform:translateY(-1px)}.apple-btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(37,99,235,.3)!important}.apple-btn-primary:disabled{opacity:.6!important;cursor:not-allowed!important}.apple-btn-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:32px!important;padding:0 12px!important;font-size:var(--text-xs,.8125rem)!important;font-weight:500!important;line-height:1!important;border-radius:var(--radius-full,9999px)!important;background-color:var(--color-surface,#ffffff)!important;color:var(--color-text,#18181b)!important;border:1px solid var(--color-border-subtle,rgba(0,0,0,.1))!important;box-shadow:var(--shadow-xs,0 1px 2px rgba(0,0,0,.04))!important;cursor:pointer!important;transition:all var(--transition-fast,.15s ease)!important;text-decoration:none!important;white-space:nowrap!important;flex-shrink:0!important}.apple-btn-secondary:hover:not(:disabled){background-color:var(--color-surface-offset,#f4f4f5)!important;border-color:var(--color-border,rgba(0,0,0,.15))!important;color:var(--color-text,#18181b)!important;transform:translateY(-1px)}.apple-btn-secondary:active:not(:disabled){transform:translateY(0)}.apple-btn-secondary:disabled{opacity:.5!important;cursor:not-allowed!important}[data-theme=dark] .apple-btn-secondary{background-color:var(--color-surface-offset,#1f1f24)!important;color:var(--color-text,#f4f4f5)!important;border-color:var(--color-border-subtle,rgba(255,255,255,.08))!important}[data-theme=dark] .apple-btn-secondary:hover:not(:disabled){background-color:rgba(255,255,255,.08)!important;border-color:var(--color-border,rgba(255,255,255,.15))!important}.checkbox,label.checkbox{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:var(--text-sm,.875rem)!important;color:var(--color-text,#18181b)!important;cursor:pointer!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;line-height:1.4!important}[data-theme=dark] .checkbox,[data-theme=dark] label.checkbox{color:var(--color-text,#f4f4f5)!important}.checkbox input[type=checkbox],input[type=checkbox],input[type=checkbox].checkbox{-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border-radius:5px!important;border:1.5px solid var(--color-border,#d1d5db)!important;background-color:var(--color-surface,#ffffff)!important;cursor:pointer!important;display:inline-grid!important;place-content:center!important;vertical-align:middle!important;flex-shrink:0!important;transition:background-color .15s cubic-bezier(.16,1,.3,1),border-color .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)!important;box-shadow:0 1px 2px rgba(0,0,0,.05)!important;background-repeat:no-repeat!important;background-position:50%!important;background-size:11px 11px!important}.checkbox input[type=checkbox]:hover:not(:disabled),input[type=checkbox]:hover:not(:disabled){border-color:var(--color-brand,#2563eb)!important;background-color:var(--color-surface-offset,#f4f4f5)!important}.checkbox input[type=checkbox]:focus-visible,input[type=checkbox]:focus-visible{outline:none!important;border-color:var(--color-brand,#2563eb)!important;box-shadow:0 0 0 3px rgba(37,99,235,.25)!important}.checkbox input[type=checkbox]:checked,input[type=checkbox]:checked{background-color:var(--color-brand,#2563eb)!important;border-color:var(--color-brand,#2563eb)!important;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;box-shadow:0 1px 3px rgba(37,99,235,.3)!important}.checkbox input[type=checkbox]:indeterminate,input[type=checkbox]:indeterminate{background-color:var(--color-brand,#2563eb)!important;border-color:var(--color-brand,#2563eb)!important;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8H12' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")!important}[data-theme=dark] .checkbox input[type=checkbox],[data-theme=dark] input[type=checkbox]{background-color:#18181b!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 1px 2px rgba(0,0,0,.3)!important}[data-theme=dark] .checkbox input[type=checkbox]:hover:not(:disabled),[data-theme=dark] input[type=checkbox]:hover:not(:disabled){background-color:#27272a!important;border-color:rgba(255,255,255,.45)!important}[data-theme=dark] .checkbox input[type=checkbox]:checked,[data-theme=dark] input[type=checkbox]:checked{background-color:var(--color-brand,#2563eb)!important;border-color:var(--color-brand,#2563eb)!important;box-shadow:0 1px 4px rgba(37,99,235,.5)!important}.checkbox input[type=checkbox]:disabled,[data-theme=dark] .checkbox input[type=checkbox]:disabled,[data-theme=dark] input[type=checkbox]:disabled,input[type=checkbox]:disabled{opacity:.45!important;cursor:not-allowed!important}