.landing-title-primary,.landing-title-secondary{display:block;font-size:40px}.landing-title-secondary{width:100%;margin-top:12px;white-space:nowrap}@media(max-width:1320px){.landing-title-secondary{white-space:normal}}@media(max-width:600px){.landing-title-primary,.landing-title-secondary{font-size:30px}}.public-tools-page{flex:1 0 auto;background:transparent;color:var(--color-text-primary)}.public-tools-inner{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:48px 0 72px}.tools-catalog{overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:56px 40px 52px 44px/44px 56px 40px 52px;background:linear-gradient(145deg,#fffffff2,#eef9f5e6);box-shadow:inset 0 1px #fffffff5,0 4px 18px #0fa27e12,0 22px 58px #0f172a1f}.tools-page-header{padding:38px 44px 32px;border-bottom:1px solid rgba(148,163,184,.25)}.tool-detail-header{max-width:780px;margin-bottom:36px}.tools-page-header h1,.tool-detail-header h1,.tool-not-found h1{margin:8px 0 16px;font-size:44px;line-height:1.1;letter-spacing:0}.tools-page-header>p:last-child,.tool-not-found>p{margin:0;color:var(--color-text-secondary);font-size:18px;line-height:1.65}.tools-page-header>p:last-child{width:100%}.tool-not-found>p{max-width:66ch}.tools-kicker,.tool-role{margin:0;color:var(--color-brand-strong);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.tools-list{margin:0;padding:0;list-style:none}.tools-list>li+li{border-top:1px solid rgba(148,163,184,.25)}.tool-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:18px;padding:26px 30px}.tool-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(15,162,126,.22);border-radius:14px 11px 15px 12px/12px 15px 11px 14px;background:#f0fdf8c7;color:var(--color-brand)}.tool-row-content{min-width:0}.tool-row-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;min-height:28px}.tool-row-heading h2{margin:0;font-size:20px;letter-spacing:0}.tool-version{flex:0 0 auto;padding:4px 8px;border:1px solid var(--color-brand-outline);border-radius:9px;background:#ffffffc2;color:var(--color-brand-strong);font-family:var(--font-mono);font-size:13px;font-weight:700}.tool-row .tool-role{font-size:12px}.tool-summary{margin:8px 0 0;color:var(--color-text-secondary);font-size:15px;line-height:1.55}.tool-row-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.tool-release-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0;color:var(--color-text-muted);font-size:14px}.tool-citations{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:20px;color:var(--color-text-secondary);font-size:14px;line-height:1.55;overflow-wrap:anywhere}.tool-citations-empty{margin:0;color:var(--color-text-muted)}.tool-detail-link,.tools-cta-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:fit-content;min-height:42px;border-radius:var(--radius-sm);font-weight:750;text-decoration:none}.tool-detail-link{color:var(--color-brand-strong)}.tool-row .tool-detail-link{flex:0 0 auto;min-height:32px;margin-left:auto;font-size:14px;text-transform:none}.tools-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:24px 34px;border:1px solid rgba(15,162,126,.14);border-radius:44px 56px 48px 40px/52px 42px 56px 46px;background:linear-gradient(145deg,#fffffff7,#eef9f4e8);box-shadow:inset 0 1px #ffffffe6,0 4px 14px #0fa27e12,0 14px 40px #0f172a17}.tools-cta h2,.tool-detail h2{margin:0 0 8px;font-size:21px;letter-spacing:0}.tools-cta p,.tool-detail p{margin:0;color:var(--color-text-secondary);line-height:1.6}.tools-cta-link{flex:0 0 auto;padding:0 18px;border:1px solid var(--color-brand);background:var(--color-brand);color:#fff}.tool-detail{max-width:960px}.tool-detail,.tool-not-found{margin:40px auto 80px;padding:42px 44px;border:1px solid rgba(15,162,126,.16);border-radius:64px 40px 56px 48px/40px 64px 48px 56px;background:linear-gradient(145deg,#fffffff7,#ebf8f3ed);box-shadow:inset 0 1px #fffffff2,0 4px 20px #0fa27e17,0 20px 56px #0f172a17}.tool-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px;color:var(--color-text-muted);font-size:14px}.tool-breadcrumb a{color:var(--color-brand-strong)}.tool-description{max-width:78ch;padding:0 0 32px;font-size:17px}.tool-supported-versions{padding:28px 0;border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default)}.tool-versions-table{width:100%;margin-top:16px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);border-spacing:0;background:#ffffffb3;table-layout:fixed;overflow:hidden}.tool-versions-table th,.tool-versions-table td{padding:13px 16px;text-align:left;vertical-align:top}.tool-versions-table thead th{background:#0fa27e14;color:var(--color-text-secondary);font-size:12px;font-weight:800;text-transform:uppercase}.tool-versions-table tbody th,.tool-versions-table tbody td{border-top:1px solid var(--color-border-default);font-size:14px;line-height:1.45}.tool-versions-table a{color:var(--color-brand-strong);font-family:var(--font-mono)}.tool-detail-citations{padding:28px 0;border-bottom:1px solid var(--color-border-default)}.tool-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:32px}.tool-not-found{max-width:780px;min-height:0}@media(max-width:720px){.public-tools-inner{width:min(100% - 32px,1120px);padding:40px 0 64px}.tools-page-header h1,.tool-detail-header h1,.tool-not-found h1{font-size:34px}.tools-page-header{padding:30px 24px}.tools-catalog{border-radius:36px 28px 34px 30px/30px 36px 28px 34px}.tool-detail,.tool-not-found{margin:24px auto 64px;padding:30px 24px;border-radius:36px 28px 32px 40px/28px 36px 40px 32px}.tool-row{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:24px}.tool-icon{width:40px;height:40px}.tool-row .tool-role{flex-basis:100%}.tool-row-footer{align-items:flex-start;flex-direction:column;gap:8px}.tool-row .tool-detail-link{margin-left:0}.tool-versions-table th,.tool-versions-table td{padding:11px 9px}.tool-versions-table thead th{font-size:10px}.tool-versions-table tbody th,.tool-versions-table tbody td{font-size:12px}.tools-cta,.tool-detail-footer{align-items:flex-start;flex-direction:column}.tools-cta{padding:24px;border-radius:28px 36px 32px 40px/36px 28px 40px 32px}.tools-cta-link{width:100%}}:root{--font-sans: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "SFMono-Regular", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-brand: #0fa27e;--color-brand-strong: #0c8f70;--color-brand-soft: #e7f7f1;--color-brand-outline: rgba(15, 162, 126, .16);--color-brand-foreground: #ffffff;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-text-inverse: #ffffff;--color-border-default: #cbd5e1;--color-border-subtle: #e2e8f0;--color-border-strong: #94a3b8;--color-surface-page: #f4f7f8;--color-surface-base: #ffffff;--color-surface-muted: #f8fafc;--color-surface-subtle: #f1f5f9;--color-surface-elevated: rgba(255, 255, 255, .94);--color-surface-brand: #f0fbf7;--color-surface-brand-strong: #e4f7ef;--color-status-success: #16a34a;--color-status-success-bg: #ecfdf3;--color-status-success-border: #bbf7d0;--color-status-success-ink: #166534;--color-status-warning: #d97706;--color-status-warning-bg: #fff7ed;--color-status-warning-border: #fed7aa;--color-status-warning-ink: #9a3412;--color-status-error: #dc2626;--color-status-error-bg: #fff1f2;--color-status-error-border: #fecdd3;--color-status-error-ink: #9f1239;--color-status-info: #0284c7;--color-status-info-bg: #f0f9ff;--color-status-info-border: #bae6fd;--color-status-info-ink: #075985;--focus-ring: rgba(15, 162, 126, .26);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-card: 0 10px 30px rgba(15, 23, 42, .06), 0 2px 10px rgba(15, 23, 42, .04);--shadow-floating: 0 18px 44px rgba(15, 23, 42, .12), 0 6px 18px rgba(15, 23, 42, .06);--shadow-modal: 0 28px 80px rgba(15, 23, 42, .2), 0 10px 24px rgba(15, 23, 42, .12)}@keyframes phylomena-spinner{to{transform:rotate(360deg)}}@keyframes bootstrap-bar{0%{transform:translate(-12%)}to{transform:translate(128%)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-surface-page);color:var(--color-text-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}input:focus,select:focus,textarea:focus,button:focus{outline:2px solid var(--color-brand);outline-offset:2px}a:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}button:hover:not(:disabled){filter:brightness(.95)}button:active:not(:disabled){transform:translateY(1px)}a[style*="background-color: rgb(15, 162, 126)"],button[style*="background-color: rgb(15, 162, 126)"],a[style*="background-color: rgba(15, 162, 126"],button[style*="background-color: rgba(15, 162, 126"],a[style*="background-color: var(--color-brand)"],button[style*="background-color: var(--color-brand)"]{transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}a[style*="background-color: rgb(15, 162, 126)"]:hover,button[style*="background-color: rgb(15, 162, 126)"]:hover:not(:disabled),a[style*="background-color: rgba(15, 162, 126"]:hover,button[style*="background-color: rgba(15, 162, 126"]:hover:not(:disabled),a[style*="background-color: var(--color-brand)"]:hover,button[style*="background-color: var(--color-brand)"]:hover:not(:disabled){background-color:var(--color-brand-strong)!important;box-shadow:0 14px 28px #0c8f704d;transform:translateY(-1px);filter:none}a[style*="background-color: rgb(15, 162, 126)"]:active,button[style*="background-color: rgb(15, 162, 126)"]:active:not(:disabled),a[style*="background-color: rgba(15, 162, 126"]:active,button[style*="background-color: rgba(15, 162, 126"]:active:not(:disabled),a[style*="background-color: var(--color-brand)"]:active,button[style*="background-color: var(--color-brand)"]:active:not(:disabled){transform:translateY(0)}
