@@ -56,6 +56,12 @@ const baseCss = `
5656 .provider { --bg1:#f6f8fb; --bg2:#eef8f1; --ink:#182033; --muted:#5b6574;
5757 --accent:#3e6ff4; --accent2:#28a96b; --border:rgba(25,38,68,0.13);
5858 --panel:rgba(255,255,255,0.9); --shadow:0 28px 70px rgba(24,52,90,0.19); }
59+ .hero-light { --bg1:#f7f9ff; --bg2:#fff1f6; --ink:#141828; --muted:#586074;
60+ --accent:#d6417f; --accent2:#12a06a; --border:rgba(28,34,64,0.13);
61+ --panel:rgba(255,255,255,0.9); --shadow:0 28px 70px rgba(40,44,80,0.18); }
62+ .plan-light { --bg1:#f5fbf7; --bg2:#eef4ff; --ink:#141b26; --muted:#586374;
63+ --accent:#12a25f; --accent2:#dd9414; --border:rgba(24,38,48,0.13);
64+ --panel:rgba(255,255,255,0.9); --shadow:0 28px 70px rgba(28,50,44,0.18); }
5965 .proof { --bg1:#f7f6ff; --bg2:#eef4ff; --ink:#171a2b; --muted:#5a6274;
6066 --accent:#6e56cf; --accent2:#f0a52b; --border:rgba(30,34,64,0.13);
6167 --panel:rgba(255,255,255,0.9); --shadow:0 28px 70px rgba(38,34,78,0.18); }
@@ -87,17 +93,18 @@ function brandRow(light) {
8793 </div>` ;
8894}
8995
90- /* ---------- 01 HERO ---------- */
91- function hero ( ) {
96+ /* ---------- 01 HERO (dark + light variant) ---------- */
97+ function hero ( light = false ) {
9298 return {
93- file : '01-hero.png' ,
94- theme : 'dark' ,
99+ file : light ? '01-hero-light.png' : '01-hero.png' ,
100+ theme : light ? 'hero-light' : 'dark' ,
95101 body : `
96102 <div style="height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;">
97- <img src="${ assets . logo } " style="width:112px; height:112px; border-radius:28px; box-shadow:0 26px 60px rgba(0,0,0,0.4);" alt="">
103+ <img src="${ assets . logo } " style="width:112px; height:112px; border-radius:28px;
104+ box-shadow:${ light ? '0 22px 50px rgba(40,44,80,0.2)' : '0 26px 60px rgba(0,0,0,0.4)' } ;" alt="">
98105 <div style="margin-top:26px; font-size:34px; font-weight:800; letter-spacing:0.01em;">WebBrain</div>
99106 <h1 style="margin-top:20px; font-size:76px; max-width:900px;">Your open-source<br>AI browser agent</h1>
100- <div class="sub" style="font-size:30px; font-weight:640; color:#ffffff ; margin-top:22px;">
107+ <div class="sub" style="font-size:30px; font-weight:640; color:var(--ink) ; margin-top:22px;">
101108 <span style="color:var(--accent);">Ask.</span>
102109 <span style="color:var(--accent2);">Act.</span>
103110 Automate. <span style="opacity:0.85;">Any LLM.</span>
@@ -252,16 +259,21 @@ function modelsScene() {
252259 } ;
253260}
254261
255- /* ---------- 05 PLAN BEFORE ACT ---------- */
256- function planScene ( ) {
262+ /* ---------- 05 PLAN BEFORE ACT (dark + light variant) ---------- */
263+ function planScene ( light = false ) {
257264 const steps = [
258265 'Read the visible form and required fields' ,
259266 'Fill only what you asked for' ,
260267 'Pause before any purchase or submit' ,
261268 ] ;
269+ const card = light
270+ ? { bg : '#ffffff' , border : 'var(--border)' , shadow : '0 30px 70px rgba(28,50,44,0.18)' ,
271+ label : 'var(--muted)' , step : 'var(--ink)' , onAccent : '#ffffff' }
272+ : { bg : '#151c2a' , border : 'rgba(255,255,255,0.16)' , shadow : '0 30px 80px rgba(0,0,0,0.42)' ,
273+ label : '#8d99ad' , step : '#d7e2ea' , onAccent : '#102319' } ;
262274 return {
263- file : '05-plan-before-act.png' ,
264- theme : 'plan' ,
275+ file : light ? '05-plan-before-act-light.png' : '05-plan-before-act.png' ,
276+ theme : light ? 'plan-light' : 'plan' ,
265277 body : `
266278 <div style="display:flex; align-items:center; justify-content:space-between;">
267279 ${ brandRow ( ) }
@@ -273,23 +285,24 @@ function planScene() {
273285 <div class="sub">Approve first. You stay in the loop.</div>
274286 </div>
275287 <div style="display:flex; justify-content:center;">
276- <div style="width:470px; padding:28px; background:#151c2a ; border:1px solid rgba(255,255,255,0.16) ;
277- border-radius:26px; box-shadow:0 30px 80px rgba(0,0,0,0.42) ; transform:rotate(1.1deg);">
278- <div style="font-size:15px; font-weight:800; color:#8d99ad ; text-transform:uppercase; letter-spacing:0.05em;">Proposed browser plan</div>
288+ <div style="width:470px; padding:28px; background:${ card . bg } ; border:1px solid ${ card . border } ;
289+ border-radius:26px; box-shadow:${ card . shadow } ; transform:rotate(1.1deg);">
290+ <div style="font-size:15px; font-weight:800; color:${ card . label } ; text-transform:uppercase; letter-spacing:0.05em;">Proposed browser plan</div>
279291 <div style="display:grid; gap:14px; margin-top:20px;">
280292 ${ steps . map ( ( label , i ) => `
281- <div style="display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:center; color:#d7e2ea ; font-size:19px; font-weight:640; line-height:1.3;">
293+ <div style="display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:center; color:${ card . step } ; font-size:19px; font-weight:640; line-height:1.3;">
282294 <span style="width:36px; height:36px; border-radius:12px; display:grid; place-items:center;
283- background:var(--accent); color:#102319 ; font-size:17px; font-weight:850;">${ i + 1 } </span>
295+ background:var(--accent); color:${ card . onAccent } ; font-size:17px; font-weight:850;">${ i + 1 } </span>
284296 <span>${ label } </span>
285297 </div>` ) . join ( '' ) }
286298 </div>
287299 <div style="display:flex; gap:12px; margin-top:26px;">
288300 <span style="display:inline-flex; align-items:center; justify-content:center; min-width:140px; height:50px;
289- border-radius:14px; background:var(--accent); color:#102319 ; font-size:17px; font-weight:800;">Approve</span>
301+ border-radius:14px; background:var(--accent); color:${ card . onAccent } ; font-size:17px; font-weight:800;">Approve</span>
290302 <span style="display:inline-flex; align-items:center; justify-content:center; min-width:140px; height:50px;
291- border-radius:14px; border:1px solid rgba(255,255,255,0.2); background:rgba(255,255,255,0.07);
292- color:#e9eef6; font-size:17px; font-weight:800;">Adjust</span>
303+ border-radius:14px; border:1px solid ${ light ? 'var(--border)' : 'rgba(255,255,255,0.2)' } ;
304+ background:${ light ? '#f4f6fa' : 'rgba(255,255,255,0.07)' } ;
305+ color:${ light ? 'var(--ink)' : '#e9eef6' } ; font-size:17px; font-weight:800;">Adjust</span>
293306 </div>
294307 </div>
295308 </div>
@@ -393,7 +406,10 @@ function proofScene() {
393406 } ;
394407}
395408
396- const scenes = [ hero ( ) , actScene ( ) , askScene ( ) , modelsScene ( ) , planScene ( ) , offerScene ( ) , proofScene ( ) ] ;
409+ const scenes = [
410+ hero ( ) , actScene ( ) , askScene ( ) , modelsScene ( ) , planScene ( ) , offerScene ( ) , proofScene ( ) ,
411+ hero ( true ) , planScene ( true ) ,
412+ ] ;
397413
398414function html ( scene ) {
399415 return `<!doctype html><html><head><meta charset="utf-8">
0 commit comments