PageSourceSearch

https://eco-star-north.netlify.app/

html eco-star-north.netlify.app collected 2026-10-03 10:40:44 UTC 8,264 bytes, 197 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 4-5
4
5    <script async src="https://www.googletagmanager.com/gtag/js?id=
5G-MGFF0K8FF5
vendor: 16 bytes, lines 5-6
5"></script>
6    
6<script>
7      
vendor: 146 bytes, lines 7-11
7window.dataLayer = window.dataLayer || [];
8      function gtag(){dataLayer.push(arguments);}
9      gtag('js', new Date());
10
11      gtag('config', '
11G-MGFF0K8FF5
vendor: 8 bytes, lines 11-12
11');
12    
12</script>
12
13    <meta charset="UTF-8" />
14<!-- This site is hosted on Netlify. Anyone can build and deploy a site
15     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=353830f6-bd26-4550-ad22-23120aa7ebef
16     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
17    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
18    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
19    <title>ECO-STAR North Innovation Methodology</title>
20    
20<script src="https://cdn.tailwindcss.com"></script>
20
21    
22    <!-- Quill.js Rich Text Editor -->
23    <link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
24    
24<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
24
25
26    <!-- JSZip for creating zip files -->
27    
27<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
27
28    <!-- FileSaver.js for saving files -->
29    
29<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.0/FileSaver.min.js"></script>
29
30
31    <style>
32      /* For custom scrollbar styling - Light Theme */
33      ::-webkit-scrollbar {
34        width: 8px;
35      }
36      ::-webkit-scrollbar-track {
37        background: #f1f5f9; /* slate-100 */
38      }
39      ::-webkit-scrollbar-thumb {
40        background: #cbd5e1; /* slate-300 */
41        border-radius: 4px;
42      }
43      ::-webkit-scrollbar-thumb:hover {
44        background: #94a3b8; /* slate-400 */
45      }
46
47      /* Custom prose styles for professional spacing - Light Theme adjustments */
48      .prose {
49        color: #334155 !important; /* slate-700 */
50      }
51      .prose strong {
52        color: #0f172a !important; /* slate-900 */
53      }
54      .prose a {
55        color: #0284c7 !important; /* sky-600 */
56        text-decoration: underline;
57      }
58      .prose p {
59        margin-top: 1.5rem !important;
60        margin-bottom: 1.5rem !important;
61        line-height: 1.8 !important;
62      }
63      .prose blockquote {
64        font-size: 1.25em !important;
65        margin-top: 2.5rem !important;
66        margin-bottom: 2.5rem !important;
67        color: #475569 !important; /* slate-600 */
68        border-left-width: 4px !important;
69        font-style: italic;
70        background: #f8fafc; /* slate-50 */
71        padding: 1.5rem 2rem !important;
72        border-radius: 0 0.5rem 0.5rem 0;
73      }
74      /* Custom styles for manifesto headings */
75      .prose h1, .prose h2, .prose h3, .prose h4 {
76        color: #1e293b !important; /* slate-800 */
77        font-weight: 700 !important;
78      }
79      .prose h3 {
80        margin-top: 3rem !important;
81        margin-bottom: 1.25rem !important;
82        font-size: 1.5em !important;
83        letter-spacing: -0.025em !important;
84      }
85      /* Custom styles for manifesto list items */
86      .prose ul {
87        list-style-type: disc !important;
88        padding-left: 2rem !important;
89      }
90      .prose ul > li {
91        margin-top: 0.5rem !important;
92        margin-bottom: 0.5rem !important;
93        padding-left: 0.5rem !important;
94      }
95      .prose ul > li::marker {
96        color: #94a3b8; /* slate-400 */
97      }
98
99      /* Remove extra margins to prevent double-spacing */
100      .prose > :first-child {
101        margin-top: 0 !important;
102      }
103      .prose > :last-child {
104        margin-bottom: 0 !important;
105      }
106
107      /* Blockquote border colors to match article themes - Darker shades for light mode */
108      .prose-cyan blockquote { border-left-color: #06b6d4 !important; background: #ecfeff !important; }
109      .prose-rose blockquote { border-left-color: #f43f5e !important; background: #fff1f2 !important; }
110      .prose-amber blockquote { border-left-color: #d97706 !important; background: #fffbeb !important; }
111      .prose-indigo blockquote { border-left-color: #6366f1 !important; background: #eef2ff !important; }
112      .prose-lime blockquote { border-left-color: #84cc16 !important; background: #f7fee7 !important; }
113      .prose-teal blockquote { border-left-color: #14b8a6 !important; background: #f0fdfa !important; }
114      .prose-orange blockquote { border-left-color: #f97316 !important; background: #fff7ed !important; }
115      .prose-yellow blockquote { border-left-color: #eab308 !important; background: #fefce8 !important; }
116      .prose-pink blockquote { border-left-color: #ec4899 !important; background: #fdf2f8 !important; }
117      .prose-violet blockquote { border-left-color: #8b5cf6 !important; background: #f5f3ff !important; }
118      .prose-red blockquote { border-left-color: #ef4444 !important; background: #fef2f2 !important; }
119      .prose-emerald blockquote { border-left-color: #10b981 !important; background: #ecfdf5 !important; }
120
121
122      /* Custom heading colors to match article themes - Darker/Rich colors for light mode */
123      .prose-teal h3 { color: #0f766e !important; } /* teal-700 */
124      .prose-cyan h3 { color: #0e7490 !important; } /* cyan-700 */
125      .prose-rose h3 { color: #be123c !important; } /* rose-700 */
126      .prose-amber h3 { color: #b45309 !important; } /* amber-700 */
127      .prose-indigo h3 { color: #4338ca !important; } /* indigo-700 */
128      .prose-lime h3 { color: #4d7c0f !important; } /* lime-700 */
129      .prose-fuchsia h3 { color: #a21caf !important; } /* fuchsia-700 */
130      .prose-sky h3 { color: #0369a1 !important; } /* sky-700 */
131      .prose-purple h3 { color: #7e22ce !important; } /* purple-700 */
132      .prose-green h3 { color: #15803d !important; } /* green-700 */
133      .prose-slate h3 { color: #334155 !important; } /* slate-700 */
134      .prose-orange h3 { color: #c2410c !important; } /* orange-700 */
135      .prose-yellow h3 { color: #a16207 !important; } /* yellow-700 */
136      .prose-pink h3 { color: #be185d !important; }   /* pink-700 */
137      .prose-violet h3 { color: #6d28d9 !important; } /* violet-700 */
138      .prose-red h3 { color: #b91c1c !important; }   /* red-700 */
139      .prose-emerald h3 { color: #047857 !important; } /* emerald-700 */
140
141      /* Animation for a graceful page load */
142      @keyframes fadeIn {
143        from { opacity: 0; transform: translateY(10px); }
144        to { opacity: 1; transform: translateY(0); }
145      }
146      .animate-fade-in {
147        animation: fadeIn 0.8s ease-out forwards;
148      }
149
150      /* Custom styles for Quill editor - Light Theme */
151      .ql-toolbar {
152        background-color: #f8fafc; /* slate-50 */
153        border-color: #cbd5e1 !important; /* slate-300 */
154        border-top-left-radius: 0.5rem;
155        border-top-right-radius: 0.5rem;
156      }
157      .ql-toolbar .ql-stroke { stroke: #475569; }
158      .ql-toolbar .ql-fill { fill: #475569; }
159      .ql-toolbar .ql-picker-label { color: #475569; }
160      .ql-container {
161        border-color: #cbd5e1 !important; /* slate-300 */
162        border-bottom-left-radius: 0.5rem;
163        border-bottom-right-radius: 0.5rem;
164        background-color: #ffffff;
165      }
166      .ql-editor {
167        height: 250px !important;
168        overflow-y: auto !important;
169        background-color: #ffffff; /* white */
170        color: #334155; /* slate-700 */
171        font-family: inherit;
172        font-size: 1rem;
173      }
174      .ql-editor.ql-blank::before {
175        color: #94a3b8; /* slate-400 */
176        font-style: normal;
177      }
178    </style>
179
180<link rel="stylesheet" href="/index.css">
181  
181<script type="importmap">
182{
183  "imports": {
184    "react/": "https://aistudiocdn.com/react@^19.2.0/",
185    "react": "https://aistudiocdn.com/react@^19.2.0",
186    "react-dom/": "https://aistudiocdn.com/react-dom@^19.2.0/",
187    "@google/genai": "https://aistudiocdn.com/@google/genai@^1.27.0",
188    "@supabase/supabase-js": "https://cdn.jsdelivr.net/npm/@supabase/[email protected]/+esm"
189  }
190}
191</script>
191
192  
192<script type="module" crossorigin src="/assets/index-8YpX2PMV.js"></script>
192
193</head>
194  <body class="bg-slate-50 text-slate-600 antialiased">
195    <div id="root"></div>
196  </body>
197</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.