38853-vm/index.php
2026-02-28 13:10:28 +00:00

229 lines
13 KiB
PHP

<?php
declare(strict_types=1);
@ini_set('display_errors', '1');
@error_reporting(E_ALL);
@date_default_timezone_set('UTC');
$projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'VentureNerve - Match investors with startups based on risk-adjusted return.';
$projectImageUrl = $_SERVER['PROJECT_IMAGE_URL'] ?? '';
?>
<!doctype html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>VentureNerve | Risk-Adjusted Venture Capital</title>
<meta name="description" content="<?= htmlspecialchars($projectDescription) ?>" />
<meta property="og:description" content="<?= htmlspecialchars($projectDescription) ?>" />
<meta property="twitter:description" content="<?= htmlspecialchars($projectDescription) ?>" />
<?php if ($projectImageUrl): ?>
<meta property="og:image" content="<?= htmlspecialchars($projectImageUrl) ?>" />
<meta property="twitter:image" content="<?= htmlspecialchars($projectImageUrl) ?>" />
<?php endif; ?>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
<!-- Custom CSS -->
<link rel="stylesheet" href="assets/css/custom.css?v=<?= time() ?>">
</head>
<body>
<div class="d-flex" id="wrapper">
<!-- Sidebar -->
<div class="border-end border-secondary bg-dark-subtle" id="sidebar-wrapper">
<div class="sidebar-heading border-bottom border-secondary py-4 px-3">
<h4 class="m-0 fw-bold text-primary"><i class="fas fa-bolt me-2"></i>VentureNerve</h4>
</div>
<div class="list-group list-group-flush mt-3 px-2">
<a href="#hero" class="list-group-item list-group-item-action bg-transparent border-0 rounded-3 mb-1 active nav-link" data-section="hero">
<i class="fas fa-home me-3"></i>Overview
</a>
<a href="#profile" class="list-group-item list-group-item-action bg-transparent border-0 rounded-3 mb-1 nav-link" data-section="profile">
<i class="fas fa-user-tie me-3"></i>Investor Profile
</a>
<a href="#results" class="list-group-item list-group-item-action bg-transparent border-0 rounded-3 mb-1 nav-link" data-section="results">
<i class="fas fa-chart-line me-3"></i>Matching Results
</a>
</div>
<div class="mt-auto p-3 text-secondary small">
&copy; 2026 VentureNerve AI
</div>
</div>
<!-- Page Content -->
<div id="page-content-wrapper">
<nav class="navbar navbar-expand-lg navbar-dark bg-transparent py-3 px-4">
<div class="container-fluid">
<button class="btn btn-outline-secondary d-lg-none me-3" id="sidebarToggle">
<i class="fas fa-bars"></i>
</button>
<div class="ms-auto d-flex align-items-center">
<span class="badge bg-primary-subtle text-primary border border-primary-subtle px-3 py-2 rounded-pill">
Alpha Access
</span>
</div>
</div>
</nav>
<div class="container-fluid px-4 py-3">
<!-- Hero Section -->
<section id="hero-section" class="app-section">
<div class="row min-vh-75 align-items-center">
<div class="col-lg-7">
<span class="text-primary fw-bold text-uppercase tracking-wider mb-2 d-block">The Future of VC</span>
<h1 class="display-3 fw-bold mb-4">Match with Startups based on <span class="text-gradient">Risk-Adjusted Return.</span></h1>
<p class="lead text-secondary mb-5">VentureNerve uses proprietary Risk-Adjusted Return (RAR) modeling to connect investors with the top 1% of startups that fit their specific risk appetite.</p>
<div class="d-flex gap-3">
<button class="btn btn-primary btn-lg px-4 py-3 rounded-4 fw-bold navigate-btn" data-target="profile">Get Started</button>
<button class="btn btn-outline-light btn-lg px-4 py-3 rounded-4 fw-bold">View Methodology</button>
</div>
</div>
<div class="col-lg-5 d-none d-lg-block">
<div class="hero-visual p-4 rounded-5 bg-dark-subtle border border-secondary">
<div class="d-flex justify-content-between mb-4">
<div class="stat-card">
<span class="text-secondary small d-block">Avg. IRR</span>
<span class="h4 fw-bold mb-0">24.5%</span>
</div>
<div class="stat-card text-end">
<span class="text-secondary small d-block">Median PD</span>
<span class="h4 fw-bold mb-0">5.2%</span>
</div>
</div>
<div class="chart-placeholder rounded-4 mb-3" style="height: 200px; background: linear-gradient(180deg, rgba(13, 110, 253, 0.1) 0%, rgba(13, 110, 253, 0) 100%); position: relative; overflow: hidden;">
<svg width="100%" height="100%" viewBox="0 0 400 200" preserveAspectRatio="none">
<path d="M0,150 Q50,130 100,160 T200,80 T300,100 T400,40 L400,200 L0,200 Z" fill="rgba(13, 110, 253, 0.2)" />
<path d="M0,150 Q50,130 100,160 T200,80 T300,100 T400,40" fill="none" stroke="#0d6efd" stroke-width="3" />
</svg>
</div>
<div class="text-center">
<span class="text-secondary small">Live Risk Feed - Real-time Aggregation</span>
</div>
</div>
</div>
</div>
</section>
<!-- Investor Profile Section -->
<section id="profile-section" class="app-section d-none">
<div class="row justify-content-center">
<div class="col-xl-8">
<div class="section-header mb-5">
<h2 class="fw-bold h1 mb-2">Configure Your <span class="text-primary">Investor Profile</span></h2>
<p class="text-secondary">Set your return expectations and risk tolerance to see tailored startup opportunities.</p>
</div>
<div class="card bg-dark-subtle border-secondary rounded-4 p-4 p-md-5">
<div class="mb-5">
<div class="d-flex justify-content-between align-items-center mb-3">
<label class="form-label h5 mb-0 fw-bold">Minimum Expected IRR (%)</label>
<span class="badge bg-primary px-3 py-2 rounded-pill h5 mb-0" id="irr-val">15%</span>
</div>
<input type="range" class="form-range custom-range" id="min-irr" min="5" max="50" value="15">
<div class="d-flex justify-content-between text-secondary small">
<span>Conservative (5%)</span>
<span>Aggressive (50%)</span>
</div>
</div>
<div class="mb-5">
<div class="d-flex justify-content-between align-items-center mb-3">
<label class="form-label h5 mb-0 fw-bold">Maximum 12M Prob. of Distress (PD)</label>
<span class="badge bg-danger px-3 py-2 rounded-pill h5 mb-0" id="pd-val">10%</span>
</div>
<input type="range" class="form-range custom-range" id="max-pd" min="1" max="30" value="10">
<div class="d-flex justify-content-between text-secondary small">
<span>Low Risk (1%)</span>
<span>High Risk (30%)</span>
</div>
</div>
<div class="mb-4">
<label class="form-label h5 mb-3 fw-bold">Risk Tolerance Profile</label>
<div class="row g-3">
<div class="col-md-4">
<input type="radio" class="btn-check" name="risk-profile" id="risk-low" value="low">
<label class="btn btn-outline-secondary w-100 p-3 rounded-4" for="risk-low">
<i class="fas fa-shield-alt d-block mb-2 h4"></i>
<span class="fw-bold">Conservative</span>
</label>
</div>
<div class="col-md-4">
<input type="radio" class="btn-check" name="risk-profile" id="risk-med" value="med" checked>
<label class="btn btn-outline-secondary w-100 p-3 rounded-4" for="risk-med">
<i class="fas fa-balance-scale d-block mb-2 h4"></i>
<span class="fw-bold">Moderate</span>
</label>
</div>
<div class="col-md-4">
<input type="radio" class="btn-check" name="risk-profile" id="risk-high" value="high">
<label class="btn btn-outline-secondary w-100 p-3 rounded-4" for="risk-high">
<i class="fas fa-fire d-block mb-2 h4"></i>
<span class="fw-bold">Aggressive</span>
</label>
</div>
</div>
</div>
<div class="text-center mt-5">
<button class="btn btn-primary btn-lg px-5 py-3 rounded-4 fw-bold" id="match-startups-btn">
Calculate Matches <i class="fas fa-arrow-right ms-2"></i>
</button>
</div>
</div>
</div>
</div>
</section>
<!-- Results Section -->
<section id="results-section" class="app-section d-none">
<div class="section-header mb-5 text-center">
<h2 class="fw-bold h1 mb-2">Top <span class="text-primary">RAR Matches</span></h2>
<p class="text-secondary">The highest ranked startups based on your Risk-Adjusted Return requirements.</p>
</div>
<div class="row g-4" id="matches-container">
<!-- Matches will be injected here -->
</div>
<div class="text-center mt-5">
<button class="btn btn-outline-secondary rounded-4 px-4 navigate-btn" data-target="profile">
<i class="fas fa-edit me-2"></i>Adjust Profile
</button>
</div>
</section>
<!-- Startup Detail Section -->
<section id="detail-section" class="app-section d-none">
<div class="row mb-4 align-items-center">
<div class="col-auto">
<button class="btn btn-link text-secondary p-0 navigate-btn" data-target="results">
<i class="fas fa-arrow-left me-2"></i>Back to Results
</button>
</div>
</div>
<div id="startup-detail-content">
<!-- Detail content will be injected here -->
</div>
</section>
</div>
</div>
</div>
<!-- Bootstrap & JS Libraries -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="assets/js/main.js?v=<?= time() ?>"></script>
</body>
</html>